新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于can總線技術(shù)的電子控制系統(tǒng)單元在汽車網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用

基于can總線技術(shù)的電子控制系統(tǒng)單元在汽車網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用

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


2.3 狀態(tài)量輸入模塊

狀態(tài)量輸入模塊主要是將一些人為操作的效果(如大燈開(kāi)關(guān)、轉(zhuǎn)向燈開(kāi)關(guān))、車身狀態(tài)(如車門、窗的開(kāi)關(guān))及內(nèi)部狀態(tài)信息(如油量、水溫)反饋給中心處理器。中心處理器對(duì)反饋信息進(jìn)行分析處理,就可以準(zhǔn)確判斷本車所處的狀況,并做出相應(yīng)的操作。

外部狀態(tài)信息可以分為開(kāi)關(guān)量和模擬量。通過(guò)一系列外圍電路(如整形防顫電路),我們將開(kāi)關(guān)量轉(zhuǎn)換成cpu可識(shí)別的0v和+5v高低電平。在模擬量處理上,先經(jīng)過(guò)歸一化處理電路,將水溫、油量、氣壓、室溫的變化轉(zhuǎn)化為0v到5v之間電信號(hào),然后通過(guò)lpc2119內(nèi)嵌的4路10位ad轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字量。利用現(xiàn)有的can通信模塊將這些數(shù)字量傳輸?shù)今{駛員附近的單元,再經(jīng)過(guò)d/a轉(zhuǎn)換器,反應(yīng)在儀器儀表上。

3 單元軟件設(shè)計(jì)

對(duì)于lpc2119微處理器來(lái)說(shuō),can控制器完全是基于事件觸發(fā)的,即在本身狀態(tài)發(fā)生改變時(shí),can控制器會(huì)將狀態(tài)變化的結(jié)果告訴微處理器。因此中心微處理器可以采用中斷的方式或者輪詢的方式對(duì)can控制器作出相應(yīng)的處理。完整的can固件編程層次結(jié)構(gòu)圖如圖3所示。

單元按規(guī)定格式和周期發(fā)送數(shù)據(jù)到總線上,同時(shí)根據(jù)需要各取所需的報(bào)文。對(duì)于接收數(shù)據(jù),本系統(tǒng)采用中斷的方式實(shí)現(xiàn),一旦中斷發(fā)生,即將接收的數(shù)據(jù)自動(dòng)裝載到相應(yīng)的報(bào)文寄存器中。此時(shí)利用屏蔽濾波寄存器對(duì)接收?qǐng)?bào)文的標(biāo)識(shí)符和預(yù)先在接收緩沖器初始化時(shí)設(shè)定的標(biāo)識(shí)符進(jìn)行有選擇地逐位比較,只有標(biāo)識(shí)符匹配的報(bào)文才能進(jìn)入接收緩沖器,那些不符合要求的報(bào)文將被屏蔽于接收緩沖器外,從而減輕cpu處理報(bào)文的負(fù)擔(dān)。各電子控制系統(tǒng)單元的應(yīng)用層程序都不一樣,但是通信模塊的應(yīng)用程序基本上一致,可分為can初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。

3.1 can初始化程序

can初始化程序主要用來(lái)實(shí)現(xiàn)can工作時(shí)的參數(shù)設(shè)置,其初始化主要內(nèi)容包括:硬件使能can、設(shè)置can報(bào)警界限、設(shè)置總線波特率、設(shè)置中斷工作方式、設(shè)置can驗(yàn)收濾波器的工作方式、設(shè)置can控制器的工作模式等。初始化流程圖如圖4所示。


3. 2 發(fā)送數(shù)據(jù)程序

對(duì)can模塊初始化成功后,就可以用它來(lái)傳送報(bào)文。節(jié)點(diǎn)向總線上發(fā)送報(bào)文的過(guò)程是:

lpc2119將待發(fā)送的數(shù)據(jù)按can格式組成一幀報(bào)文,寫(xiě)入can模塊發(fā)送緩沖區(qū),然后啟動(dòng)發(fā)送命令,將報(bào)文發(fā)送到總線上。發(fā)送流程圖如圖5所示。

在使用發(fā)送函數(shù)時(shí)有一點(diǎn)必須注意,因?yàn)樵趩?dòng)發(fā)送數(shù)據(jù)的命令后,can控制器要將緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)送完畢后,才會(huì)將該幀數(shù)據(jù)是否發(fā)送成功的狀態(tài)返回。這樣如果在函數(shù)里一直等待數(shù)據(jù)發(fā)送完畢,會(huì)使整個(gè)微處理器的性能下降。為了避免這種情況,該函數(shù)在啟動(dòng)發(fā)送后便立即返回,通過(guò)發(fā)送中斷或者利用查詢tcs狀態(tài)位判斷是否發(fā)送成功。

3.3 接收數(shù)據(jù)程序

本設(shè)計(jì)中,我們采用中斷的方式進(jìn)行can總線上的數(shù)據(jù)接收。當(dāng)lpc2119的can控制器出現(xiàn)內(nèi)部中斷時(shí),我們先識(shí)別中斷寄存器的ri位,判斷是否為接收中斷,然后讀取接收緩沖區(qū)的內(nèi)容。其接收流程圖如圖6所示。


4 結(jié)論

實(shí)踐證明,基于,帶arm7內(nèi)核的汽車電子控制系統(tǒng)單元空間小,實(shí)效性高。特別是它的數(shù)據(jù)通信具有很強(qiáng)的實(shí)時(shí)性、更高的可靠性和更好的抗干擾能力,即使在重負(fù)荷下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓的情況,但投入實(shí)用化仍需要進(jìn)一步的研究和改進(jìn),且程序的通信處理能力、糾錯(cuò)和容錯(cuò)能力有待進(jìn)一步的提高。

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

評(píng)論


相關(guān)推薦

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

關(guān)閉