siemens x
傳感器

低成本LIN總線協(xié)議在汽車網(wǎng)絡(luò)中的應(yīng)用

2025China.cn   2008年10月28日

當(dāng)前汽車應(yīng)用開發(fā)人員正面臨著眾多設(shè)計(jì)挑戰(zhàn),由于現(xiàn)代汽車增加了更多電子功能,對低功耗和更小印刷電路板的需求也越來越強(qiáng)烈,所有這些都表明在諸如車身控制和傳動(dòng)系統(tǒng)等應(yīng)用領(lǐng)域中這樣的特性將日益重要。


如今汽車中的絕大多數(shù)電子控制單元互相之間都有連接,但汽車制造商對不同的應(yīng)用使用了不同的總線系統(tǒng)。例如傳動(dòng)系統(tǒng)和制動(dòng)系統(tǒng)多數(shù)通過控制器局域網(wǎng)絡(luò)(CAN)來聯(lián)系,而通訊不太密集的應(yīng)用(如車窗升降電機(jī)和控制車鏡的按鍵)則可能使用局域互聯(lián)網(wǎng)絡(luò)(LIN)協(xié)議。本文將論述怎樣利用LIN總線來滿足汽車業(yè)所需要的新增電子功能,并同時(shí)確保低功耗以及使用較小面積的PCB。


LIN協(xié)議


LIN協(xié)議由歐洲汽車制造商協(xié)會(huì)設(shè)計(jì),是一種低成本短距離低速網(wǎng)絡(luò)。它旨在傳送開關(guān)設(shè)置和傳感器輸入等狀態(tài)的變化,并對這類變化做出響應(yīng),因此可用于傳送發(fā)生時(shí)間約為幾分之一秒的事件,并不適用于汽車應(yīng)用中的高速事件(如引擎管理)。LIN的另一個(gè)目的是利用該協(xié)議的簡單性降低系統(tǒng)成本,以便能夠方便地在質(zhì)優(yōu)價(jià)廉的8位單片機(jī)中實(shí)現(xiàn)。LIN總線協(xié)議的最新版本是V2.0,可以在LIN聯(lián)盟的網(wǎng)站()上得到。


LIN支持單線雙向通訊,采用廉價(jià)的由RC振蕩器驅(qū)動(dòng)的單片機(jī),可省掉晶體振蕩器或陶瓷振蕩器的費(fèi)用。雖然LIN降低了系統(tǒng)總成本,但在時(shí)間和軟件上卻要付出代價(jià),每條報(bào)文都必須經(jīng)過一個(gè)自動(dòng)確定波特率的過程。LIN協(xié)議支持最高20kbps傳輸速率,以及一個(gè)低功耗休眠模式,此時(shí)總線將被關(guān)閉,不再消耗汽車電池。采用8位單片機(jī)并結(jié)合外部或內(nèi)部RC有助于降低系統(tǒng)成本,并減少PCB實(shí)際的面積。


圖1顯示了LIN在汽車中的典型應(yīng)用??偩€上的地電位信號為顯性狀態(tài),只要任何節(jié)點(diǎn)將總線電壓拉低,就會(huì)出現(xiàn)這一狀態(tài)。當(dāng)總線處于電池電壓且所有節(jié)點(diǎn)都使總線處于懸空狀態(tài)時(shí),會(huì)出現(xiàn)隱性狀態(tài)。在空閑狀態(tài)下,總線通過上拉電阻懸空為高電平。


LIN總線的工作電壓范圍為9~18V,但總線上所有部件都必須能夠承受40V電壓。通常,單片機(jī)通過線路驅(qū)動(dòng)器/接收器與總線隔離,這種方案下總線每個(gè)節(jié)點(diǎn)都端接為VBAT電平,主節(jié)點(diǎn)通過1kΩ電阻端接,從節(jié)點(diǎn)則通過20-47kΩ的電阻端接??偩€最大設(shè)計(jì)長度為40米。


每個(gè)字節(jié)都利用起始位和停止位作為頭尾標(biāo)志位。起始位與空閑狀態(tài)相反,為0,而停止位則等同空閑狀態(tài)(即1)。在每個(gè)字節(jié)內(nèi),數(shù)據(jù)從最低位(LSB)開始傳送。


報(bào)文協(xié)議


主節(jié)點(diǎn)用于控制LIN總線,它通過對從節(jié)點(diǎn)進(jìn)行查詢,將數(shù)據(jù)發(fā)布到總線上。從節(jié)點(diǎn)僅在主節(jié)點(diǎn)的命令下發(fā)送數(shù)據(jù),從而在無需仲裁的情況下實(shí)現(xiàn)雙向通訊。報(bào)文的傳送是在主節(jié)點(diǎn)發(fā)出一個(gè)同步間隔脈沖后開始的,然后跟隨的是同步字段和報(bào)文字段。主節(jié)點(diǎn)通過在每個(gè)報(bào)文的開始處發(fā)送同步字段可設(shè)定整個(gè)總線時(shí)鐘。


