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