新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于M68HC08的LIN節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)

基于M68HC08的LIN節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)

作者: 時間:2012-01-19 來源:網(wǎng)絡(luò) 收藏

引言

隨著汽車電子業(yè)的飛速發(fā)展,車輛上的電子裝置越來越多,電子裝置之間的控制也越來越復(fù)雜。傳統(tǒng)的布線連接方式,不僅使線束變得更加粗大、質(zhì)量增加,使車內(nèi)可利用的空間變小,且由于線路復(fù)雜,故障率增加,還會給維修帶來很大的不便。通過車用現(xiàn)場總線技術(shù)建立車身控制局域網(wǎng),對汽車電子裝置、電器設(shè)備進(jìn)行管理和控制,實(shí)現(xiàn)分布式多路傳輸,大大簡化汽車的線束,減輕線束的質(zhì)量,提高了系統(tǒng)工作的可靠性、穩(wěn)定性。

(Local Interconnect Network)是由汽車廠商專門為汽車開發(fā)的一種低成本串行通信網(wǎng)絡(luò),用于實(shí)現(xiàn)汽車中的分布式電子系統(tǒng)控制,其主要目的是為現(xiàn)有的汽車控制網(wǎng)絡(luò) CAN(Control Area Network)提供輔助功能。在對CAN總線通信要求低的場合,諸如智能傳感器和制動裝置之間的通信,使用總線可大大降低成本。

總線介紹

LIN是一個串行通訊協(xié)議,它有效地支持汽車應(yīng)用中分布式機(jī)械電子節(jié)點(diǎn)的控制。LIN總線控制方式是帶單主機(jī)節(jié)點(diǎn)和一組從機(jī)節(jié)點(diǎn)的A 類(10kbit/s(低速))多點(diǎn)總線。

1.1 LIN總線特點(diǎn)

(1) 采用低成本單線12V進(jìn)行數(shù)據(jù)傳輸,線的驅(qū)動和接收特性符合改進(jìn)的IS09141單線標(biāo)準(zhǔn);(2) 傳輸速率可達(dá)20kbit/s;(3) 采用單主/多從結(jié)構(gòu),不需要總線仲裁,由來控制總線的訪問;(4) 基于通用UART/SCI的硬件接口,可使用低成本的半導(dǎo)體工藝實(shí)現(xiàn),幾乎所有的都有LIN必需的硬件;(5) 不需要晶振或陶瓷振蕩器就可實(shí)現(xiàn)自同步,從而減少了的硬件成本;(6) 能保證最差狀況下信號傳送的等待時間,可避免總線訪問沖突。

1.2 LIN總線通信機(jī)制

LIN總線是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式,僅使用一根12V信號總線。一個LIN 網(wǎng)絡(luò)由一個、一個或多個組成。所有節(jié)點(diǎn)都有一個從通訊任務(wù),該通訊任務(wù)按功能分為發(fā)送任務(wù)和接收任務(wù)。還有一個主發(fā)送任務(wù),一個LIN 網(wǎng)絡(luò)上的通訊總是由主發(fā)送任務(wù)所發(fā)起的。主控制器發(fā)送一個起始報(bào)文,從控制單元在接受并且濾除消息標(biāo)志符后,一個從任務(wù)被激活并且開始本消息的應(yīng)答。

1.3 LIN報(bào)文幀

報(bào)文幀由主機(jī)任務(wù)向從機(jī)任務(wù)傳送同步和標(biāo)識符信息,并將一個從機(jī)任務(wù)的信息傳送到所有其他從機(jī)任務(wù)。主機(jī)任務(wù)位于主機(jī)節(jié)點(diǎn)內(nèi)部,它負(fù)責(zé)報(bào)文的進(jìn)度表、發(fā)送報(bào)文頭(HEADER)。從機(jī)任務(wù)位于所有的(即主機(jī)和從機(jī))節(jié)點(diǎn)中其中一個主機(jī)節(jié)點(diǎn)或從機(jī)節(jié)點(diǎn)發(fā)送報(bào)文的響應(yīng)(RESPONSE)。

