基于ARM的混合動(dòng)力客車液晶顯示系統(tǒng)的研制
引言
混合動(dòng)力汽車HEV(Hybrid-Electric Vehicle)在解決能源利用和環(huán)境保護(hù)上具有廣闊的前景,目前在國(guó)內(nèi)的研制尚處于起步階段。由于涉及到兩套系統(tǒng)(發(fā)動(dòng)機(jī)與電動(dòng)機(jī))的協(xié)調(diào)工作、發(fā)動(dòng)機(jī)的動(dòng)力性能的控制、降低能源消耗以及污染氣體排放等問題,需要對(duì)客車的內(nèi)部參數(shù)進(jìn)行實(shí)時(shí)觀測(cè),以詳細(xì)了解它的運(yùn)行狀態(tài)。因此,一款能夠直觀地顯示客車運(yùn)行狀態(tài)的儀表是必不可少的。對(duì)于這樣一個(gè)集內(nèi)燃機(jī)動(dòng)力和電動(dòng)機(jī)動(dòng)力為一體的高復(fù)雜的系統(tǒng),若要顯示其內(nèi)部大量的狀態(tài)參數(shù),僅依靠傳統(tǒng)的傳感器來傳遞信息顯然是不切實(shí)際的,因此充分利用其內(nèi)部現(xiàn)有的CAN(Controller Area Network)通訊網(wǎng)絡(luò),開發(fā)一款CAN通訊接口的液晶顯示系統(tǒng)尤為重要。
系統(tǒng)結(jié)構(gòu)
該系統(tǒng)使用ARM芯片作為主控芯片,從CAN總線上獲得數(shù)據(jù)并通過液晶屏快速、形象地顯示客車的運(yùn)行狀態(tài),因此該系統(tǒng)應(yīng)包括基本的硬件電路、數(shù)據(jù)通訊、操作系統(tǒng)和應(yīng)用程序等4個(gè)組成部分。其系統(tǒng)框圖如圖1。
引言
混合動(dòng)力汽車HEV(Hybrid-Electric Vehicle)在解決能源利用和環(huán)境保護(hù)上具有廣闊的前景,目前在國(guó)內(nèi)的研制尚處于起步階段。由于涉及到兩套系統(tǒng)(發(fā)動(dòng)機(jī)與電動(dòng)機(jī))的協(xié)調(diào)工作、發(fā)動(dòng)機(jī)的動(dòng)力性能的控制、降低能源消耗以及污染氣體排放等問題,需要對(duì)客車的內(nèi)部參數(shù)進(jìn)行實(shí)時(shí)觀測(cè),以詳細(xì)了解它的運(yùn)行狀態(tài)。因此,一款能夠直觀地顯示客車運(yùn)行狀態(tài)的儀表是必不可少的。對(duì)于這樣一個(gè)集內(nèi)燃機(jī)動(dòng)力和電動(dòng)機(jī)動(dòng)力為一體的高復(fù)雜的系統(tǒng),若要顯示其內(nèi)部大量的狀態(tài)參數(shù),僅依靠傳統(tǒng)的傳感器來傳遞信息顯然是不切實(shí)際的,因此充分利用其內(nèi)部現(xiàn)有的CAN(Controller Area Network)通訊網(wǎng)絡(luò),開發(fā)一款CAN通訊接口的液晶顯示系統(tǒng)尤為重要。
系統(tǒng)結(jié)構(gòu)
該系統(tǒng)使用ARM芯片作為主控芯片,從CAN總線上獲得數(shù)據(jù)并通過液晶屏快速、形象地顯示客車的運(yùn)行狀態(tài),因此該系統(tǒng)應(yīng)包括基本的硬件電路、數(shù)據(jù)通訊、操作系統(tǒng)和應(yīng)用程序等4個(gè)組成部分。其系統(tǒng)框圖如圖1。
針對(duì)結(jié)合混合動(dòng)力客車對(duì)儀表的要求,該系統(tǒng)的硬件電路應(yīng)具有以下特點(diǎn):
1)高度集成的主控芯片,要集成LCD控制器、觸摸屏控制器、兩個(gè)CAN總線控制器及PWM控制器等,該芯片應(yīng)有較高的工作頻率,能在溫差較大、環(huán)境比較復(fù)雜的條件下工作;
2)具有容量較大、數(shù)據(jù)讀取速度較快的存儲(chǔ)器;
3)穩(wěn)定可靠的電源系統(tǒng),保證安全供電的同時(shí),能有效避免輸入電壓波動(dòng)帶來的不利影響;
4)采用CAN通訊方式,在整車通訊系統(tǒng)異常時(shí)應(yīng)具有適當(dāng)?shù)淖晕冶Wo(hù)能力。
根據(jù)以上特點(diǎn),Hynix公司生產(chǎn)的基于ARM構(gòu)架的HMS30C7202芯片可滿足這種高集成化的要求,該芯片集成了兩個(gè)CAN控制器,可滿足儀表需要兩路CAN信號(hào)的要求。此外,HMS30C7202還有以下特點(diǎn):集成LCD控制器,支持STN/TFT液晶顯示,可直接驅(qū)動(dòng)VGA顯示器;5路10位A/D,可直接把觸摸屏或話筒音頻設(shè)備接上;工作溫度-40℃~85℃,工業(yè)級(jí)別的溫度范圍;SDRAM控制器,DMA控制器等,這些特點(diǎn)都滿足對(duì)主控芯片的要求。在電源系統(tǒng)和數(shù)據(jù)通訊方面,為了適應(yīng)比較惡劣的工作環(huán)境,必須設(shè)計(jì)專用的模塊來保證系統(tǒng)安全穩(wěn)定的運(yùn)行。
操作系統(tǒng)方面選用嵌入式Linux操作系統(tǒng),利用其強(qiáng)大、穩(wěn)定的工作性能,大量開放的源代碼,不僅給應(yīng)用程序提供了安全穩(wěn)定的運(yùn)行平臺(tái),而且大大縮短了產(chǎn)品的開發(fā)周期,降低了開發(fā)成本。
應(yīng)用程序的編寫是基于Linux操作系統(tǒng)的,需要在Linux下開發(fā)。本儀表應(yīng)用程序的主要工作是對(duì)信息的接收以及顯示,在Linux操作系統(tǒng)的支持下,使圖像在液晶屏上的顯示非常容易。
系統(tǒng)硬件設(shè)計(jì)
硬件電路結(jié)構(gòu)
儀表的硬件電路結(jié)構(gòu)示意圖如圖2所示。
HMS30C7202及其他核心芯片
HMS30C7202是基于ARM720T的高集成度32位處理器,其CPU與內(nèi)部模塊之間采用了基于AMBA(Advanced Microcontroller Bus Architecture)總線標(biāo)準(zhǔn)的高級(jí)模塊連接設(shè)計(jì);RISC核,運(yùn)行速率可達(dá)70 MHz,適合于控制;8K的指令數(shù)據(jù)緩存;內(nèi)部2K的SRAM主要用于中斷服務(wù)程序,大大提高了中斷響應(yīng)速度;MMU單元,16位訪問寬度的內(nèi)存接口,可連接兩個(gè)16、64、128或256Mbit的SDRAM設(shè)備;ROM、FLASH、SRAM和SDRAM控制器,支持突發(fā)ROM處理,可以讓操作系統(tǒng)直接從ROM啟動(dòng)(ROM是32位的數(shù)據(jù)寬度,與SDRAM分離),指令運(yùn)行和DMA操作SDRAM可以并行;HMS30C7202外圍功能模塊包括支持DMA的LCD控制器,可使用單色或彩色STN和TFT(薄膜工藝學(xué))LCD,最大為640*480(VGA)的解析度,16位顏色,單色直接產(chǎn)生16個(gè)灰度級(jí)別;模擬功能塊有A/D、D/A和PLL等,片內(nèi)ADC接口模塊可用于電池檢測(cè)、音頻輸入和觸摸屏;它還為外圍設(shè)備提供了UART、USB、PS2和兩路CAN等串行通訊口。HMS30C7202幾乎包括了PC機(jī)的所有基本功能,是替代工控機(jī)的最佳方案。
除了主控芯片HMS30C7202,核心設(shè)備中還包括以下芯片:
FLASH:2片Intel的E28F640J3A,容量8MB,32位數(shù)據(jù)帶寬,用于存儲(chǔ)操作系統(tǒng)代碼。
SDRAM:2片現(xiàn)代的HY57V561620LT,容量32MB,用于應(yīng)用軟件運(yùn)行和調(diào)試。
EPROM:1片AM29F040,容量512KB,用于裝載Boot-Loader代碼。
CAN通訊模塊
CAN(Controller Area Network)也就是控制器局域網(wǎng),是一個(gè)串行的、異步的、多主機(jī)的通訊協(xié)議,它是全數(shù)字化、雙向的現(xiàn)場(chǎng)總線。CAN具有以下主要特性:多主站依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問;無破壞性的基于優(yōu)先權(quán)的仲裁;借助接收濾波的多地址幀傳送;發(fā)送期間若丟失仲裁或由于出錯(cuò)而遭破壞的幀可自動(dòng)重發(fā)送;配置靈活。這些特性使CAN總線得到了廣泛應(yīng)用。
在此模塊中使用82c250為核心芯片,以典型的CAN通訊電路為基礎(chǔ),考慮到在混合動(dòng)力客車運(yùn)行過程中有可能出現(xiàn)通訊異常的情況,因此在電路中加入自恢復(fù)保險(xiǎn)絲R16和R17對(duì)模塊進(jìn)行過流保護(hù)。當(dāng)CAN總線上電流過大時(shí),自恢復(fù)保險(xiǎn)絲就會(huì)自動(dòng)斷路,從而保護(hù)CAN模塊不被損壞;當(dāng)電流正常時(shí),自恢復(fù)保險(xiǎn)絲會(huì)自動(dòng)恢復(fù)通路,繼續(xù)與總線通訊。其電路圖如圖3所示。
電源模塊
針對(duì)轉(zhuǎn)換壓降大,輸入范圍寬的特點(diǎn),選用的開關(guān)電源型號(hào)為L(zhǎng)M2575-ADJ。LM2575-ADJ輸出電壓可調(diào),由反饋電路控制輸出5V或者12V,最大電流輸出為1A,從24V電源轉(zhuǎn)換為5V時(shí)轉(zhuǎn)換效率達(dá)到80%。同時(shí)為了加強(qiáng)電壓的穩(wěn)定性,儀表還采用了芯片7805做二級(jí)穩(wěn)壓。儀表的核心電源電路如圖4所示。
儀表從車載電池獲取24V電源,經(jīng)過電容C23濾波進(jìn)入開關(guān)電源芯片LM2575-ADJ,輸出端接二極管D4、濾波電感L3和濾波電容C28。該開關(guān)電源從輸出取樣作為反饋,R26、R28組成分壓電路,為芯片反饋引腳提供參考電壓。R26、R28的阻值分別為5.1K、1.2K,決定了二次穩(wěn)壓前電源電壓為6.5V。在該電路中,儀表的輸出電壓可用以下關(guān)系式計(jì)算:
VOUT=1.23(1+R26/R28)
二次穩(wěn)壓電源7805的輸入、輸出端分別接濾波電容C24、C25。輸出電容C25兼顧儲(chǔ)能緩沖作用。本儀表內(nèi)部電源部分包含如圖4所示的兩個(gè)電源模塊,為液晶屏背光提供12V電壓,其電路結(jié)構(gòu)與圖4相比省略了二次穩(wěn)壓,通過更換R26、R28的阻值,使電壓輸出為12V。由于HMS30C7202需要使用2.5V和3.3V的工作電壓,因此還要使用LM1117-3.3和LM1117-2.5把5V進(jìn)一步降壓。
系統(tǒng)軟件設(shè)計(jì)
開發(fā)環(huán)境的建立及內(nèi)核配置
本系統(tǒng)使用嵌入式Linux操作系統(tǒng)作為應(yīng)用程序運(yùn)行的平臺(tái),因此應(yīng)用程序的開發(fā)應(yīng)建立在Linux操作系統(tǒng)上。首先應(yīng)在安裝了Linux的PC機(jī)上建立交叉編譯環(huán)境,在此使用購(gòu)買芯片時(shí)附帶的開發(fā)環(huán)境HLDK,只需將光盤中的壓縮文件解壓到 /home文件夾下即可完成交叉編譯環(huán)境的安裝,然后在命令提示符下輸入登陸命令、賬號(hào)和密碼,顯示進(jìn)入/home/hms720目錄下,說明已進(jìn)入開發(fā)環(huán)境,這樣就可以進(jìn)行內(nèi)核和文件系統(tǒng)的配置了。
內(nèi)核與文件系統(tǒng)的配置與其他ARM芯片的配置大同小異,在此不再贅述,需要注意的就是在配置內(nèi)核時(shí),一定要選中CAN、LCD以及觸摸屏等模塊,這樣才能讓內(nèi)核獲得這些模塊的驅(qū)動(dòng)程序,確保硬件接口正常使用。配置好的內(nèi)核和文件系統(tǒng)通過特定的工具下載到硬件中即可上電運(yùn)行。
應(yīng)用程序的開發(fā)
儀表應(yīng)用程序的開發(fā)主要是對(duì)信息顯示方案的設(shè)計(jì),它體現(xiàn)了混合動(dòng)力汽車的特點(diǎn)并發(fā)揮了本儀表的特長(zhǎng),顯示方案流程如圖5所示。
儀表開機(jī)后首先進(jìn)入開機(jī)畫面,停留1秒鐘后進(jìn)入待機(jī)頁(yè)面,通過觸摸屏控制可進(jìn)入系統(tǒng)介紹、系統(tǒng)幫助、系統(tǒng)查詢及能流頁(yè)面,在系統(tǒng)查詢和能流頁(yè)面中,可點(diǎn)擊相應(yīng)區(qū)域進(jìn)入發(fā)動(dòng)機(jī)信息頁(yè)面、電機(jī)信息頁(yè)面、變速箱信息頁(yè)面、電池信息頁(yè)面和整車信息頁(yè)面,在這些頁(yè)面中可以清晰地顯示客車的相關(guān)信息。此外,如客車某部分出現(xiàn)故障,無論儀表在哪個(gè)頁(yè)面顯示,均可彈出故障頁(yè)面,直到故障排除為止。
結(jié)語(yǔ)
基于ARM7內(nèi)核的HMS30C7202為混合動(dòng)力客車液晶顯示系統(tǒng)的開發(fā)提供了較好的解決方案,它高度的集成化特性不僅完全滿足了混合動(dòng)力客車對(duì)儀表的需求,改進(jìn)了舊式儀表的缺陷,而且簡(jiǎn)化了硬件的電路設(shè)計(jì)和儀表的安裝步驟,同時(shí)降低了系統(tǒng)成本;針對(duì)儀表實(shí)際使用條件而專門設(shè)計(jì)的電源模塊和CAN通訊模塊使儀表能夠在惡劣的環(huán)境中穩(wěn)定工作;嵌入式Linux為儀表提供了穩(wěn)定的軟件運(yùn)行環(huán)境、豐富的底層驅(qū)動(dòng)程序,從而增強(qiáng)了儀表的性能,縮短了驅(qū)動(dòng)程序開發(fā)周期。
評(píng)論