LIN總線簡介
LIN(Local Interconnect Network)是一種低成本的串行通訊網(wǎng)絡,,用于實現(xiàn)汽車中的分布式電子系統(tǒng)控制。LIN 的目標是為現(xiàn)有汽車網(wǎng)絡(例如CAN 總線)提供輔助功能,,因此LIN 總線是一種輔助的總線網(wǎng)絡,。在不需要CAN 總線的帶寬和多功能的場合,比如智能傳感器和制動裝置之間的通訊使用LIN 總線可大大節(jié)省成本,。LIN 技術規(guī)范中除定義了基本協(xié)議和物理層外還定義了開發(fā)工具和應用軟件接口,。LIN
通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設備的模式,。僅使用一根12V 信號總線和一個無固定時間基準的節(jié)點同步時鐘線,。這種低成本的串行通訊模式和相應的開發(fā)環(huán)境已經由LIN 協(xié)會制定成標準。LIN 的標準化將為汽車制造商以及供應商在研發(fā)應用操作系統(tǒng)降低成本,。
典型的LIN 總線應用是汽車中的聯(lián)合裝配單元,,如:門、方向盤,、座椅,、空調、照明燈,、濕度傳感器,,交流發(fā)電機等。對于這些成本比較敏感的單元,LIN 可以使那些機械元件如智能傳感器,、制動器或光敏器件得到較廣泛的使用,。這些元件可以很容易的連接到汽車網(wǎng)絡 中并得到十分方便的維護和服務。在LIN 實現(xiàn)的系統(tǒng)中通常將模擬信號量用數(shù)字信號量 所替換,,這將使總線性能優(yōu)化,。在以下的汽車電子控制系統(tǒng)中使用LIN 來實現(xiàn)將得到非常完美的效果:
LIN節(jié)點硬件設計
1 LIN接口總體設計
LIN 節(jié)點硬件上主要包括LIN接口電路部分、控制輸入部分,、顯示電路或負載驅動輸出等,,其中LIN接口為節(jié)點的核心。以Microchip公司的 PIC16F87為控制器,、TJA1020為LIN收發(fā)器,、SA57022 為開關電源的LIN接口電路如圖1所示。SA57022電源輸出的打開與關斷由LIN收發(fā)器控制通過INH引腳控制,。
圖1 LIN接口原理圖
因主機節(jié)點需為網(wǎng)絡中的從機節(jié)點提供時鐘基準,,故在主機節(jié)點中為PIC16F87配置了外部晶振。在從機節(jié)點中,,從機節(jié)點可通過主機節(jié)點發(fā)送幀頭中的同步場來校準自身波特率,,故可省去外部晶振而使用PIC16F87內置的RC振蕩器。
2 LIN收發(fā)器應用設計
TJA1020 為LIN收發(fā)器,,它是LIN 協(xié)議控制器和LIN傳輸媒體之間的接口,,是節(jié)點的核心器件,負責收發(fā)數(shù)據(jù)時總線的波形調整和電平轉換及節(jié)點多種工作模式的實現(xiàn),。TJA1020按LIN物理層規(guī)范集成了片內從機端電阻,,在從機節(jié)點應用中無須再外接從機端電阻,在主機節(jié)點應用中按圖1所示在其INH引腳和LIN引腳之間串接主機端電阻和二極管可提高總線的驅動能力,,并在總線對地短路時使節(jié)點自動進入睡眠狀態(tài),,減少電流損耗。
以TJA1020為收發(fā)器構造的LIN節(jié)點具有普通,、低斜率,、睡眠、準備四種工作模式,,以盡可能降低功耗和電磁輻射,,各種模式下的節(jié)點狀態(tài)和模式間轉換如圖2所示。
圖2 工作模式的節(jié)點狀態(tài)以及模式間的切換
LIN節(jié)點軟件設計
1 LIN主機節(jié)點軟件設計
LIN主機節(jié)點行使幀處理和LIN網(wǎng)絡的通信管理職能,,程序流程如圖3所示,。
圖3 主機程序流程
LIN規(guī)范規(guī)定,同步間隔場為至少13個連續(xù)的顯性位(低電平),。LIN 通信基于通用UART/SCI接口,,字節(jié)傳送使用8N1編碼,,無法直接產生這樣一個顯性序列。
總線的正常通信波特率為9.6k,從機節(jié)點始終以此波特率工作,,主機節(jié)點在需要發(fā)送同步間隔場時將波特率降低到4.8k,并發(fā)送0x00,則工作于9.6k 波特率的從機節(jié)點將檢測到18個連續(xù)的顯性位,,從而判斷一個新報文幀的到來。主機節(jié)點在發(fā)送完同步間隔場后將波特率恢復到9.6k.2 LIN從機節(jié)點軟件設計
LIN從機節(jié)點的職能可概括為幀頭檢測與接收和幀處理這兩部分,。在每個報文幀的幀頭中由配置晶體振蕩器的主機節(jié)點通過同步場給從機節(jié)點提供波特率基準,,從機節(jié)點通過測量同步場來校準自身波特率,以保證在報文傳輸中各節(jié)點之間的同步,。
同步場邏輯值為0x55,波形如圖4所示,。從機節(jié)點通過測量同步場中第1和第5個下降沿之間的時間間隔來計算校準自身波特率。
圖4 同步場波形圖
設主機節(jié)點和從機節(jié)點的串行口均工作于方式1(8位UART,波特率可變),,主機節(jié)點波特率為B,從機節(jié)點以定時器測量同步場第1和第5個下降沿得到的計數(shù)個數(shù)為C,從機節(jié)點振蕩器當前頻率為fs,得到式(1),。
設從機節(jié)點計數(shù)器1作為波特率發(fā)生器工作于常數(shù)自動重新裝入的8位定時器/計數(shù)器方式,得到式(2),。
使從機節(jié)點與主機節(jié)點同步,,則令:
Bs=B
由式(1)~式(3)可得到式(4)。
從機節(jié)點以由式(4)計算得到的N值作計數(shù)器1產生波特率的重新裝入值,,可產生與主機節(jié)點一致的波特率。
節(jié)點制作與實驗
利用該設計制作LIN節(jié)點構建LIN網(wǎng)絡,,對其進行了通信試驗和初步的抗干擾試驗,。由于報文幀頭和報文幀響應均由主機節(jié)點發(fā)送,報文幀幀頭和報文幀響應間的幀間響應間隔較小,。
當LIN從機節(jié)點在LIN主機節(jié)點的引導下相互傳送指令或信息時,,LIN網(wǎng)絡上進行從機節(jié)點到從機節(jié)點的數(shù)據(jù)傳輸,此時LIN主機節(jié)點發(fā)送報文幀幀頭,,一個LIN從機節(jié)點發(fā)送報文幀響應,,另一個或幾個LIN從機節(jié)點接收報文幀響應。由于這種報文幀傳送需要3個甚至3個以上節(jié)點參與,,故預留了較長的幀間間隔,,以便報文幀響應的發(fā)送節(jié)點和接收節(jié)點有充足的響應時間,確保報文幀傳送的順利完成,。
當LIN主機節(jié)點向某從機節(jié)點請求數(shù)據(jù)時,,LIN總線上進行從機節(jié)點到主機節(jié)點的數(shù)據(jù)傳輸,此時LIN主機節(jié)點發(fā)送報文幀頭,, LIN從機節(jié)點接收報文幀幀頭后發(fā)送報文幀響應,, LIN主機節(jié)點接收報文幀響應。
汽車電磁環(huán)境惡劣,,因此汽車通信系統(tǒng)的抗干擾能力尤為重要,,按該設計制作的LIN網(wǎng)絡在BZ-5型汽車電火花干擾試驗臺上進行了抗干擾實驗,,試驗中網(wǎng)絡通信順利,各項功能正常,。
結束語
對總線式車身控制系統(tǒng)中的CAN/LIN混合網(wǎng)絡進行深入研究,,給出車身混合網(wǎng)絡結構中主控節(jié)點設計與實現(xiàn)。在車身控制系統(tǒng)中,,將LIN總線連入低速車身系統(tǒng)中,,通過主控節(jié)點將CAN總線和LIN總線構建成混合控制網(wǎng)絡,使其控制系統(tǒng)兼具可靠性,、高性能和低成本優(yōu)點,。在器件選型上采用FREESCALE典型汽車電子芯片和智能觸點檢測模塊,既實現(xiàn)了可靠網(wǎng)絡控制功能,,同時也降低汽車的開發(fā),、生產成本,具有較高實用性,。