《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 燃料電池城市客車數(shù)據(jù)支持系統(tǒng)設(shè)計(jì)

燃料電池城市客車數(shù)據(jù)支持系統(tǒng)設(shè)計(jì)

2009-05-04
作者:胡明寅,,華劍鋒,,林辛凡,徐梁飛,,

??? 摘? 要: 為了獲取并分析燃料電池城市客車的運(yùn)行數(shù)據(jù),,研究燃料電池發(fā)動(dòng)機(jī)在長(zhǎng)期運(yùn)行下的性能變化和進(jìn)行控制策略優(yōu)化,,建立了相關(guān)的數(shù)據(jù)支持系統(tǒng)。本文所設(shè)計(jì)的數(shù)據(jù)支持系統(tǒng),,使用低成本大容量的Micro-SD卡作為數(shù)據(jù)存儲(chǔ)器,,實(shí)現(xiàn)大量運(yùn)行數(shù)據(jù)的記錄。在處理器方面,,采用燃料電池發(fā)動(dòng)機(jī)主控制器MPC5xx的TPU模塊作為處理單元,,無需增加額外的計(jì)算單元,同時(shí)該系統(tǒng)在運(yùn)行過程中不影響主控制任務(wù)的實(shí)時(shí)性,。?

????關(guān)鍵詞: 燃料電池,;ECU;數(shù)據(jù)支持,;TPU

?

??? 在“863”國(guó)家重大專項(xiàng)燃料電池城市客車項(xiàng)目中,,燃料電池發(fā)動(dòng)機(jī)占有舉足輕重的地位。隨著對(duì)燃料電池控制研究的逐漸深入,,新的控制策略需要了解燃料電池在車用惡劣環(huán)境下的性能變化,,以及燃料電池同其他部件之間的配合情況,。因此,設(shè)計(jì)專用的燃料電池?cái)?shù)據(jù)支持系統(tǒng)以記錄并分析其運(yùn)行數(shù)據(jù)對(duì)于分析燃料電池發(fā)動(dòng)機(jī)在車用工況下的特性有著十分重要的意義,。?

??? 傳統(tǒng)的車用數(shù)據(jù)記錄系統(tǒng)一般用于記錄交通事故發(fā)生前一段時(shí)間(如15min內(nèi))汽車的一些運(yùn)行參數(shù),,其作用類似于飛機(jī)上的“黑匣子”。傳統(tǒng)車用數(shù)據(jù)記錄系統(tǒng)記錄的數(shù)據(jù)僅為影響到汽車行駛安全的關(guān)鍵參數(shù),,如剎車信號(hào),、安全氣囊等,其存儲(chǔ)數(shù)據(jù)的時(shí)間跨度不長(zhǎng),,并且隨著車輛的運(yùn)行,,新的數(shù)據(jù)會(huì)覆蓋前次記錄的數(shù)據(jù)。而燃料電池?cái)?shù)據(jù)支持系統(tǒng)的設(shè)計(jì)目的為分析燃料電池客車的運(yùn)行狀態(tài)以及燃料電池在車用條件下的性能,,需要記錄整車所有的運(yùn)行參數(shù),。同時(shí),為了保證記錄數(shù)據(jù)在時(shí)間上的完整性,,在記錄數(shù)據(jù)被導(dǎo)入數(shù)據(jù)分析系統(tǒng)進(jìn)行處理和保存之前,,已記錄數(shù)據(jù)不會(huì)被覆蓋。本文所述的數(shù)據(jù)支持系統(tǒng),,利用燃料電池控制器的TPU模塊作為控制單元,,可在既不影響主控制任務(wù)實(shí)時(shí)性又不增加額外控制器的前提下進(jìn)行數(shù)據(jù)的存儲(chǔ)和時(shí)間的獲取。?

??? 本文所述的數(shù)據(jù)支持系統(tǒng),,不僅適用于燃料電池發(fā)動(dòng)機(jī)控制系統(tǒng),,還具有較強(qiáng)的適應(yīng)性,稍加改動(dòng)即可應(yīng)用于多種控制器,。?

1 數(shù)據(jù)支持系統(tǒng)處理器選型?

??? 常規(guī)的車用數(shù)據(jù)記錄系統(tǒng)有兩種方案:直接在控制單元的處理器上進(jìn)行數(shù)據(jù)記錄功能的開發(fā),,或者使用額外的處理器進(jìn)行數(shù)據(jù)記錄功能的開發(fā)。前者的優(yōu)點(diǎn)是可以直接利用控制程序中的變量作為存儲(chǔ)數(shù)據(jù),,無需進(jìn)行額外的變量傳遞和采集,,但是處理器在執(zhí)行數(shù)據(jù)存儲(chǔ)任務(wù)時(shí)會(huì)占用正常工作資源,降低控制單元的實(shí)時(shí)性能,;后者在運(yùn)行過程中雖然不占用主控制器資源,,但是需要通過外部總線、雙口RAM,、模擬量采集等方式來獲取存儲(chǔ)數(shù)據(jù),,設(shè)計(jì)較為復(fù)雜,并且增加成本,??傊瑑煞N常用的方案各有利弊,。?

