ARM嵌入式汽車節(jié)能控制系統(tǒng)
由于各種原因,公交車總是不斷重復(fù)加速―減速或停車―再加速的過(guò)程。通過(guò)加裝本節(jié)能裝置,當(dāng)汽車需要制動(dòng)時(shí),在主控單元的控制下,可將汽車行駛時(shí)具有的巨大動(dòng)能通過(guò)空氣壓縮機(jī)轉(zhuǎn)化成高壓氣體的勢(shì)能并儲(chǔ)存起來(lái),從而實(shí)現(xiàn)汽車減速或停車。當(dāng)汽車需要啟動(dòng)或加速時(shí),用儲(chǔ)存起來(lái)的高壓氣體勢(shì)能代替燃油來(lái)驅(qū)動(dòng)汽車,從而實(shí)現(xiàn)汽車能量的回收再利用,達(dá)到節(jié)能的效果。同時(shí)由于汽車在起動(dòng)或加速時(shí)能耗最大,如果汽車是用燃油驅(qū)動(dòng),則此時(shí)油料燃燒不充分,燃燒效果最差,而且產(chǎn)生的噪音最大。
系統(tǒng)工作原理
本系統(tǒng)主要由三部分組成,即檢測(cè)部分,控制部分和執(zhí)行機(jī)構(gòu)。檢測(cè)部分包括踏板位置傳感器、曲軸位置傳感器、壓縮機(jī)活塞位置傳感器、汽車運(yùn)行速度傳感器、儲(chǔ)氣罐壓力傳感器等信號(hào)的檢測(cè)。執(zhí)行機(jī)構(gòu)主要包括雙向可控電磁閥和電磁離合器??刂撇糠种饕?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/ARM">ARM微處理器組成的控制系統(tǒng)及一些外圍電路構(gòu)成。本文主要介紹該系統(tǒng)的控制部分。該裝置的作用就是將剎車時(shí)本應(yīng)由摩擦來(lái)消耗掉的汽車動(dòng)能,改為由氣體的勢(shì)能來(lái)消耗,在啟動(dòng)時(shí),利用剎車時(shí)儲(chǔ)氣罐內(nèi)儲(chǔ)存的高壓氣體勢(shì)能來(lái)驅(qū)動(dòng)汽車行走,當(dāng)車速到達(dá)一定值如20km/h 時(shí),再切換到由汽車發(fā)動(dòng)機(jī)驅(qū)動(dòng)的模式。
系統(tǒng)硬件設(shè)計(jì)
由于該節(jié)能裝置需檢測(cè)的模擬量較多,如儲(chǔ)氣罐內(nèi)的壓力、制動(dòng)踏板的位置、車速、活塞運(yùn)行位置和油門踏板位置等數(shù)據(jù),而且有些是需實(shí)時(shí)監(jiān)控的,如儲(chǔ)氣罐內(nèi)的壓力等,需要使用多任務(wù)執(zhí)行方可實(shí)現(xiàn),而普通單片機(jī)無(wú)法滿足這一要求。因此需根據(jù)實(shí)際情況,選用合適的處理器芯片,加上各種數(shù)據(jù)和程序存儲(chǔ)芯片構(gòu)成最小系統(tǒng)。同時(shí),增加數(shù)據(jù)采集、顯示、通信接口、控制執(zhí)行單元和電源管理模塊等,來(lái)組成一個(gè)完整的控制系統(tǒng)。由于目前汽車應(yīng)用CAN現(xiàn)場(chǎng)總線比較廣泛,因此,為了與汽車的控制系統(tǒng)連接的方便,還增加了CAN總線接口,由此構(gòu)成了整個(gè)硬件系統(tǒng)。系統(tǒng)的總體框圖如圖1所示。
圖1 系統(tǒng)框圖
由于設(shè)計(jì)要求系統(tǒng)能隨車采集信號(hào),并進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)主控模塊的要求較高,因此主控制模塊應(yīng)當(dāng)是以高性能的微處理器為核心而組成的一個(gè)最小系統(tǒng)。根據(jù)具體應(yīng)用的要求,實(shí)際應(yīng)用的反映情況,選用了Samsung公司的ARM芯片S3C44BOX,其主要性能如下:
Samsung公司推出的16/32位RISC處理器S3C44BOX為一般類型的應(yīng)用提供了高性價(jià)比和高性能的微控制器解決方案。為了降低成本, S3C44BOX提供了豐富的內(nèi)置部件,包括:8KB的Cache,內(nèi)部SRAM, LCD控制器,帶自動(dòng)握手的2通道DART, 4通道DMA,系統(tǒng)管理器(片選邏輯,F(xiàn)P/EDO/SDRAM控制器),帶有PWM功能的5通道定時(shí)器,I/O端口,RTC, 8通道10位ADC,IIC-BUS接口,IIS-BUS接口,同步SIO接口和PLL倍頻器。
S3C44BOX的突出特性是它的CPU核,是由ARM公司設(shè)計(jì)的16/32位ARM7TDMI RISC處理器(66MHz)。ARM7TDMI體系結(jié)構(gòu)的特點(diǎn)是它集成了Thumb代碼壓縮器,ICE (In Circuit Emulator)斷點(diǎn)調(diào)試支持,和一個(gè)32位的硬件乘法器。
數(shù)據(jù)采集單元
數(shù)據(jù)采集單元的作用就是對(duì)需要的模擬信號(hào)進(jìn)行采集、處理后送到處理器進(jìn)行處理。在該單元中,核心是對(duì)模擬信號(hào)的調(diào)理。由于系統(tǒng)要采集到汽車的儲(chǔ)氣罐內(nèi)的壓力數(shù)據(jù)、制動(dòng)踏板的位置數(shù)據(jù)、車速、離合器切合位置和油門踏板位置等數(shù)據(jù),因此需要多路數(shù)據(jù)采集通道。各通道的數(shù)據(jù)必須完成信號(hào)的調(diào)理后,才能送到處理器進(jìn)行處理。該采集單元的信號(hào)采集通道框圖如圖2所示。
圖2 信號(hào)采集通道
控制執(zhí)行單元的功能主要是接收處理器發(fā)出的數(shù)字量,經(jīng)過(guò)隔離及驅(qū)動(dòng)后,送到執(zhí)行機(jī)構(gòu)如電磁閥、繼電器、離合器等來(lái)使行相應(yīng)的動(dòng)作。功能框圖如圖3所示。
圖3 控制執(zhí)行單元
這一級(jí)相對(duì)來(lái)說(shuō)較為簡(jiǎn)單,但為了防止外界對(duì)系統(tǒng)的干擾,須采用隔離。隔離器件采用普通的光電禍器即可,系統(tǒng)中采用TLP521-1。
數(shù)據(jù)顯示模塊
在系統(tǒng)的設(shè)計(jì)中,為了對(duì)采集的數(shù)據(jù)進(jìn)行監(jiān)控,使得調(diào)試更為方便、直觀,因此增加了數(shù)據(jù)顯示模塊。S3C44BOX集成了LCD (Liquid Cristal Display)控制器,該控制器支持在LCD上的單色、4級(jí)、16級(jí)灰度、256色的顯示,具有很強(qiáng)的通用性,S3C44BOX的LCD控制器的作用是將緩存中的數(shù)據(jù)傳送到外部的LCD驅(qū)動(dòng)器,并產(chǎn)生必須的LCD控制信號(hào)。LCD控制器可以編程支持不同水平和垂直點(diǎn)數(shù)(640480,320240, 160160等)、不同數(shù)據(jù)線寬度、不同接口時(shí)序和刷新速率的LCD,支持4位雙掃描、4位單掃描、8位單掃描模式,并支持水平/垂直滾動(dòng),以用來(lái)支持更大的屏幕顯示(如1280 1280)。
由于不同尺寸的LCD具有不同數(shù)量的垂直和水平象素、數(shù)據(jù)接口、數(shù)據(jù)寬度、接口時(shí)間和刷新率,S3C44BOX中的LCD控制器可以對(duì)相應(yīng)的寄存器值進(jìn)行編程,以適應(yīng)不同的LCD顯示板。LCD控制器邏輯框圖如下圖4所示。
圖4 LCD控制器邏輯框圖
在本系統(tǒng)設(shè)計(jì)中,由外部供給系統(tǒng)單一的9V電源,通過(guò)三端穩(wěn)壓AS1117-5.0, AS1117-3.3和AS1117-2.5,分別得到5.0V, 3.3V以及2.5V。AS1117系列穩(wěn)壓器最大能提供800mA電流,由于本系統(tǒng)功耗較低,最大需求電流不超過(guò)300mA,因此用AS1117足以滿足系統(tǒng)的供電需求。另外的兩套15V電源由DC/DC變換器供給??紤]到系統(tǒng)中有數(shù)字電路和模擬電路,由于數(shù)字電路的電流變化較快,容易產(chǎn)生脈沖干擾,從而影響模擬信號(hào)的采樣精度,因此應(yīng)把數(shù)字地和模擬地分開。
調(diào)試接口
S3C44BOX內(nèi)嵌JTAG測(cè)試電路,使得調(diào)試起來(lái)非常方便。JTAG是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,主要用于芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試,JTAG技術(shù)是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了專門的測(cè)試電路TAP (Test Access Port,測(cè)試訪問(wèn)口),通過(guò)專用的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。JTAG測(cè)試允許多個(gè)器件通過(guò)JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)對(duì)各個(gè)器件分別測(cè)試。JTAG接口還常用于實(shí)現(xiàn)ISP(In System Programmable)功能,如對(duì)Flash器件進(jìn)行編程等。
目前JTAG接口的連接有兩種標(biāo)準(zhǔn),即14針接口和20針接口,在本設(shè)計(jì)中,采用的是14針的接口。該接口主要通過(guò)下載電路與計(jì)算機(jī)的并行口相連,在集成開發(fā)環(huán)境之下,使用相應(yīng)的JTAG下載代理軟件就可以用來(lái)進(jìn)行系統(tǒng)調(diào)試,而不需專門的仿真器,這樣可以降低開發(fā)的成本。
通信單元
在系統(tǒng)設(shè)計(jì)中,考慮到數(shù)據(jù)傳送、下載以及調(diào)試的方便,增加了串行通信RS-232C接口。另外,考慮到系統(tǒng)升級(jí)的方便,以及為了與現(xiàn)在流行的汽車總線接口的方便,增加了CAN現(xiàn)場(chǎng)總線的接口。
本系統(tǒng)中選用MAX232。MAX232可以實(shí)現(xiàn)TTL電平和RS-232電平之間的轉(zhuǎn)換。由于在實(shí)際應(yīng)用中,器件對(duì)電源噪聲很敏感,因此MAX232 的VCC引腳必須要對(duì)地加0.lmF去耦電容,另外,為提高抗干擾能力,添加了四個(gè)l0mF電容,在連接在內(nèi)部電源引腳輸出端。MAX232芯片第7, 8引腳接入分別到串行口的第3, 2引腳;9, 10引腳接處理器的RXD, TXD引腳,實(shí)現(xiàn)與處理器的連接。
需要注意的是, MAX232是5V器件,而處理器芯片是用的是3V供電,因此需要考慮電平轉(zhuǎn)換,否則將無(wú)法正常收發(fā)數(shù)據(jù)。由于Maxim公司已經(jīng)注意到這點(diǎn)并推出了專用 3V供電的器件MAX3232C,利用它就可以無(wú)需考率3V到5V的電平轉(zhuǎn)換問(wèn)題。MAX3232C與處理器的接口電路如圖5所示。
圖5 RS-232C與處理器的通信接口電路
在本系統(tǒng)中,主程序是整個(gè)程序的核心,擔(dān)負(fù)著系統(tǒng)的運(yùn)行、控制的主要任務(wù),需要對(duì)其控制流程進(jìn)行仔細(xì)考慮,以完成所需的控制要求。
在程序開始時(shí),首先對(duì)系統(tǒng)進(jìn)行初步的初始化。之后,采集各種數(shù)據(jù)并判斷數(shù)據(jù)是否正常,如果正常,則顯示數(shù)據(jù)并等待中斷,根據(jù)中斷轉(zhuǎn)向相應(yīng)的中斷服務(wù)子程序。如果數(shù)據(jù)不正常,則通過(guò)報(bào)警來(lái)提示用戶檢查數(shù)據(jù),直到數(shù)據(jù)正常才執(zhí)行其他程序。如果一切正常,且沒(méi)有剎車和啟動(dòng)等控制,則可以與其他設(shè)備進(jìn)行通信等操作。具體的流程見圖6所示。
圖6 系統(tǒng)主程序流程圖
要達(dá)到良好的系統(tǒng)控制效果需要在系統(tǒng)設(shè)計(jì)中非常注意它的抗干擾性和可靠性。本系統(tǒng)由于采用高速ARM作為核心處理器,它的高頻信號(hào)不僅容易受到干擾,而且也會(huì)成為系統(tǒng)的干擾源,因此有必要對(duì)整個(gè)系統(tǒng),特別是ARM部分的抗干擾及保護(hù)做更多的處理。
硬件部分,控制系統(tǒng)的電源及功率驅(qū)動(dòng)部分抗干擾措施主要就是從防和抗兩方面入手。其總原則是:抑制或消除干擾源;切斷干擾對(duì)系統(tǒng)的耦合通道;降低系統(tǒng)對(duì)干擾信號(hào)的敏感性??垢蓴_設(shè)計(jì)的具體措施包括:隔離、接地、屏蔽、濾波等常用方法。
軟件部分,本系統(tǒng)的軟件主要采用了以下幾種軟件抗干擾設(shè)計(jì):
軟件陷阱法
測(cè)試系統(tǒng)在遇到外界干擾時(shí),往往會(huì)導(dǎo)致運(yùn)行程序進(jìn)入程序存儲(chǔ)器的空白區(qū)(即無(wú)指令區(qū)),這種現(xiàn)象叫做程序“跑飛”。于是在各子程序之間、各功能模塊之間和所有空白處,都寫上連續(xù)3個(gè)空操作指令(nop),后接一無(wú)條件轉(zhuǎn)移指令,一旦程序跑飛到這些區(qū)域,就會(huì)自動(dòng)返回執(zhí)行正常程序。
程序的冗余設(shè)計(jì)
在程序存儲(chǔ)器的空白區(qū)域,寫入一些重要的數(shù)據(jù)表和程序作為備份,以便系統(tǒng)程序被破壞時(shí)仍有備份參數(shù)和程序維持系統(tǒng)正常工作。由于 TMS320LF2407A的數(shù)據(jù)存儲(chǔ)以數(shù)據(jù)頁(yè)為基準(zhǔn),如果對(duì)不同數(shù)據(jù)頁(yè)的數(shù)據(jù)進(jìn)行操作而不指定相應(yīng)的數(shù)據(jù)頁(yè),會(huì)導(dǎo)致程序跑飛。因此需要對(duì)程序未使用滿的數(shù)據(jù)頁(yè)進(jìn)行填充,防止數(shù)據(jù)頁(yè)混亂導(dǎo)致的系統(tǒng)誤操作。
結(jié)語(yǔ)
加裝了能量回收再利用裝置后,當(dāng)汽車在加速或重新起動(dòng)初期,可以利用存儲(chǔ)的高壓氣體驅(qū)動(dòng)汽車,不需要燃料,可以較少汽車尾氣對(duì)環(huán)境的污染。因此,該裝置不僅可以節(jié)約能源,而且有利于環(huán)保。
參考文獻(xiàn):
1. 徐達(dá)等編著,現(xiàn)代汽車電子裝置及控制技術(shù),人民交通出版社,1998
2. 周立功等編著,ARM嵌入式系統(tǒng)基礎(chǔ)教程,北京航空航天大學(xué)出版社,2005
3. 馬忠梅等編著,ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ),北京航空航天大學(xué)出版社,2002
4. 謝金明編著,高速數(shù)字電路設(shè)計(jì)與噪聲控制技術(shù),電子工業(yè)出版社,2003 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論