CAN總線(xiàn)技術(shù)在汽車(chē)電子的應用與實(shí)現研究
隨著(zhù)汽車(chē)電子技術(shù)的不斷發(fā)展,汽車(chē)上各種電子控制單元的數目不斷增加,連接導線(xiàn)顯著(zhù)增加,因而提高控制單元間通訊可靠性和降低導線(xiàn)成本已成為迫切需要解決的問(wèn)題。為此以研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著(zhù)稱(chēng)的德國B(niǎo)OSCH公司開(kāi)發(fā)了CAN總線(xiàn)協(xié)議,并使其成為國際標準(ISO11898)。1989年,Intel 公司率先開(kāi)發(fā)出CAN總線(xiàn)協(xié)議控制器芯片,到目前為止,世界上已經(jīng)擁有20多家CAN總線(xiàn)控制器芯片生產(chǎn)商,110多種CAN總線(xiàn)協(xié)議控制器芯片和集成 CAN總線(xiàn)協(xié)議控制器的微處理器芯片。在北美和西歐,CAN總線(xiàn)協(xié)議已經(jīng)成為汽車(chē)計算機控制系統和嵌入式工業(yè)控制局域網(wǎng)的標準總線(xiàn),并且擁有以CAN為底層協(xié)議專(zhuān)為大型貨車(chē)和重工機械車(chē)輛設計的J1939協(xié)議。我國的汽車(chē)CAN總線(xiàn)技術(shù)起步較晚,但隨著(zhù)現代汽車(chē)電子的不斷進(jìn)步發(fā)展,其研究和應用正如火如荼的進(jìn)行中。CAN總線(xiàn)是一種串行多主站控制器局域網(wǎng)總線(xiàn),是一種有效支持分布式控制或實(shí)時(shí)控制的串性通訊網(wǎng)絡(luò )。CAN總線(xiàn)的通信介質(zhì)可以是雙絞線(xiàn),同軸電纜或光導纖維,通信速率可達1Mbps/40m,通信距離可達10km/40Kbps。由于其通信速率高,可靠性好以及價(jià)格低廉等特點(diǎn),使其特別適合中小規模的工業(yè)過(guò)程監控設備的互連和交通運載工具電氣系統中。CAN總線(xiàn)有如下基本特點(diǎn):
◎廢除傳統的站地址編碼,代之以對通信數據塊進(jìn)行編碼,可以多主方式工作;
◎采用非破壞性仲裁技術(shù),當兩個(gè)節點(diǎn)同時(shí)向網(wǎng)絡(luò )上傳送數據時(shí),優(yōu)先級低的節點(diǎn)主動(dòng)停止數據發(fā)送,而優(yōu)先級高的節點(diǎn)可不受影響繼續傳輸數據,有效避免了總線(xiàn)沖突;
◎采用短幀結構,每一幀的有效字節數為8個(gè),數據傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短;
◎每幀數據都有CRC校驗及其他檢錯措施,保證了數據傳輸的高可靠性,適于在高干擾環(huán)境下使用;
◎節點(diǎn)在錯誤嚴重的情況下,具有自動(dòng)關(guān)閉總線(xiàn)的功能,切斷它與總線(xiàn)的聯(lián)系,以使總線(xiàn)上其他操作不受影響;
◎可以點(diǎn)對點(diǎn),一對多及廣播集中方式傳送和接受數據。
現代汽車(chē)典型的控制單元有電控燃油噴射系統,電控傳動(dòng)系統,防抱死制動(dòng)系統(ABS),防滑控制系統(ASR),廢氣再循環(huán)系統,巡航系統和空調系統,車(chē)身電子控制系統(包括照明指示和車(chē)窗,刮雨器等)。完善的汽車(chē)CAN總線(xiàn)網(wǎng)絡(luò )系統架構如圖1所示。
2 CAN節點(diǎn)硬件構架
核心芯片:
選用PHILIPS公司的高性能8位微處理器P89C668。
其突出特點(diǎn)如下:
◎80C51中央處理單元;
◎內置可ISP(在系統編程)和IAP(在應用編程)的Flash存儲器,BootROM可通過(guò)串口訪(fǎng)問(wèn)從而升級下載用戶(hù)程序;
◎每個(gè)機器周期6個(gè)時(shí)鐘周期操作標準,每個(gè)機器周期12個(gè)時(shí)鐘周期操作可選,周期12個(gè)時(shí)鐘周期下速度高達33MHz;
◎8K字節RAM和64K字節FLASH;
◎4個(gè)中斷優(yōu)先級,8個(gè)中斷源;
◎自帶串行接口序列;
◎5路可編程的計數器陣列PCA(PWM輸出,捕捉/比較,高速輸出三種工作方式)。
無(wú)論從處理能力,存儲容量,還是外圍資源以及網(wǎng)絡(luò )可擴展性方面來(lái)評價(jià),P89C668都是一款出色的微處理器,適用工控電子等各個(gè)領(lǐng)域。尤其是其8K字節RAM的海量?jì)却?,更是許多高速存儲應用場(chǎng)合的首選。
CAN接口電路:
采用技術(shù)成熟應用廣泛的SJA1000(CAN控制器),6N137(光電隔離),P82C250(CAN收發(fā)器)組成接口電路。需要指出的是,CAN總線(xiàn)(CANH,CANL)兩端務(wù)必跨接120歐的終端電阻。SJA1000中斷引腳接CPU的外中斷0引腳。
在應用/系統編程電路:
IAP/ISP技術(shù)在許多款高性能單片機得到應用,其突出特點(diǎn)是方便快捷的實(shí)現程序的下載和更新。P89C668的FLASH空間 0XFC00~0XFFFF燒寫(xiě)入1K字節的BootRom程序,上電后可以通過(guò)軟件和硬件置位方法進(jìn)入BootRom程序,通過(guò)PHILIPS提供的編程軟件由串行口通訊就可以實(shí)現程序的在線(xiàn)升級(ISP)。當然用戶(hù)還可以根據需要依據協(xié)議,自己編寫(xiě)BootRom程序(IAP)。通過(guò)撥碼開(kāi)關(guān)硬件置位(ALE,,,P2.6,P2.7),上電后強制進(jìn)入BootRom程序,燒寫(xiě)程序完畢后撥回原來(lái)狀態(tài)重新上電后就進(jìn)入用戶(hù)程序。串行口電平轉換芯片用 MAX202替代MAX232,其匹配電容只需103瓷片電容。串行數據通訊波特率可達38400bps。
晶振和復位電路:
外接一塊工業(yè)級的12M振蕩芯片作為時(shí)鐘信號。復位電路采用X25045芯片進(jìn)行智能控制。X25045芯片將看門(mén)狗定時(shí)器,電源監控電路和E2PROM 功能合三為一??撮T(mén)狗定時(shí)器功能在系統出錯期間,經(jīng)過(guò)一個(gè)可設 置的時(shí)間間隔就置位RESET信號。電源監控電路能檢測到欠電壓狀況,在VCC下降到限閥值以下,系統被復位。并且RESET信號在VCC恢復且穩定之前一直有效。存儲器功能的X25405是CMOS的4096字的E2PROM.并且支持SPI 協(xié)議的三線(xiàn)(SO,SI,SCLK)存取。本節點(diǎn)用到X25405的前兩個(gè)功能構成可靠的復位電路。
開(kāi)關(guān)/數字量,模擬量檢測電路:
汽車(chē)節點(diǎn)的開(kāi)關(guān)器件(信號燈,雨刮,面板,車(chē)窗玻璃,電動(dòng)后視鏡等等的開(kāi)關(guān))特別復雜和繁多,而電流檢測,水溫油位傳感器信號都是非線(xiàn)性的模擬信號,所以可靠實(shí)時(shí)地對這些開(kāi)關(guān)/模擬量進(jìn)行檢測成為汽車(chē)電子硬件必須解決的問(wèn)題。
傳統的分立元件保持電路存在可靠性差,尤其是開(kāi)關(guān)觸點(diǎn)氧化嚴重,浪費大量的微處理器I/O口等問(wèn)題,推薦采用MOTOROLA公司的多路開(kāi)關(guān)檢測芯片MC33993。其突出優(yōu)點(diǎn)如下:◎3.3/5.0V的SPI序列讀寫(xiě)(SO,SI,SCLK);
◎8路可編程開(kāi)關(guān)輸入檢測(接地或接電源),14路接地開(kāi)關(guān)輸入檢測,每路開(kāi)關(guān)狀態(tài)改變均能夠產(chǎn)生中斷;
◎開(kāi)關(guān)輸入電壓從-14V~Vpwr(工作電源),Vpwr最大可達40V;
◎開(kāi)關(guān)狀態(tài)改變時(shí)的可選擇喚醒;
◎可選擇的濕性電流(16mA或2mA);
◎22對1的模擬量輸出;
◎Vpwr的低功耗電流(standbycurrent)小于100uA,VDD的低功耗電流(standbycurrent)小于10uA。
可見(jiàn)只需要四個(gè)CPU口線(xiàn)(SPI序列線(xiàn)和片選),就能夠完成22路開(kāi)關(guān)量(其中有8路可編程為對接電源開(kāi)關(guān))的檢測,還可以進(jìn)行串行和并行的多片 MC33993級連。所謂的濕性電流(wettingcurrent),指的是MC33993內部提供的輸入口的上拉和下拉恒流源,可以編程選擇為 16mA或2mA,這對于保證開(kāi)關(guān)的可靠閉合,去除金屬觸點(diǎn)的氧化物有著(zhù)良好的作用。輸入口的恒流源,可以直接驅動(dòng)MOSFET以及LED。每一個(gè)輸入口都可以編程為模擬量輸出狀態(tài),從而在A(yíng)MUX引腳輸出所選輸入口的電壓。利用MC33993恒流源和模擬量輸出可以組成線(xiàn)性的傳感器檢測電路。ADC芯片選用AD公司生產(chǎn)的并行數據采樣集成芯片AD1674。它從引腳到功能都與AD574/674完全兼容,但內部增加了采樣/保持電路,采樣頻率為 100kHZ,并且有全控模式和單一工作模式。其采樣精度可達0.05%,符合高速數據采集的要求。
功率器件驅動(dòng)電路:
汽車(chē)車(chē)身控制系統需要驅動(dòng)大功率的用電器件,比如照明信號燈,前后雨刮器電機,電動(dòng)車(chē)窗,電動(dòng)后視鏡等等。功率驅動(dòng)器件考慮采用MOTOROLA公司的汽車(chē)專(zhuān)用功率器件。MC33286為汽車(chē)電氣專(zhuān)用智能的雙路控制驅動(dòng)芯片,與傳統的機械繼電器相比,自身提供過(guò)流和過(guò)熱保護,響應時(shí)間更短,穩定性更高。 MC33286設有兩路驅動(dòng)通道,每路最大工作電流可達15A,通過(guò)兩路輸入端口將CPU引腳電平信號引入,經(jīng)過(guò)內部的邏輯處理模塊轉換成輸出通道的電平變化。特別適合信號燈以及阻性負載的驅動(dòng)。MC33887是帶反饋的H橋型驅動(dòng)芯片,專(zhuān)用來(lái)驅動(dòng)需要正反轉的電機負載。MC33486與MC33887類(lèi)似,但內部只有半橋須外加CMOS管以構成全橋驅動(dòng)電路,穩定輸出可達10A,尤其適用于電動(dòng)車(chē)窗電機之類(lèi)的大功率并伴有沖擊電流的正反相控制要求。
3 軟件結構
系統的程序結構分為四個(gè)部分:CAN通訊程序(包括應用層協(xié)議的SJA1000通訊),外圍接口程序(所有檢測芯片和驅動(dòng)芯片的驅動(dòng)),中斷服務(wù)程序(處理開(kāi)關(guān)信號以及故障報警等消息),主程序(完成系統初始化和任務(wù)調度,喂狗等)。限于篇幅,以下著(zhù)重介紹CAN應用層協(xié)議。
本系統CAN通訊選用CAN2.0B協(xié)議的PeliCAN模式,通信位速率為500Kbps,采用雙驗收濾波器機制。為使用及修改方便,通訊協(xié)議中標識碼設計兼容點(diǎn)對點(diǎn)、一對多及廣播通訊模式。開(kāi)關(guān)量消息通訊時(shí)各節點(diǎn)間采用主從結構,子節點(diǎn)的報文只有主節點(diǎn)接收(點(diǎn)對點(diǎn)模式),主節點(diǎn)的報文所有子節點(diǎn)均接收(廣播模式)。模擬量消息通訊時(shí)各節點(diǎn)間采用點(diǎn)對點(diǎn)模式。標識符定義:(如圖3所示)
◎類(lèi)名:00000100--應答類(lèi)消息(自檢應答、故障診斷);00001000--命令類(lèi)消息;00010000--調試類(lèi)消息;00100000--下載類(lèi)消息;01000000--工作類(lèi)消息。
◎保留A:驗收濾波器配置預留。
應答類(lèi)消息中:ID19:1--自檢應答消息0--故障診斷出錯消息
ID20:驗收濾波器配置預留
工作類(lèi)消息中:ID19:1--開(kāi)關(guān)量消息0--模擬量消息
ID20:驗收濾波器配置預留
◎目的地址:接收報文節點(diǎn)的地址。
◎源地址:發(fā)送 報文節點(diǎn)的地址,用于系統自檢。
4 結束語(yǔ)
CAN總線(xiàn)以其高性能,高可靠性及獨特的設計,受到工業(yè)控制領(lǐng)域和汽車(chē)電子領(lǐng)域的廣泛重視,已被公認為最有前途的現場(chǎng)總線(xiàn)之一。我們深信不久的將來(lái),國產(chǎn)的CAN總線(xiàn)汽車(chē)必將誕生。
【參考文獻】
【1】鄔寬明《CAN總線(xiàn)原理和應用系統設計》.北京:北京航空航天大學(xué)出版社,1996
【2】馬忠梅劉濱戚軍馬巖《單片機C語(yǔ)言Windows環(huán)境編程寶典》.北京:北京航空航天大學(xué)出版社,2003
【3】饒運濤,鄒繼軍,鄭勇蕓《現場(chǎng)總線(xiàn)CAN原理與應用技術(shù)》.北京:北京航空航天大學(xué)出版社,2003
【4】80C518-it Flash microcontroller family P89C66X, hilips Semiconductors APLICATION NOTE, 2001
【5】SJA1000Stand-lone CAN controller, Philips Semiconductors APLICATION NOTE, 1997.12
【6】陽(yáng)憲惠《現場(chǎng)總線(xiàn)技術(shù)及其應用[M]》.北京:清華大學(xué)出版社,1999,6
【7】鄔寬明《單片機外圍器件實(shí)用手冊--數據傳輸接口器件分冊》.北京:北京航空航天大學(xué)出版社,1998.12
【8】何立民《單片機應用技術(shù)選編》.北京:北京航空航天大學(xué)出版社,1999,8
評論