《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM9和MPC56x的燃料電池發(fā)動(dòng)機(jī)雙核主控制器的研制
基于ARM9和MPC56x的燃料電池發(fā)動(dòng)機(jī)雙核主控制器的研制
李建秋,林辛凡,華劍鋒,徐梁飛
清華大學(xué) 汽車(chē)安全與節(jié)能?chē)?guó)家重點(diǎn)實(shí)驗(yàn)室,北京100084
摘要: 燃料電池發(fā)動(dòng)機(jī)控制系統(tǒng)具有輸入輸出通道多、控制變量多和控制算法復(fù)雜等特點(diǎn)。針對(duì)燃料電池分布式控制系統(tǒng)中的主控制器,提出了采用ARM系列單片機(jī)進(jìn)行上層算法的計(jì)算、采用MPC56x系列單片機(jī)進(jìn)行底層輸入輸出和外圍驅(qū)動(dòng)接口、采用CAN總線進(jìn)行信息交互的雙核控制器的設(shè)計(jì)思路。設(shè)計(jì)了ARM和MPC56x兼容的數(shù)字核心接口板,并對(duì)雙核的燃料電池發(fā)動(dòng)機(jī)主控制器進(jìn)行了驗(yàn)證。
中圖分類(lèi)號(hào): TN,TH1
文獻(xiàn)標(biāo)識(shí)碼: A
Design of the ARM9+MPC56x dual core based main controller of the fuel cell engine
LI Jian Qiu,LIN Xin Fan,HUA Jian Feng,XU Liang Fei
State Key Lab of Automotive Safety and Energy, Tsinghua University, Beijing 100084,China
Abstract: The control system of fuel cell engine was a multi-input multi-output, multi-variable control system. It was necessary to design a high performance controller to calculate the complex control algorithm. In this paper, a dual MCU architecture was prompted. The ARM9 series MCU was used to execute the control algorithm, while the MPC56x MCU was used to drive the low level input/output and peripheral module interfaces. They shared the information via CAN bus. The digital core circuit of ARM9 and MCU56x were designed and the dual MCU ECU was tested.
Key words : dual MCU controller;fuel cell engine;control algorithm

    隨著清潔能源需求的增加,燃料電池發(fā)動(dòng)機(jī)及其在汽車(chē)動(dòng)力系統(tǒng)中的應(yīng)用越來(lái)越重要。燃料電池按電化學(xué)原理直接將等溫的化學(xué)能轉(zhuǎn)化為電能。由于不受熱機(jī)卡諾循環(huán)的限制,目前各類(lèi)燃料電池實(shí)際的能量轉(zhuǎn)化率均可達(dá)40%~60%;燃料電池環(huán)境友好、工作安靜、噪聲很低。燃料電池發(fā)動(dòng)機(jī)由空氣系統(tǒng)、氫氣系統(tǒng)、水熱管理系統(tǒng)、增濕系統(tǒng)和電堆等幾部分組成,其結(jié)構(gòu)如圖1所示。

1 分布式燃料電池發(fā)動(dòng)機(jī)控制系統(tǒng)
    針對(duì)燃料電池發(fā)動(dòng)機(jī)的上述要求,清華大學(xué)和大連化學(xué)物理研究所合作,研制了分布式燃料電池控制系統(tǒng)。整個(gè)系統(tǒng)以燃料電池發(fā)動(dòng)機(jī)主控制器為核心,包括了2個(gè)發(fā)動(dòng)機(jī)的獨(dú)立控制子系統(tǒng),每個(gè)發(fā)動(dòng)機(jī)控制系統(tǒng)包括電堆控制器節(jié)點(diǎn)、增濕控制器節(jié)點(diǎn)、風(fēng)機(jī)控制器節(jié)點(diǎn)以及4個(gè)單片電壓測(cè)量節(jié)點(diǎn)等。加上燃料電池發(fā)動(dòng)機(jī)的主控制器,整個(gè)控制系統(tǒng)共包括15個(gè)控制器節(jié)點(diǎn)。這些控制器以主控制器為核心,形成了整車(chē)動(dòng)力系統(tǒng)時(shí)間觸發(fā)控制器局域網(wǎng)絡(luò)(TTCAN)通信協(xié)議。
2 基于ARM+MPC561雙單片機(jī)的主控制器設(shè)計(jì)
2.1 控制器硬件框架

    控制器的硬件框架如圖2所示。該控制器采用MPC56x和AT91SAM9261S單片機(jī)雙核處理器的模式,其中底層IO驅(qū)動(dòng)采用MPC56x單片機(jī)[1],而控制算法采用ARM9單片機(jī)[2]。采用ARM9單片機(jī)進(jìn)行控制算法的優(yōu)點(diǎn)是:


    (1)ARM的主頻高、運(yùn)算速度快,最高主頻可以達(dá)到190 MHz,運(yùn)算速度可達(dá)210 MIPS,大大高于MPC56x的56 MHz;
    (2)可以配套的內(nèi)存大,擁有豐富的內(nèi)存擴(kuò)展接口,不但能實(shí)現(xiàn)與MPC56x相同的SRAM擴(kuò)展,還擁有專(zhuān)門(mén)的SDRAM管理模塊,能進(jìn)行SDRAM擴(kuò)展,其容量可以輕易達(dá)到100 MB以上;
    (3)外設(shè)接口豐富,USB2.0全速主機(jī)雙端口及設(shè)備端口,可以實(shí)現(xiàn)與上位機(jī)的高速數(shù)據(jù)傳輸,保證上傳和下載數(shù)據(jù)的高效和可靠;
    (4)價(jià)格低廉,AT91SAM9261S零售價(jià)只需63元,小批量?jī)r(jià)格僅為6美元,而MPC561零售價(jià)格高達(dá)40美元,在價(jià)格上具有很強(qiáng)的競(jìng)爭(zhēng)力。
    MPC56x的優(yōu)點(diǎn)是:帶有豐富的外圍周邊模塊,例如TPU3、QADC、QSM、CAN、MIOS和SPI接口等,能夠直接接口底層的各種信號(hào)。因此將MPC56x和ARM結(jié)合起來(lái),可以保證控制器既具有強(qiáng)大的控制算法(浮點(diǎn)運(yùn)算能力),又有強(qiáng)大的底層實(shí)時(shí)驅(qū)動(dòng)能力。
