《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 用于汽車網絡的LIN協議分析
用于汽車網絡的LIN協議分析
摘要: LIN協議適用于汽車內進行低成本、短距離、低速網絡通信,其用途是傳輸開關設置狀態以及對開關變化響應。本文詳細分析了LIN總線協議的特性、消息協議的組成、檢錯機制等,并介紹如何基于PICmicro器件來實現LIN總線從節
Abstract:
Key words :

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

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

LIN總線特性 

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

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

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

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

消息協議 

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

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

  每一條消息的第二個字節是標示字節,用來告知總線在該字節后面傳輸的是什么數據和哪一個節點應該應答,以及應答的長度(標示字段如圖2所示)。一條命令僅會有一個從節點對其進行響應,從節點僅在主節點的指示下才發送數據。數據只要出現在總線上,每一個節點都可以接收到。因此,無須主節點專門控制從節點之間的通信。 

  由于設計中采用廉價的RC振蕩器,從節點必須在每一次傳輸時檢測主節點的波特率并調整其自身當前的波特率。因此,每一次通信都由一個由交替的“0”和“1”組成的同步字節開始。標識字段緊跟在同步字段的后面,它告知總線后面傳輸的內容是什么。標識字段又分為三個子字段,最低4位(0-3位)是尋址總線上的器件,中間兩位(4-5位)是后面傳輸的消息的長度,最高兩位(6-7)用作奇偶校驗位。 

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

檢錯機制 

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

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

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

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

LIN總線與CAN總線 

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

低功耗睡眠模式 

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

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

硬件示例 

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

