LIN總線協(xié)議的應(yīng)用
1 LIN總線協(xié)議簡介
本文引用地址:http://www.ex-cimer.com/article/201612/330379.htmLIN協(xié)議標(biāo)準(zhǔn)于1998年由Audi、BMW、Mo-torola、Daimlerehrysler、VCT、Volvo和Volkswa-gen等七家公司在A類網(wǎng)已有協(xié)議的基礎(chǔ)上聯(lián)合提出。LIN總線在當(dāng)今汽車電子的網(wǎng)絡(luò)結(jié)構(gòu)中被廣泛使用,它基于通用的UART/SCI接口,使用單線信號傳輸,從節(jié)點(diǎn)無需晶振或陶瓷振蕩器就能實(shí)現(xiàn)自同步,因此成本低廉。LIN總線網(wǎng)絡(luò)采用單主多從模式,圖1所示是UN總線網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,它由一個主節(jié)點(diǎn)和一個或若干個從節(jié)點(diǎn)組成,不需要總線仲裁。LIN總線協(xié)議基于ISO參考模型中的物理層,數(shù)據(jù)鏈路層采用NRZ (Not Re-turn Zero)編碼方式,電平分為隱性電平(‘1’)和顯性電平(‘0’)。
1.1 物理層
LIN總線一般采用單總線(12 V)串行通訊,總線長度最大可達(dá)到40 m,傳輸速率最高可達(dá)到20 Kb/s,通常使用2.4Kb/s、9.6 Kb/s和19.2 Kb/s這三個波特率進(jìn)行數(shù)據(jù)傳輸。由于從節(jié)點(diǎn)的個數(shù)除了受標(biāo)識符數(shù)量的限制中,也受到總線的物理特性限制,節(jié)點(diǎn)過多必然減少網(wǎng)絡(luò)阻抗,從而導(dǎo)致通訊條件變差,所以協(xié)議規(guī)定:一個LIN總線網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)目不能超過16個。
1.2 數(shù)據(jù)鏈路層
LIN總線協(xié)議的一個報文幀由報文頭和響應(yīng)組成,圖2所示是LIN總線協(xié)議的報文幀結(jié)構(gòu)。一般情況下,報文頭都是由主節(jié)點(diǎn)發(fā)送,而響應(yīng)則是由一個主節(jié)點(diǎn)或者一個從節(jié)點(diǎn)發(fā)送。LIN總線網(wǎng)絡(luò)中的數(shù)據(jù)通訊都是由主節(jié)點(diǎn)發(fā)送一個報文頭來初始化的。報文頭包含一個空白場、一個同步場和一個標(biāo)識符場,而響應(yīng)則包括1 到9個字節(jié)場(0~8個數(shù)據(jù)場和一個校驗(yàn)和場)。其中,字節(jié)場由字節(jié)間的間隔分開,報文頭和響應(yīng)則由幀內(nèi)響應(yīng)間隔分開,它們的最小長度皆為0。
報文頭中的空白場可使節(jié)點(diǎn)能夠識別一個報文的開始??瞻讏鰹?3位或者持續(xù)更長時間的顯性電平(‘0’)加上持續(xù)1個位時間以上的隱性電平(‘1’)組成。同步場則為一個字節(jié)長度(ox55),可用來使相關(guān)從節(jié)點(diǎn)進(jìn)行主從節(jié)點(diǎn)的時鐘同步。
標(biāo)識符場格式如圖3所示,定義報文的信息,長度為一個字節(jié),其中前6位為標(biāo)識符位,可定義26=64個標(biāo)識符(其中保留4個標(biāo)識符作為命令和擴(kuò)展幀標(biāo)識符),后2位為奇偶校驗(yàn)位。
標(biāo)識符用于定義數(shù)據(jù)的傳輸方向和響應(yīng)中數(shù)據(jù)場的長度,并從節(jié)點(diǎn)根據(jù)標(biāo)識符判斷報文是否與自己相關(guān),從而對報文做出反應(yīng),進(jìn)行通訊。當(dāng)主節(jié)點(diǎn)發(fā)送的報文頭被相關(guān)從節(jié)點(diǎn)接受并對標(biāo)識符判斷之后,從節(jié)點(diǎn)被要求進(jìn)行數(shù)據(jù)發(fā)送,而主節(jié)點(diǎn)要接收從節(jié)點(diǎn)發(fā)送的數(shù)據(jù),則需要將此標(biāo)識符定義為接收標(biāo)識符,對于從節(jié)點(diǎn)來說,則需定義為發(fā)送標(biāo)識符,反之亦然。
響應(yīng)中數(shù)據(jù)場的長度由標(biāo)識符位中的第4位和第5位(ID5和ID4)決定,它們將所有的標(biāo)識符分成四組。每組有16個標(biāo)識符,這些標(biāo)識符代表著2、4和8 個數(shù)據(jù)場。數(shù)據(jù)場的傳輸由低位到高位,包含了各個節(jié)點(diǎn)需要傳輸?shù)臄?shù)據(jù)。校驗(yàn)和場是數(shù)據(jù)場所有字節(jié)的和的反碼,當(dāng)節(jié)點(diǎn)收到數(shù)據(jù)并進(jìn)行校驗(yàn)時,要求所有數(shù)據(jù)字節(jié)和與校驗(yàn)和場的字節(jié)相加必須是0xFF。
2 車門控制中LIN通信系統(tǒng)的設(shè)計
本設(shè)計方案主要采用英飛凌XC886單片機(jī)作為主節(jié)點(diǎn)控制器,以英飛凌的TLE7259芯片作為LIN驅(qū)動模塊,這樣可使主節(jié)點(diǎn)車門控制器可以通過LIN 總線與3個從節(jié)點(diǎn)車門控制器(TLE7810)進(jìn)行通信。作為主節(jié)點(diǎn),在此門控系統(tǒng)中,可以通過司機(jī)側(cè)按鈕開關(guān)對所有車窗進(jìn)行升降,并可進(jìn)行后視鏡的調(diào)節(jié)和中央門鎖的控制。圖4所示是車門控制系統(tǒng)的結(jié)構(gòu)框圖。
2.1 XC886與UN驅(qū)動模塊的接口設(shè)計
英飛凌公司的XC886單片機(jī)是基于8051工業(yè)標(biāo)準(zhǔn)架構(gòu)的高性能8位微控制器,其內(nèi)部集成有CAN控制器并支持UN通信,同時包含兩個UART(其中一個用于支持LIN)和兩個單獨(dú)16位計時器的捕捉/比較單元(CCU),可靈活產(chǎn)生PWM信號。此外,還集成有高精度8路10位ADC、四個通用16位計時器和可編程16位看門狗計時器(WDT),并支持片內(nèi)調(diào)試。XC886包含多種省功耗模式,非常適用于各種汽車車身控制網(wǎng)絡(luò)以及工業(yè)和農(nóng)業(yè)設(shè)備控制、建筑物照明控制、智能傳感器和工業(yè)自動化等領(lǐng)域。
系統(tǒng)中的LIN驅(qū)動模塊選用英飛凌公司的TLE7259芯片,它具有總線接地短路保護(hù)功能,適用于傳輸速率為2.4 kb/s~20 kb/s的車載系統(tǒng)通信網(wǎng)絡(luò)。同時,該器件還具有極強(qiáng)的防靜電放電(ESD)特性和優(yōu)越的抗電磁干擾(EMI)能力。其基于固定斜率的斜率控制機(jī)制,還可實(shí)現(xiàn)在寬頻帶范圍內(nèi)優(yōu)越的EMC性能。在XC886作為LIN總線主節(jié)點(diǎn)控制器的設(shè)計方案中,必須在TLE7259芯片的LIN_BUS引腳與INH引腳之間連接一個1kΩ的電阻和一個反向二極管,并將TLE7259配置成主節(jié)點(diǎn)驅(qū)動模塊。圖5所示是系統(tǒng)LIN驅(qū)動模塊的接口電路。
評論