CAN在汽車(chē)電子中的應用
CAN是控制器局域網(wǎng)絡(luò )(Controller Area Network, CAN)的簡(jiǎn)稱(chēng),是由研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著(zhù)稱(chēng)的德國B(niǎo)OSCH公司開(kāi)發(fā),并最終成為國際標準(ISO11898),是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。到目前為止,世界上已經(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é)議。近年來(lái),其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車(chē)計算機控制系統和環(huán)境溫度惡劣、電磁輻射強和振動(dòng)大的工業(yè)環(huán)境。 近年來(lái),隨著(zhù)汽車(chē)電子技術(shù)的不斷發(fā)展,現代汽車(chē)中所使用的電子控制系統和通訊系統越來(lái)越多,如發(fā)動(dòng)機電控系統、 自動(dòng)變速器控制系統、防抱死制動(dòng)系統(ABS)、自動(dòng)巡航系統(ACC)和車(chē)載多媒體系統等。這些系統之間、系統和汽車(chē)的顯示儀表之間、系統和汽車(chē)故障診斷系統之間均需要進(jìn)行數據交換,如此巨大的數據交換量,如仍然采用傳統數據交換的方法,即用導線(xiàn)進(jìn)行點(diǎn)對點(diǎn)連接的傳輸方式將是難以想象的。CAN作為汽車(chē)環(huán)境中的微控制器通訊總線(xiàn)解決了這一問(wèn)題,它在車(chē)載各電子控制裝置 ECU 之間交換信息,形成汽車(chē)電子控制網(wǎng)絡(luò ),作為一種多主方式的串行通訊總線(xiàn),基本設計規范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當信號傳輸距離達到10Km時(shí),CAN總線(xiàn)仍可提供高達5Kbps的數據傳輸速率。CAN用作汽車(chē)中的數據和控制通信的網(wǎng)絡(luò ),具有不可比擬的優(yōu)越性。據 統計,目前CAN總線(xiàn)在汽車(chē)動(dòng)力總成中占了85%的市場(chǎng)份額,2008年全球主要汽車(chē)生產(chǎn)廠(chǎng)商生產(chǎn)歐Ⅲ/歐Ⅳ排放標準以上的汽車(chē)后,采用CAN總線(xiàn)的汽車(chē)將超過(guò)95%。 一 直以來(lái),富士通就在16位微控制器和32位微控制器中集成了CAN控制器。為了滿(mǎn)足各種應用需求,提供了多通道類(lèi)型的CAN,1-channel CAN(稱(chēng)為單CAN),2-channel CAN (稱(chēng)為雙CAN),3-channel CAN(稱(chēng)為三CAN)。 以下列出了富士通的CAN MCU (Microcontroller Unit)產(chǎn)品系列(圖1) 。
| |||
所有這些微控制器都配有閃存,并且有各種容量閃存的控制器可提供。而且,這些微控制器允許對閃存進(jìn)行10,000次以上的重寫(xiě)操作,以便滿(mǎn)足終端用戶(hù)對系統升級和數據變更的需要。配有閃存的微控制器和內置的CAN macro允許在閃存內通過(guò)CAN總線(xiàn)對閃存內的程序進(jìn)行重寫(xiě)。
這些特殊功能包括: 快速訪(fǎng)問(wèn) 盡管總線(xiàn)訪(fǎng)問(wèn)取決于數據傳輸速率,CAN卻支持1Mbps的數據傳輸速率。這對于控制局域網(wǎng)比較適度。 錯誤檢測能力 CAN提升了錯誤檢測能力:它在傳輸過(guò)程中可以檢測到2個(gè)錯誤,在接收過(guò)程中可以檢測到3個(gè)錯誤。 短消息 因為消息比較短(從0到8個(gè)字節),重復傳輸的時(shí)間也就相應地縮短了。 多主配置 使用多主設備進(jìn)行的通信被用于數據傳輸。 設置總線(xiàn)訪(fǎng)問(wèn)優(yōu)先級 在總線(xiàn)訪(fǎng)問(wèn)中,給予最低ID No.的總線(xiàn)最高的優(yōu)先級。 CAN控制器的錯誤檢測 1.發(fā)送 位錯誤(Bit Error) 單元在發(fā)送位的同時(shí)也對總線(xiàn)進(jìn)行監視。如果所發(fā)送的位值與所監視的位值不相符合,則在此位時(shí)間里檢測到一個(gè)位錯誤。但是在仲裁場(chǎng)(ARBITRATION FIELD)的填充位流期間或應答間隙(ACK SLOT)發(fā)送一“隱性”位的情況是例外的-- 此時(shí),當監視到一“顯性”位時(shí),不會(huì )發(fā)出位錯誤。當發(fā)送器發(fā)送一個(gè)被動(dòng)錯誤標志但檢測到“顯性”位時(shí),也不視為位錯誤。 應答錯誤(Acknowledgment Error) 只要在應答間隙(ACK SLOT)期間所監視的位不為“顯性”,則發(fā)送器會(huì )檢測到一個(gè)應答錯誤。 2.接受 填充錯誤(Stuff Error) 如果在使用位填充法進(jìn)行編碼的信息中,出現了第6個(gè)連續相同的位電平時(shí),將檢測到一個(gè)填充錯誤。 CRC 錯誤(CRC Error) CRC 序列包括發(fā)送器的CRC 計算結果。接收器計算CRC 的方法與發(fā)送器相同。如果計算結果與接收到CRC 序列的結果不相符,則檢測到一個(gè)CRC 錯誤。 形式錯誤(Form Error) 當一個(gè)固定形式的位場(chǎng)含有1 個(gè)或多個(gè)非法位,則檢測到一個(gè)形式錯誤 。(備注:接收器的幀末尾最后一位期間的顯性位不被當作幀錯 誤)
節點(diǎn)狀態(tài) NS1、NS2 (Node status bits) 節點(diǎn)狀態(tài)轉換 無(wú)論是工業(yè)系統還是自動(dòng)化系統,一直以來(lái),大多數CAN總線(xiàn)網(wǎng)絡(luò )系統都要求有操作系統。在眾多普遍使用的操作系統中,OSEK作為使用CAN通信系統的操作系統,近來(lái)獲得了廣泛的認可。
C AN總線(xiàn)組網(wǎng)自由,擴展性強;自動(dòng)錯誤界定,簡(jiǎn)化了電控單元對通信的操作;可根據數據內容確定優(yōu) 先權,解決通信的實(shí)時(shí)性問(wèn)題。這些優(yōu)點(diǎn)使CAN總線(xiàn)不僅在汽車(chē)控制和通信網(wǎng)絡(luò )中被廣泛采用,在工業(yè)控制中也將有廣闊的應用前景。 |
評論