1 引言
隨著汽車計(jì)算機(jī)控制技術(shù)的不斷發(fā)展,現(xiàn)代汽車上的計(jì)算機(jī)控制系統(tǒng)越來越多,聯(lián)系也越來越緊密。如發(fā)動(dòng)機(jī)控制、變速控制、制動(dòng)防抱死控制、安全氣囊控制、照明控制、空調(diào)控制、儀表管理等。以前的汽車上這些計(jì)算機(jī)控制單元之間往往沒有通過總線構(gòu)成網(wǎng)絡(luò),而是獨(dú)立進(jìn)行控制,或者相關(guān)控制單元通過串行口進(jìn)行聯(lián)系。現(xiàn)在很多汽車采用CAN(Controller Area Network)總線將它們聯(lián)系起來,但是現(xiàn)代汽車計(jì)算機(jī)控制單元多,各控制單元對系統(tǒng)響應(yīng)時(shí)間的要求不一樣。有些系統(tǒng)(如制動(dòng)防抱死控制單元、安全氣囊等)對實(shí)時(shí)性要求很高,系統(tǒng)指令發(fā)出以后如果得不到執(zhí)行器的及時(shí)響應(yīng),就可能造成嚴(yán)重后果甚至車毀人亡;而有些系統(tǒng)(如照明控制、空調(diào)控制等)對系統(tǒng)的響應(yīng)時(shí)間要求就相對較低。
由于計(jì)算機(jī)控制單元越來越多,采用單網(wǎng)絡(luò)CAN總線負(fù)荷很重,筆者通過分別構(gòu)造高、低速CAN網(wǎng)絡(luò),對實(shí)時(shí)性要求高的計(jì)算機(jī)控制單元采用高速CAN網(wǎng)絡(luò)傳輸;其它采用低速CAN網(wǎng)絡(luò)傳輸,并采用DSP作為微控制器兼作網(wǎng)關(guān)。使得傳輸線束大大簡化,可靠性大大提高。CAN總線是一種串行多主站控制器局域網(wǎng)總線。它具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實(shí)時(shí)性,簡單實(shí)用,網(wǎng)絡(luò)成本低,特別適用于汽車計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動(dòng)大的工業(yè)環(huán)境。通訊媒體可以是雙絞線、同軸電纜或光導(dǎo)纖維,數(shù)據(jù)傳輸速率可達(dá) 1Mbps(此時(shí)通信距離最長為40m)。CAN總線還廣泛應(yīng)用于汽車、船舶、機(jī)器人、樓宇自動(dòng)化等場合。
自CAN總線問世以來,為滿足CAN 總線協(xié)議的多種應(yīng)用需要,相繼出現(xiàn)了幾種高層協(xié)議。目前大多數(shù)基于CAN 總線的網(wǎng)絡(luò)都采用CAN 總線的高層協(xié)議。CANopen,DeviceNet 和SDS是通常采用的高層協(xié)議,適用于任何類型的工業(yè)控制局域網(wǎng)應(yīng)用場合,而CAL則應(yīng)用于基于標(biāo)準(zhǔn)應(yīng)用層通訊協(xié)議的優(yōu)化控制場合,SAEJ1939則應(yīng)用于卡車和重型汽車計(jì)算機(jī)控制系統(tǒng)。
2 基于TMS320LF2402A的汽車計(jì)算機(jī)控制
2.1 TMS320LF2402A
數(shù)字信號處理器(DSP)是一種適合于實(shí)現(xiàn)各種數(shù)字信號處理運(yùn)算的微處理器,是專門為快速實(shí)現(xiàn)各種數(shù)字信號處理算法而設(shè)計(jì)的、具有特殊結(jié)構(gòu)的微處理器。它們一般具備以下特點(diǎn):
(1) 內(nèi)部采用程序和數(shù)據(jù)分開的哈佛總線結(jié)構(gòu);
(2) 具有專門的硬件乘法器;
(3) 廣泛采用流水線操作;
(4) 提供特殊的DSP指令集。它相對普通單片機(jī)具有運(yùn)算速度快、集成度高、抗電磁干擾能力強(qiáng)等優(yōu)點(diǎn)。
根據(jù)汽車計(jì)算機(jī)控制系統(tǒng)要求高實(shí)時(shí)性、高可靠性、高抗電磁干擾能力等要求,特采用德州儀器公司(TI公司)開發(fā)的TMS320LF2402A芯片作為主微控制器兼做網(wǎng)關(guān),TMS320LF2402A是一種16位定點(diǎn)的DSP,它的時(shí)鐘頻率為40MHz,運(yùn)算速度為40MIPS,自帶 1K字節(jié)的RAM,8K字節(jié)的閃速存儲(chǔ)器(具備安全保護(hù)電路),21通用輸入輸出口(GPIO),分辨率為10位的8路輸入A/D轉(zhuǎn)換器,還自帶有看門狗定時(shí)器。它相對于普通單片機(jī)運(yùn)算速度快,特別適合于像汽車計(jì)算機(jī)控制等實(shí)時(shí)性要求很高、電磁干擾嚴(yán)重的場合,而且可以采用高級語言編程(C語言編程),可移植性好。
2.2 系統(tǒng)實(shí)現(xiàn)
目前,汽車計(jì)算機(jī)控制已經(jīng)涉及到動(dòng)力性、經(jīng)濟(jì)性、安全性、可靠性、凈化性和舒適性等諸多方面,具體包括發(fā)動(dòng)機(jī)控制、變速器控制、巡行控制、制動(dòng)控制、照明控制、空調(diào)控制、雨刷控制、儀表管理系統(tǒng)等,而且各種控制系統(tǒng)的電控單元(ECU)相互聯(lián)系緊密,需要隨時(shí)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信,CAN總線作為一種極具應(yīng)用潛力的控制器局域網(wǎng)總線,近年來在汽車計(jì)算機(jī)控制系統(tǒng)中得到越來越廣泛的應(yīng)用。
汽車計(jì)算機(jī)控制系統(tǒng)中的所有這些子控制系統(tǒng)通過CAN總線構(gòu)成一個(gè)實(shí)時(shí)控制系統(tǒng)網(wǎng)絡(luò),各控制單元的指令發(fā)出去之后,必須保證在一定時(shí)間內(nèi)得到響應(yīng),要不然就有可能發(fā)生重大事故,這就要求汽車上的CAN通信網(wǎng)絡(luò)有較高的波特率設(shè)置和可靠性。而且,汽車在實(shí)際運(yùn)行過程中,眾多節(jié)點(diǎn)之間需要進(jìn)行大量的實(shí)時(shí)數(shù)據(jù)交換。若整輛汽車的所有節(jié)點(diǎn)都掛在一個(gè)CAN 網(wǎng)絡(luò)上,這么多節(jié)點(diǎn)通過一條CAN總線進(jìn)行通信,信息管理配置稍有不當(dāng),就很容易出現(xiàn)總線負(fù)荷過大,將導(dǎo)致系統(tǒng)實(shí)時(shí)響應(yīng)速度下降,這在實(shí)時(shí)系統(tǒng)中是不允許的。因此筆者在對汽車上各節(jié)點(diǎn)的實(shí)時(shí)性進(jìn)行了分析之后,根據(jù)各節(jié)點(diǎn)對實(shí)時(shí)性的要求,設(shè)計(jì)了高、低速兩個(gè)速率不同的 CAN 通信網(wǎng)絡(luò)。將實(shí)時(shí)性要求嚴(yán)格、可靠性要求高的節(jié)點(diǎn)組成高速CAN通信網(wǎng)絡(luò),將其它實(shí)時(shí)性要求相對較低的節(jié)點(diǎn)組成低速CAN通信網(wǎng)絡(luò),并架設(shè)網(wǎng)關(guān)將這兩個(gè)速率不同的CAN通信網(wǎng)絡(luò)連接起來,實(shí)現(xiàn)全部節(jié)點(diǎn)之間的數(shù)據(jù)共享。整輛汽車的通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1 所示。
圖1 汽車CAN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖1中的發(fā)動(dòng)機(jī)控制、變速器控制、安全控制、防抱死制動(dòng)控制(ABS)等控制單元節(jié)點(diǎn)是現(xiàn)代汽車動(dòng)作的核心部件,對時(shí)間響應(yīng)要求嚴(yán)格,因而在本設(shè)計(jì)中采用傳輸速率為500Kbps的高速CAN通信網(wǎng)絡(luò)。空調(diào)控制、雨刷控制、照明控制和儀表管理控制等相對來說對實(shí)時(shí)性的要求較低,采用傳輸速率小于125Kbps的CAN通信網(wǎng)絡(luò),主控制器跨接高、低速兩條總線,與各節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換,兼起網(wǎng)關(guān)的作用,實(shí)現(xiàn)網(wǎng)絡(luò)互連。
根據(jù)系統(tǒng)設(shè)計(jì)要求,特采用TI公司的TMS320LF2402A芯片作為主控制器。汽車計(jì)算機(jī)控制系統(tǒng)電控單元與CAN總線接線圖如圖2所示。
電控單元的微控制器(TMS320LF2402A)通過數(shù)據(jù)總線經(jīng)過光電隔離器(6N137)與CAN總線控制器(SJA1000)直接相連,由于CAN總線控制器帶有一個(gè)接收緩沖器和一個(gè)發(fā)送緩沖器,因此,CAN總線控制器的發(fā)送端口Tx0,接收端口Rx0、Rx1分別與CAN總線發(fā)送接收器的TxD和RxD、Vref端口直接相連,CAN_L和CAN_H是CAN總線的兩條差分接收發(fā)送線。它們的端點(diǎn)間各接一個(gè)120Ω的總線匹配電阻,當(dāng)有節(jié)點(diǎn)占用CAN總線時(shí),該節(jié)點(diǎn)的發(fā)送端(電平為3.5V)接CAN_H,接收端(電平為1.5V)接CAN_L;當(dāng)無節(jié)點(diǎn)占用CAN總線時(shí),CAN_L和 CAN_H上的電平均為2.5V。
圖2 汽車計(jì)算機(jī)控制系統(tǒng)電控單元與CAN總線接線圖
為滿足CAN總線協(xié)議,TMS320LF2402A配置了兩個(gè)CAN通信接口卡。該接口卡以PHILIPS公司生產(chǎn)的SJA1000作為通信控制器,它實(shí)現(xiàn)了CAN總線物理層和數(shù)據(jù)鏈路層的所有功能,可完成增強(qiáng)CAN模式(PeliCAN),支持CAN2.0B協(xié)議。適用于汽車和一般工業(yè)環(huán)境。
CAN通信接口卡由CAN控制芯片、CAN驅(qū)動(dòng)芯片以及光電隔離電路組成。SAJ1000可以完成CAN的物理層和數(shù)據(jù)鏈路層的所有協(xié)議功能。SJA1000為CAN總線收發(fā)接口,具有抗汽車惡劣電氣環(huán)境下的瞬間干擾、保護(hù)總線的能力。它是CAN控制器與物理總線之間的接口,可提供對總線的差動(dòng)發(fā)送和接收。為了進(jìn)一步提高抗干擾措施,在兩個(gè)CAN器件之間使用了高速隔離器件6N137構(gòu)成隔離電路。CAN通信接口卡的原理電路如圖3所示。
圖3 CAN通信接口卡原理電路
2.3 軟件設(shè)計(jì)
圖4 總的系統(tǒng)軟件流程圖
圖5 高速CAN總線網(wǎng)絡(luò)單元軟件流程圖
本系統(tǒng)軟件由總的系統(tǒng)軟件和高(低)速CAN總線網(wǎng)絡(luò)單元軟件組成,軟件流程圖如圖4和圖5所示。其中圖5高速CAN總線網(wǎng)絡(luò)單元負(fù)責(zé)對實(shí)時(shí)性要求高的發(fā)動(dòng)機(jī)控制、變速控制、安全控制和制動(dòng)防抱死控制(ABS)單元的控制動(dòng)作的采集和傳送,一旦有這些控制單元?jiǎng)幼餍盘枺?jīng)過微控制器對它們進(jìn)行處理后將以最快的速度通過高速CAN網(wǎng)絡(luò)傳給相應(yīng)控制單元的ECU,由控制單元ECU對控制對象進(jìn)行控制;低速CAN總線網(wǎng)絡(luò)的控制方法與此類似,但是由于它們的實(shí)時(shí)性要求相對前者不高,因此它們的傳輸優(yōu)先級相對較低。
在這里只介紹了高速CAN總線網(wǎng)絡(luò)單元軟件流程圖,低速CAN總線網(wǎng)絡(luò)單元軟件流程圖與此類似。
2.4 抗干擾措施
考慮到汽車計(jì)算機(jī)控制的工作條件比較惡劣,電磁干擾嚴(yán)重,在本設(shè)計(jì)中筆者還加強(qiáng)了防干擾措施:
(1) 考慮汽車工作環(huán)境電磁干擾嚴(yán)重在選用微控制器時(shí)特選用自帶看門狗定時(shí)器的數(shù)字信號處理器TMS320LF2402A作為微控制器,并選用4片高速光電隔離芯片6N137,將I/O信號與SJA1000隔離,有效防止了噪聲信號通過SJA1000傳入微控制器,提高了系統(tǒng)可靠性;
(2) 本設(shè)計(jì)還對整個(gè)系統(tǒng)進(jìn)行了金屬屏蔽,傳輸線采用屏蔽雙絞線,以減少電磁干擾。試驗(yàn)結(jié)果表明,效果明顯。
3 結(jié)語
CAN 總線作為一種可靠的汽車計(jì)算機(jī)網(wǎng)絡(luò)總線已在許多先進(jìn)汽車上得到應(yīng)用,各汽車計(jì)算機(jī)控制單元能夠通過 CAN 總線共享所有信息和資源,達(dá)到簡化布線、減少傳感器數(shù)量、避免控制功能重復(fù)、提高系統(tǒng)可靠性和維護(hù)性、降低成本、更好地匹配和協(xié)調(diào)各個(gè)控制系統(tǒng)的目的。在本設(shè)計(jì)中采用了數(shù)字信號處理器(DSP)TMS320LF2402A作主控制器,它相對于一般普通單片機(jī),具有運(yùn)算速度快、系統(tǒng)集成度高、電磁兼容性強(qiáng)等優(yōu)點(diǎn),用它作微控制器兼作網(wǎng)關(guān),比較大的提高了系統(tǒng)的實(shí)時(shí)性和可靠性,另外還采用了一些抗干擾措施。
目前,國外有關(guān)這方面研究越來越多也越來越成熟,而國內(nèi)在這方面的應(yīng)用研究起步較晚,但是市場潛力很大,相信在不久的將來,隨著汽車計(jì)算機(jī)控制系統(tǒng)數(shù)目的不斷增加,CAN 總線必定會(huì)在國內(nèi)汽車計(jì)算機(jī)控制系統(tǒng)網(wǎng)絡(luò)中得到更廣泛應(yīng)用。