基于LIN總線(xiàn)的車(chē)身控制系統的設計
LIN(Local Interconnect Network)是一種低成本的串行通訊網(wǎng)絡(luò ),用于實(shí)現汽車(chē)中的分布式電子系統控制。LIN 的目標是為現有汽車(chē)網(wǎng)絡(luò )(例如CAN 總線(xiàn))提供輔助功能,因此LIN 總線(xiàn)是一種輔助的總線(xiàn)網(wǎng)絡(luò )。在不需要CAN 總線(xiàn)的帶寬和多功能的場(chǎng)合,比如智能傳感器和制動(dòng)裝置之間的通訊使用LIN 總線(xiàn)可大大節省成本。LIN 技術(shù)規范中除定義了基本協(xié)議和物理層外還定義了開(kāi)發(fā)工具和應用軟件接口。LIN
通訊是基于SCI(UART)數據格式,采用單主控制器/多從設備的模式。僅使用一根12V 信號總線(xiàn)和一個(gè)無(wú)固定時(shí)間基準的節點(diǎn)同步時(shí)鐘線(xiàn)。這種低成本的串行通訊模式和相應的開(kāi)發(fā)環(huán)境已經(jīng)由LIN 協(xié)會(huì )制定成標準。LIN 的標準化將為汽車(chē)制造商以及供應商在研發(fā)應用操作系統降低成本。
典型的LIN 總線(xiàn)應用是汽車(chē)中的聯(lián)合裝配單元,如:門(mén)、方向盤(pán)、座椅、空調、照明燈、濕度傳感器,交流發(fā)電機等。對于這些成本比較敏感的單元,LIN 可以使那些機械元件如智能傳感器、制動(dòng)器或光敏器件得到較廣泛的使用。這些元件可以很容易的連接到汽車(chē)網(wǎng)絡(luò ) 中并得到十分方便的維護和服務(wù)。在LIN 實(shí)現的系統中通常將模擬信號量用數字信號量 所替換,這將使總線(xiàn)性能優(yōu)化。在以下的汽車(chē)電子控制系統中使用LIN 來(lái)實(shí)現將得到非常完美的效果:
LIN節點(diǎn)硬件設計
1 LIN接口總體設計
LIN 節點(diǎn)硬件上主要包括LIN接口電路部分、控制輸入部分、顯示電路或負載驅動(dòng)輸出等,其中LIN接口為節點(diǎn)的核心。以Microchip公司的 PIC16F87為控制器、TJA1020為L(cháng)IN收發(fā)器、SA57022 為開(kāi)關(guān)電源的LIN接口電路如圖1所示。SA57022電源輸出的打開(kāi)與關(guān)斷由LIN收發(fā)器控制通過(guò)INH引腳控制。
圖1 LIN接口原理圖
因主機節點(diǎn)需為網(wǎng)絡(luò )中的從機節點(diǎn)提供時(shí)鐘基準,故在主機節點(diǎn)中為PIC16F87配置了外部晶振。在從機節點(diǎn)中,從機節點(diǎn)可通過(guò)主機節點(diǎn)發(fā)送幀頭中的同步場(chǎng)來(lái)校準自身波特率,故可省去外部晶振而使用PIC16F87內置的RC振蕩器。
2 LIN收發(fā)器應用設計
TJA1020 為L(cháng)IN收發(fā)器,它是LIN 協(xié)議控制器和LIN傳輸媒體之間的接口,是節點(diǎn)的核心器件,負責收發(fā)數據時(shí)總線(xiàn)的波形調整和電平轉換及節點(diǎn)多種工作模式的實(shí)現。TJA1020按LIN物理層規范集成了片內從機端電阻,在從機節點(diǎn)應用中無(wú)須再外接從機端電阻,在主機節點(diǎn)應用中按圖1所示在其INH引腳和LIN引腳之間串接主機端電阻和二極管可提高總線(xiàn)的驅動(dòng)能力,并在總線(xiàn)對地短路時(shí)使節點(diǎn)自動(dòng)進(jìn)入睡眠狀態(tài),減少電流損耗。
以TJA1020為收發(fā)器構造的LIN節點(diǎn)具有普通、低斜率、睡眠、準備四種工作模式,以盡可能降低功耗和電磁輻射,各種模式下的節點(diǎn)狀態(tài)和模式間轉換如圖2所示。
圖2 工作模式的節點(diǎn)狀態(tài)以及模式間的切換
LIN節點(diǎn)軟件設計
1 LIN主機節點(diǎn)軟件設計
LIN主機節點(diǎn)行使幀處理和LIN網(wǎng)絡(luò )的通信管理職能,程序流程如圖3所示。
圖3 主機程序流程
LIN規范規定,同步間隔場(chǎng)為至少13個(gè)連續的顯性位(低電平)。LIN 通信基于通用UART/SCI接口,字節傳送使用8N1編碼,無(wú)法直接產(chǎn)生這樣一個(gè)顯性序列。
總線(xiàn)的正常通信波特率為9.6k,從機節點(diǎn)始終以此波特率工作,主機節點(diǎn)在需要發(fā)送同步間隔場(chǎng)時(shí)將波特率降低到4.8k,并發(fā)送0x00,則工作于9.6k 波特率的從機節點(diǎn)將檢測到18個(gè)連續的顯性位,從而判斷一個(gè)新報文幀的到來(lái)。主機節點(diǎn)在發(fā)送完同步間隔場(chǎng)后將波特率恢復到9.6k.
評論