當前位置:首頁 > 汽車電子 > 汽車電子技術文庫
[導讀] LIN協(xié)議適用于汽車內進行低成本、短距離、低速網絡通信,其用途是傳輸開關設置狀態(tài)以及對開關變化響應。本文詳細分析了LIN總線協(xié)議的特性、消息協(xié)議的組成、檢錯機制等,并介紹如何基于PICmicro

LIN協(xié)議適用于汽車內進行低成本、短距離、低速網絡通信,其用途是傳輸開關設置狀態(tài)以及對開關變化響應。本文詳細分析了LIN總線協(xié)議的特性、消息協(xié)議的組成、檢錯機制等,并介紹如何基于PICmicro器件來實現(xiàn)LIN總線從節(jié)點。

LIN協(xié)議是由歐洲車輛制造商協(xié)會開發(fā)用來進行低成本、短距離、低速網絡通信,其用途是傳輸開關設置狀態(tài)以及對開關變化響應,因此通信事件是在百毫秒以上時間內發(fā)生,而不像引擎管理等其它速度快得多的汽車應用。此協(xié)議支持在單根線上進行雙向通信,使用由RC振蕩器驅動的低成本微控制器,這樣可以省去晶振或陶瓷振蕩器的成本。另外,此協(xié)議實際上是以時間和軟件上的代價換取硬件上成本的節(jié)約。LIN協(xié)議的每一條消息都包含自動波特率步進的數據,最高可以支持波特率為20k,同時低功耗睡眠模式可以關斷總線,以避免產生不必要的功耗??偩€可以由任意一個節(jié)點提供電源。

LIN總線特性

LIN總線融合了I2C和RS232的特性:像I2C總線那樣,LIN總線通過一個電阻上拉到高電平,而每一個節(jié)點又都可以通過集電極開路驅動器將總線拉低;像RS232那樣通過起始位和停止位標識出每一個字節(jié),每一位在時鐘上異步傳輸。

圖1給出了典型的LIN協(xié)議配置。當任意一個節(jié)點將總線拉低時,總線處于低電平,標識著總線進入占用狀態(tài);而當所有節(jié)點都使總線浮空時總線處于電池的電壓(9-18V),則意味著總線處于非占用狀態(tài)(Recessive state);在空閑狀態(tài)下浮空的總線通過電阻被上拉到高電平。

總線工作在9到18伏的電壓下,但所有連接到總線上的器件必須能承受40V的電壓。一般情況下,微控制器通過線路驅動器或接收器與總線隔離。總線在每一個節(jié)點上被端接到Vbat,主節(jié)點通過一個1kΩ的電阻端接而從節(jié)點則通過一個20kΩ到47kΩ的電阻端接。總線最大長度為40米。

總線上傳輸的每一個字節(jié)都是與起始位和停止位一起組成幀。起始位的狀態(tài)與空閑狀態(tài)相反(即為0),而停止位則與空閑狀態(tài)同為1。在每個字節(jié)中,首先傳輸的是最低有效位。

消息協(xié)議

主節(jié)點控制總線的方式是輪詢各個從節(jié)點并與總線上其余部分共享從節(jié)點的數據。從節(jié)點僅在接到主節(jié)點的命令時才進行數據傳輸,這樣就可以進行雙向傳輸并且無需進一步的仲裁。消息傳輸是以主節(jié)點發(fā)出一次同步中斷開始,緊接著是消息的同步字段和消息字段。通過在每條消息的起始處傳送的同步字段還設定了整個總線的時鐘,每個從節(jié)點用該字節(jié)來調整其波特率。

同步中斷使總線進入占用狀態(tài),該狀態(tài)保持時間為13位數據的傳輸時間,緊接著是一個停止位(非占用狀態(tài)),這告知從節(jié)點即將有消息傳輸。主節(jié)點與從節(jié)點的時鐘漂移最大允許在15%,因此從節(jié)點接收的同步中斷可能只有11位或長達15位數據位的傳輸時間。

每一條消息的第二個字節(jié)是標示字節(jié),用來告知總線在該字節(jié)后面?zhèn)鬏數氖鞘裁磾祿湍囊粋€節(jié)點應該應答,以及應答的長度(標示字段如圖2所示)。一條命令僅會有一個從節(jié)點對其進行響應,從節(jié)點僅在主節(jié)點的指示下才發(fā)送數據。數據只要出現(xiàn)在總線上,每一個節(jié)點都可以接收到。因此,無須主節(jié)點專門控制從節(jié)點之間的通信。

由于設計中采用廉價的RC振蕩器,從節(jié)點必須在每一次傳輸時檢測主節(jié)點的波特率并調整其自身當前的波特率。因此,每一次通信都由一個由交替的“0”和“1”組成的同步字節(jié)開始。標識字段緊跟在同步字段的后面,它告知總線后面?zhèn)鬏數膬热菔鞘裁础俗R字段又分為三個子字段,最低4位(0-3位)是尋址總線上的器件,中間兩位(4-5位)是后面?zhèn)鬏數南⒌拈L度,最高兩位(6-7)用作奇偶校驗位。