??? 在燃料電池城市客車控制系統(tǒng)中,,燃料電池發(fā)動(dòng)機(jī)控制任務(wù)較多,加入數(shù)據(jù)支持系統(tǒng)后,,無疑會(huì)增加控制器CPU的負(fù)擔(dān),,降低控制的實(shí)時(shí)性與可靠性。另一方面,,燃料電池?cái)?shù)據(jù)支持系統(tǒng)需要記錄的數(shù)據(jù)較多,,如采用單獨(dú)的處理器,則需要進(jìn)行大量的數(shù)據(jù)交換工作,,會(huì)顯著增加成本,。本文針對(duì)所述兩種方案的弊端,設(shè)計(jì)了一種新的數(shù)據(jù)支持系統(tǒng)方案——使用燃料電池發(fā)動(dòng)機(jī)電控單元處理器中的TPU模塊作為數(shù)據(jù)支持系統(tǒng)的運(yùn)算單元,。?

??? 燃料電池控制器數(shù)字核心為Freescale公司的MPC5xx系列單片機(jī),,相對(duì)于其他大部分車用處理器,該系列單片機(jī)擁有獨(dú)特的TPU模塊,。TPU(Timer Processor Unit),,即時(shí)間處理單元。在該模塊的結(jié)構(gòu)中,,包括獨(dú)立的運(yùn)算單元,、程序空間、內(nèi)存區(qū)域,、中斷系統(tǒng),、端口,可以認(rèn)為TPU是一個(gè)嵌入在MPC5xx內(nèi)部的小型微處理器,。?

??? 同常規(guī)的單片機(jī)程序不同,,TPU模塊的程序由微碼編寫,經(jīng)過編譯器編譯后,,集成在主程序工程文件中并由下載線燒寫到單片機(jī)的Flash中,。單片機(jī)復(fù)位完成后,在初始化任務(wù)中將TPU程序下載到TPU模塊的程序內(nèi)存,,即DPTRAM中(如圖1左所示),。在此后的正常運(yùn)行過程中,CPU總線同DPTRAM斷開(如圖1右所示),,TPU模塊通過TPU內(nèi)部總線從DPTRAM中取指令,,并在TPU模塊內(nèi)部的運(yùn)算單元中執(zhí)行,TPU擁有獨(dú)立的RAM區(qū)和寄存器進(jìn)行臨時(shí)變量的存放,。因此,,在正常運(yùn)行過程中,TPU和CPU是相互獨(dú)立的處理器,,TPU的運(yùn)行不占用CPU資源,,從而不會(huì)影響主控制任務(wù)的實(shí)時(shí)性,。?

?

?

??? 在程序的正常運(yùn)行過程中,TPU與CPU之間通過Host Interface(如圖2所示)進(jìn)行連接,,CPU可以通過修改HSR寄存器的值來觸發(fā)TPU運(yùn)行,,TPU可以通過產(chǎn)生CPU中斷的方式與CPU交互。此外,,CPU和TPU可以通過一段公共的內(nèi)存單元(Parameter RAM)交換數(shù)據(jù),。MPC5xx系列單片機(jī)擁有兩個(gè)獨(dú)立的TPU模塊——TPUA和TPUB,共有8 KB的程序存儲(chǔ)空間,。每個(gè)TPU模塊擁有16路輸入/輸出通道,,以及256 B的Parameter RAM、2個(gè)定時(shí)器,,并可觸發(fā)16路中斷,,能夠獨(dú)立完成較為復(fù)雜的任務(wù)。?

?

?

??? 在常規(guī)的發(fā)動(dòng)機(jī)控制中,,TPU常用于柴油機(jī)的噴油控制等工作,。然而,在燃料電池控制體系中,,控制器基于CAN網(wǎng)絡(luò)控制,,TPU模塊在實(shí)際控制中使用不多。在本文中,,使用燃料電池控制器中空閑的TPU模塊作為數(shù)據(jù)支持系統(tǒng)的運(yùn)算單元,,并不影響主控制任務(wù)的實(shí)時(shí)性能。同時(shí),,該方案不需要增加單獨(dú)的控制器單元,,簡(jiǎn)化了硬件設(shè)計(jì),節(jié)約了成本,。因此,,該方案可以很好地彌補(bǔ)兩種常用車用數(shù)據(jù)記錄方案的缺陷。設(shè)計(jì)控制部分的框圖如圖3所示,,采用數(shù)字核心MPC5xx系列的TPUA控制數(shù)據(jù)存儲(chǔ)模塊,,TPUB控制時(shí)間日歷模塊。?

