摘要:本文應用PIC18F258單片機設計一種基于車載
CAN總線倒車雷達單元,使其成為車載CAN網絡的一個電氣單元。給出了倒車雷達單元的總體結構,CAN總線接口電路及軟件設計。倒車雷達單元主控芯片PIC18F258通過CAN總線能夠向其他單元發送報文數據,其他控制器經過判別而實現相關的報警、顯示、自動剎車等功能,提高了汽車的安全性。
引言
目前的汽車電子領域中,倒車雷達普遍采用超聲波測距原理,通過單片機計算出障礙物與車的距離并顯示和報警。但大多數這類產品都是獨立的控制單元,無法與CAN總線接軌,所以只能作為一種倒車安全輔助裝置。用PIC18F258單片機設計一個倒車雷達單元使其與車載CAN網絡接軌,這樣可以將實測的車與障礙物的距離信息以報文形式發送給車載CAN總線上的其他控制單元,以實現其必要的功能。當車與障礙物距離小于某一值時,通過制動單元實現自動制動功能,保證車輛倒車安全;CAN總線上儀表控制單元接收到車與障礙物距離信息后,可將其距離顯示出來;CAN總線上語音設備接收到信息后,可根據距離大小實現不同頻率分級語音報警。這樣實現了倒車雷達單元在CAN總線上與其相關單元的數據共享,擴展了倒車雷達的功能,同時也提高了倒車的安全性。
1、CAN總線與車載CAN網絡通信
1.1CAN總線
CAN總線是一種保密性很高的現場總線,是德國Bosch公司在20世紀80年代初為解決現代汽車中眾多的控制和測試儀器之間的數據交換而開發的一種有效支持分布式控制或實時控制的串行通信網絡。它具有以下特點:
?。?)總線以多主方式工作,系統柔性好,通信方式靈活,且不用占地址等單元信息;
?。?)CAN總線網絡上的單元信息分不同的優先級,可滿足不同的實時要求,所有的信息發送都以固定格式發送;
?。?)采用非破壞性總線仲裁技術,在網絡負載很重的情況下也不會出現網絡癱瘓狀況;
?。?)只通過報文濾波可以實現點對點、一對多點及全局廣播等幾種方式接收傳送數據;
?。?)通信速率與距離成反比,5Kb/s以下速率直接通信可達10km,40m內通信zui高速率可達1Mb/s;
(6)具有錯誤檢測功能、錯誤通知功能、錯誤恢復功能;
?。?)CAN總線單元在出現嚴重錯誤情況下會自動關閉輸出功能,以便總路線上其他單元的操作不受影響;
(8)CAN總線單元數理論上可以是無數個,但一般受通信速率限制,單元越多,通信速率越低,所以單元數還是有限的。
1.2車載CAN網絡通信
現代汽車內部的主要控制單元有:發動機控制單元、ABS控制單元、安全氣囊控制單元、自動變速器控制單元、儀表管理單元、車窗控制單元、牽引力控制單元、故障診斷單元、中控門鎖單元、座椅調節單元、照明控制單元、空調控制單元、雨括控制單元、后視鏡控制單元等。這些控制單元通過CAN總線構成一個實時通信控制網絡,如圖1所示。
網絡中各控制單元發出的控制指令必須迅速、可靠、及時地得到響應,否則輕則就有可能使車輛局部控制失靈,重則就有可能發生車毀人亡的重大事故。若整輛汽車的所有控制單元都連接在一個CAN總線網絡上,所有的控制單元都通過一對CAN網絡線進行通信,很容易出現總線上工點過多,通信速率下降,系統實時響應速度下降,將導致關鍵控制部位的實時響應速度得不到保證。因此在對汽車上各控制單元的實時性分析之后,根據各控制單元對實時性的要求不同,設計了高、低兩個速率不同的CAN通信網絡。將實時性要求嚴格、可靠性要求高的發動機控制單元、倒車雷達控制單元(本課題設計部分)、ABS控制單元、自動變速器控制單元和安全氣囊控制單元組成高速CAN通信網絡,將實時性要求相對較低的中控門鎖控制單元、電動座椅調節單元、電動車窗控制單元、后視鏡控制單元、雨括控制單元和照明燈控制單元等組成低速CAN通信網絡,并配置中央控制器(網關)將這兩個速率不同的CAN通信網絡連接起來,實現全部節點之間的數據共享。高速CAN網絡的傳輸速率達到500Kb/s,低速CAN網絡的傳輸速率大約是10~125Kb/s。圖1中總線兩端應接抑制反射的120Ω的終端匹配電阻,如果不接終端電阻,會使得數據通信的抗干擾性及可靠性大大降低,甚至無法通信。
2、倒車雷達單元硬件設計
2.1倒車雷達單元的整體設計
倒車雷達單元的整體結構如圖2所示,本設計中倒車雷達以PIC18F258單片機為控制核心,控制超聲波發射接收電路、溫度修正電路工作。PIC18F258單片機本身帶有CAN總線,這樣可以減小電路的復雜性。超聲波發射電路發出40kHz的超聲波,經障礙物反射后探頭接收到反射波,單片機根據發射和接收時間差計算出障礙物與車的距離,并通過CAN總線以報文形式發送到儀表單元并顯示,也可送到音響單元進行語音報警,當距離小于一定值時,相應的制動單元自動剎車。溫度補償電路采用數字溫度傳感器DS18B20,利用聲速和溫度之間的關系對聲速進行校正,從而消除溫度變化對聲音的影響。
PIC18F258單片機有著*的精簡指令集構架、增強型內核,32級堆棧和多種內部、外部中斷源,內部帶有CAN總線控制器,并采用了程序和數據空間*分開的“哈佛”結構,這種結構大大降低了總體成本,同時提高了運行效率和可靠性。
2.2倒車雷達單元接口電路設計
CAN單元的硬件構成一般有兩種形式。一種形式是內部集成CAN控制器的微控制器加上收發器;另外一種形式是通用微控制器加上獨立CAN控制器再加上收發器。本設計采用前一種形式,不占用微控制器的端口資源,可以簡化接口電路的設計??紤]到汽車是在非常特殊的環境下工作,所以選擇了滿足汽車溫度變化范圍且性價比較高的Mierochip公司的PIC18F258單片機,該芯片內部集成了CAN控制器,可以簡化系統的硬件設計、提高系統的可靠性。倒車雷達單元與CAN總線接口硬件電路如圖3所示,主要由PIC18F258單片機,6N137高速光電耦合器,PCA82C250總線收發器三部分組成。
為了提高系統的抗*力和傳輸信號的能力,采用6N137高速光電耦合電路可以很好地實現總線上單元之間的電氣隔離。高速光電耦合器的兩個電源Vcc和V'cc必須采用電源隔離電路進行*隔離。
3、CAN總線通信軟件設計
CAN總線上通信軟件設計主要包括CAN單元初始化,報文發送和報文接收三部分。CAN接口的初始化程序設計非常重要,如果設計的不好,系統將不能正常工作其初始化首先要在配置模式下將控制寄存器、狀態寄存器、波特率寄存器、I/O控制寄存器、接收掩碼寄存器和幾個濾波寄存器按照系統要求設置好,以保證CAN總線的暢通。
CAN總線通信主程序和中斷服務程序框圖如圖4所示。
4、結語
本文應用PIC18F258單片機設計一種基于車載CAN總線倒車雷達單元,使其成為車載CAN網絡的一個電氣單元。給出了倒車雷達單元的總體結構,CAN總線接口電路及軟件設計。倒車雷達單元主控芯片PIC18F258通過CAN總線能夠向其他單元發送報文數據,其他控制器經過判別而實現相關的報警、顯示、自動剎車等功能,提高了汽車的安全性。