燃料电池控制系统
燃料电池控制器是燃料电池中非常关键的部分,对于燃料电池稳定而安全的工作有积极的作用。针对燃料电池控制中要求较高的实时性与可靠性,利用摩托罗拉16位单片机MC9S12DP256b把实时嵌入式系统UC/OS-II成功移植到控制中。本文结合HCS12单片机和Codewarrior编译器的特点详细介绍了内核的优化实现,并利用实例说明了嵌入式操作系统带来的优点。
基于HCS12的实时嵌入式燃料电池控制系统
白日光1,3,萧蕴诗1,孙泽昌2,3
(1.同济大学 控制工程与科学系,上海 200092;2.同济大学 汽车学院,上海 200092;
3.同济大学摩托罗拉汽车电子联合实验室,上海 20092)
摘要:燃料电池控制器是燃料电池中非常关键的部分,对于燃料电池稳定而安全的工作有积极的作用。针对燃料电池控制中要求较高的实时性与可靠性,利用摩托罗拉16位单片机MC9S12DP256b把实时嵌入式系统UC/OS-II成功移植到控制中。本文结合HCS12单片机和Codewarrior编译器的特点详细介绍了内核的优化实现,并利用实例说明了嵌入式操作系统带来的优点。
关键词:UC/OS-II;燃料电池控制器(FCC);MC9S12DP256b;移植;内核
Real Time Kernel Fuel Cell Control System Based on HCS12
Bai Riguang1,3, Xiao Yunshi1,Sun Zechang2,3
(1. Department of Control Engineering & Science, Tongji University, Shanghai, 200092, China;
2. Automobile College, Tongji University, Shanghai, 200092,China;
3. Tongji University Motorola Automobile Electronic Laboratory, Shanghai, 200092, China)
Abstract: The Fuel Cell Controller (FCC) is an important part of Fuel Cell. It affects steady and safe running of Fuel Cell. Considering real time and reliability qualities of FCC, we port real time embedded operation system UC/OS-II to the controller using HCS12. With the characteristic of HCS12 single chip and Codewarrior, the paper introduces the implementation of the kernel in details, and shows the advantage of the embedded operation system by an example.
Key words: UC/OS-II; fuel cell controller (FCC); MC9S12DP256b; port; kernel
0 引言
随着汽车工业的发展,人类对传统能源(如原油)的需求日益扩大,从而带来空气污染和资源枯竭两大问题,燃料电池作为一种新型的绿色能源开始受到人类的关注。结合由同济大学承担的国家863电动汽车重大专项——燃料电池轿车项目,需要开发适用于质子交换膜燃料电池稳定而安全工作的燃料电池控制器。考虑到燃料电池控制器硬件资源的需求,研究中利用了摩托罗拉公司的16位单片机MC9S12DP256b。为了进一步满足控制中高可靠性与实时性的要求,把内核公开的UC/OS-II实时嵌入式操作系统移植到此单片机中,从而使开发具有更好的扩展性。本文首次把实时嵌入式操作系统应用到燃料电池控制中,取得了良好的效果。
基金项目:国家863电动汽车重大专项(2003AA501) 作者简介:白日光(1980— ),男,硕士生,主要从事燃料电池控制器,过程控制与计算机控制方向研究。
萧蕴诗(1946— ),男,教授,博士生导师,主要研孙泽昌(1953— ),男,教授,博士生导师,主要研究方向为智能控制理论与系统。 究方向为汽车电子。
1 系统平台介绍
1.1 硬件MC9S12DP256b[1]
MC9S12DP256b是摩托罗拉16位单片机HCS12家族中的一员,它的处理单元采用了16位的STAR12 CPU。此单片机内嵌了很多资源,包括256K FLASH,4K EEPROM,12K RAM,8通道定时器以及多种通信接口。此单片机可通过单线BDM进行程序的编译,下载和在线调试。
1.2 软件平台Codewarrior
Codewarrior是Metrowerks公司开发的一个编程环境。这里使用的Codewarrior4.2是专门针对HCS12系列单片机开发的,他可以用来进行程序编辑,编译,连接和在线调试等多项功能,并支持多种语言功能,可在C中嵌入汇编程序。
1.3 嵌入式操作系统UC/OS-II内核[2]
UC/OS-II(Micro Control Operation System Two)是一种源代码公开的嵌入式操作系统, 程序绝大部分是用C语言写的, 带有少量的汇编程序, 并且有详细的说明和示例, 可移植、易调试, 稳定性与可靠性高, 功能也比较完善。在改进后的2.51版[3]中包括了任务管理,时间管理,任务间通信(消息,邮箱,信号量和标志)和内存管理等多项功能。
燃料电池控制器是燃料电池中非常关键的部分,对于燃料电池稳定而安全的工作有积极的作用。针对燃料电池控制中要求较高的实时性与可靠性,利用摩托罗拉16位单片机MC9S12DP256b把实时嵌入式系统UC/OS-II成功移植到控制中。本文结合HCS12单片机和Codewarrior编译器的特点详细介绍了内核的优化实现,并利用实例说明了嵌入式操作系统带来的优点。
UC/OS-II的内核是占先式的,具有最高优先级的任务一旦准备就绪, 就能立刻得到CPU的控制权, 可以剥夺低优先级任务的CPU使用权, 处理系统最紧急的事务。 1. 4 移植条件
一般来说,能移植UC/OS-II的CPU及其编译器必须满足以下条件:①用户的编译器能产生可重入性代码;②用C语言就可以打开和关闭中断;③CPU能产生定时中断,而且给用户留有自定义中断向量;④具有一定的数据和代码空间,至少4K的ROM和2K的RAM;⑤CPU有将堆栈指针和其他CPU寄存器读出和存储到堆栈和内存中的指令。对于以上条件,MC9S12DP256b和其编译器Codewarrior都能满足。
2 移植过程
图1 UC/OS-II 2.51版的软硬件结构体系
图1显示了UC/OS-II 2.51版移植到MC9S12DP256b时的软硬件结构体系。应用程序软件使用Codewarrior编译器,硬件利用MC9S12DP256b单片机。嵌入式系统UC/OS-II共由3部分组成,一部分是与处理器无关的代码,在移植中可直接使用,无需更改;一部分是与应用相关的代码,其中INCLUDES.H用来配置头文件,OS_CFG.H用来配置需要的UC/OS-II资源;另一部分就是处理器相关的代码,这部分是移植的重点,其中OS_CPU.H定义了与处理器相关的常量,宏和类型,OS_CPU_C.C中包括了与处理器相关的代码。在OS_CPU_C.C中共有五个重要的函数:OSStartHighRdy(), OSCtxSw(), OSIntCtxSw(), OSTaskStkInit(), OSTickISR()。这几个函数都是与STAR12 CPU的内部寄存器和堆栈处理有关联的,OSTickISR()还和MS9S12DP256b的时间模块有关联。
2.1 STAR12 CPU堆栈介绍
在移植中关键就是如何构造任务堆栈及如何在切换任务时调整堆栈指针,因而需要对STAR CPU的堆栈调用有详细的了解。STAR12 CPU的内
部寄存器有:16位累加器D(也可分作两个8位累加器A和B),变址寄存器IX,变址寄存器IY,堆栈指针SP,程序计数器PC和8位条件码寄存器CCR。当中断发生时,所有的寄存器都会按一定顺序自动的保存到堆栈中,如图2所示。
图2 STAR12 CPU中断发生时的堆栈变化
2.2 文件OS_CPU.H的移植
从图2可以看出,STAR12 CPU的堆栈指针是向下增长的,因而在OS_CPU.H中要宏定义对应变量为1。CPU的开关中断采用文献[2]中介绍的方法1,而定时中断采用有输出比较功能的TC7。此CPU还提供了专门的软中断指令swi,这对于移植是非
常有利的。下面列出了移植后的关键代码:
#define OS_STK_GROWTH 1 #define OS_ENTER_CRITICAL() __a …… 此处隐藏:6547字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