一個報(bào)文幀(圖1)是由一個主機(jī)節(jié)點(diǎn)發(fā)送的報(bào)文頭和一個主機(jī)或從機(jī)節(jié)點(diǎn)發(fā)送的響應(yīng)組成。報(bào)文幀的報(bào)文頭包括一個同步間隔場(SYNCH BREAK FIELD)、一個同步場(SYNCH FIELD)和一個標(biāo)識符場。報(bào)文幀的響應(yīng)(RESPONSE)則由3個到9個字節(jié)場組成:2、4或8字節(jié)的數(shù)據(jù)場(DATA FIELD)和一個校驗(yàn)和場(CHECKSUM FIELD)。字節(jié)場由字節(jié)間空間分隔。報(bào)文幀的報(bào)文頭和響應(yīng)是由一個幀內(nèi)響應(yīng)空間分隔,最小的字節(jié)間空間和幀內(nèi)響應(yīng)空間是0。

圖1 LIN報(bào)文幀

2 LIN節(jié)點(diǎn)設(shè)計(jì)

2.1 系列芯片簡介

Motorola 的是一種高性能的8位單片機(jī)系列,具有速度快、功能強(qiáng)和價格低等特點(diǎn)。它的CPU與M68HC05單片機(jī)向上兼容,具有16位變址寄存器和堆棧指針,有200余條指令和10余種尋址方式,最快指令周期僅為0.125μS。

2.2 LIN主節(jié)點(diǎn)設(shè)計(jì)

本設(shè)計(jì)選用系列的MC68HC908GZ32作為LIN主節(jié)點(diǎn)的MCU,其電路原理如圖2所示。選用MC68HC908GZ32,主要因?yàn)樗哂腥缦缕涮攸c(diǎn):

·32 Kbytes FLASH,1536 bytes RAM

·8-MHz內(nèi)部總線頻率

·豐富的I/O資源

·兩個雙通道16bit定時接口模塊(TIM)

·一個MSCAN08 (Motorola 可升級的CAN)控制器模塊

·一個串行外圍接口(SPI)模塊

·一個增強(qiáng)型串行通信接口(ESCI)模塊

ESCI模塊可以使MCU和外圍設(shè)備及其它MCU異步通信,故它可以作為LIN的主結(jié)點(diǎn)。由于MC68HC908GZ32內(nèi)部帶有CAN控制器(MSCAN08),因此它除了能夠作為LIN的主節(jié)點(diǎn),還可以作為CAN/LIN網(wǎng)關(guān)。

本設(shè)計(jì)選用64腳QFP封裝的GZ32芯片,VDD,VDDA,VDDAD均由+5V供電,TXD、RXD引腳分別接 LIN的收發(fā)器(TJA1020)的TXD、RXD引腳,經(jīng)過收發(fā)器LIN引腳出來的信號就是+12V的LIN信號了。GZ32的CANRX與CANTX 引腳分別接CAN收發(fā)器(TJA1050)的RXD和TXD,經(jīng)過收發(fā)器CANL和CANH引腳出來的就是具有差分信號的CAN信號。GZ32其它的大部分引腳都可以做I/O口使用,滿足車身電器控制的需要。

圖2 LIN主節(jié)點(diǎn)的電路原理圖