每條報(bào)文的第二字節(jié)是一個(gè)標(biāo)識符字節(jié),它告訴LIN總線隨后將發(fā)送的是什么數(shù)據(jù),并指明哪個(gè)節(jié)點(diǎn)應(yīng)該應(yīng)答及應(yīng)答的長度是多少。對于給定的命令,只有一個(gè)從節(jié)點(diǎn)可以應(yīng)答。


從節(jié)點(diǎn)僅在主節(jié)點(diǎn)的控制下在LIN總線上發(fā)送數(shù)據(jù)。一旦數(shù)據(jù)發(fā)布到總線上,任何節(jié)點(diǎn)都可以接收該數(shù)據(jù)。因此,一個(gè)從節(jié)點(diǎn)向其它從節(jié)點(diǎn)發(fā)送數(shù)據(jù)無需主節(jié)點(diǎn)干預(yù)。


由于LIN協(xié)議使用低成本RC振蕩器,因此從節(jié)點(diǎn)必須檢測主節(jié)點(diǎn)每次發(fā)送的波特率,并調(diào)整為當(dāng)前速率,所以每次通訊都以同步字段開始,它是一個(gè)0、1交替出現(xiàn)的字節(jié)。


同步字段之后是標(biāo)識符字段,它告訴LIN總線接著出現(xiàn)的內(nèi)容。該字段進(jìn)一步分為三個(gè)子字段:4位(0-3)用于對總線上的設(shè)備進(jìn)行尋址;2位(4-5)指明此后報(bào)文的長度,最后2位(6-7)用于奇偶校驗(yàn)。


除休眠命令之外,LIN協(xié)議沒有定義任何報(bào)文的內(nèi)容,其它命令是在具體應(yīng)用中定義的。


錯(cuò)誤檢測


以下錯(cuò)誤必須在每一節(jié)點(diǎn)處進(jìn)行檢測和計(jì)數(shù),一旦出現(xiàn)錯(cuò)誤,該命令就要被丟棄,并記錄這一錯(cuò)誤事件。

位錯(cuò)誤——正在發(fā)送的節(jié)點(diǎn)應(yīng)該對希望發(fā)送的數(shù)據(jù)與總線上實(shí)際出現(xiàn)的數(shù)據(jù)進(jìn)行比較,控制器必須等待足夠時(shí)間以確??偩€對發(fā)出的數(shù)據(jù)做出反應(yīng),然后才可測試這一數(shù)據(jù)。假定總線響應(yīng)信號的最小邊沿變化速率為1V/μs,最大總線電壓為18V,那么發(fā)送器應(yīng)等待18μs后才可進(jìn)行測試。

校驗(yàn)和錯(cuò)誤——每條報(bào)文的數(shù)據(jù)內(nèi)容都受到校驗(yàn)和字節(jié)的保護(hù),該字節(jié)是數(shù)據(jù)字節(jié)相加后取256模的余數(shù)再取反的結(jié)果。

奇偶校驗(yàn)——命令字節(jié)使用2個(gè)奇偶位來保護(hù)其它6個(gè)數(shù)位,這兩個(gè)數(shù)位在接收后要重新計(jì)算,再與接收結(jié)果進(jìn)行比較。


該協(xié)議沒有定義直接錯(cuò)誤報(bào)告機(jī)制,然而由于每個(gè)從節(jié)點(diǎn)都應(yīng)自行追蹤各自的錯(cuò)誤,因此主節(jié)點(diǎn)可利用正常的報(bào)文協(xié)議來請求獲得錯(cuò)誤狀態(tài)。


LIN和系統(tǒng)要求


那么LIN是如何滿足對低功耗、低系統(tǒng)成本、功能增加甚至減少汽車總重量的要求呢?


首先它可以方便地用軟件實(shí)現(xiàn)LIN協(xié)議,該協(xié)議不需要單片機(jī)給予過多的硬件支持,通過使用一個(gè)簡單的USART或增強(qiáng)型USART就可以實(shí)現(xiàn)。USART支持諸如自動(dòng)波特率檢測等功能,這意味著在LIN應(yīng)用中可以使用一個(gè)簡單的質(zhì)優(yōu)價(jià)廉的8位單片機(jī)。還有一個(gè)優(yōu)點(diǎn)就是LIN在協(xié)議層不需要復(fù)雜的操作系統(tǒng),不多的軟件開銷還使得設(shè)計(jì)人員能夠選擇存儲(chǔ)器容量較小的單片機(jī)。


如何運(yùn)用像LIN這樣的簡單協(xié)議對汽車進(jìn)行控制呢?以車鏡控制為例,許多汽車的車鏡相互之間仍是硬連接,或者在豪華型汽車中通過CAN這樣的昂貴協(xié)議連接,其實(shí)利用LIN總線就可以方便地將左右車鏡和四向儀(可以改變車鏡位置的四方向開關(guān))連接起來。在典型的LIN方案中,四向儀是主節(jié)點(diǎn),兩個(gè)車鏡是從節(jié)點(diǎn)。四向儀讀取按鍵的狀態(tài),將報(bào)文發(fā)送給相應(yīng)的車鏡。


