新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Freescale LIN總線應(yīng)用開發(fā)平臺(tái)

Freescale LIN總線應(yīng)用開發(fā)平臺(tái)

作者: 時(shí)間:2012-03-29 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:CAN/(Local Interconnect Network)的引入帶來(lái)了車身電子控制的模塊化和智能化。在低速的車身控制條件下,與CAN相比較,控制方案成本較低是最大的優(yōu)勢(shì)。本文介紹了基于半導(dǎo)體公司(原摩托羅拉半導(dǎo)體部)的單片機(jī)(MCU)和智能模擬器件的總線Demo系統(tǒng),為汽車電子用戶提供了一種能快速掌握的車身LIN總線控制的

本文引用地址:http://m.butianyuan.cn/article/149326.htm

關(guān)鍵詞:汽車電子;車身電子;總線;LIN

引言

在汽車電子系統(tǒng)中,主要存在如圖1所示的幾種網(wǎng)絡(luò)協(xié)議。LIN主要低速(20Kb/s)的車身控制環(huán)境,低速CAN多用于事件驅(qū)動(dòng)的控制環(huán)境(125Kb/s),高速CAN(>500Kb/s),F(xiàn)lexray和Byteflight主要于時(shí)間驅(qū)動(dòng)的同步高速控制環(huán)境,而D2B和MOST主要于汽車娛樂(lè)(圖像和語(yǔ)音)的傳輸和控制。

就車身控制而言,主要的應(yīng)用基于CAN/LIN總線協(xié)議?;贑AN總線車身控制,在汽車電子上已經(jīng)有廣泛的應(yīng)用。隨著車上總線節(jié)點(diǎn)的增加及高性能系統(tǒng)向中低檔汽車的發(fā)展,CAN總線相對(duì)較高的實(shí)現(xiàn)成本就成為一種障礙。因此LIN總線隨之產(chǎn)生。由于LIN硬件的實(shí)現(xiàn)是基于普通的串行通信接口(SCI),甚至在子節(jié)點(diǎn)中可以用普通I/O口加上定時(shí)器進(jìn)行模擬,所以其實(shí)現(xiàn)成本較低。LIN的目標(biāo)應(yīng)用是不需要CAN的性能、帶寬及復(fù)雜性的低端系統(tǒng)。通常LIN子總線是現(xiàn)有的CAN網(wǎng)絡(luò)的擴(kuò)充,與CAN網(wǎng)絡(luò)一起形成汽車的控制網(wǎng)絡(luò)(圖2)。當(dāng)然,由于其成本較低,也可以獨(dú)立用于不是特別復(fù)雜的車身控制網(wǎng)絡(luò)中。

為了加速基于LIN總線控制系統(tǒng)的開發(fā)周期,半導(dǎo)體公司開發(fā)了LIN(LIN DEMO)。LIN DEMO系統(tǒng)提供了完整的軟件和硬件,其中,軟件包括標(biāo)準(zhǔn)的LIN底層驅(qū)動(dòng)軟件和LED顯示的應(yīng)用軟件。用戶可以在此平臺(tái)上很快的搭建起LIN控制網(wǎng)絡(luò)

LIN DEMO應(yīng)用系統(tǒng)

DEMO節(jié)點(diǎn)

LIN DEMO由2個(gè)主節(jié)點(diǎn)(9S12C32和MC68HC908GZ60)和4個(gè)從節(jié)點(diǎn)(MC68HC908GR60、MC68HC908EY16、MC68HC908QY和MC68HC908QL組成。每個(gè)LIN節(jié)點(diǎn)上,都提供了調(diào)試和編程接口(BDM接口(16位單片機(jī))和CYCLONE/Multilink08接口(8位單片機(jī))),同時(shí)每個(gè)節(jié)點(diǎn)還有1個(gè)RS232的串口,可以和PC通信。主節(jié)點(diǎn)有兩種工作模式,兩種模式的切換由1個(gè)轉(zhuǎn)換開關(guān)來(lái)控制。

LIN總線睡眠模式(此模式下,與主節(jié)點(diǎn)相連的所有從節(jié)點(diǎn)都處于睡眠模式,主節(jié)點(diǎn)不發(fā)送任何幀頭。)

LIN總線工作模式(此模式下,主節(jié)點(diǎn)發(fā)送幀頭,LED燈用來(lái)顯示從節(jié)點(diǎn)LED的狀態(tài)。)

LIN總線工作模式下,主節(jié)點(diǎn)LED顯示LED狀態(tài)有變化的從節(jié)點(diǎn)LED狀態(tài)。每個(gè)從節(jié)點(diǎn)有4個(gè)LED燈,這些燈的狀態(tài)可以通過(guò)1個(gè)單片機(jī)的鍵盤中斷引腳來(lái)改變。主節(jié)點(diǎn)有8個(gè)LED燈,其中的右邊(低位)4個(gè)LED用來(lái)顯示從節(jié)點(diǎn)LED燈的狀態(tài),另外的左邊(高位)4個(gè)LED燈用來(lái)從節(jié)點(diǎn)的類型和ID號(hào),其中2個(gè)用來(lái)顯示節(jié)點(diǎn)類型(GR、EY、QY和QL),另外2用來(lái)顯示和此從節(jié)點(diǎn)類型相匹配的節(jié)點(diǎn)ID號(hào)最低的兩位。

這樣主節(jié)點(diǎn)上左邊(高位)4個(gè)LED為i*16的高4位。同時(shí),主節(jié)點(diǎn)上右邊(低位)4個(gè)LED用來(lái)顯示從節(jié)點(diǎn)LED的數(shù)值(同樣次序的LED燈亮)。

所有的從節(jié)點(diǎn)可以在不斷電情況下加入或者脫離總線。當(dāng)監(jiān)測(cè)到有新的從節(jié)點(diǎn)加入,主節(jié)點(diǎn)從0到7清除主節(jié)點(diǎn)的LED,然后把該節(jié)點(diǎn)存入主節(jié)點(diǎn)LED的顯示序列。當(dāng)監(jiān)測(cè)到有節(jié)點(diǎn)脫離總線時(shí)候,主節(jié)點(diǎn)從7到0清除主節(jié)點(diǎn)的LED,然后從主節(jié)點(diǎn)LED的顯示序列去掉該從節(jié)點(diǎn)。

正常工作模式下,復(fù)位后,每個(gè)從節(jié)點(diǎn)響應(yīng)對(duì)于該從節(jié)點(diǎn)ID(可以重新配置)的主接點(diǎn)幀頭,響應(yīng)的數(shù)據(jù)定義為2個(gè)字節(jié)。按動(dòng)從節(jié)點(diǎn)上的開關(guān),可以增加從節(jié)點(diǎn)上LED的值(從1到15,除去全為零的情況)。當(dāng)從節(jié)點(diǎn)上的LED值變化之后,主接點(diǎn)上的LED的右邊(低位)4個(gè)LED將顯示對(duì)應(yīng)從節(jié)點(diǎn)上LED的值。

在模式配置模式下,用戶可以改變從節(jié)點(diǎn)的ID。從節(jié)點(diǎn)的LED用來(lái)顯示本節(jié)點(diǎn)的ID號(hào)。從節(jié)點(diǎn)上第一位的LED點(diǎn)亮,表示XXXXXX00;第二位的LED點(diǎn)亮,表示XXXXXX01;第三位的LED點(diǎn)亮,表示XXXXXX10;第四位的LED點(diǎn)亮,表示XXXXXX11。

當(dāng)所有的從節(jié)點(diǎn)連接到主節(jié)點(diǎn)并且工作正常的時(shí)候,通過(guò)撥動(dòng)主節(jié)點(diǎn)上的1個(gè)開關(guān),我們可以很容易的讓從節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)。撥動(dòng)此開關(guān)到OFF檔,5秒鐘以后,GR60和EY16就進(jìn)入了睡眠(QY4不支持此操作)。

