基于LIN節(jié)點的車載防盜報警設計與實現(xiàn)
隨著汽車工業(yè)的迅猛發(fā)展,車身上的電子控制單元也越來越多。傳統(tǒng)的車身線束不僅會增加制造成本,而且會降低系統(tǒng)的可靠性和可維護性。于是,汽車車身總線應運而生。采用車身總線設計不僅可以簡化線路、節(jié)約制造成本、提高可靠性,同時也節(jié)省了系統(tǒng)的維護成本。車載防盜報警模塊是車身控制單元(BCM)的一部分,由于其本身對總線通信的實時性和速率要求不高,所以將其接入低速總線LIN上。
LIN總線
LIN總線主要用于不需要CAN性能、速率和復雜性的低速系統(tǒng),是一種低成本的串行通信網(wǎng)絡,采用一個主節(jié)點及若干從節(jié)點的結(jié)構(gòu),基于通用的UART/SCI的硬件接口,最高速率可以達到20kb/s。
LIN總線通過報文幀進行數(shù)據(jù)傳輸,一個完整的報文幀包括幀頭和信息響應。報文頭包括間隔場、同步場和標志符場。間隔場由至少13個位時的持續(xù) 顯性電平(0)組成,標志著一次數(shù)據(jù)通信過程中報文幀的開始。同步場包含時鐘同步信息,其格式是0x55,所有從機節(jié)點在正確接收同步字節(jié)場后,準確計算 出主機節(jié)點將要發(fā)送數(shù)據(jù)的波特率,并以此波特率作為下一步要發(fā)送或接收數(shù)據(jù)的波特率設定值,從而實現(xiàn)從機節(jié)點與主機節(jié)點時鐘的同步。標志符場定義了信息的 內(nèi)容和長度。報文響應由主機節(jié)點或從機節(jié)點根據(jù)標志符場的信息發(fā)出,由2、4或8字節(jié)長度的數(shù)據(jù)和1字節(jié)的校驗和構(gòu)成。校驗通過計算數(shù)據(jù)的全部字節(jié)而得 到,用于接收方驗證數(shù)據(jù)的正確性。
圖 1完整的LIN信息幀
功能描述
車載防盜報警模塊是車身控制模塊的一個從節(jié)點,主要功能有以下3點:一是與BCM之間保持通信聯(lián)系并上報防盜報警模塊的狀態(tài)信息;二是接收車身 控制模塊的命令并驅(qū)動喇叭發(fā)出報警聲;三是監(jiān)測連接防盜報警模塊與BCM之間的電源線、地線和LIN線是否被割斷并發(fā)出報警聲。
實現(xiàn)方案
1 器件選擇
本系統(tǒng)的兩個主要器件為LIN收發(fā)器和微處理器。由于防 盜報警模塊是電池供電的LIN節(jié)點,所以在器件選取時需要盡量考慮低功耗的器件。LIN收發(fā)器選取TJA1020,它是連接車身控制器與防盜報警模塊之間 的物理媒體連接,也是LIN主/從機協(xié)議控制器和LIN傳輸媒體之間的接口。協(xié)議控制器輸入引腳TXD的發(fā)送數(shù)據(jù)流被LIN收發(fā)器轉(zhuǎn)換為總線信號,而且電 平翻轉(zhuǎn)速率和波形都受到限制,以減少電磁輻射。TJA1020的接收器檢測到LIN總線上的數(shù)據(jù)流并通過RXD引腳將它傳送到協(xié)議控制器。TJA1020 具備低功耗管理模式,它在睡眠模式中幾乎不消耗電流并在錯誤模式中減小功率消耗。所以,TJA1020非常適用于防盜報警模塊這種以電池供電的LIN節(jié)點。系統(tǒng)采用意法半導體的8位微處理器STM8S105K4作為主控單片機,靠內(nèi)部128kHz時鐘驅(qū)動運行時,靜態(tài)功耗可以低至0.6mA。滿足系統(tǒng)對低功耗要求的同時具備LIN控制器與電池電量檢測10位ADC功能。
2 信息幀分類與系統(tǒng)狀態(tài)定義
對車身控制系統(tǒng)與防盜報警模塊之間的通信信息幀做了如下的定義:
喚醒命令用于將系統(tǒng)從睡眠狀態(tài)喚醒到未設防狀態(tài),睡眠命令用于指令系統(tǒng)進入睡眠狀態(tài)。命令信息幀的內(nèi)容包含設防、解防、報警命令,以及對報警狀態(tài)如報警周期、次數(shù)等屬性的定義。系統(tǒng)的狀態(tài)轉(zhuǎn)換如圖2所示。
圖2 狀態(tài)轉(zhuǎn)換圖