Fuel cell engine main controller based on ARM9 and MPC56x

Publisher:心满意足Latest update time:2010-06-23 Source: 电子技术应用 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

With the increasing demand for clean energy, fuel cell engines and their applications in automotive power systems are becoming increasingly important. Fuel cells directly convert isothermal chemical energy into electrical energy based on electrochemical principles. Since they are not limited by the thermal engine Carnot cycle, the actual energy conversion rate of various types of fuel cells can reach 40% to 60% at present; fuel cells are environmentally friendly, work quietly, and have very low noise. The fuel cell engine consists of several parts, including an air system, a hydrogen system, a water heat management system, a humidification system, and a stack. Its structure is shown in Figure 1.

1 Distributed fuel cell engine control system

In response to the above requirements of fuel cell engines, Tsinghua University and Dalian Institute of Chemical Physics have cooperated to develop a distributed fuel cell control system. The entire system is centered on the fuel cell engine main controller and includes two independent control subsystems for the engines. Each engine control system includes a stack controller node, a humidification controller node, a fan controller node, and four single-chip voltage measurement nodes. Together with the main controller of the fuel cell engine, the entire control system includes a total of 15 controller nodes. These controllers are centered on the main controller and form the vehicle power system time-triggered controller area network (TTCAN) communication protocol.

2 Design of main controller based on ARM+MPC561 dual MCU

2.1 Controller Hardware Framework

The hardware framework of the controller is shown in Figure 2. The controller uses a dual-core processor mode of MPC56x and AT91SAM9261S microcontroller, in which the underlying IO driver uses the MPC56x microcontroller [1], and the control algorithm uses the ARM9 microcontroller [2]. The advantages of using the ARM9 microcontroller for the control algorithm are:


(1) ARM has a high main frequency and fast computing speed. The maximum main frequency can reach 190 MHz and the computing speed can reach 210 MIPS, which is much higher than the 56 MHz of MPC56x.

(2) It has a large memory and rich memory expansion interfaces. It can not only achieve the same SRAM expansion as MPC56x, but also has a dedicated SDRAM management module that can expand SDRAM. Its capacity can easily reach more than 100 MB.

(3) Rich peripheral interfaces, USB2.0 full-speed host dual ports and device ports, can achieve high-speed data transmission with the host computer, ensuring efficient and reliable upload and download of data;

(4) Low price. The retail price of AT91SAM9261S is only 63 yuan, and the small batch price is only 6 US dollars, while the retail price of MPC561 is as high as 40 US dollars, which is very competitive in price.

The advantages of MPC56x are: it has a rich set of peripheral modules, such as TPU3, QADC, QSM, CAN, MIOS and SPI interfaces, which can directly interface various underlying signals. Therefore, combining MPC56x with ARM can ensure that the controller has both powerful control algorithms (floating-point computing capabilities) and powerful underlying real-time driving capabilities.

2.2 Control algorithm development method based on ARM

The control algorithm framework of the fuel cell engine is shown in Figure 3. The entire upper-level control algorithm can be decomposed into two layers: the input and output signal interface and the control algorithm logic itself. The input and output signal interface (bottom-level drive signal) runs in the MPC56x, while the control algorithm logic runs directly in the ARM, and the two realize information exchange through the CAN bus.

The upper-level control algorithm can be developed directly using the Real Time Workshop toolbox in MATLAB/SIMULINK. MATLAB is an algorithm development tool developed by Mathwork that supports ARM9 algorithm simulation debugging and automatic code generation. It is an engineering algorithm development platform widely recognized by academia and industry. Its Simulink component has powerful algorithm simulation debugging functions; the Stateflow module provides intuitive and reliable logic analysis/state machine; the Real-time Workshop module supports automatic code generation [3], and can automatically generate C code that supports the ARM9 digital core from the block diagram model after simulation testing.

2.3 Controller Testing

For the dual digital core fuel cell main controller of AT91SAM9261S+MPC561, Vector's CAN Case network communication hardware tool and CANalyzer software are currently used in the laboratory to simulate the vehicle's TTCAN network and the underlying controller of the fuel cell control system, and experimental data are collected to perform simulation tests on the dual digital core fuel cell main controller. The controller test photo is shown in Figure 4.

Through actual testing, it is verified that the fuel cell main controller using the dual digital core architecture of MPC+ARM is much faster than the controller using a single MPC561 digital core when running the same control algorithm. There is no problem in the CAN communication between MPC and ARM, and it can be applied to actual vehicle operation. The advantage of this superimposed controller is that when the algorithm is more complex, the dual-core controller can be directly used; when the control algorithm is relatively simple, a single MPC56x can meet the control system requirements.

(1) In order to meet the control algorithm of complex fuel cell engines or new energy vehicle power systems, this paper proposes a dual-core controller design using ARM9 and MPC56x microcontrollers. The ARM9 with better computing performance is responsible for the control algorithm, while the MPC56x with better driving energy is responsible for input and output drive.

(2) The control algorithm of ARM9 can be implemented by graphical programming in MATLAB/SIMULINK, and then the control code automatic generation technology can be used to realize the efficient development of the upper-level control algorithm.

(3) In this example, since the installation interfaces of the ARM9 and MPC56x digital cores are completely consistent, it is possible to decide whether to use only one digital core, MPC56x, or a dual digital core of ARM9+MPC56x according to the complexity of the actual application. It provides a modular research platform for teaching and scientific research, and a unified hardware platform for application systems compatible with various simple and complex control algorithms.

Reference address:Fuel cell engine main controller based on ARM9 and MPC56x

Previous article:Design of Embedded Intelligent Vehicle System Based on ARM9
Next article:Design of Automobile Comfort Evaluation System Based on MSP43O Single Chip Microcomputer

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号