2.2 基于ARM的控制算法開(kāi)發(fā)方法
    燃料電池發(fā)動(dòng)機(jī)的控制算法框架如圖3所示。整個(gè)上層控制算法可以分解為2層:輸入輸出信號(hào)接口和控制算法邏輯本身。其中輸入輸出信號(hào)接口(底層驅(qū)動(dòng)信號(hào))在MPC56x中運(yùn)行,而控制算法邏輯直接在ARM中運(yùn)行,兩者通過(guò)CAN總線實(shí)現(xiàn)信息交互。

      上層控制算法可直接利用MATLAB/SIMULINK中的Real Time Workshop工具箱進(jìn)行開(kāi)發(fā)。MATLAB是Mathwork公司開(kāi)發(fā)、支持ARM9算法仿真調(diào)試及自動(dòng)代碼生成的算法開(kāi)發(fā)工具,是學(xué)術(shù)界/工業(yè)界廣泛認(rèn)可使用的工程算法開(kāi)發(fā)平臺(tái)。其下的Simulink組件具有強(qiáng)大的算法仿真調(diào)試功能;Stateflow模塊提供直觀可靠的邏輯分析/狀態(tài)機(jī);Real-time Workshop模塊支持自動(dòng)代碼生成[3],能將仿真測(cè)試后的框圖模型自動(dòng)生成支持ARM9數(shù)字核心的C代碼。
2.3 控制器測(cè)試
    對(duì)于AT91SAM9261S+MPC561的雙數(shù)字核心燃料電池主控制器,現(xiàn)階段在實(shí)驗(yàn)室中利用Vector公司的CAN Case網(wǎng)絡(luò)通信硬件工具以及CANalyzer軟件模擬整車(chē)TTCAN網(wǎng)絡(luò)和燃料電池控制系統(tǒng)的底層控制器,并采集實(shí)驗(yàn)數(shù)據(jù)對(duì)雙數(shù)字核心燃料電池主控制器進(jìn)行仿真測(cè)試,控制器測(cè)試照片如圖4所示。

    通過(guò)實(shí)際測(cè)試,驗(yàn)證了采用MPC+ARM的雙數(shù)字核心架構(gòu)的燃料電池主控制器在運(yùn)行同樣的控制算法時(shí),要比采用單個(gè)MPC561數(shù)字核心的控制器快得多。在MPC和ARM之間的CAN通信方面不存在任何問(wèn)題,可以應(yīng)用于實(shí)車(chē)運(yùn)行中。這種疊加式的控制器的優(yōu)點(diǎn)是在當(dāng)算法比較復(fù)雜時(shí),可以直接采用雙核控制器;而控制算法比較簡(jiǎn)單時(shí),采用單個(gè)MPC56x就可以滿(mǎn)足控制系統(tǒng)的要求。
    (1)為了滿(mǎn)足復(fù)雜的燃料電池發(fā)動(dòng)機(jī)或者新能源汽車(chē)動(dòng)力系統(tǒng)的控制算法,本論文提出了采用ARM9加MPC56x單片機(jī)的雙核控制器設(shè)計(jì)的思路。由計(jì)算性能更好的ARM9負(fù)責(zé)控制算法,而驅(qū)動(dòng)能量較好的MPC56x負(fù)責(zé)輸入輸出驅(qū)動(dòng)。
    (2)ARM9的控制算法可以實(shí)現(xiàn)在MATLAB/SIMULINK中的圖形化編程,然后利用控制代碼自動(dòng)生成技術(shù)實(shí)現(xiàn)上層控制算法的高效開(kāi)發(fā)。
    (3)在本例中,由于ARM9和MPC56x的數(shù)字核心的安裝接口完全一致,因此可以根據(jù)實(shí)際應(yīng)用的復(fù)雜程度決定是只用一個(gè)數(shù)字核心MPC56x,還是ARM9+MPC56x的雙數(shù)核心。其為教學(xué)和科研提供了一個(gè)模塊化的科研平臺(tái),為兼容各種簡(jiǎn)單和復(fù)雜控制算法的應(yīng)用系統(tǒng)提供了一個(gè)統(tǒng)一的硬件平臺(tái)。
參考文獻(xiàn)
[1] Freescale. MPC561 Reference Manual.2005,8.
[2] Atmel.AT91SAM9261S Preliminary.2007,9.
[3] Mathworks.Matlab R2007a Help.2007,1.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。