基于ARM的汽車電子控制系統(tǒng)單元設(shè)計
設(shè)計中,我們采用摩托羅拉公司生產(chǎn)的mc33888功率器件控制遠(yuǎn)光燈、近光燈、倒車燈、剎車燈。mc33888內(nèi)部集成有四路高端燈驅(qū)動器和8路繼電器或發(fā)光二極管驅(qū)動器,是一個可控制網(wǎng)絡(luò),具有在板診斷、與微控制器通信報錯能力及故障軟化等優(yōu)點(diǎn)。考慮到車內(nèi)燈和示廊燈的功率相對比較大,我們采用mc33487功率器件進(jìn)行控制。mc33487內(nèi)部集成兩路帶有電流感應(yīng)的20毫歐姆高端驅(qū)動器,電流輸出4.5a.感性負(fù)載以及大電流的短路保護(hù)是整個設(shè)計的難點(diǎn)。mc33887具有功耗低、等待模式下電流25微安、輸出電流超過8安的短路關(guān)斷等優(yōu)點(diǎn),所以系統(tǒng)采用mc33887功率器件對電機(jī)、鎖、天線、洗滌泵進(jìn)行控制。
2.2 人機(jī)通信模塊
為了提高駕駛員和乘客的舒適性、安全性,整個系統(tǒng)必須在人和機(jī)器之間建立良好的人機(jī)通信模塊。bc7281、鍵盤模塊及外圍的led之間的結(jié)合,構(gòu)造出人機(jī)通信模塊。bc7281是比高公司推出的16位數(shù)碼管顯示及鍵盤接口專用芯片。該芯片通過外接移位寄存器(74hc164、74ls595等)可控制16位數(shù)碼管或者128只獨(dú)立的led。bc7281的驅(qū)動輸出極性及輸出時序均可通過軟件進(jìn)行控制,從而和各種驅(qū)動電路配合,適合任何尺寸的數(shù)碼管。
通過人機(jī)通信模塊,人的意識能夠?yàn)闄C(jī)器所識別,同時機(jī)器也可以將一些相應(yīng)的狀態(tài)信息反饋到led或者lcd上,達(dá)到人機(jī)通信的可視化效果。
2 3 狀態(tài)量輸入模塊
狀態(tài)量輸入模塊主要是將一些人為操作的效果(如大燈開關(guān)、轉(zhuǎn)向燈開關(guān))、車身狀態(tài)(如車門、窗的開關(guān))及內(nèi)部狀態(tài)信息(如油量、水溫)反饋給中心處理器。中心處理器對反饋信息進(jìn)行分析處理,就可以準(zhǔn)確判斷本車所處的狀況,并做出相應(yīng)的操作。
外部狀態(tài)信息可以分為開關(guān)量和模擬量。通過一系列外圍電路(如整形防顫電路),我們將開關(guān)量轉(zhuǎn)換成cpu可識別的0v和+5v高低電平。在模擬量處理上,先經(jīng)過歸一化處理電路,將水溫、油量、氣壓、室溫的變化轉(zhuǎn)化為0v到5v之間電信號,然后通過lpc2119內(nèi)嵌的4路10位ad轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字量。利用現(xiàn)有的can通信模塊將這些數(shù)字量傳輸?shù)今{駛員附近的電子控制系統(tǒng)單元,再經(jīng)過d/a轉(zhuǎn)換器,反應(yīng)在儀器儀表上。
3 電子控制系統(tǒng)單元軟件設(shè)計
對于lpc2119微處理器來說,can控制器完全是基于事件觸發(fā)的,即在本身狀態(tài)發(fā)生改變時,can控制器會將狀態(tài)變化的結(jié)果告訴微處理器。因此中心微處理器可以采用中斷的方式或者輪詢的方式對can控制器作出相應(yīng)的處理。完整的can固件編程層次結(jié)構(gòu)圖如圖3所示。
各電子控制系統(tǒng)單元按規(guī)定格式和周期發(fā)送數(shù)據(jù)到總線上,同時根據(jù)需要各取所需的報文。對于接收數(shù)據(jù),本系統(tǒng)采用中斷的方式實(shí)現(xiàn),一旦中斷發(fā)生,即將接收的數(shù)據(jù)自動裝載到相應(yīng)的報文寄存器中。此時利用屏蔽濾波寄存器對接收報文的標(biāo)識符和預(yù)先在接收緩沖器初始化時設(shè)定的標(biāo)識符進(jìn)行有選擇地逐位比較,只有標(biāo)識符匹配的報文才能進(jìn)入接收緩沖器,那些不符合要求的報文將被屏蔽于接收緩沖器外,從而減輕cpu處理報文的負(fù)擔(dān)。
各電子控制系統(tǒng)單元的應(yīng)用層程序都不一樣,但是通信模塊的應(yīng)用程序基本上一致,可分為can初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。
3.1 can初始化程序
can初始化程序主要用來實(shí)現(xiàn)can工作時的參數(shù)設(shè)置,其初始化主要內(nèi)容包括:硬件使能can、設(shè)置can報警界限、設(shè)置總線波特率、設(shè)置中斷工作方式、設(shè)置can驗(yàn)收濾波器的工作方式、設(shè)置can控制器的工作模式等。初始化流程圖如圖4所示。
3. 2 發(fā)送數(shù)據(jù)程序
對can模塊初始化成功后,就可以用它來傳送報文。節(jié)點(diǎn)向總線上發(fā)送報文的過程是:lpc2119將待發(fā)送的數(shù)據(jù)按can格式組成一幀報文,寫入can模塊發(fā)送緩沖區(qū),然后啟動發(fā)送命令,將報文發(fā)送到總線上。發(fā)送流程圖如圖5所示。
評論