趙洪玉 徐 輝 徐春艷
[摘要]在車身控制中,CAN/LIN(Local Interconnect Network)總線的引入帶來了車身電子控制的模塊化和智能化。對LIN協(xié)議作較詳細(xì)的描述,并以車燈控制為例,提出并實(shí)現(xiàn)軟件的控制算法。
[關(guān)鍵詞]總線LIN協(xié)議車燈控制
中圖分類號:TP-9文獻(xiàn)標(biāo)識碼:A文章編號:1671—7597(2009)1020096--01
隨著微控制器在汽車控制領(lǐng)域的廣泛應(yīng)用,汽車電子化程度越來越高,對于車身控制,其車載網(wǎng)絡(luò)有助于簡化安裝工序、降低故障率和成本。人們對汽車舒適度要求的不斷提高,其復(fù)雜的車身控制系統(tǒng)及其內(nèi)部繁重的信息交互,需要采用大量的線束才能實(shí)現(xiàn)。線束的增加,意味著汽車的安裝工藝復(fù)雜、成本增加和故障率的上升。因此,在汽車上應(yīng)用總線網(wǎng)絡(luò)技術(shù)大勢所趨。
一、汽車電子系統(tǒng)中的總線
在汽車電子系統(tǒng)中,主要存在幾種網(wǎng)絡(luò)協(xié)議。LIN主要應(yīng)用低速(<20Kb/s)的車身控制環(huán)境,低速CAN多用于事件驅(qū)動的控制環(huán)境(125Kb/s),高速CAN(>500Kb/s),F(xiàn)lexray和Byteflight主要應(yīng)用于時間驅(qū)動的同步高速控制環(huán)境。
就車身控制而言,主要應(yīng)用基于CAN幾IN總線協(xié)議。在汽車上網(wǎng)絡(luò)連接方式主要采用2條CAN,一條用于驅(qū)動系統(tǒng)的高速CAN,它主要連接對象是發(fā)動機(jī)控制器、ASR及ABS控制器、安全帶、氣囊控制器、組合儀表等。它們的基本特征相同,都是控制與汽車行駛直接相關(guān)的系統(tǒng),速率達(dá)到500kb/s。另一條用于車身系統(tǒng)的低速CAN速率達(dá)lOOkb/s。它主要連接對象是電動車窗、后視鏡,燈光信號和廂內(nèi)照明燈等。LIN協(xié)議是面向車輛低端分布式應(yīng)用的一類多路復(fù)用串行協(xié)議,符合SAE(Society of AutomobileEngineering)規(guī)定的車用網(wǎng)絡(luò)A類標(biāo)準(zhǔn)。
二、LIN協(xié)議
LIN是低成本的汽車網(wǎng)絡(luò)協(xié)議,其硬件的實(shí)現(xiàn)是基于普通的串行通訊接口(SCI),甚至在子節(jié)點(diǎn)中可以用普通I/O口模擬,其實(shí)現(xiàn)成本較低。通常LIN子總線是現(xiàn)有的CAN網(wǎng)絡(luò)的擴(kuò)充,與CAN網(wǎng)絡(luò)一起形成汽車的控制網(wǎng)絡(luò)。
(一)LlN總線協(xié)議的報文傳輸及其幀結(jié)構(gòu)
在總線上發(fā)送的信息,有長度可選的固定格式。每個報文幀都包含2、4或8字節(jié)的數(shù)據(jù)以及3字節(jié)的控制和安全信息,如圖1所示。
總線的通訊由單主機(jī)控制。每個報文都經(jīng)一個同步間隔信號開始,接著是一個同步場和一個標(biāo)識符場,這些都由主機(jī)任務(wù)發(fā)送。從機(jī)任務(wù)則是發(fā)回數(shù)據(jù)場和校驗(yàn)場。通過主機(jī)控制單元中的從機(jī)任務(wù),數(shù)據(jù)可以被主機(jī)控制單元發(fā)送到任何從機(jī)控制單元。
(二)LIN協(xié)議錯誤管理
LIN定義了6個不同的報文錯誤類型產(chǎn)生錯誤[3]:
1、位錯誤。向總線發(fā)送一個位的單元同時,也在監(jiān)控總線,當(dāng)監(jiān)控位的值和發(fā)送位的值不同時,則在這個位定時檢測到一個位錯誤。
2、校驗(yàn)和錯誤。所有數(shù)據(jù)字節(jié)和的補(bǔ)碼與校驗(yàn)和字節(jié)之加的和不是OxFF時,則檢測到一個校驗(yàn)和錯誤。
3、標(biāo)識符奇偶錯誤。標(biāo)識符的奇偶錯誤(即錯誤的標(biāo)識符)不會被標(biāo)出,通常LIN從機(jī)應(yīng)用不能區(qū)分一個未知但有效的標(biāo)識符和一個錯誤的標(biāo)識符。
如果任何從機(jī)任務(wù)在發(fā)送同步場和標(biāo)識符場時在最大長度時間中沒有完成報文幀的發(fā)送則產(chǎn)生一個不響應(yīng)錯誤。
4、同步錯誤。當(dāng)從機(jī)檢測到同步場的邊沿在給出的容差外,則檢測到一個同步場不一致錯誤。
5、總線空閑錯誤。如果在接收到最后一個有效信息時間內(nèi),沒有檢測到有效的同步間隔場或字節(jié)場則檢測到一個沒有總線活動條件。
三、LIN總線車燈控翻算洼的研究(波特率自校正算法)
本文的整個硬件系統(tǒng)是由ATMEL公司的單片控制器AT89C51和Philips公司的LPC921構(gòu)成??刂破鰽T89C51、收發(fā)器T_TAl020組成主機(jī)控制單元。P89LPC921、收發(fā)器TJAl020和智能開關(guān)MC33291等組成從機(jī)控制單元。本系統(tǒng)共5個部分組成:1個主站,車前后各兩個從站。軟件開發(fā)平臺用功能強(qiáng)大的keilC51[4]語言環(huán)境,針對有代表性的車燈控制問題,關(guān)鍵是從機(jī)的響應(yīng)速度。在車燈控制模塊中,先采用的是從機(jī)的個別ID控制。這種方法的缺點(diǎn)是,如果從機(jī)數(shù)量較多,當(dāng)需要同時控制全部或其中幾臺從機(jī)時,需要發(fā)送的數(shù)據(jù)量較多,從機(jī)的響應(yīng)時間不一致,而且一旦數(shù)據(jù)發(fā)送的頻率很快極易發(fā)生丟包現(xiàn)象。這在像車燈這種實(shí)時性較強(qiáng)的系統(tǒng)中是不允許的。因此,我們采用主機(jī)廣播控制方式,主機(jī)發(fā)送的數(shù)據(jù)每個從機(jī)都將接收,從機(jī)判斷是否是自己的ID,如是,從中提取各自規(guī)定好的數(shù)據(jù)位的數(shù)據(jù)。一旦發(fā)現(xiàn)數(shù)據(jù)變化,從機(jī)就能做出反應(yīng)。采用這種廣播發(fā)送控制方式,解決了從機(jī)響應(yīng)不一致的問題,同時可以大大減少主機(jī)發(fā)送的數(shù)據(jù)量,從機(jī)的響應(yīng)靈敏度也有很大提高。
四、結(jié)束語
目前,在國內(nèi)LIN總線的研究、開發(fā)和應(yīng)用尚處于起步階段。但自2003年開始該技術(shù)已經(jīng)引起了包括汽車生產(chǎn)、配套和研制廠家及部門的關(guān)注和重視,預(yù)計在今后幾年內(nèi)將得到迅速的發(fā)展。由于LIN,總線在降低成本和標(biāo)準(zhǔn)化方面的突出優(yōu)勢,特別在不需要CAN總線的帶寬和多功能的場合,使用LIN總線可大大節(jié)省成本。LIN總線技術(shù)必將得到迅速的發(fā)展,在汽車電子領(lǐng)域中得到越來越廣泛的應(yīng)用。