CAN是ControlAreaNetwork的縮寫,該項技術最早由德國BOSCH公司推出,用于汽車內部測量與執行部件之間的數據通信。其總線規范現已被ISO國際標準組織制訂為國際標準。由于得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它廣泛應用在離散控制領域。由于其高性能、高可靠性、及獨特的設計,CAN越來越受到人們的重視。
國外已有許多大公司的產品采用了這一技術。現代汽車越來越多地采用電子裝置控制,如發動機的定時、注油控制,加速、剎車控制(ASC)及復雜的抗鎖定剎車系統(ABS)等。由于這些控制需檢測及交換大量數據,采用硬接信號線的方式不但煩瑣、昂貴,而且難于解決問題,采用CAN總線上述問題便得到很好的解決。早在80年代,眾多國際知名的汽車公司就積極致力于汽車總線技術的研究及應用,如博世的CAN、SAE的J1850、馬自達的PALMNET、德國大眾的ABUS、美國商用機器的AUTOCAN、ISO的VAN等。
目前,國外的汽車總線技術已經成熟,采用總線系統的車輛有BENZ、BMW、RORSCHE、ROLLSROYCE、JAGUAR、VOLVO等。 目前,在國內還沒有我們自己開發研制的基于CAN總線的ECU產品。本文是以一汽大眾為合作伙伴,共同開展的基于CAN總線汽車控制系統研究工作的一部分,主要攻克了工程化關鍵技術,所做的汽車分布式電子控制系統具有完全自主產權。
文中對CAN總線的原理及性能進行詳細分析的基礎上,深入研究了CAN總線控制器SJA1000,并設計了一套由單片機89C52和SJA1000以及82C250等芯片組成的CAN總線系統,該系統模擬了汽車中的儀表盤以及照明系統,各個ECU之間通過CAN總線實現相互通訊,從而達到減少汽車中的線束的目的,證實了CAN總線作為一個局域網應用在汽車中的極大優勢。該項研究將對我國汽車工業技術水平的提高起到促進作用。
CAN總線技術的優越性
CAN總線與一般的通信總線相比,它的數據通信具有突出的可靠性、實時性和靈活性。其具有以下主要特性:
CAN是目前為止唯一有國際標準的現場總線;
CAN為多主方式工作,網絡上任一節點均可在任意時刻主動的向網絡上其他節點發送信息,而不分主從,通信方式靈活,且無需站地址等節點信息;
CAN網絡上的節點信息分成不同的優先級,可滿足不同的實時要求,高優先級的數據最多可在134us內得到傳輸;
CAN采用非破壞性總線仲裁技術,當多個節點同時向總線發送信息時,優先級較低的節點會主動地退出發送,而最高優先級的節點不受影響地繼續傳輸數據,從而大大節省了總線沖突仲裁時間。尤其是在網絡負載很重的情況下也不會出現網絡癱瘓情況(以太網則可能);
CAN只需通過報文濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送接收數據,無需專門的“調度”;
CAN的直接通信距離最遠可達10km (速率5kbps以下);通信速率最高可達1Mbps(此時通信距離最長為40m);
CAN上的節點數主要取決于總線驅動電路,目前可達成110個。采用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果。CAN的每幀信息都有CRC校驗及其他檢錯措施,保證了數據出錯率極低。
CAN的通信介質可為雙絞線、同軸電纜或光纖,選擇靈活。CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響。CAN總線具有較高的性能價格比。它結構簡單,器件容易購置,每個節點的價格較低,而且開發過程中,能充分利用現在的單片機開發工具。
SJA1000可以與不同類型的單片微型計算機接口,再加上收發器就組成了一個CAN應用系統的核心。系統硬件連接,硬件電路的設計主要是CAN通信控制器與微處理器之間和CAN總線收發器與物理總線之間的接口電路的設計。CAN通信控制器是CAN總線接口電路的核心,主要完成CAN的通信協議,而CAN總線收發器的主要功能是增大通信距離,提高系統的瞬間抗干擾能力,保護總線,降低射頻干擾(RFI),實現熱防護等。
微控制器的時鐘采自SJA1000的振蕩器。通過SJA1000的時鐘分頻寄存器CDR,它決定了SJA1000的CLKOUT 腳的輸出和它的工作方式。SJA1000的AD0- AD7 連接到89C52的P0口,CS片選信號連接到89C51 的P2. 7。P2. 7 為0時CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJA1000執行相應的讀/寫操作。SJA1000的RD、WR、ALE分別與89C52的對應引腳相連,INT接89C52的P3. 2(INTO),89C52 也可以通過中斷方式訪問SJA1000。
82C250與CAN總線的接口部分也采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個5Ω的電阻與CAN總線相連,電阻可起到一定的限流作用,保護82C250免受過流的沖擊。CANH和CANL與地之間并聯了兩個30pF的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。另外,在兩根CAN總線輸入端與地之間分別接了一個防雷擊管,當兩輸入端與地之間出現瞬變干擾時,通過防雷擊管的放電可起到一定的保護作用。瞬變干擾(Transient Interference)是電磁兼容領域中主要的一種干擾方式,特別是雷擊浪涌波,由于持續時間短,脈沖幅值高,能量大,給電子電氣設備的正常運行帶來極大的威脅。82C250的Rs腳上接有一個斜率電阻,電阻大小可根據總線通信速度適當調節,一般在16—140kΩ之間。
軟件設計
本文主要設計了汽車的舒適系統,其中包括了車門系統和車燈系統以及儀表盤之間通過CAN總線的通訊,用來實現各個節點之間的相互控制。,當儀表盤上的鑰匙門啟動時,儀表盤上的點火指示燈會亮起來,同時車門系統和車燈系統的ECU分別在總線上接到這個信息,也分別讓各自的電源指示燈亮起來,這就表示各個系統在鑰匙門打開的同時已經都準備好了,等待總線發出命令,以便做出相應的動作。當車門要打開時,儀表盤上的車門指示燈亮;當大燈打開時,儀表盤上的大燈指示亮;當轉向燈開關打開時,轉向燈亮;當雙閃開關打開時,左右轉向燈同時閃動。
模擬實驗
本論文采用了VectoR公司生產的CANoe軟件對CAN總線進行了實時監控。通過一個CAN卡--CANcardX (PCMCIA接口卡)以及一根CANcabs-CANcardX總線驅動電纜,可以把系統中的CAN總線數據通過計算機編程采集出來。下位機與上位機設定相同的通訊波特率(本論文中設定為100kbps),通過建立相應的數據庫,就可以互相通訊了。
根據實際測量的結果,可以看出總線負載符合要求,沒有接收到出錯幀,接受狀態處于激活中,接收到數據幀,總線工作狀態正常。從總線上測得的數據表明,對于每個ECU節點發送的ID碼以及數據與預定的ID碼及數據相同,總線接收和發送正常、準確,完全符合預期研究的目標。
該模擬系統可以隨意向總線上正確的發送數據幀、遠程幀,而且一旦某個ECU節點出現故障,總線會進行自動處理(在單片機軟件中進行處理),如果該節點一直在向總線發送錯誤標志,總線就會自動中斷該節點,其他節點也會檢測到錯誤條件,停止向給節點發送數據,這樣就可以避免總線癱瘓。所以某個ECU節點出現錯誤,不會影響其他節點的正常工作,不會造成整個總線的癱瘓。
結語
CAN總線技術,是工業控制與計算機網絡兩者邊緣的產物。無論是從網絡的結構、協議、實時性、還是適應性、靈活性、可靠性乃至成本等,工業控制的底層都有它的特殊性,特別是汽車工業中,要傳輸的信息幀都短小,要求實時性很強、可靠性高。因此,CAN總線在汽車ECU中的研究具有進一步推廣應用的價值和良好的開發前景。
編輯:jq
-
電阻
+關注
關注
86文章
5467瀏覽量
171654 -
CAN
+關注
關注
57文章
2715瀏覽量
463372 -
ecu
+關注
關注
14文章
881瀏覽量
54404 -
工業控制
+關注
關注
37文章
1442瀏覽量
85784
發布評論請先 登錄
相關推薦
評論