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