韓冬林
(天津中德職業(yè)技術(shù)學(xué)院,天津 300350)
隨著微控制器MCU的效能提升、價(jià)格降低及穩(wěn)定性增強(qiáng)等決定性因素的產(chǎn)生,汽車(chē)產(chǎn)業(yè)中開(kāi)始導(dǎo)入各種電子組件和裝置來(lái)取代傳統(tǒng)的純機(jī)械式產(chǎn)品,例如采用電控燃油噴射系統(tǒng)來(lái)取代機(jī)械化油器,采用高速微控制器來(lái)提高急剎車(chē)緩沖裝置的實(shí)時(shí)反應(yīng)速度,并且在安全氣囊及座椅安全帶方面也有體現(xiàn)。汽車(chē)中還加裝了許多傳感器,用來(lái)追蹤不同裝置在溫度和壓力上的改變,用來(lái)在出現(xiàn)異常時(shí)提醒控制系統(tǒng)及早做出處置。為了讓汽車(chē)更安全、更有效率、更可靠和更容易操控,汽車(chē)中采用的電子控制單元ECU已經(jīng)越來(lái)越多,在這種情況下,各個(gè)ECU單元間的通信能力也就越來(lái)越重要。傳統(tǒng)的配線(xiàn)方式不僅過(guò)于繁雜,而且會(huì)增加車(chē)體重量和配線(xiàn)成本,這時(shí)就出現(xiàn)了對(duì)先進(jìn)車(chē)載總線(xiàn)技術(shù)的使用需求,以對(duì)復(fù)雜的電子控制單元及行車(chē)信息提供整合控制,進(jìn)而實(shí)現(xiàn)車(chē)載控制系統(tǒng)網(wǎng)絡(luò)化的理想境界。車(chē)載CAN總線(xiàn)技術(shù)與微控制器很好地滿(mǎn)足了上述控制機(jī)制的要求。
CAN總線(xiàn)具有許多優(yōu)勢(shì),包括它能讓設(shè)計(jì)者很容易地為CAN系統(tǒng)新增或移除網(wǎng)絡(luò)中的節(jié)點(diǎn),而且不會(huì)影響其他網(wǎng)絡(luò)。CAN系統(tǒng)中的分散性微控制器無(wú)需依賴(lài)中央主控制器就能收發(fā)信號(hào),從而讓信號(hào)的流量管理更有效率,也有助于減少內(nèi)部線(xiàn)路的需求。在CAN系統(tǒng)中,每個(gè)節(jié)點(diǎn)的地位是相同的,也就是說(shuō)只要總線(xiàn)處于閑置狀態(tài),每個(gè)控制器節(jié)點(diǎn)都可以傳送信號(hào)給任何其他的控制器??刂破魉l(fā)出的每個(gè)信號(hào)都有自己的識(shí)別碼,因此各個(gè)CAN節(jié)點(diǎn)只會(huì)接收與自己相關(guān)的信號(hào),并忽略掉不相關(guān)的信號(hào)。更重要的是,在此機(jī)制中,當(dāng)任何控制器出現(xiàn)故障時(shí),系統(tǒng)中的其他裝置仍然能夠正常運(yùn)作,并能保持無(wú)障礙的通信能力。在實(shí)際應(yīng)用中,CAN協(xié)議通常是用來(lái)傳送信號(hào)以觸發(fā)某些事件,例如在急剎車(chē)時(shí)拉緊安全帶或傳送測(cè)量到的數(shù)據(jù)(如溫度值或壓力值),因此在它的定義中限定所傳送的信號(hào)不會(huì)大于8個(gè)字節(jié)。它不會(huì)去中斷任何進(jìn)行中的通信行為,但會(huì)為發(fā)出的信號(hào)設(shè)定優(yōu)先權(quán),以避免產(chǎn)生信號(hào)之間的沖突,并確保優(yōu)先級(jí)高的信號(hào)能夠被優(yōu)先傳送。不僅如此,CAN協(xié)議還具備誤碼檢查的機(jī)制,讓整個(gè)通信過(guò)程更可靠。CAN總線(xiàn)的傳輸規(guī)范具有很高的效能,在CAN總線(xiàn)的網(wǎng)絡(luò)中每秒可傳送7600個(gè)8字節(jié)信號(hào)或1800個(gè)觸發(fā)信息。
一般來(lái)說(shuō),CAN協(xié)議具有以下特性:
1.信號(hào)的優(yōu)先次序。
2.對(duì)延遲時(shí)間的保證。
3.配置上的彈性。
4.提供具有時(shí)序同步性的多點(diǎn)傳輸接收功能。
5.系統(tǒng)級(jí)的寬數(shù)據(jù)一致性。
6.多主機(jī)架構(gòu)。
7.誤碼偵測(cè)和誤碼信息。
8.當(dāng)總線(xiàn)出現(xiàn)空檔時(shí),會(huì)立即自動(dòng)重傳損毀的信號(hào)。
9.能分辨節(jié)點(diǎn)的暫時(shí)性錯(cuò)誤和永久性錯(cuò)誤,并自動(dòng)地關(guān)掉確定失常的節(jié)點(diǎn)。
一個(gè)CAN系統(tǒng)的構(gòu)成中,主要的組成單元包括:CAN控制器節(jié)點(diǎn)、接收/傳送發(fā)報(bào)器、兩個(gè)數(shù)據(jù)總線(xiàn)的終端器(電阻器)和兩條數(shù)據(jù)總線(xiàn)。CAN控制器節(jié)點(diǎn)是其中的核心單元,在車(chē)載CAN總線(xiàn)系統(tǒng)中,它可以是使用高速CAN中的汽車(chē)動(dòng)力或傳動(dòng)機(jī)構(gòu)電控單元ECU,例如汽車(chē)發(fā)動(dòng)機(jī)電控單元、自動(dòng)變速器電控單元、ABS電控單元、安全氣囊電控單元等;也可以是使用低速CAN的車(chē)身系統(tǒng),例如車(chē)門(mén)上的集控鎖、車(chē)窗、行李箱鎖、后視鏡及車(chē)內(nèi)頂燈電控單元。在具備遙控功能的情況下,CAN控制器節(jié)點(diǎn)還能對(duì)遙控信號(hào)進(jìn)行接收處理或控制其他防盜系統(tǒng)。
CAN控制器節(jié)點(diǎn)能夠?qū)崿F(xiàn)CAN協(xié)議中的實(shí)體層及數(shù)據(jù)鏈接層的功能,達(dá)成位同步、優(yōu)先權(quán)仲裁和誤碼偵測(cè)等要求。當(dāng)前主流的CAN控制器大多屬于增強(qiáng)型的2.0B型式,因?yàn)闃?biāo)準(zhǔn)型的2.0A或更早的1.x型式控制器節(jié)點(diǎn)無(wú)法識(shí)別29位的仲裁位。其中2.0B被動(dòng)型式的控制器節(jié)點(diǎn)可以接收這些仲裁位,并能夠自動(dòng)判定這些仲裁位是否正確,從而保證在高電磁干擾的車(chē)載環(huán)境中只接收正確的信息;2.0B主動(dòng)型式的控制器能夠自動(dòng)傳送和接收這些仲裁位。
在使用上,2.0B和2.0A/1.x的CAN控制器節(jié)點(diǎn)彼此是兼容的,只要2.0B的CAN控制器節(jié)點(diǎn)能夠調(diào)整為不發(fā)送擴(kuò)展信息的模式,2.0B和2.0A/1.x的CAN控制器節(jié)點(diǎn)都能在同樣的CAN總線(xiàn)網(wǎng)絡(luò)上一起使用。
依據(jù)信號(hào)緩沖器的數(shù)目和接收過(guò)濾器的數(shù)目不同,CAN控制器節(jié)點(diǎn)分為5種類(lèi)型,不同類(lèi)型的控制器對(duì)應(yīng)著各自適合的應(yīng)用領(lǐng)域。
1.pCAN(passive CAN)控制器:支持2.0B被動(dòng)協(xié)議,它有3個(gè)傳送/接收郵箱和2個(gè)信號(hào)識(shí)別碼過(guò)濾器、2個(gè)中斷向量,并支持低功耗模式。
2.beCAN(basic-enhanced)控制器:支持2.0B主動(dòng)協(xié)議,它有2個(gè)優(yōu)先傳送郵箱和1個(gè)接收FIFO,有助于實(shí)時(shí)性的表現(xiàn);有4個(gè)可延展和可配置的過(guò)濾器,用來(lái)處理所有的信號(hào),由于是采用硬件來(lái)過(guò)濾信息,所以能保證對(duì)CPU的負(fù)載需求降到最小。beCAN控制器對(duì)媒介復(fù)雜度高的車(chē)體及汽車(chē)無(wú)線(xiàn)系統(tǒng)來(lái)說(shuō)是很理想的選擇。
3.bxCAN(basic-extended)控制器:它有beCAN控制器的各種特性,但還多了3個(gè)傳送郵箱、2個(gè)獨(dú)立的接收FIFO和8個(gè)過(guò)濾器。它為高階車(chē)體及低階網(wǎng)關(guān)器等應(yīng)用做了最佳化的設(shè)計(jì)。
4.FullCAN控制器:它和Intel的82527CAN控制器兼容,具有14個(gè)傳送/接收郵箱、一個(gè)接收FIFO和29位的識(shí)別碼過(guò)濾器。FullCAN是發(fā)動(dòng)機(jī)管理系統(tǒng)的理想選擇。
5.cCAN控制器:它是新一代的FullCAN裝置,有32個(gè)傳送/接收郵箱,允許大量的信號(hào)被靜態(tài)和自動(dòng)地處理。它的接收郵箱支持FIFO模式,每個(gè)郵箱有自己的過(guò)濾器。cCAN控制器很適合高階的網(wǎng)關(guān)器和動(dòng)力傳動(dòng)的應(yīng)用。
圖1是基于MCP2515控制器(FullCAN)和MCP2551收發(fā)器的CAN總線(xiàn)典型應(yīng)用電路原理圖。MCP2515是一款獨(dú)立CAN總線(xiàn)控制器,完全支持CAN 2.0B技術(shù)規(guī)范。MCP2515器件能發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展數(shù)據(jù)幀以及遠(yuǎn)程幀,自帶的兩個(gè)接收屏蔽寄存器和六個(gè)接收濾波寄存器,可以過(guò)濾掉不想要的報(bào)文,因此減少了主控制器MCU的負(fù)擔(dān),MCP2515與MCU的連接是通過(guò)標(biāo)準(zhǔn)SPI串行外設(shè)接口來(lái)實(shí)現(xiàn)的。MCP2551收發(fā)器是一個(gè)可容錯(cuò)的高速CAN接口器件,可作為CAN協(xié)議控制器和物理總線(xiàn)接口,MCP2551可為CAN協(xié)議控制器提供差分收發(fā)能力,它完全符合ISO-11898標(biāo)準(zhǔn),包括能滿(mǎn)足24V電壓要求。MCP2551器件能自動(dòng)檢測(cè)TXD輸入端的接地錯(cuò)誤,可連接的CAN節(jié)點(diǎn)數(shù)高達(dá)112個(gè)。
圖1 CAN總線(xiàn)典型應(yīng)用電路原理圖
CAN總線(xiàn)已經(jīng)作為汽車(chē)的一種標(biāo)準(zhǔn)設(shè)備列入汽車(chē)的整體設(shè)計(jì)中,很多世界級(jí)的半導(dǎo)體廠商專(zhuān)門(mén)針對(duì)CAN總線(xiàn)在汽車(chē)上的應(yīng)用,提出了自己的全套解決方案。在未來(lái)的汽車(chē)中,由汽車(chē)廠商和半導(dǎo)體廠商共同組成的團(tuán)體FlexRay Consortium,致力于發(fā)展更高速的、具有容錯(cuò)性的、支持分布式控制系統(tǒng)的總線(xiàn)“X-by-Wire”,X-by-Wire的通信速率將達(dá)到10M。屆時(shí),X-by-Wire將和CAN總線(xiàn)一起組成整個(gè)汽車(chē)的通信控制網(wǎng)絡(luò)。