技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 低成本LIN總線協(xié)議在汽車網(wǎng)絡(luò)中的應(yīng)用

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

時(shí)間:2008-01-02 09:50:00來(lái)源:ronggang

導(dǎo)語(yǔ):?LIN總線能夠增加功能和降低成本,可以用軟件編程實(shí)現(xiàn)各種特性,也可以通過(guò)軟硬件功能增添新的特性,這樣不同的模塊就都可以用一個(gè)硬件或一個(gè)軟件平臺(tái)實(shí)現(xiàn)
當(dāng)前汽車應(yīng)用開(kāi)發(fā)人員正面臨著眾多設(shè)計(jì)挑戰(zhàn),由于現(xiàn)代汽車增加了更多電子功能,對(duì)低功耗和更小印刷電路板的需求也越來(lái)越強(qiáng)烈,所有這些都表明在諸如車身控制和傳動(dòng)系統(tǒng)等應(yīng)用領(lǐng)域中這樣的特性將日益重要。 如今汽車中的絕大多數(shù)電子控制單元互相之間都有連接,但汽車制造商對(duì)不同的應(yīng)用使用了不同的總線系統(tǒng)。例如傳動(dòng)系統(tǒng)和制動(dòng)系統(tǒng)多數(shù)通過(guò)控制器局域網(wǎng)絡(luò)(CAN)來(lái)聯(lián)系,而通訊不太密集的應(yīng)用(如車窗升降電機(jī)和控制車鏡的按鍵)則可能使用局域互聯(lián)網(wǎng)絡(luò)(LIN)協(xié)議。本文將論述怎樣利用LIN總線來(lái)滿足汽車業(yè)所需要的新增電子功能,并同時(shí)確保低功耗以及使用較小面積的PCB。
圖1:LIN在汽車上的典型應(yīng)用領(lǐng)域
LIN協(xié)議 LIN協(xié)議由歐洲汽車制造商協(xié)會(huì)設(shè)計(jì),是一種低成本短距離低速網(wǎng)絡(luò)。它旨在傳送開(kāi)關(guān)設(shè)置和傳感器輸入等狀態(tài)的變化,并對(duì)這類變化做出響應(yīng),因此可用于傳送發(fā)生時(shí)間約為幾分之一秒的事件,并不適用于汽車應(yīng)用中的高速事件(如引擎管理)。LIN的另一個(gè)目的是利用該協(xié)議的簡(jiǎn)單性降低系統(tǒng)成本,以便能夠方便地在質(zhì)優(yōu)價(jià)廉的8位單片機(jī)中實(shí)現(xiàn)。LIN總線協(xié)議的最新版本是V2.0,可以在LIN聯(lián)盟的網(wǎng)站(www.lin-subbus.de)上得到。 LIN支持單線雙向通訊,采用廉價(jià)的由RC振蕩器驅(qū)動(dòng)的單片機(jī),可省掉晶體振蕩器或陶瓷振蕩器的費(fèi)用。雖然LIN降低了系統(tǒng)總成本,但在時(shí)間和軟件上卻要付出代價(jià),每條報(bào)文都必須經(jīng)過(guò)一個(gè)自動(dòng)確定波特率的過(guò)程。LIN協(xié)議支持最高20kbps傳輸速率,以及一個(gè)低功耗休眠模式,此時(shí)總線將被關(guān)閉,不再消耗汽車電池。采用8位單片機(jī)并結(jié)合外部或內(nèi)部RC有助于降低系統(tǒng)成本,并減少PCB實(shí)際的面積。 圖1顯示了LIN在汽車中的典型應(yīng)用??偩€上的地電位信號(hào)為顯性狀態(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)下,總線通過(guò)上拉電阻懸空為高電平。 LIN總線的工作電壓范圍為9~18V,但總線上所有部件都必須能夠承受40V電壓。通常,單片機(jī)通過(guò)線路驅(qū)動(dòng)器/接收器與總線隔離,這種方案下總線每個(gè)節(jié)點(diǎn)都端接為VBAT電平,主節(jié)點(diǎn)通過(guò)1kΩ電阻端接,從節(jié)點(diǎn)則通過(guò)20-47kΩ的電阻端接。總線最大設(shè)計(jì)長(zhǎng)度為40米。 每個(gè)字節(jié)都利用起始位和停止位作為頭尾標(biāo)志位。起始位與空閑狀態(tài)相反,為0,而停止位則等同空閑狀態(tài)(即1)。在每個(gè)字節(jié)內(nèi),數(shù)據(jù)從最低位(LSB)開(kāi)始傳送。 報(bào)文協(xié)議
圖2:LIN網(wǎng)絡(luò)在車鏡控制上的應(yīng)用
主節(jié)點(diǎn)用于控制LIN總線,它通過(guò)對(duì)從節(jié)點(diǎn)進(jìn)行查詢,將數(shù)據(jù)發(fā)布到總線上。從節(jié)點(diǎn)僅在主節(jié)點(diǎn)的命令下發(fā)送數(shù)據(jù),從而在無(wú)需仲裁的情況下實(shí)現(xiàn)雙向通訊。報(bào)文的傳送是在主節(jié)點(diǎn)發(fā)出一個(gè)同步間隔脈沖后開(kāi)始的,然后跟隨的是同步字段和報(bào)文字段。主節(jié)點(diǎn)通過(guò)在每個(gè)報(bào)文的開(kāi)始處發(fā)送同步字段可設(shè)定整個(gè)總線時(shí)鐘。 每條報(bào)文的第二字節(jié)是一個(gè)標(biāo)識(shí)符字節(jié),它告訴LIN總線隨后將發(fā)送的是什么數(shù)據(jù),并指明哪個(gè)節(jié)點(diǎn)應(yīng)該應(yīng)答及應(yīng)答的長(zhǎng)度是多少。對(duì)于給定的命令,只有一個(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ù)無(wú)需主節(jié)點(diǎn)干預(yù)。 由于LIN協(xié)議使用低成本RC振蕩器,因此從節(jié)點(diǎn)必須檢測(cè)主節(jié)點(diǎn)每次發(fā)送的波特率,并調(diào)整為當(dāng)前速率,所以每次通訊都以同步字段開(kāi)始,它是一個(gè)0、1交替出現(xiàn)的字節(jié)。 同步字段之后是標(biāo)識(shí)符字段,它告訴LIN總線接著出現(xiàn)的內(nèi)容。該字段進(jìn)一步分為三個(gè)子字段:4位(0-3)用于對(duì)總線上的設(shè)備進(jìn)行尋址;2位(4-5)指明此后報(bào)文的長(zhǎng)度,最后2位(6-7)用于奇偶校驗(yàn)。 除休眠命令之外,LIN協(xié)議沒(méi)有定義任何報(bào)文的內(nèi)容,其它命令是在具體應(yīng)用中定義的。 錯(cuò)誤檢測(cè) 以下錯(cuò)誤必須在每一節(jié)點(diǎn)處進(jìn)行檢測(cè)和計(jì)數(shù),一旦出現(xiàn)錯(cuò)誤,該命令就要被丟棄,并記錄這一錯(cuò)誤事件。位錯(cuò)誤——正在發(fā)送的節(jié)點(diǎn)應(yīng)該對(duì)希望發(fā)送的數(shù)據(jù)與總線上實(shí)際出現(xiàn)的數(shù)據(jù)進(jìn)行比較,控制器必須等待足夠時(shí)間以確??偩€對(duì)發(fā)出的數(shù)據(jù)做出反應(yīng),然后才可測(cè)試這一數(shù)據(jù)。假定總線響應(yīng)信號(hào)的最小邊沿變化速率為1V/μs,最大總線電壓為18V,那么發(fā)送器應(yīng)等待18μs后才可進(jìn)行測(cè)試。校驗(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è)奇偶位來(lái)保護(hù)其它6個(gè)數(shù)位,這兩個(gè)數(shù)位在接收后要重新計(jì)算,再與接收結(jié)果進(jìn)行比較。 該協(xié)議沒(méi)有定義直接錯(cuò)誤報(bào)告機(jī)制,然而由于每個(gè)從節(jié)點(diǎn)都應(yīng)自行追蹤各自的錯(cuò)誤,因此主節(jié)點(diǎn)可利用正常的報(bào)文協(xié)議來(lái)請(qǐng)求獲得錯(cuò)誤狀態(tài)。 LIN和系統(tǒng)要求 那么LIN是如何滿足對(duì)低功耗、低系統(tǒng)成本、功能增加甚至減少汽車總重量的要求呢? 首先它可以方便地用軟件實(shí)現(xiàn)LIN協(xié)議,該協(xié)議不需要單片機(jī)給予過(guò)多的硬件支持,通過(guò)使用一個(gè)簡(jiǎn)單的USART或增強(qiáng)型USART就可以實(shí)現(xiàn)。USART支持諸如自動(dòng)波特率檢測(cè)等功能,這意味著在LIN應(yīng)用中可以使用一個(gè)簡(jiǎn)單的質(zhì)優(yōu)價(jià)廉的8位單片機(jī)。還有一個(gè)優(yōu)點(diǎn)就是LIN在協(xié)議層不需要復(fù)雜的操作系統(tǒng),不多的軟件開(kāi)銷還使得設(shè)計(jì)人員能夠選擇存儲(chǔ)器容量較小的單片機(jī)。 如何運(yùn)用像LIN這樣的簡(jiǎn)單協(xié)議對(duì)汽車進(jìn)行控制呢?以車鏡控制為例,許多汽車的車鏡相互之間仍是硬連接,或者在豪華型汽車中通過(guò)CAN這樣的昂貴協(xié)議連接,其實(shí)利用LIN總線就可以方便地將左右車鏡和四向儀(可以改變車鏡位置的四方向開(kāi)關(guān))連接起來(lái)。在典型的LIN方案中,四向儀是主節(jié)點(diǎn),兩個(gè)車鏡是從節(jié)點(diǎn)。四向儀讀取按鍵的狀態(tài),將報(bào)文發(fā)送給相應(yīng)的車鏡。 那么使用LIN能夠?yàn)橹T如車鏡控制等應(yīng)用增加新功能嗎?回答是不需要額外連線,就可以方便地添加其它功能,如集成式轉(zhuǎn)向信號(hào)、集成式照地?zé)艋蜍囩R加熱器。這里車鏡只需要與地電位、VBAT和LIN總線連接,需要改動(dòng)的只有主節(jié)點(diǎn),它必須知道要實(shí)現(xiàn)哪些車鏡功能。 圖2說(shuō)明了用于車鏡應(yīng)用的LIN網(wǎng)絡(luò)。為了更清楚地理解這個(gè)例子,讓我們更深入地研究一下。該網(wǎng)絡(luò)中的主節(jié)點(diǎn)是一個(gè)PIC18F4680 8位閃存單片機(jī),它讀取車鏡選擇開(kāi)關(guān)和四向儀,還通過(guò)CAN總線接收?qǐng)?bào)文。從CAN總線發(fā)送給主控LIN節(jié)點(diǎn)的報(bào)文包括左右轉(zhuǎn)向信號(hào)和開(kāi)門,接收到來(lái)自CAN總線的報(bào)文后,主節(jié)點(diǎn)通過(guò)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)波特率檢測(cè)。從節(jié)點(diǎn)收到報(bào)文并利用步進(jìn)電機(jī)使車鏡上升或下降。假設(shè)車鏡模塊沒(méi)有集成式轉(zhuǎn)向信號(hào)等其它功能,當(dāng)從節(jié)點(diǎn)從LIN總線上接收到一條諸如“左轉(zhuǎn)向信號(hào)”的報(bào)文時(shí),它就會(huì)忽略這一報(bào)文或者觸發(fā)I/O用于轉(zhuǎn)向信號(hào)(這部分內(nèi)容已超出本文討論范圍)。觸發(fā)I/O的好處是無(wú)論車鏡是否集成了轉(zhuǎn)向信號(hào)都可應(yīng)用相同的軟件,只需要對(duì)硬件做適當(dāng)更改即可運(yùn)行,也就是說(shuō)功能不同的各種車鏡都可以使用同一軟件。 LIN軟件 LIN主節(jié)點(diǎn)有三個(gè)主要的軟件進(jìn)程,第一個(gè)進(jìn)程接收CAN報(bào)文,并將其轉(zhuǎn)變?yōu)長(zhǎng)IN報(bào)文;第二個(gè)進(jìn)程讀取四向儀和車鏡選擇開(kāi)關(guān)的狀態(tài);第三個(gè)進(jìn)程向從節(jié)點(diǎn)發(fā)出報(bào)文。 如果主節(jié)點(diǎn)從CAN總線上接收到“左轉(zhuǎn)向信號(hào)打開(kāi)”的報(bào)文,它會(huì)將該報(bào)文轉(zhuǎn)變成LIN協(xié)議,并發(fā)送給適當(dāng)?shù)腖IN總線節(jié)點(diǎn)(在本例中為左車鏡)。對(duì)PIC18F4680中的CAN控制器進(jìn)行編程后,它可以只接收來(lái)自CAN總線的特定報(bào)文,而不會(huì)有任何其它軟件開(kāi)銷,這一硬件過(guò)濾方式使CAN總線的通訊只有極少軟件工作量。PIC18F4680也集成了一個(gè)可用于LIN總線通訊的USART,由于LIN總線主節(jié)點(diǎn)不必執(zhí)行自動(dòng)波特率檢測(cè),因此它能夠通過(guò)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é)糸_(kāi)”和“左轉(zhuǎn)向信號(hào)開(kāi)”。因?yàn)镻IC16F688有一個(gè)增強(qiáng)型USART,可實(shí)現(xiàn)波特率檢測(cè),所以LIN通訊的軟件開(kāi)銷非常少,這就為實(shí)現(xiàn)其它功能(包括檢修)留出了很大余地。 本文總結(jié) 正如前面所述,LIN總線能夠增加功能和降低成本,可以用軟件編程實(shí)現(xiàn)各種特性,也可以通過(guò)軟硬件功能增添新的特性,這樣不同的模塊就都可以用一個(gè)硬件或一個(gè)軟件平臺(tái)實(shí)現(xiàn)。LIN總線的靈活性有利于降低生產(chǎn)和軟/硬件維護(hù)方面的成本。因?yàn)長(zhǎng)IN總線非常簡(jiǎn)單,所以用質(zhì)優(yōu)價(jià)廉的8位單片機(jī)就可以實(shí)現(xiàn),從而降低系統(tǒng)總成本。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:紡織生產(chǎn)控制系統(tǒng)中現(xiàn)場(chǎng)總線...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)