MC68HC908EY16的基本電路原理圖,它包含了LIN節(jié)點(diǎn)和3個(gè)跳線。值得注意的是,這些跳線只是在對(duì)芯片編程和調(diào)試的時(shí)候用到。對(duì)芯片編程和調(diào)試時(shí),需要用到的開發(fā)工具(MULTILIN08/12、CYCLONE08),通過(guò)這些工具再和PC相連。完整的電路圖,還包括一些編程接口和雙排接口(連接MCU的引腳到其他的應(yīng)用中)。

基本的LIN節(jié)點(diǎn)電路圖比較簡(jiǎn)單,主要包括MCU,LIN物理層接口和1個(gè)5V的電壓調(diào)節(jié)器。本電路中,物理層接口用MC33399,電壓調(diào)節(jié)器用的是LT1121,可以被Freescale一顆新的系統(tǒng)基礎(chǔ)芯片(SBC)所替換。MCU允許MC33399控制電壓調(diào)節(jié)器。當(dāng)LIN總線上沒(méi)有任何活動(dòng)時(shí),MC33399控制電壓調(diào)節(jié)器LT1121停止工作,從而使MCU掉電,使LIN從結(jié)點(diǎn)進(jìn)入睡眠狀態(tài),整個(gè)從節(jié)點(diǎn)的靜態(tài)電流將小于50微安。在從結(jié)點(diǎn)的電路板(除去QY4)上,我們可以看到所有的LED燈都關(guān)閉了(程序的最初設(shè)計(jì),使得當(dāng)MCU上電后,總是有1個(gè)LED燈是亮)。

其他節(jié)點(diǎn)得電路圖和MC68HC908EY16的差不多。48腳的GR60主要是用于一些高端應(yīng)用的LIN節(jié)點(diǎn)中,但是GR60沒(méi)有內(nèi)部時(shí)鐘,需要外接1個(gè)時(shí)鐘。GZ60和GR60比較接近,但是,GZ60主接點(diǎn)上多出了1個(gè)MC33388的CAN接口。C32是16位單片機(jī),和8位單片機(jī)相比,它有了BDM模塊,相對(duì)于8位單片機(jī)的MULTILINK接口,調(diào)試簡(jiǎn)單了很多。

DEMO軟件結(jié)構(gòu)

1.主節(jié)點(diǎn)的軟件結(jié)構(gòu)

主節(jié)點(diǎn)的軟件流程圖。在單片機(jī)和LIN驅(qū)動(dòng)程序初始化以后,通過(guò)主節(jié)點(diǎn)PCB板上的1個(gè)開關(guān),調(diào)整LIN是否被允許工作。如果睡眠,主節(jié)點(diǎn)上的LED燈會(huì)關(guān)閉;如果LIN總線工作,則主函數(shù)Main將會(huì)周期的發(fā)送幀頭到從節(jié)點(diǎn)。所有的ID號(hào)(如表1)在idList[16]中定義。如果函數(shù)LIN_MSG_STATUS()顯示有對(duì)應(yīng)于幀頭的特定ID,從節(jié)點(diǎn)有反應(yīng),則反饋回來(lái)的數(shù)據(jù)被讀取,同時(shí),檢查idActiveList[16]判斷這是否為新的LIN從節(jié)點(diǎn),如果是,則idActiveList[16]對(duì)應(yīng)的位置1,然后NewNode()函數(shù)被執(zhí)行,節(jié)點(diǎn)的LED燈顯示有新的節(jié)點(diǎn)加入。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