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