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