?

?

2 硬件設(shè)計(jì)?

??? 燃料電池?cái)?shù)據(jù)支持系統(tǒng)的硬件部分包括時(shí)間日歷模塊和數(shù)據(jù)存儲(chǔ)模塊兩部分,。前者的作用是為記錄的數(shù)據(jù)提供時(shí)間參考,,后者的作用是存儲(chǔ)數(shù)據(jù)。?

2.1 時(shí)間日歷模塊?

??? 為了在燃料電池發(fā)動(dòng)機(jī)電控單元斷電后保持?jǐn)?shù)據(jù)記錄系統(tǒng)時(shí)間參考的準(zhǔn)確性,,采用了獨(dú)立的時(shí)鐘芯片DS12CR887來獲取當(dāng)前時(shí)間,。該芯片集成了時(shí)鐘振蕩器和內(nèi)置電池,無需外部供電和驅(qū)動(dòng)電路,,同TPU的接口為并口,。?

??? 時(shí)鐘芯片DS12CR887擁有128 B的內(nèi)存單元,,包括年、月,、日,、星期、小時(shí),、分,、秒寄存器以及三個(gè)控制寄存器,,還有114 B的通用內(nèi)存,。由于內(nèi)置電池的作用,無論ECU上電與否,,時(shí)鐘芯片都在運(yùn)行之中,;任何時(shí)刻,ECU都可以通過并口讀取時(shí)鐘芯片內(nèi)存得到當(dāng)前的絕對(duì)時(shí)間,。該芯片對(duì)于少于31天的月份可自行調(diào)整,,還可進(jìn)行閏年補(bǔ)償。該時(shí)鐘芯片精度較高,,在25℃的環(huán)境下,,每月的誤差不超過1min。?

2.2 數(shù)據(jù)存儲(chǔ)模塊?

??? 燃料電池?cái)?shù)據(jù)支持系統(tǒng)記錄的數(shù)據(jù)量大,,記錄時(shí)間跨度長(zhǎng),,對(duì)存儲(chǔ)器的容量要求很高。同時(shí),,為了便于嵌入燃料電池電控單元,,應(yīng)盡量減少存儲(chǔ)器的體積。除此之外,,成本問題也是需要考慮的因素,。在比較了U盤、SD卡和EEPROM三種存儲(chǔ)器后,,選擇了容量體積比最大且價(jià)格低廉的SD卡作為本數(shù)據(jù)支持系統(tǒng)的存儲(chǔ)設(shè)備,。?

??? 本文采用Kingston公司2 GB的Micro-SD卡作為存儲(chǔ)器,Micro-SD卡的體積很小,,可以很方便地通過卡座安裝在電路板上,,便于拆卸。按照一天工作8小時(shí)計(jì)算,,2 GB的容量可以存儲(chǔ)140天的運(yùn)行數(shù)據(jù),,對(duì)于實(shí)際記錄來說,該性能可以完全滿足要求,。在設(shè)計(jì)中,,使用數(shù)字核心MPC5xx的TPUA模塊對(duì)Micro-SD卡進(jìn)行操作,,兩者之間利用串行SPI協(xié)議進(jìn)行通信。由于Micro-SD卡的供電系統(tǒng)和信號(hào)系統(tǒng)都是3.3 V標(biāo)準(zhǔn),,而ECU的數(shù)字核心為5 V標(biāo)準(zhǔn),,因此在通信接口之間采用電平轉(zhuǎn)換芯片進(jìn)行信號(hào)轉(zhuǎn)換,并且增加獨(dú)立的電源模塊,。該部分的硬件原理如圖4所示,。?

?

?

3 軟件設(shè)計(jì)?

3.1 時(shí)間日歷系統(tǒng)軟件設(shè)計(jì)?