除了睡眠命令,LIN協(xié)議并沒有定義每一條消息的內容。其它命令是由具體應用來定義的。

檢錯機制

下面描述的錯誤必須被檢測出,并且在每個節(jié)點內進行計數。

位錯誤-傳輸節(jié)點必須將它認為應該傳輸的數據位與總線上實際出現(xiàn)的數據位進行比較。由于總線需要響應時間,控制器必須在檢測數據位之前等待足夠長的時間。假設最小的電壓翻轉速率為1V/μs,而總線最高電壓為18V,則發(fā)送器必須等待18μs才能檢測總線上的數據位是否正確。

校驗和錯誤-每一條消息的內容都是由校驗和字節(jié)進行保護。

奇偶校驗錯-命令字節(jié)的6個數據位由兩個奇偶校驗位進行保護,需要重新進行計算這些位并比較。如果錯誤出現(xiàn),應當忽略當前命令并且記錄下錯誤。LIN協(xié)議中沒有直接的錯誤報告機制,但每一個從節(jié)點應當跟蹤其自身的錯誤,主節(jié)點可以要求從節(jié)點將錯誤狀態(tài)作為正常消息協(xié)議的一部分來傳輸。

LIN總線與CAN總線

LIN協(xié)議并不直接與CAN總線兼容,但人們期望兩者進行相互操作。CAN總線可能用在整個汽車內來實現(xiàn)通信,而LIN總線僅用在汽車的局部電路內,如車門。為了連接兩種總線,需要采用CAN-LIN協(xié)議接口節(jié)點,該節(jié)點從LIN總線節(jié)點收集信息然后傳送到CAN總線上。

低功耗睡眠模式

主節(jié)點通過發(fā)送標識碼0x80指示所有節(jié)點進入睡眠模式,睡眠命令后面跟隨的數據字節(jié)的內容沒有定義。收到睡眠命令的從節(jié)點應當對本身進行設置,以便當總線發(fā)生改變時能喚醒,并關閉自身的電壓以使電流消耗最低。當處于睡眠模式時總線將處于高電平并且不消耗電流。

任意一個節(jié)點都可以通過發(fā)送喚醒信號來喚醒總線。當收到喚醒信號后,一般情況下所有的節(jié)點應當激活并等待主節(jié)點開始總線輪詢。

硬件示例

圖3給出了有兩個按鈕和三個LED組成的硬件示例。每按動十下按鈕1 LED1改變一次狀態(tài)。同樣,每按動十下按鈕2,LED2改變一次狀態(tài)。作為標識為ID1的響應,按鈕的按動次數被傳送到總線上。作為標識為ID4的響應,按鈕的按動次數的刷新被傳送到總線上。

軟件操作

LIN協(xié)議程序工作在由RB0觸發(fā)的中斷下以實現(xiàn)總線的睡眠/喚醒。在觸發(fā)中斷時,程序對低電平數據位的長度進行計數,然后讀同步字節(jié)并確定數據位時間,最后再將其與最初的數據位時間進行比較,以確定最初的低電平時間是否大于10個數據位的時間,大于10為同步中斷,小于10為喚醒信號。如果是喚醒信號,程序退出并繼續(xù)等待同步中斷;如果是同步中斷,程序就讀取命令字節(jié),檢查奇偶位并檢查動作表(acTIon table)來確定接下來的動作。動作表定義了總線上數據的來源或目的地。

為了初始化LIN協(xié)議的從節(jié)點句柄(Slavehandler),用戶必須調用InitLinSlave程序,這個程序初始化RB0中斷引腳和TMR0寄存器。TMR0寄存器用來測量數據位的長度并生成波特率。初始化完成之后,用戶可以執(zhí)行自己的程序。一旦檢測到RB0引腳上的下降沿,用戶程序就將被中斷。當檢測到下降沿時,程序就跳轉到中斷服務程序。必須禁止除了TMR0和RB0中斷之外所有的中斷源,以便對同步字段進行精確測量。計算出波特率之后,中斷服務程序就退出執(zhí)行。

在下一次RB0中斷發(fā)生時,LIN協(xié)議Slavehandler自動進入接收模式,以接收標識字段或數據字節(jié)。如果檢測到標識字段的起始位,就對標識字段進行接收和解碼。然后,根據收到的標識執(zhí)行相應的代碼,例如存儲數據或點亮LED??偩€上一個幀傳輸完成之后,標志FCOMPLETE被置位。這個標志指示所有的數據都已正確接收完畢并可以進行后續(xù)的處理。此標志由用戶固件清除。

LIN協(xié)議從節(jié)點句柄Slavehandler最高可以工作在20K的波特率下,需要420字的程序存儲空間以及23字節(jié)的數據存儲空間。

由于其低成本,LIN協(xié)議具有在汽車應用中廣泛采用的潛力。可以使用內置的RC振蕩器并且運行在4MHz的時鐘頻率下的諸如Microchip的各種器件的微處理器,使得設計師們能以最低的可能成本設計應用系統(tǒng)

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