<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > CAN總線在汽車車身控制中的應用

          CAN總線在汽車車身控制中的應用

          ——
          作者:吁苗 重慶交通大學機電學院 時間:2007-01-26 來源:《電子元器件應用》 收藏

          引言

          20世紀80年代以來,隨著集成電路和單片機在汽車上的廣泛應用,汽車上的電子控制單元越來越多,例如電子燃油噴射裝置、防抱死制動裝置(abs)、安全氣囊裝置、電控門窗裝置和主動懸架等等。在這種情況下,如果仍采用常規(guī)的布線方式,即電線一端與開關相接,另一端與用電設備相通,將導致車上電線數(shù)目的急劇增加,使得電線的質量占整車質量的4%左右。另外,電控系統(tǒng)的增加雖然提高了轎車的動力性、經濟性和舒適性,但隨之增加的復雜電路也降低了汽車的可靠性,增加了維修的難度。為此,改革汽車電氣技術的呼聲日益高漲。因此,一種新的概念——車用控制器局域網(wǎng)絡can應運而生。

          本文引用地址:http://www.ex-cimer.com/article/21089.htm

          can是控制器局域網(wǎng)絡(controller area network)的簡稱,它是由德國bosch公司及幾個半導體生產商開發(fā)出來的,can總線是一種串行多主站控制器局域網(wǎng)總線。它具有很高的網(wǎng)絡安全性、通訊可靠性和實時性,而且簡單實用,網(wǎng)絡成本低。特別適用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。

          can總線的技術特點

          can總線可有效支持分布式控制或實時控制。該總線的通信介質可以是雙絞線、同軸電纜或光纖,其主要特點如下:

          ◆can總線為多主站總線,各節(jié)點可在任意時刻向網(wǎng)絡上的其他節(jié)點發(fā)送信息,且不分主從:

          ◆can總線采用獨特的非破壞性總線仲裁技術,高優(yōu)先級節(jié)點優(yōu)先傳送數(shù)據(jù),故實時性好;

          ◆can總線具有點對點、一點對多點及全局廣播傳送數(shù)據(jù)的功能;

          ◆can總線采用短幀結構,每幀有效字節(jié)數(shù)最多為8個,數(shù)據(jù)傳輸時間短,并有crc及其它校驗措施,數(shù)據(jù)出錯率極低;

          ◆can總線上某一節(jié)點出現(xiàn)嚴重錯誤時,可自動脫離總線,而總線上的其他操作不受影響;

          ◆can總線系統(tǒng)擴充時,可直接將新節(jié)點掛在總線上,因而走線少,系統(tǒng)擴充容易,改型靈活;

          ◆can總線的最大傳輸速率可達1mb/s,直接通信距離最遠可達到10km(速率在5kbps以下);

          ◆can總線上的節(jié)點數(shù)取決于總線驅動電路。在標準幀(11位報文標識符)時可達到110個,而在擴展幀(29位報文標識符)時,個數(shù)不受限。

          車身系統(tǒng)的can控制設計

          can總線網(wǎng)絡系統(tǒng)架構

          現(xiàn)代汽車典刑的控制單元有發(fā)動機控制模塊、變速器控制模塊、多媒體控制模塊、氣囊控制模塊、空調控制模塊、巡航控制模塊、車身控制模塊(包括照明指示和車窗、刮雨器等)、防抱死制動系統(tǒng)(abs)防滑控制系統(tǒng)(asr)等。完善的汽車can總線網(wǎng)絡系統(tǒng)架構如圖1所示。

          can節(jié)點的硬件架構

          本系統(tǒng)中,can節(jié)點采用:

          ecu(at89c51)+can控制器(sja1000)+can收發(fā)器(pca82c250)的電路結構以下是其核心芯片簡介:

          (1)can控制器

          為了系統(tǒng)進一步擴展的需要,可選取支持can 2.0b通訊協(xié)議的芯片sja1000。sja1000是philips公司生產的既支持can 2.0b,又支持can 2.0a的can控制器,它與僅支持can 2.0a的can控制器pca82c200在硬件和軟件上完全兼容。

          (2)can收發(fā)器

          pca82c250是philips推出的can控制器和物理總線接口芯片,可提供對總線的差分發(fā)送和接收。它與iso 11898標準完全兼容,并有高速、斜率控制和待機3種不同的工作方式,可根據(jù)實際情況選擇。

          (3)單片機at89c51

          at89c51是atmel公司的單片機。它是一種低功耗、高性能、內含4kb閃速存儲器的8位cmos微控制器,與工業(yè)標準mcs-51指令系統(tǒng)和引腳完全兼容。at89系列的優(yōu)越性在于其片內閃速存儲器可進行1000次的編程與擦除,且數(shù)據(jù)不易丟失,數(shù)據(jù)可保存10年。

          can總線控制器、總線驅動器和單片機連接基本方法如圖2所示。

          車身控制模塊中的can應用層協(xié)議

          協(xié)議原則

          本協(xié)議遵循can2.0b規(guī)范,根據(jù)車身控制模塊的特點,采用源→目的方法,每個節(jié)點都有自己固定的標識地址,且節(jié)點數(shù)小于64,設計時可將中央控制模塊設為主節(jié)點,而將車門、電動座椅子模塊及自檢子模塊設置為從節(jié)點。本協(xié)議可完成以下功能:

          (1)特定信息的廣播;

          (2)主從節(jié)點之間的連接;

          (3)主從節(jié)點之間的信息交換(包括故障信息)。

          本協(xié)議采用幀優(yōu)先原則分配標識符,每一幀標識符中的高四位表示幀類型,不同幀類型有不同的優(yōu)先權,優(yōu)先權決定了各種信息幀在同等情況下的發(fā)送順序,協(xié)議中的29位標識符的分配如下:

          幀類型(4位)+目的地址(6位)+源地址(6位)+命令(或狀態(tài)、報告)屬性(13位)[或數(shù)據(jù)屬性+分段標志+分段號(共13位)]。

          對所有的命令或狀態(tài)、數(shù)據(jù)、報告屬性、除定時采集發(fā)送的數(shù)據(jù)外,原則上均需應答(發(fā)送確認幀以保證通訊正常)。

          幀格式仲裁場和控制場定義

          仲裁場由29位標識符id28-id0以及srr、ide和rtr組成,sja1000中的寄存器17-21用來存放擴展幀格式幀信息的標識符。發(fā)送時,srr=1,ide=1,rtr=1/0(遠程幀/數(shù)據(jù)幀)。標識符中的id28-id25為車身控制模塊交換報文的幀類型(共4位)。id24-id19為車身控制模塊中幀信息使用者的地址(或稱為目的地址,共6位)。id18-id13為車身控制模塊中幀信息發(fā)送者的地址或稱為源地址(共6位)。id12-id5為車身控制模塊中交換的命令、狀態(tài)、數(shù)據(jù)或報告屬性(共8位),id4位需附加命令或狀態(tài)、數(shù)據(jù)、報告屬性時的分段標志。id3-id0為附加命令或狀態(tài)、數(shù)據(jù)、報告屬性的分段號(共4位)。當id4=0時,id3-id0控制場、數(shù)據(jù)寄存器0-7有效。對于遠程幀,則可忽略id4-id0以及控制場的值。sja1000的寄存器16低四位dlc3-dlc0可構成控制場,以決定數(shù)據(jù)幀的數(shù)據(jù)長度。

          車身控制模塊can2.0b通訊報文約定

          按車身控制模塊的節(jié)點要求,通訊的信息幀分為表1所列的6種,表1中的優(yōu)先級按序號從高到低排列。其目的地址和源地址的分配見表2所列。


          其工作方式如下:

          (1)開機后或喚醒時,從節(jié)點向主節(jié)點發(fā)送狀態(tài)信息,主節(jié)點發(fā)送廣播信息遠程幀(兩次),廣播信息為共用信息,包括車速信號,檔位信號,點火開關位置信號等。

          (2)正常情況下,從節(jié)點內部巡查各端口狀態(tài),如有故障則向主節(jié)點發(fā)送故障代碼3次,主節(jié)點收到三次故障報警后開始響應,從節(jié)點停止發(fā)送,一旦故障消失,再向主節(jié)點發(fā)送正常信息。在主節(jié)點中應有一故障表,以用于已診斷模塊的通訊。

          (3)主結點分別發(fā)送自檢信息后,如各從節(jié)點正常,則發(fā)送正常信息,狀態(tài)和數(shù)據(jù)幀。如有故障,則通過分段數(shù)據(jù)幀發(fā)送故障報警幀。

          (4)從節(jié)點監(jiān)測到正常輸入信號的變化(包括開關量和模擬量采樣級數(shù)的變化)后,便通過報告幀發(fā)送信息給主節(jié)點,主節(jié)點則發(fā)送命令幀以示響應。

          通訊報文定義

          表3所列是中央控制模塊與診斷模塊的通訊報文定義。表中,aaaa為分段號,可在故障代碼多于8個時設置,最多可達傳送16×8個字節(jié)代碼;bbbbbb為各傳感器代號,其響應幀采用不分段的數(shù)據(jù)幀,cccccccc為執(zhí)行相應動作的代碼,如車窗上升為00000001,下降為00000010,該響應最多可以執(zhí)行256個動作。響應幀采用遠程幀,請求幀為遠程幀。

          在系統(tǒng)正常工作時,各節(jié)點的通訊協(xié)議約定如表4所列。表中的dddd為分段起始命令中包含的總段數(shù);eeee為廣播信息的某一段號,控制場中的數(shù)據(jù)長度為該段內的數(shù)據(jù)長度,數(shù)據(jù)場中的數(shù)據(jù)廣播的某段實際數(shù)據(jù),按順序定義數(shù)據(jù)有:

          ◆數(shù)據(jù)寄存器1=車速信息高8位;

          ◆數(shù)據(jù)寄存器2=車速信號低8位;

          ◆數(shù)據(jù)寄存器3=發(fā)動機轉速信號高8位;

          ◆數(shù)據(jù)寄存器4=發(fā)動機轉速信號低8位;

          ◆數(shù)據(jù)寄存器5=點火開關位置,其中,0表示鑰匙拔出;1表示鑰匙位于off;2表示鑰匙位于acc;3表示鑰匙位于run;4表示鑰匙位于start;

          ◆數(shù)據(jù)寄存器6=檔位信號,0表示空檔;1表示驅動檔;2表示驅動檔;3表示倒檔;4表示駐車檔;


          ◆數(shù)據(jù)寄存器7=遙控信號,0表示遙控解鎖主駕車門;1表示遙控鎖定主駕車門;2表示遙控解鎖所有車門;3表示遙控鎖定所有車門;4表示遙控解鎖行禮箱;

          ◆數(shù)據(jù)寄存器8用于防盜模式;0表示進入防盜模式,1表示解除防盜模式;

          ◆數(shù)據(jù)寄存器9-16:保留。

          軟件流程

          各控制器應按規(guī)定格式和周期發(fā)送數(shù)據(jù)到總線上,同時也要接受其他控制器的信息??偩€上的其他控制器則根據(jù)需要各取所需的報文。對于接收數(shù)據(jù),本系統(tǒng)采用中斷方式實現(xiàn)。一旦中斷發(fā)生,即將接收的數(shù)據(jù)自動裝載到相應的報文寄存器中,此時還可采用屏蔽濾波方式,利用屏蔽濾波寄存器對接收報文的標識符和預先在接收緩沖器初始化時設定的標識符進行有選擇地逐位比較,只有標識符匹配的報文才能進入接收緩沖器,那些不符合要求的報文則將被屏蔽于接收緩沖器之外,從而減輕cpu處理報文的負擔。此外,不同數(shù)據(jù)應放入不同的報文寄存器中,因此在接收中斷服務程序中,就可以容易地判斷出中斷是由哪個接收報文引起的,其程序流程圖如圖3所示。

          結束語

          can總線作為一種可靠的汽車計算器網(wǎng)絡總線,現(xiàn)已開始在先進的汽車上得到應用,從而使得各汽車計算機控制單元能夠通過can總線共享所有的信息和資源,以達到簡化布線、減少傳感器數(shù)量、避免控制功能重復、提高系統(tǒng)可靠性和可維護性、降低成本、更好地匹配和協(xié)調各個控制系統(tǒng)之目的,進而使得汽車的動力性、操作穩(wěn)定性、完全性都上升到新的高度、隨著汽車電子技術的發(fā)展,具有高度靈活性、簡單的擴展性、優(yōu)良的抗干擾性和糾錯能力的can總線通信協(xié)議必將在汽車電容系統(tǒng)中得到更廣泛的應用。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();