主節(jié)點(diǎn)可以采用查詢或中斷的方式發(fā)送主機(jī)任務(wù),本設(shè)計(jì)采用中斷的方式發(fā)送主機(jī)任務(wù)。首先發(fā)送同步間隔(13個bit的顯性電平加1個bit的隱性電平),GZ32里面專門用中止位(SBK)來發(fā)送同步間隔。將寄存器SCC2中的發(fā)送中止位SBK置1即會裝載中止符(全0)置發(fā)送移位寄存器,再將SBK置0,移位寄存器中止最后一個中止符且至少發(fā)送1個邏輯1,構(gòu)成13個bit的低電平和1個bit的高電平。同步間隔是區(qū)別全零數(shù)據(jù)字節(jié)的關(guān)鍵,必須按照這種方式發(fā)送才能把它與全零字節(jié)區(qū)別開來。然后按照SCI串行格式發(fā)送同步場0x55和標(biāo)志符場。如果主節(jié)點(diǎn)還有從機(jī)發(fā)送任務(wù),還需要按照SCI串行格式發(fā)送數(shù)據(jù)場和校驗(yàn)和場。

2.3 LIN從節(jié)點(diǎn)設(shè)計(jì)

本設(shè)計(jì)選用M68HC08系列的MC68HC908QL4作為LIN從節(jié)點(diǎn)的MCU,其電路原理圖如圖3所示,選用MC68HC908QL4,主要因?yàn)槠渚哂腥缦绿攸c(diǎn):

·4096 bytes FLASH, 128 bytes RAM

·5-V 和 3.3-V 工作電壓

·5 V時內(nèi)部總線頻率為8-MHz ,3.3 V 時為4-MHz

·一個雙通道16bit定時接口模塊(TIM)

·13個雙向輸入輸出口,1個只輸入口

·一個LIN從機(jī)接口控制器(SLIC)模塊

SLIC模塊用來提供LIN總線上從機(jī)的連通性,與通用I/O口共享其引腳。它有以下特點(diǎn):

·自動的波特率設(shè)置和LIN信息幀同步

·自動識別和確認(rèn)LIN信息的同步間隔和同步場

·自動計(jì)算校驗(yàn)和場和確認(rèn)錯誤報(bào)告

·無錯誤的情況下每個標(biāo)準(zhǔn)LIN信息幀可有最多2個中斷

·高速的LIN可以從83.33 kbps 到 120.00 kbps

本設(shè)計(jì)選用16腳TSSOP封裝的QL4芯片,VDD接+5V電源,SLCTX、SLCRX引腳分別接LIN的收發(fā)器(TJA1020)的TXD、RXD引腳。經(jīng)過收發(fā)器LIN引腳進(jìn)來+12V的LIN信號,經(jīng)過收發(fā)器轉(zhuǎn)換成+5V的接受和發(fā)送信號,分別傳到QL4的接受和發(fā)送引腳。

圖3 LIN從節(jié)點(diǎn)電路原理圖

從節(jié)點(diǎn)在初始化完成后,其它操作都在中斷里面完成。SLIC狀態(tài)向量寄存器(SLCSV)提供一個索引偏移量直接反映 LIN模塊當(dāng)前的工作狀態(tài),它可以和用戶提供的跳轉(zhuǎn)表一起用來快速進(jìn)入一個中斷服務(wù)子程序。LIN模塊的所有狀態(tài)在SLCSV里面都有相應(yīng)的值對應(yīng),其值不僅反映LIN模塊狀態(tài)的索引偏移量,還反映中斷的優(yōu)先級。

3 LIN節(jié)點(diǎn)在車身控制中的應(yīng)用示例

“長安之星”SC6350汽車是長安公司推出的具有轎車性能的微型客車,其車身電器包括:前后車燈、雨刮電機(jī)、升降車窗、中控門鎖、空調(diào)、車身儀表等,共達(dá)近百個。因?yàn)橛秒娖鞅容^多,主體設(shè)計(jì)采用CAN/LIN結(jié)合的網(wǎng)絡(luò)方式,按照用電器的就近原則,將整個車身網(wǎng)絡(luò)分成五個部分,如圖4所示。

圖4 長安SC6350車身網(wǎng)絡(luò)圖

