LIN總線節(jié)點(diǎn)的設(shè)計(jì)
摘要:介紹了汽車網(wǎng)絡(luò)系統(tǒng)A類串行總線通信標(biāo)準(zhǔn)LIN協(xié)議2.0版本(最新版本),設(shè)計(jì)了總線節(jié)點(diǎn)的硬件和通信程序,規(guī)劃了電動(dòng)汽車車身網(wǎng)絡(luò)總線結(jié)構(gòu)。
關(guān)鍵詞:LIN總線 通信 節(jié)點(diǎn)
隨著汽車電子業(yè)的飛速發(fā)展,車輛上的電子裝置越來(lái)越多,電子裝置之間的通信技術(shù)也越來(lái)越先進(jìn)。傳統(tǒng)的電器系統(tǒng)大多采用點(diǎn)對(duì)點(diǎn)的單一通信方式,相互之間少有聯(lián)系,這樣必然造成布線系統(tǒng)龐大,因而現(xiàn)代車輛上的電子系統(tǒng)廣泛采用網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn)彼此之間的通信。
1998年,汽車制造商奧迪公司、寶馬公司、戴姆勒克萊斯勒公司、沃爾沃汽車公司、大眾汽車公司、通信領(lǐng)域的專業(yè)廠商火山通信技術(shù)公司以及半導(dǎo)體生產(chǎn)商摩托羅拉公司共同創(chuàng)建了LIN(Local Interconnect Network)協(xié)會(huì),其目的是為汽車網(wǎng)絡(luò)系統(tǒng)提供一個(gè)開放的A類(數(shù)據(jù)傳輸位速率通常小于10kb/sv的低速車身網(wǎng)絡(luò))串行總線通信標(biāo)準(zhǔn),允許在此基礎(chǔ)上開發(fā)汽車低端網(wǎng)絡(luò)系統(tǒng),并且不需要使用者支持使用費(fèi)用或版稅。
1 LIN協(xié)議的通信機(jī)制
1.1 主機(jī)和從機(jī)
從通訊協(xié)議的角度來(lái)看,一個(gè)LIN網(wǎng)絡(luò)由一個(gè)主機(jī)任務(wù)模塊(Master Task)若干個(gè)從機(jī)任務(wù)模塊(Slave Task)組成。主機(jī)節(jié)點(diǎn)中既有主機(jī)任務(wù)模塊又有從機(jī)任務(wù)模塊;其它節(jié)點(diǎn)中只有從機(jī)任務(wù)模塊。圖1是由一個(gè)主機(jī)節(jié)點(diǎn)、兩個(gè)從機(jī)節(jié)點(diǎn)組成的LIN網(wǎng)絡(luò)。
在LIN網(wǎng)絡(luò)中,主機(jī)任務(wù)模塊決定什么時(shí)候在總線上傳輸什么報(bào)文幀,而從機(jī)任務(wù)模塊則提供每一幀需要傳送的數(shù)據(jù)。主機(jī)任務(wù)模塊和從機(jī)任務(wù)模塊都是幀處理層的組成部分。
1.2 報(bào)文幀
一個(gè)報(bào)文幀由一個(gè)幀頭(由主機(jī)任務(wù)模塊提供)和一個(gè)響應(yīng)幀(由從機(jī)任務(wù)模塊提供)組成。幀頭包括一個(gè)同步間隔場(chǎng)(SYNCH BREAK FIELD)、一個(gè)同步場(chǎng)(SYNCH FIELD)和一個(gè)標(biāo)識(shí)符場(chǎng)。報(bào)文幀的用途由標(biāo)識(shí)符唯一定義,約定的從機(jī)任務(wù)根據(jù)標(biāo)識(shí)符提供相關(guān)的響應(yīng)幀并發(fā)送到總線上(如圖2、圖3所示),響應(yīng)幀由2、4或8字節(jié)的數(shù)據(jù)場(chǎng)(DATA FIELD)和一個(gè)校驗(yàn)和場(chǎng)(CHECKSUM FIELD)組成。對(duì)這個(gè)標(biāo)識(shí)符相聯(lián)的數(shù)據(jù)感興趣的從機(jī)任務(wù)將接收響應(yīng)幀,校驗(yàn)和檢驗(yàn)通過(guò)后對(duì)數(shù)據(jù)進(jìn)行處理。
這樣的通訊機(jī)制帶來(lái)了非常理想的效果:
*系統(tǒng)靈活性:在LIN網(wǎng)絡(luò)中可以直接增加節(jié)點(diǎn)而不需要對(duì)其它從機(jī)節(jié)點(diǎn)的硬件和軟件進(jìn)行修改;
*報(bào)文路由:報(bào)文的內(nèi)容由標(biāo)識(shí)符定義;
*廣播:多個(gè)節(jié)點(diǎn)可以同時(shí)接收一個(gè)單獨(dú)的報(bào)文幀,并對(duì)報(bào)文作出反應(yīng)。
2 LIN總線試驗(yàn)平臺(tái)的軟硬件設(shè)計(jì)
2.1 MCU芯片
主機(jī)MCU選用了瑞薩(Renesas)公司的M16C/6N系列的M306NBFCTFP,其特點(diǎn)如下:
*128K ROM,5K RAM
*三路串行口(兩路UART/時(shí)鐘同步口,一路時(shí)鐘同步口)
*一路CAN模塊
*豐富的I/O資源
從機(jī)MCU選用Atmel公司的基于8051內(nèi)核的微控制器AT89C2051,其特點(diǎn)為:
*2K字節(jié)的Flash
*128×8位的內(nèi)部RAM
*兩個(gè)16位定時(shí)器/計(jì)數(shù)器
*可編程的串行UART口
采用M306NBFCTFP作為主機(jī)節(jié)點(diǎn)的MCU是因?yàn)樗哂蠧AN接口模塊,而且增強(qiáng)型UART可用于支持LIN總線;采用AT89C2051作為從機(jī)節(jié)點(diǎn)的MCU是因?yàn)闀簳r(shí)不對(duì)從機(jī)節(jié)點(diǎn)所實(shí)現(xiàn)的具體功能進(jìn)行設(shè)計(jì),而只是著重于LIN網(wǎng)絡(luò)通訊部分的設(shè)計(jì)。要履行LIN規(guī)范的通訊時(shí)序,所有節(jié)點(diǎn)都必須配備一個(gè)精確的振蕩參考源,即主機(jī)節(jié)點(diǎn)(M306NBFCTFP)和從機(jī)節(jié)點(diǎn)(AT89C2051)上的晶振。M306NBFCTFP片內(nèi)有一個(gè)專用的濾波特率發(fā)生器用于串口通訊,而AT89C2051則把定時(shí)器T1作為波特率發(fā)生器。M306NBFCTFP將I/O作為擴(kuò)展區(qū)域。這兩種微控制器都具有增強(qiáng)型UART,可用于支持串行LIN傳輸。定時(shí)器T0可用于各種超時(shí)檢測(cè)。此外,由于LIN的同步間隔超過(guò)普通UART所能處理的長(zhǎng)度,所以從機(jī)節(jié)點(diǎn)AT89C2051使用中斷來(lái)進(jìn)行同步間隔檢測(cè)。
圖4和圖5分別為主機(jī)節(jié)點(diǎn)和從機(jī)節(jié)點(diǎn)的電路原理圖。
2.2 LIN總線通訊軟件的設(shè)計(jì)
LIN節(jié)點(diǎn)是通過(guò)應(yīng)用程序中的主機(jī)任務(wù)和從機(jī)任務(wù)來(lái)實(shí)現(xiàn)LIN網(wǎng)絡(luò)通訊的。主機(jī)節(jié)點(diǎn)包含主機(jī)任務(wù)和從機(jī)任務(wù),從機(jī)節(jié)點(diǎn)僅包含從機(jī)任務(wù)。主機(jī)任務(wù)流程圖如圖6所示,從機(jī)任務(wù)流程圖如圖7所示。
LIN主機(jī)任務(wù)包括以下內(nèi)容:
*定義波特率(2kbit/s到20kbit/s);
*發(fā)送間隔場(chǎng)和同步場(chǎng)信號(hào)序列;*發(fā)送標(biāo)識(shí)符場(chǎng);
*監(jiān)控并檢查校驗(yàn)和,驗(yàn)證數(shù)據(jù)的有效性;
*請(qǐng)求從機(jī)進(jìn)入睡眠模式,需要時(shí)再將有喚醒;
*對(duì)從機(jī)的喚醒進(jìn)行響應(yīng)。
從機(jī)任務(wù)包括以下內(nèi)容:
*檢測(cè)間隔場(chǎng)信號(hào);
*在同步區(qū)與網(wǎng)絡(luò)取得同步;
*解釋標(biāo)識(shí)符,并作出相應(yīng)動(dòng)作;
——不需要任何通訊操作;
——接收數(shù)據(jù)場(chǎng)數(shù)據(jù);
——發(fā)送響應(yīng)幀;
*檢查/發(fā)送校驗(yàn)和。
3 電動(dòng)汽車車身總線網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)LIN總線的物理層規(guī)定,LIN總線采用改進(jìn)的ISO9141單總線標(biāo)準(zhǔn),總線驅(qū)動(dòng)為12V電源。編碼方式為NRZ(Not Return Zero),電平分為隱性電平“1”和顯性電平“0”兩種,其誤差要求如下:對(duì)于發(fā)出信息的節(jié)點(diǎn),發(fā)出的隱性電平不得低于電源電壓的80%,顯性電平不得高于電源電壓的20%;對(duì)接收節(jié)點(diǎn)來(lái)說(shuō),接收到的隱性電平不得低于電源電壓的60%,顯性電平不得高于電源電壓的40%??紤]到信號(hào)衰弱等因素,LIN總線的長(zhǎng)度最大不超過(guò)40米;同時(shí)一個(gè)LIN子網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)目小于16個(gè)。
根據(jù)電動(dòng)汽車A類網(wǎng)絡(luò)各功能單元對(duì)通訊功能的實(shí)時(shí)性、傳輸距離的要求,均衡考慮性能和成本等因素,確定LIN總線在電動(dòng)汽車車身上的網(wǎng)絡(luò)結(jié)構(gòu),可以從圖8中幾個(gè)典型的A類網(wǎng)絡(luò)功能單元進(jìn)行分析。
車身系統(tǒng)網(wǎng)絡(luò)規(guī)劃如圖9所示。圖9中將車身系統(tǒng)的A類網(wǎng)絡(luò)功能單元?jiǎng)澐譃檐囬T模塊、空調(diào)模塊、座椅模塊、控制面板模塊以及組模塊,這些模塊分別作為L(zhǎng)IN子網(wǎng)絡(luò)的主機(jī)節(jié)點(diǎn)。
LIN總線的目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)提供一種低速總線通訊標(biāo)準(zhǔn),它能滿足CAN總線所不需求的帶寬和功能,使用LIN總線可大大節(jié)省成本。而在我國(guó),對(duì)于汽車總線的研究只是處于初步階段。為了縮短同國(guó)外轎車技術(shù)水平的差距,提高自身的競(jìng)爭(zhēng)力,單純靠技術(shù)引起不利于我國(guó)汽車電子技術(shù)的長(zhǎng)期發(fā)展,研究和開發(fā)我國(guó)自己的汽車網(wǎng)絡(luò)應(yīng)用系統(tǒng)勢(shì)在必行。本文確定了MCU+LIN接口芯片的LIN節(jié)點(diǎn)硬件結(jié)構(gòu),實(shí)現(xiàn)了主機(jī)/從機(jī)任務(wù)的LIN網(wǎng)絡(luò)通訊,規(guī)劃出了我國(guó)電動(dòng)汽車車身系統(tǒng)LIN總線結(jié)構(gòu),為我國(guó)汽車LIN總線A類網(wǎng)絡(luò)高層通訊協(xié)議的制定奠定了基礎(chǔ)。
評(píng)論