功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
最新动态 您所在的位置: 首页 > 最新动态

基于μC/OS-II的整车控制器系统技术设计

来源:    作者:    发布时间:2015-09-09 16:27:41    浏览量:

混联式混合动力系统的子系统众多,其中整一体电感器车控制器作为实现驾驶员驾驶需求和能量安全的管理系统,需要协调发动机、扭矩、电机和电池的功率在不同工况下的合理分配,实现制动能量回馈,并控制外围设备(如空调、灯光),以达到最佳的节能排放效果。系统任务的复杂性和强电磁干扰环境都对整车控制器的实时性和可靠性提出了重大挑战,传统的单任务循环式的程序控制模式难以满足需求,本文采用了开放源码的嵌入式操作系统μC/OS-II设计整车控制器系统软件。

1 整车系统结构

所开发的全混合动力轿车是天津市重大专项课题,以长城哈佛SUV轿车为平台。该车动力系统主要由发动机、交流电动机、交流发电机和高性能的镍氢电池、行星架动力分配机构以及DC-AC逆变器组成。整车控制器采用总线与发动机管理系统、电机控制器和动力电池组管理系统交换信息,并且预留了1路CAN以便后期与车身系统通信。

整车控制器根据驾驶员输入信号,结合电池组状态和车辆当前运行状态,根据一定的策略控制各个子系统的工作,实现节能减排的目标。系统网络拓扑如图1所示。



2 整车控制器硬件设计

ECU的硬件设计按照模块化原则,可分为如下几个功能模块:微控制器模块、数据采集模块、功率驱动及保护模块、D/A转换模块、电源模块、通信模块、显示及报警接口和标定诊断接口等。采用Infineon公司的XC164CS微控制器,它基于增强的C166SVZ内核,并在性能上优于其他16位微控制器:内部集成DSP功能、扩展的中断处理能力、强大的片上外设以及高性能片上Flash,如图2所示。



3 μC/OS-II的移植

μC/OS-II嵌入式实时操作系统采用ANSI C语言编写,具备很好的可读性和可移植性;对硬大功率电感贴片电感器件资源要求不高,在大多数8位、16位微控小型电感器制器上都可以实现移植。

3.1 μC/OS-II的启动

首先要调用硬件驱动程序对硬件进行初始化设置,然后调用系统初始化函数OSlnit()初始化μC/OS-II所有的变量和数据结构。

启动μC/OS-II之前建立1个应用任功率电感务。OSlnit()建立空闲任务idletask,这个任务总是处于就绪态。空闲任务OSTaskIdle()的优先级设成最低,即OS_LOWEST_PRIO。多任务的启动需要用户通过调用OSStart()实现。当然还有其他设置,这里不再一一介绍。

3.2 μC/OS-II的移植

μC/OS-II操作系统在XC164CS微处理器上的移植主要实现对3个文件OS_CPU.H、OS_CPU_C.C、OS_CPU A.ASM的处理。

3.2.1头文件INCLUDES.H

INCLUDES.H头文件应被包含到所有C文件的第1行。尽管包含不相关文件可能会增加文件的编译时间,但增强了代码的可移植性。用户可以编辑增加自己的头文件,但必须添加在头文件列表的最后。

3.2.2 OS_CPU.H文件

OS_CPU.H文件中包含与处理器相关的常量、宏和结构体的定义。针对XC164CS处理器,定义堆栈数据类型为16位,栈向下递减;将μC/OS-II控制中断的2个宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()定义为微控制器关闭(SETC)和打开(CLRC)中断的指令;声明OS_TASK_SW()函数,中断服务程序ISR的入口指向函数OSCtxSw()。



3.2.3 OS CPU A.ASM

μC/OS-II移植时要求用户编写4个汇编语言函数:OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()和OSTickISR()。

(1)OSStartHighRdy()

调用该函数电感生产使处于就绪状态的优先级最高的任务开始运行。由于实时操作系统是不返回的函数,所以调用后需移去堆栈栈顶的返回地址,然后执行用户调用函数OSTaskSwHook(),最后开始运行多任务,获得优先级最高的任务的指针,根据这个指针从任务堆栈中恢复所有寄存器,恢复完后执行中断返回,运行就绪态任务。
(2)OSCtxSw()

当从低优先级的任务切换到较高优先级的任务时,调用任务切换函数OSCtxSw()保存处理器的内容和任务指针到当前任务的任务堆栈,然后执行用户调用函数OSTaskSwHook(),最后从要执行任务的任务堆栈里恢复寄存器和堆栈中的内容,执行中断返回指令开始运行新的任务。

  • 锂电池在40~50度环境中能安全使用吗?锂电池在40~50度环境中能安全使用吗?一般只能在充电时在0~45度左右,放电在-20~60产品规格:电芯类型        锂离子电池 18650标称电压        7.2V标称容量        4200mAh(2100mAh/cell)设计容量        4200mAh充电条件标准充电电流        880 mA最大充电电流        4200mA充电电压        8.4

  • UC3842占空比调节的问题UC3842最大占空比,我想调节到43%左右,可是小电阻大电容,我取到100nF时电阻只有450ohm,资料手册上Rt要大于5k,那我该怎么调,我原先用10nF 占空比估计有90%,一上电那瞬间反向电压肯定会击穿我的MOS管,我12V上去反向电压就已经达到200V了,我用示波器看过了,这~~~~~~~木听说384x可以外置阻容限制最大占空比。 。 。 。 如果要控制在0.5以内

  • MOS管用在开关电源中,当做 开关使用MOS管用作开关,不知道哪种MOS管的导通电流很小,我目前用的是SC1N60,但是它的导通电流要求比较大,求指导!
    问题都看不懂,可能我水平不够吧,


    要不你组织一下语言。

    什么意思?需

  •