汽車前端放置高低速CAN網(wǎng)關(guān)(采用MC9S12DG128),其高速CAN與對信號的傳輸實(shí)時性要求很高的用電器如AMT、ABS、Engine相連,其低速CAN與組合開關(guān)和大部分用電器的開關(guān)相連。汽車前面兩側(cè)放置兩塊GZ32電路板,它控制汽車前面兩側(cè)的車燈和一些電機(jī),同時它還作為LIN網(wǎng)絡(luò)中的LIN主節(jié)點(diǎn)。LIN網(wǎng)絡(luò)從節(jié)點(diǎn)(QL4電路板)放置在汽車后面兩側(cè),控制汽車后面的車燈和電機(jī)。由于汽車后部的用電器比較少,需要使用的I/O口就比較少,正好符合QL4 I/O口比較少的特點(diǎn)。

長安SC6350汽車后部的用電器包括后左轉(zhuǎn)向燈、后右轉(zhuǎn)向燈、后左霧燈、后右霧燈、左后制動燈、右后制動燈、駐車制動指示燈、左牌照燈、右牌照燈、后刮水電機(jī)、后除霜器等。我們將它們分成左右兩組,分別接到兩側(cè)的QL4電路板上。GZ32發(fā)送報(bào)文頭和響應(yīng)場,QL4接收主機(jī)發(fā)送的LIN報(bào)文幀,將數(shù)據(jù)場各bit所攜帶的信息提取出來,驅(qū)動車燈和電機(jī)。由于用電器比較少,數(shù)據(jù)場只需要2個字節(jié)就足夠。數(shù)據(jù)場的字節(jié)分配如圖 5所示,各個bit反映相關(guān)用電器的狀態(tài),1表示燈亮和電機(jī)工作(電機(jī)采用直流電機(jī),上電即可工作,故也只有0/1兩種狀態(tài)),0表示燈滅和電機(jī)不工作。

圖5 LIN數(shù)據(jù)場字節(jié)分配

兩個LIN從機(jī)分別接在兩個LIN主機(jī)上,而且它們都是只接收報(bào)文幀,不用發(fā)送響應(yīng)場,故可用相同的標(biāo)志符0x1C。另外還有睡眠和喚醒2個命令幀,分別用LIN總線保留的標(biāo)識符0x3C和0x00來識別。

4 結(jié)束語

本文作者的創(chuàng)新點(diǎn)在于:根據(jù)LIN總線特點(diǎn),設(shè)計(jì)了MCU+LIN接口芯片的LIN節(jié)點(diǎn)硬件結(jié)構(gòu),實(shí)現(xiàn)了主機(jī)/從機(jī)任務(wù)的LIN網(wǎng)絡(luò)通訊,并根據(jù)長安SC6350微車制定了LIN應(yīng)用層協(xié)議,構(gòu)建了一個基于CAN/LIN總線的車身網(wǎng)絡(luò)(該車身網(wǎng)絡(luò)已經(jīng)通過國家863 項(xiàng)目組的驗(yàn)收),為我國汽車LIN總線A類網(wǎng)絡(luò)高層通訊協(xié)議的制定奠定了基礎(chǔ)。

參考文獻(xiàn)

【1】 LIN Specification Package,Revision 2.0[S].Motorola Co,Sep.23.2003

【2】 佟為明,孫凡金,趙志衡.LIN總線技術(shù)[J].低壓電器,2004(2):26-29

【3】 徐春艷,劉桂霞等.基于LIN總線車燈控制系統(tǒng)的研制[J],吉林大學(xué)學(xué)報(bào).2005(4):467-471

【4】 侯樹梅,張?jiān)讫垼K劍.一種新型汽車車身控制低端通訊總線LIN[J],汽車技術(shù).2003(11):5-7

【5】 張廣斌,方凱,陳效肯.電動汽車網(wǎng)絡(luò)協(xié)議應(yīng)用的研究[J],微計(jì)算機(jī)信息.2005(9Z):115-116



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