摘? 要: 針對汽車控制系統中各控制單元" title="控制單元">控制單元對系統響應時間要求不一致的實際情況,提出建立雙速CAN總線網絡以連接汽車的各控制單元的方法。在系統中,對實時性" title="實時性">實時性要求高的計算機控制" title="計算機控制">計算機控制單元采用高速CAN網絡傳輸;其他采用低速CAN網絡傳輸。結果表明,采用高、低速兩條CAN總線網絡的設計思路,既方便地實現了整個系統的數據共享,又有效地緩解了整個總線的通信負擔,從而提高了控制的可靠性。?
關鍵詞: 雙速CAN總線; 網關; 汽車控制系統; TMS320LF2407?
?
隨著汽車計算機控制技術的不斷發展,現代汽車上的電子裝置越來越多,聯系也越來越緊密。如發動機控制、變速控制、制動防抱死控制、安全氣囊控制、照明控制、空調控制、儀表管理等。在原來的汽車上,這些計算機控制單元之間往往沒有通過總線構成網絡,而是獨立進行控制,或者相關控制單元通過串行口進行聯系,目前,大多數汽車都使用串行總線構成網絡控制,各汽車公司都制定各自的協議。如克萊斯勒公司的CCD協議;福特、馬自達的PWM協議;英國的GE協議;標致、雷諾的VAN協議;Bosch、奔馳的CAN協議;通用公司的J1850協議等。目前ISO組織批準采用的汽車多路傳輸系統的技術標準通信協議有VAN、CAN、SCP(J1850)三種。其中CAN協議實際上己成為最具代表性的汽車高速協議。在歐洲,CAN總線已成為汽車制造業的主體行業標準,代表著汽車電子控制網絡的主流發展趨勢。?
現代汽車計算機控制單元多,而各控制單元對系統響應時間的要求也不一樣。有些控制單元對實時性要求很高,系統指令發出以后如果得不到執行器的及時響應,就可能造成嚴重后果甚至車毀人亡,如制動防抱死控制單元、安全氣囊等;而有些控制單元如照明控制、空調控制等對系統的響應時間要求就相對較低。計算機控制單元越來越多,若采用單網絡,CAN總線負荷很重,本文通過分別構造高、低速CAN網絡,對實時性要求高的計算機控制單元采用高速CAN網絡傳輸;而其他則采用低速CAN網絡傳輸,并采用DSP作為微控制器" title="微控制器">微控制器兼作網關,使得傳輸線束大大簡化,可靠性大大提高。?
1 CAN總線的技術特性?
CAN(Controller Area Network)總線是一種串行多主站控制器局域網總線。它具有很高的網絡安全性、通信可靠性和實時性,并且簡單實用、網絡成本低,特別適用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。通信媒體可以是雙絞線、同軸電纜或光導纖維,數據傳輸速率可達 1Mb/s(此時通信距離最長為40m)。?
自CAN總線問世以來,為滿足CAN總線協議的多種應用的需要,相繼出現了幾種高層協議。目前大多數基于CAN 總線的網絡都采用CAN 總線的高層協議。 CANopen、DeviceNet 和SDS是通常采用的高層協議,適用于任何類型的工業控制局域網應用場合,而 CAL 則應用于基于標準應用層通信協議的優化控制場合,SAEJ1939 則應用于卡車和重型汽車計算機控制的系統。?
2 基于TMS320LF2407的汽車控制系統?
2.1? TMS320LF2407?
根據汽車計算機控制系統對高實時性、高可靠性、高抗電磁干擾能力要求,采用TI公司開發的TMS320LF2407芯片作為主微控制器兼做網關。該DSP芯片將高性能的DSP內核和豐富的微控制器外設集成于單片中,指令采用四級流水線操作,能使數字控制系統實時地進行運算,能大大減小硬件對控制算法的限制。芯片具有六套16位內部總線,544字節的片內DARAM、2K字的片內SARAM和32K字的片內Flash程序存儲器、16通道10位A/D轉換器、1個異步串行口SCI, 2個事件管理器EV。每個事件管理器都有各自可編程的死區單元和功率驅動保護中斷引腳,可產生獨立的PWM波,便于汽車內部各種電機的控制。TMS320LF2407DSP的片上CAN模塊全面兼容CAN2.0B協議,可以利用它開發帶CAN總線接口的汽車控制儀。?
2.2? 系統硬件設計?
目前,汽車計算機控制已經涉及到動力性、經濟性、安全性、可靠性、凈化性和舒適性等諸多方面,具體包括發動機控制、變速器控制、巡行控制、制動控制、照明控制、空調控制、雨刷控制,儀表管理控制等,而且各種控制系統的電控單元(ECU)相互聯系緊密,需要隨時進行實時數據通信。?
汽車計算機控制系統中的所有這些子控制單元通過CAN總線構成一個實時控制系統網絡,各控制單元的指令發出去之后,必須保證在一定時間內得到響應,否則就有可能發生重大事故。這就要求汽車上的CAN通信網絡" title="通信網絡">通信網絡有較高的波特率設置和可靠性。而且,汽車在實際運行過程中,眾多節點之間需要進行大量的實時數據交換。若整輛汽車的所有節點都掛在一個CAN 網絡上,這么多節點通過一條CAN總線進行通信,信息管理配置稍有不當,就很容易出現總線負荷過大現象,將導致系統實時響應速度下降,這在實時系統中是不允許的。因此,本文在對汽車上各節點的實時性進行分析之后,根據各節點對實時性的要求,設計了高、低速兩個速率不同的 CAN 通信網絡。將實時性要求嚴格、可靠性要求高的節點組成高速CAN通信網絡,將其他實時性要求相對較低的節點組成低速CAN通信網絡,并架設網關將這兩個速率不同的CAN通信網絡連接起來,實現全部節點之間的數據共享。整輛汽車的通信網絡拓撲結構如圖1 所示。?
?
?
圖1中的發動機控制、變速器控制、安全控制、防抱死制動控制(ABS)等控制單元節點是現代汽車動作的核心部件,對時間響應要求嚴格,因而在本設計中采用傳輸速率為500Kb/s的高速CAN通信網絡。空調控制、雨刷控制、照明控制和儀表管理控制等對實時性的要求相對較低,采用傳輸速率小于125Kb/s的CAN通信網絡,主控制器跨接高、低速兩條總線,與各節點進行數據交換,兼起網關的作用,實現網絡互連。?
根據系統設計要求,采用TMS320LF2407DSP芯片作為主控制器。該芯片內部集成了CAN總線控制器,不用外擴總線控制器芯片(如SJA1000)。汽車計算機控制系統電控單元與CAN總線接線圖如圖2所示。?
?
?
為滿足CAN總線協議,需要利用TMS320LF2407來制作CAN通信接口。CAN通信接口由光電隔離電路和CAN 總線收發器以及TMS320LF2407內部的CAN總線控制器組成。在接口設計中,TMS320LF2407的CAN總線控制器帶有一個接收緩沖器和一個發送緩沖器,因此,CAN總線控制器的發送端口CANTX、接收端口 CANRX分別與 CAN總線發送接收器的TxD和RxD端口相通。但為了提高CAN節點的抗干擾能力,電控單元的微控制器(TMS320LF2407)通過數據總線經過高速光電隔離器(6N137)與 CAN 總線收發器(PCA82C250)相連,以實現總線上各CAN節點間的電氣隔離。光耦部分電路所采用的兩個電源應該完全隔離。在實際使用中,可采用多電源輸出模塊供電實現電源隔離。PCA82C250的CAN_H和CAN_L與CAN總線之間的二個5Ω電阻用于限流,以免PCA82C250受到過流的沖擊。芯片PCA82C250的引腳RS用于選擇PCA82C250的工作模式(高速、斜率控制或等待),RS腳接地(須串接一個電阻),則PCA82C250工作于高速方式。參考電壓輸出VR的輸出電壓是額定電源電壓VCC的0.5倍,其中收發器的額定電源電壓是5V。CAN_L和CAN_H是CAN總線的兩條差分接收發送線,它們的端點間各接一個120Ω的總線匹配電阻,當有節點占用CAN總線時,該節點的發送端(電平為3.5V)接CAN_H,接收端(電平為1.5V)接CAN_L;當無節點占用CAN總線時,CAN_L和 CAN_H上的電平均為 2.5V。CAN通信接口的原理電路如圖3所示。?
?
?
2.3 軟件設計?
本系統軟件由主系統軟件和高(低)速CAN總線網絡單元軟件組成,軟件流程圖分別如圖4、圖5所示。其中,高速CAN總線網絡單元負責對實時性要求高的發動機控制、變速控制、安全控制和制動防抱死控制等單元的控制動作的采集和傳送,一旦有這些控制單元的動作信號,經過微控制器對它們進行處理后將以最快的速度通過高速CAN網絡傳給相應控制單元的ECU,由控制單元ECU對控制對象進行控制;低速CAN總線網絡的控制方法與此類似(在此不作介紹),但是由于它們的實時性要求相對不高,因此其傳輸優先級相對也較低。?
?
?
?
在CAN網絡系統中,下位節點也就是各種類型的ECU,它們的主要功能是采集數據并向總線發送報文以及從總線接收報文并向相連的電子設備發送控制指令。這里以汽車儀表ECU為例,此節點的主要任務是從總線接收報文并驅動相連的油量表、轉速表、車速表、水溫表以及控制儀表上的方向燈、照明燈、報警燈的開啟與關閉。同時,此節點應定時向總線發送有關汽車儀表工作狀態的報文。因此,下位節點的軟件包括CAN初始化程序、CAN報文接收程序、CAN報文發送程序、電子設備控制程序和數據采集程序等部分。本文簡要介紹CAN初始化、CAN報文處理等部分的軟件設計思路。?
(1)CAN初始化程序設計?
對CAN控制器進行初始化,實際上就是對CANC、BRPRS、SYNC0、SYNC1、MCNT、MASKC等寄存器進行初始化設置,并對報文接收緩沖區進行設置。CAN初始化程序代碼如下:?
??? CANINIT:…?
??? ??? DI????????????? ??????????????????????????? ;關中斷?
??? ??? SET1 CANC.O?
?? ???? MOV? BRPRS,#09H?
??? ??? MOV? SYNCO,#OA7H?
??? ??? MOV? SYNC1,#04H?
? ???? ?Receive Buffer Init???????? ?? ;接收緩沖區初始化?
????? ? …?
??? ??? MOV? MCNT,#ODOH? ?? ??? ??;16個Receive Buffer?
??? ??? MOV? MASKC,#02H?
??? ??? CLR1 CANC.O?
??? EI????????????????? ??????????????????????? ;開中斷?
(2)CAN報文處理程序設計?
CAN協議只關心報文內容,而不必關心報文的目的地址。因此,下位節點采集數據后或收到數據發送請求報文后,以廣播方式向總線發送報文。當通過濾波驗收的數據報文被接收時,將有兩種操作方式:一種是中斷方式,若接收中斷開放位允許,則產生中斷;另一種是查詢方式,若查詢接收狀態位DN=1,則表示接收緩沖區所有數據。由于汽車控制網絡實時性要求較高,因此系統采用中斷方式對接收數據進行處理。?
2.4 抗干擾措施?
考慮到汽車計算機控制的工作條件比較惡劣,電磁干擾嚴重,在本設計中還加強了防干擾措施:(1)提高了穩壓電源的抗干擾性能。因為蓄電池與汽車交流發電機、起動機、點火線圈相連,不僅電壓波動大,而且含有尖峰脈沖,對微機干擾很大,因此對穩壓電源進行了精心設計。(2)考慮汽車工作環境電磁干擾嚴重,在選用微控制器時特選用自帶看門狗定時器的數字信號處理器TMS320LF2407作為微控制器,并選用4片高速光電隔離芯片6N137,將控制器與CAN總線收發器隔離,有效防止了噪聲信號傳入微控制器,提高了系統可靠性。(3)本設計還對整個系統進行了金屬屏蔽,傳輸線采用屏蔽雙絞線,以減少電磁干擾。(4)在軟件抗干擾方面,CAN總線MAC層采用CSMA/CD協議及非破壞性優先權的逐位仲裁規則實現對媒體的訪問,總線狀態取決于顯性位‘0’,而不是取決于隱性位‘1’,因此,當兩個節點同時向網絡上發送報文時,優先級低的報文主動停止發送,而不會影響優先級高的報文的發送。同時,采用CRC校驗,具有錯誤檢測與出錯幀自動重發功能。?
智能芯片價格的下降使得各種汽車局域網的成本相差無幾,性能已成為影響網絡選擇的最主要因素。目前,CAN以其優異的品質具有明顯的優勢,高速、低速兩條CAN總線網絡的設計,既方便地實現了整個系統的數據共享,又有效地緩解了整個總線的通信負擔。目前雙速CAN的模式已經在一些大的汽車生產廠得到應用。?
如今,一些公司(如神龍公司)提出采用三速網絡作為汽車的控制網絡,高速與低速網絡用CAN總線,而中速網絡用VAN總線,兩種總線用一個智能控制盒加以協調。三速雙總線網絡模式的控制可靠性尚需要進一步加以驗證。但是可以相信,隨著汽車控制技術的發展,三速雙總線網絡不久也將會成功地得到應用。?
參考文獻?
[1] 饒動濤,鄒繼軍,鄭勇蕓. 現場總線CAN原理與應用技術[M]. 北京:北京航空航天大學出版社,2003.?
[2] 鄒寬明. CAN總線原理和應用系統設計[M]. 北京:北京航空航天大學出版社,2002.?
[3] 劉和平. TMS320LF240x DSP結構原理及應用. 北京:北京航空航天大學出版社,2002.?
[4] 肖瑋, 劉立, 魏敬宣. 基于CAN總線的載重汽車安全監測系統[J].礦山機械,2007,(6):67-69.