??? 時(shí)鐘日歷模塊中,時(shí)鐘芯片與單片機(jī)的接口為8位地址/數(shù)據(jù)復(fù)用的并行接口,。采用Motorola總線讀寫時(shí)序(如圖5所示),,利用TPU模塊的16個(gè)端口模擬并口時(shí)序?qū)r(shí)鐘的總線進(jìn)行操作。時(shí)鐘芯片DS12CR887出廠時(shí),,計(jì)時(shí)鏈處于關(guān)閉狀態(tài),,因此,在燃料電池ECU的調(diào)試階段需要校準(zhǔn)時(shí)鐘并使能時(shí)鐘的計(jì)時(shí)鏈,。校準(zhǔn)的方法為向時(shí)間日期寄存器直接寫入當(dāng)前的時(shí)間日期,,并置位DS12CR887芯片控制寄存器的計(jì)時(shí)鏈開啟標(biāo)志位來啟動(dòng)時(shí)鐘芯片運(yùn)行。?

?

?

??? 正常工作后,,TPU模塊通過讀取各內(nèi)存的數(shù)據(jù)得到當(dāng)前的絕對(duì)時(shí)間,,并將各時(shí)間變量存入Parameter RAM,CPU通過讀取Parameter RAM得到當(dāng)前的時(shí)間,。?

3.2 數(shù)據(jù)存儲(chǔ)系統(tǒng)軟件設(shè)計(jì)?

??? 數(shù)據(jù)存儲(chǔ)模塊中,,存儲(chǔ)器Micro-SD卡采用SPI協(xié)議與單片機(jī)進(jìn)行通信。對(duì)該芯片的操作時(shí)序主要有四種:復(fù)位,、初始化,、讀、寫,。相對(duì)于普通的SPI協(xié)議,,Micro-SD卡通信協(xié)議較為復(fù)雜,一個(gè)基本的操作往往需要持續(xù)幾千個(gè)時(shí)鐘周期(如圖6所示的SD卡寫時(shí)序),,TPU模塊的微碼編程只能實(shí)現(xiàn)比較簡(jiǎn)單的條件分支以及運(yùn)算,。因此,本文在設(shè)計(jì)中,,優(yōu)化了程序結(jié)構(gòu)以適應(yīng)復(fù)雜的SPI時(shí)序,;同時(shí),考慮到TPU的程序內(nèi)存只有8 KB,,在編程時(shí)需要注意對(duì)程序優(yōu)化,,以節(jié)約代碼空間。程序運(yùn)行過程中,CPU和TPU之間的數(shù)據(jù)交換依然通過Parameter RAM實(shí)現(xiàn),。?

?

?

??? 數(shù)字核心MPC561的TPU模塊中,,Parameter RAM區(qū)總共只有256 B,但是SD卡一次寫入的最小單位為一個(gè)block,,即512 B,。為了將512 B的變量從CPU連續(xù)地寫入Micro-SD卡,本文設(shè)計(jì)了緩存協(xié)議,,即TPU從RAM區(qū)的低地址開始寫,,每寫入128 B后產(chǎn)生TPU中斷,通知CPU更新已讀區(qū)域的數(shù)據(jù),。這樣便保證了TPU對(duì)Micro-SD卡寫時(shí)序操作的連續(xù)性,,其控制流程如圖7所示。?

?

?

??? 本文設(shè)計(jì)了一種針對(duì)燃料電池城市客車的數(shù)據(jù)支持系統(tǒng),。該系統(tǒng)可以持續(xù)實(shí)時(shí)記錄燃料電池客車的所有運(yùn)行數(shù)據(jù),,在運(yùn)行過程中為燃料電池客車提供絕對(duì)時(shí)間參照,,并配套相應(yīng)的上位機(jī)處理軟件對(duì)數(shù)據(jù)進(jìn)行整理分析,。相對(duì)于傳統(tǒng)的車用數(shù)據(jù)支持系統(tǒng),本系統(tǒng)無論從數(shù)據(jù)記錄量上還是時(shí)間跨度上都具有明顯優(yōu)勢(shì),。在處理器的選擇方面,,本文采用了獨(dú)特的TPU模塊進(jìn)行控制,使數(shù)字核心的資源得到了合理利用,,在節(jié)約成本的同時(shí)不影響主控制任務(wù)運(yùn)行的實(shí)時(shí)性,。經(jīng)過一段時(shí)間的使用,該系統(tǒng)能正常工作,,記錄的數(shù)據(jù)對(duì)燃料電池的控制策略起到了一定的參考作用,。?

參考文獻(xiàn)?

[1] 華劍鋒.新軟件技術(shù)在燃料電池城市客車控制系統(tǒng)中的應(yīng)用與研究.電子技術(shù)應(yīng)用,2007(4).?

[2] 張浩.基于?滋Clinux嵌入式系統(tǒng)的汽車黑匣子的設(shè)計(jì)與開發(fā).微計(jì)算機(jī)信息,,2006(14).?

[3] 牟順海.低成本汽車黑匣子的硬件系統(tǒng)設(shè)計(jì).計(jì)量與測(cè)試技術(shù),,2006(4).

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]