那么使用LIN能夠?yàn)橹T如車鏡控制等應(yīng)用增加新功能嗎?回答是不需要額外連線,就可以方便地添加其它功能,如集成式轉(zhuǎn)向信號、集成式照地?zé)艋蜍囩R加熱器。這里車鏡只需要與地電位、VBAT和LIN總線連接,需要改動(dòng)的只有主節(jié)點(diǎn),它必須知道要實(shí)現(xiàn)哪些車鏡功能。


圖2說明了用于車鏡應(yīng)用的LIN網(wǎng)絡(luò)。為了更清楚地理解這個(gè)例子,讓我們更深入地研究一下。該網(wǎng)絡(luò)中的主節(jié)點(diǎn)是一個(gè)PIC18F4680 8位閃存單片機(jī),它讀取車鏡選擇開關(guān)和四向儀,還通過CAN總線接收報(bào)文。從CAN總線發(fā)送給主控LIN節(jié)點(diǎn)的報(bào)文包括左右轉(zhuǎn)向信號和開門,接收到來自CAN總線的報(bào)文后,主節(jié)點(diǎn)通過LIN總線向從節(jié)點(diǎn)發(fā)出命令,如“左車鏡上升或左車鏡下降”。


在此例中,從節(jié)點(diǎn)由PIC16F688 8位閃存單片機(jī)組成。PIC16F688具有一個(gè)集成的LIN收發(fā)器和一個(gè)增強(qiáng)型USART,其中USART能自動(dòng)執(zhí)行自動(dòng)波特率檢測。從節(jié)點(diǎn)收到報(bào)文并利用步進(jìn)電機(jī)使車鏡上升或下降。假設(shè)車鏡模塊沒有集成式轉(zhuǎn)向信號等其它功能,當(dāng)從節(jié)點(diǎn)從LIN總線上接收到一條諸如“左轉(zhuǎn)向信號”的報(bào)文時(shí),它就會(huì)忽略這一報(bào)文或者觸發(fā)I/O用于轉(zhuǎn)向信號(這部分內(nèi)容已超出本文討論范圍)。觸發(fā)I/O的好處是無論車鏡是否集成了轉(zhuǎn)向信號都可應(yīng)用相同的軟件,只需要對硬件做適當(dāng)更改即可運(yùn)行,也就是說功能不同的各種車鏡都可以使用同一軟件。


LIN軟件


LIN主節(jié)點(diǎn)有三個(gè)主要的軟件進(jìn)程,第一個(gè)進(jìn)程接收CAN報(bào)文,并將其轉(zhuǎn)變?yōu)長IN報(bào)文;第二個(gè)進(jìn)程讀取四向儀和車鏡選擇開關(guān)的狀態(tài);第三個(gè)進(jìn)程向從節(jié)點(diǎn)發(fā)出報(bào)文。


如果主節(jié)點(diǎn)從CAN總線上接收到“左轉(zhuǎn)向信號打開”的報(bào)文,它會(huì)將該報(bào)文轉(zhuǎn)變成LIN協(xié)議,并發(fā)送給適當(dāng)?shù)腖IN總線節(jié)點(diǎn)(在本例中為左車鏡)。對PIC18F4680中的CAN控制器進(jìn)行編程后,它可以只接收來自CAN總線的特定報(bào)文,而不會(huì)有任何其它軟件開銷,這一硬件過濾方式使CAN總線的通訊只有極少軟件工作量。PIC18F4680也集成了一個(gè)可用于LIN總線通訊的USART,由于LIN總線主節(jié)點(diǎn)不必執(zhí)行自動(dòng)波特率檢測,因此它能夠通過USART發(fā)送整條報(bào)文。


車鏡從節(jié)點(diǎn)有n+1個(gè)進(jìn)程,其中n是車鏡中集成的功能數(shù)目。如果只要控制車鏡的上下左右,軟件進(jìn)程就只有2個(gè),第一個(gè)是收發(fā)進(jìn)程,第二個(gè)是車鏡控制進(jìn)程,主要驅(qū)動(dòng)步進(jìn)電機(jī),其它可能的進(jìn)程有“照地?zé)糸_”和“左轉(zhuǎn)向信號開”。因?yàn)镻IC16F688有一個(gè)增強(qiáng)型USART,可實(shí)現(xiàn)波特率檢測,所以LIN通訊的軟件開銷非常少,這就為實(shí)現(xiàn)其它功能(包括檢修)留出了很大余地。


本文小結(jié)


正如前面所述,LIN總線能夠增加功能和降低成本,可以用軟件編程實(shí)現(xiàn)各種特性,也可以通過軟硬件功能增添新的特性,這樣不同的模塊就都可以用一個(gè)硬件或一個(gè)軟件平臺實(shí)現(xiàn)。LIN總線的靈活性有利于降低生產(chǎn)和軟/硬件維護(hù)方面的成本。因?yàn)長IN總線非常簡單,所以用質(zhì)優(yōu)價(jià)廉的8位單片機(jī)就可以實(shí)現(xiàn),從而降低系統(tǒng)總成本。


(轉(zhuǎn)載)

標(biāo)簽:低成本LIN總線協(xié)議在汽車網(wǎng)絡(luò)中的應(yīng)用 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道