軟件操作 

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

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

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

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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品自在线| 欧美一区二区啪啪| 亚洲欧洲在线观看| 日韩视频在线观看国产| 一区二区三区欧美亚洲| 麻豆精品传媒视频| 韩国一区二区在线观看| 亚洲国产日韩欧美在线动漫| 亚洲卡通欧美制服中文| 欧美精品1区2区| 欧美视频一区二区| 最新高清无码专区| av不卡免费看| 欧美色另类天堂2015| 亚洲高清在线精品| 亚洲精品一二三| 欧美片第1页综合| 亚洲欧美日韩系列| 久久久www| 亚洲全部视频| 亚洲精品日韩欧美| 美女视频黄 久久| 亚洲电影第三页| 久久成人一区| 欧美激情精品久久久久久蜜臀| 亚洲综合好骚| 久久一区二区三区国产精品 | 亚洲免费视频在线观看| 亚洲专区欧美专区| 曰本成人黄色| 午夜精品成人在线| 日韩网站在线观看| 欧美日韩免费在线观看| 国产毛片精品国产一区二区三区| 一区二区三区成人精品| 国产精品视频久久久| 欧美在线短视频| 久久精品欧美日韩| 日韩亚洲欧美一区| 国产婷婷色一区二区三区| 另类综合日韩欧美亚洲| 午夜欧美理论片| 国产精品久久久久久久久免费 | 亚洲丰满少妇videoshd| 久久精品亚洲一区| 久久精品国产亚洲a| 欧美高潮视频| 99视频日韩| 亚洲欧美激情一区二区| 国产欧美精品一区二区三区介绍| 久久久久天天天天| 欧美一区二区国产| 狠狠色伊人亚洲综合网站色| 免费久久久一本精品久久区| 欧美一级成年大片在线观看| 欧美一区日韩一区| 午夜精品久久久久影视| 亚洲三级电影在线观看| 国内精品久久久| 9色国产精品| 亚洲香蕉成视频在线观看| 亚洲欧美一区二区三区在线| 一区二区三区.www| 久久激情网站| 香蕉久久夜色精品国产| 亚洲网站在线看| 日韩午夜三级在线| 亚洲国产一区二区a毛片| 国产一级精品aaaaa看| 欧美日韩精品二区| 女生裸体视频一区二区三区| 久久精品亚洲一区二区| 午夜国产精品视频| 亚洲小说欧美另类社区| 中文日韩欧美| 亚洲一线二线三线久久久| 亚洲免费视频成人| 久久久久.com| 欧美激情视频一区二区三区免费 | 欧美91大片| 欧美日韩另类字幕中文| 麻豆成人精品| 久久爱91午夜羞羞| 亚洲欧美综合一区| 午夜视频在线观看一区| 亚洲欧美成人一区二区三区| 亚洲精品乱码久久久久久| 欧美中文字幕在线播放| 在线亚洲精品| 欧美欧美天天天天操| 午夜久久影院| 日韩视频中文字幕| 99国产精品99久久久久久| 午夜精品久久久久久久蜜桃app| 欧美一区二区私人影院日本| 久久香蕉国产线看观看网| 久久久久久久999精品视频| 亚欧成人在线| 久久女同精品一区二区| 亚洲综合视频网| 韩日视频一区| 亚洲第一主播视频| 亚洲人成在线播放| 国产精品久久看| 亚洲国产美国国产综合一区二区| 午夜欧美大尺度福利影院在线看 | 亚洲第一免费播放区| 国产美女精品人人做人人爽| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区久久| 日韩午夜激情电影| 另类欧美日韩国产在线| 国产欧美日韩亚洲| 这里只有精品视频| 亚洲综合社区| 亚洲一区二区三区在线看| 女仆av观看一区| 韩国欧美一区| 亚洲一区二区成人在线观看| 亚洲天堂免费在线观看视频| 久久精品国产免费看久久精品| 欧美视频专区一二在线观看| 激情综合在线| 亚洲第一在线视频| 久久亚洲精品网站| 国产欧美综合在线| 亚洲一区二区三区精品在线观看 | 国产一区二区三区在线观看网站| 日韩视频在线观看国产| 亚洲伊人网站| 性色av香蕉一区二区| 欧美在线观看视频一区二区三区| 欧美性猛交视频| 夜夜嗨网站十八久久| 一区二区三区 在线观看视| 欧美精品亚洲一区二区在线播放| 亚洲国产精品嫩草影院| 亚洲精选久久| 欧美日韩国产一区二区| 日韩午夜激情| 亚洲一区bb| 国产精品theporn| 一区二区三区高清视频在线观看| 亚洲理论在线观看| 欧美精品二区| 99热精品在线| 亚洲欧美国产精品桃花| 欧美特黄一级大片| 一区电影在线观看| 亚洲专区免费| 一本色道久久加勒比88综合 | 最新热久久免费视频| 久久久久9999亚洲精品| 欧美日韩在线一区二区| 亚洲国产毛片完整版| 亚洲在线一区| 一区二区三区 在线观看视频| 香蕉久久一区二区不卡无毒影院| 欧美成人自拍视频| 国产精品你懂的在线欣赏| 国产一区二区三区久久| 在线天堂一区av电影| 欧美高清你懂得| 国产一区二区三区在线观看网站 | 在线观看av一区| 亚洲一区免费网站| 久久精品视频在线| 国产在线视频不卡二| 久久激五月天综合精品| 欧美人与性动交α欧美精品济南到 | 亚洲综合色婷婷| 欧美日韩精品久久| 国内久久视频| 亚洲美女黄网| 欧美成年人视频网站| 亚洲免费精品| 亚洲免费视频观看| 老牛嫩草一区二区三区日本| 国产精品亚洲人在线观看| 亚洲大胆视频| 欧美 日韩 国产精品免费观看| 亚洲国产一区二区三区在线播| 欧美专区一区二区三区| 久久国产66| 国产农村妇女精品| 亚洲国产美女精品久久久久∴| 亚洲深夜激情| 欧美日本亚洲| 亚洲欧美色婷婷| 欧美激情乱人伦| 一区二区高清视频| 欧美一区三区二区在线观看| 亚洲第一中文字幕在线观看| 亚洲欧美影音先锋| 欧美精品激情| 欧美一区二区三区四区高清| 欧美黄色日本| 亚洲综合首页| 亚洲欧美视频一区二区三区| 在线观看一区|