水瓶座的性格是什么| 是什么元素| 毒枭是什么意思| 过度是什么意思| 胚胎停育有什么症状| 什么的森林| 夜尿频多吃什么药效果好| 红底白杠是什么标志| 随波逐流什么意思| kay是什么意思| 申酉是什么时间| 野蒜有什么功效和作用| 言尽于此是什么意思| 佑五行属什么| 下午14点是什么时辰| 鱼白是什么东西| 疱疹用什么药好| 暗疾是什么意思| 折煞是什么意思| 午五行属什么| 嘴唇是紫色的是什么原因| 右眼皮跳是什么预兆女| 小肚鸡肠是什么意思| 黑枸杞有什么作用| 龙胆是什么| 什么人容易得眩晕症| 什么颜色属土| 白带像豆腐渣用什么药| 血脂高是什么意思| 卡罗莱手表是什么档次| 阴部瘙痒是什么原因| 产妇吃什么好| 阳春三月是什么意思| 什么药补气血效果最好| eur是什么意思| 医保和农村合作医疗有什么区别| 南京菜属于什么菜系| 农历10月24日是什么星座| 金利来属于什么档次| 脂肪肝什么东西不能吃| pr过高是什么意思| 一一是什么意思| 大量出汗是什么原因引起的| 猪脚炖什么| 五月份什么星座| 风五行属什么| 肌张力高有什么症状| 人体缺钙吃什么补最快| 四川代表什么生肖| 团县委是什么单位| 家里停电打什么电话| 甲沟炎涂抹什么药膏最有效| 茯苓的功效与作用是什么| 天灵盖是什么意思| 飞蛾扑火是什么意思| 尿道口感染吃什么药| 孕妇吃什么利尿排羊水| 参详意思是什么| 炖鸭汤放什么食材最好| 什么血型招蚊子咬| hcd是什么意思| 合胞病毒用什么药最好| 砚是什么东西| 退而求其次什么意思| 什么风大雨| 梦到鬼是什么意思| 高血压二级是什么意思| 孩子脾胃虚弱吃什么药| 艾滋病早期有什么症状| 糖尿病什么原因引起的| 农历9月21日是什么星座| 徘徊是什么意思| 景气是什么意思| 竖起中指是什么意思| 男人血精是什么原因造成的| 吃蛋白粉有什么好处和坏处| 今天穿什么衣服合适| 泡茶用什么水好| hd什么意思| 生殖激素常规检查是查什么的| 莫名心慌是什么原因| 宝藏是什么意思| 贫血看什么科| 幼儿园报名需要什么资料| 牛筋草有什么功效| 乳腺增生是什么症状| 小叶增生和乳腺增生有什么区别| 贱痣是什么意思| 什么家| 苏轼号什么| 喜欢是什么感觉| 排骨用什么炖好吃| 仓鼠吃什么东西| 操是什么意思| 胃不舒服能吃什么水果| 吃高血压药有什么副作用| 喝枸杞水有什么好处| 脚底板痒是什么原因| 四月28日是什么星座| 湿疹吃什么药| 月字旁与什么有关| 女人喝什么茶好| 下巴下面是什么部位| 探囊取物是什么意思| 亦或是什么意思| 指甲黑线是什么原因| 谷草谷丙高是什么原因| 金汤是什么汤| 胸膜炎吃什么消炎药| 锄禾是什么意思| 印度人为什么用手抓饭吃| 月经不正常去医院检查什么项目| 追剧是什么意思| 为什么吃了避孕药还是怀孕了| 规律是什么意思| 岁岁年年是什么意思| 什么是克氏综合征| sg是什么意思| 特别出演什么意思| 007最新一部叫什么| 神经鞘瘤挂什么科| 香椿是什么| tbs和tct有什么区别| 梦到生儿子有什么预兆| 双鱼座的幸运石是什么| rr过高是什么意思| 狗为什么喜欢吃人屎| 尼泊尔人是什么人种| 立夏什么时候| 流加金念什么| 福五行属什么| 什么药治拉肚子| sec是什么意思| 为什么上课会犯困| 鲲之大的之是什么意思| 蚯蚓用什么呼吸| 中校是什么级别| 宇字属于五行属什么| 重庆为什么叫雾都| 女人什么时候绝经正常| 巴洛特利为什么叫巴神| 生生不息是什么意思| 女娲用什么补天| 肝内胆管结石吃什么药好| 脖子长痘痘是因为什么原因| 结石有什么症状| 无量寿经讲的是什么| o是什么牌子| 甲状腺球蛋白低说明什么| 什么人容易得白塞氏病| 快乐是什么意思| 心率低于60说明什么| 主动脉瓣退行性变是什么意思| 拉肚子为什么憋不住| 大便次数多什么原因| 耿耿于怀是什么意思| 精神洁癖是什么意思| 大便前面硬后面稀是什么原因| 近视散光是什么意思| 1988年出生是什么命| 6月26是什么星座| zing是什么意思| 胃肠蠕动慢吃什么药| 树欲静而风不止是什么意思| pof是什么意思| 吃过敏药有什么副作用| 严重失眠吃什么中成药| 裸婚是什么意思| 11.23是什么星座| 睡前喝蜂蜜水有什么好处| 2段和3段奶粉有什么区别| 签证和护照有什么区别| 反酸是什么感觉| 唇炎是什么原因造成的| 八哥鸟吃什么饲料最好| 艮是什么意思| 11月11日什么星座| 荞麦长什么样子| 宫颈管少量积液是什么意思| 者羽念什么| 心脏跳动过快吃什么药| 挑眉是什么意思| 腋下有味道是什么原因| adh是什么激素| 食用植物油是什么油| 耳后长痣代表什么意思| 尿很臭是什么原因女性| 厅长是什么级别| 属猴的守护神是什么菩萨| 治疗阳痿早泄什么药最好| 做梦被杀了是什么征兆| 尿检粘液丝高什么意思| 丁克夫妻是什么意思| 结膜水肿用什么眼药水| 9月26号是什么星座| 脸上长斑是因为什么原因引起的| 脸浮肿是什么原因| 相敬如宾是什么生肖| 蓝莓有什么功效与作用| 胃痛吃什么药好| 大便漂浮水面说明什么| 中项是什么意思| 多多益善什么意思| 实性结节是什么意思| 七夕之夜是什么生肖| 小脑的功能是什么| 绝对是什么意思| 耀眼是什么意思| 什么运动瘦肚子最快| 结核t细胞阳性说明什么| 时乖命蹇是什么意思| 什么河水| 栀子花什么时候开花| 人流后什么叫重体力活| 放线是什么意思| 什么的小朋友填词语| 如日中天是什么生肖| poscer是什么牌子手表| 什么是呆账| 动脉斑块是什么意思| 胖次是什么意思| 什么叫血栓| 老被蚊子咬是什么原因| 突破性出血是什么意思| 李什么名字好听| 低钙血症是什么意思| 背痛挂什么科| 学习是什么| 吃什么食物降低转氨酶| sd是什么| 蓉字五行属什么| 尿隐血阴性是什么意思| 什么时候用得| 平板支撑是什么| 狗狗能看见什么颜色| 尿酸高吃什么药效果好| 57属什么生肖| 棕色眼睛的人什么血统| 打马赛克是什么意思| 低密度结节是什么意思| 翠花是什么意思| 咳嗽不停是什么原因| 4月16日是什么星座| mi是什么单位| 涵五行属什么| 男性腰疼挂什么科| 女单读什么| 为什么会做春梦| 痤疮是什么样子的| 妈妈的爱是什么| 智齿为什么会发炎| eps是什么意思| 饭撒是什么意思| 干黄酱是什么酱| ttl什么意思| 赛字五行属什么| 霉菌是什么原因感染的| 非食健字是什么意思| 尿痛流脓吃什么药| 身上毛发旺盛什么原因| 什么是男人| 谦虚什么意思| 飞机上什么东西不能带| 627是什么意思| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > μC/OS-II在混合动力整车控制器中的应用

活泼的反义词是什么

作者: 时间:2025-08-04 来源:网络 收藏
混联式系统的子系统众多,其中整车控制器作为实现驾驶员驾驶需求和能量安全的管理系统,需要协调发动机、扭矩、电机和电池的功率在不同工况下的合理分配,实现制动能量回馈,并控制外围设备(如空调、灯光),以达到最佳的节能排放效果。系统任务的复杂性和强电磁干扰环境都对整车控制器的实时性和可靠性提出了重大挑战,传统的单任务循环式的程序控制模式难以满足需求,因此作者采用了开放源码的嵌入式μ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(),最后从要执行任务的任务堆栈里恢复寄存器和堆栈中的内容,执行中断返回指令开始运行新的任务。
百度 (卜晓明)(新华社专特稿)责任编辑:声明:版权作品,未经《环球人物》书面授权,严禁转载,违者将被追究法律责任。

  (3)OSIntCtxSw()

当需要在中 断发生后切换到更高优先级的任务时,调用中断级任务切换函数OSIntCtxSw(),然后执行用户调用函数OSTaskSwHook()。因为该函数是在中断程序中被调用,所以不需要保存中断任务的寄存器;中断子程序在调用函数OSInExit()时,将返回地址压入堆栈,在这里不需要再返回,所以必须从堆栈中清理掉返回地址。

  (4)OSTickISR()
  OSTickISR()是μC/OS-II中的时钟节拍中断服务程序。在每个时钟节拍调用该函数,给每个处于延时的任务延时减1,并检查所有处于延时状态的任务是否延时结束成为就绪任务。然后调用OSIntExit(),如果有优先级更高的任务就绪,OSIntExit()就会进行任务调度。OSIntExit()并不返回调用者,而是用新的任务堆栈中的内容来恢复CPU现场,由中断返回执行新的任务。
  3.2.4OS_CPU_C.C
  用户需要编写6个C语言函数OSTaskStkInit()、 OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskSatHook()、 OSTimeTickHook()。其中,唯一必要的是OSTaskStkInit(),其他5个必须声明,但可以不包含代码。
  OSTaskStkInit() 由任务创建函数OSTaskCreate()或OSTaskCreateExt()调用,在建立每个任务的时候初始化任务堆栈。开始运行这个任务就是模拟中断返回,把初始化后堆栈中保存的值恢复到各个寄存器。初始化任务堆栈时,要传递任务代码起始指针(Ptask)、参数指针(Pdata)、任务堆栈栈顶指针。任务堆栈初始化完成后,返回一个新的堆栈栈顶指针,OSTaskCreate()或OSTaskCreateExt()将它保存到OSTCB中。
  在 OS_CPU_C.C文件中可以创建5个钩子函数,使用的前提是配置文件中常量OS_CPU_HOOKS_EN使能。
  至此,μC/OS- II操作系统的移植基本完成。

  4整车控制器软件设计
  整车控制器软件设计以实时操作系统作为开发平台,将应用程序分解成多任务,简化了系统软件的设计,保证了整车控制系统的实时性,提高了系统的稳定性与可靠性。整个系统的主程序流程如图3所示。
  4.1 定时器模块
  定时器的主要功能是为软件程序提供基准时钟。本应用选择T5作为时钟基准,在初始化函数void GPT_vInit()中完成模块寄存器配置;中断服务程序设置为OSTicklSR(),中断向量为0x25。通过建立时钟任务函数 Timer_Int(),调用时钟节拍函数OSTimeTick(),实现定时器与系统时钟的连接。系统时钟节拍编程为1 ms,可以减少中断服务时间,提高实时性。
 
  4.2 CAN通信模块
  CAN通信模块功能是实现整车控制器与其他节点间的信息传输。周期性传输,传输周期为20 ms,通信速率为250 kbps,中断调用CAN通信服务程序。
  创建CAN通信模块任务 CAN_Trans,任务优先级3:
  
  4.3 A/D模块
  A/D模块功能是完成读取蓄电池电压、加速踏板传感器和节气门位置传感器信号,并进行模数转换,被其他函数调用。
  创建A/D转换模块任务ADC_Cony,任务优先级4:
 
  4.4 整车控制主程序模块
  在汽车系统各模块自检成功后,整车控制器要求启动电池,进入正常EV工作模式。然后通过判断档位,钥匙开关和油门踏板等信息,进入不同的处理模块。控制策略包括整车控制策略和能量流管理策略,实现基于扭矩算法的控制输出。
  创建整车控制主程序任务Drive_Ctr,优先级9:
  OSTaskCreate(Drive_Ctr, (void*)Drive_Ctr[OS_TASK_STK],9)
  这里限于篇幅不再介绍其他模块,大体过程相似。
  结语
  随着汽车整车技术的不断发展和法规日益严格的要求,汽车电子系统会变得越来越复杂,采用操作系统来实现对复杂任务的管理和协调,将成为不可避免的趋势。
  本文通过混合动力整车控制器的软硬件设计,详细说明了μC/OS-II系统移植过程,优化了系统软件设计,充分满足了系统的需求。经实车试验测试取得了很好的效果。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭
女人在什么时候最容易怀孕 脂肪肝是什么引起的 爆菊是什么意思 mdr是什么意思 叶酸是什么东西
翡翠和和田玉有什么区别 不吃香菜什么意思 葫芦代表什么寓意 吕布的武器是什么 吃什么可以补血
2.10是什么星座 无创是什么检查 继发性高血压是什么意思 抹布是什么意思 猫怕什么动物
showroom是什么意思 降血压吃什么药 扁桃体炎吃什么药最好 一什么雨衣 鱼头炖什么好吃
男人梦见龙是什么征兆hcv8jop4ns5r.cn 轻度肠上皮化生是什么意思xinjiangjialails.com 猫咪飞机耳是什么意思hcv8jop1ns3r.cn 后年是什么生肖hcv9jop5ns8r.cn 头痒用什么洗头可以止痒hcv9jop4ns5r.cn
痛风能吃什么鱼hcv8jop5ns6r.cn 糖化高是什么意思hcv9jop1ns5r.cn 木行念什么hcv8jop3ns7r.cn 辣椒有什么营养价值hcv7jop6ns8r.cn 口臭吃什么药hcv8jop3ns6r.cn
女性性冷淡是什么原因hcv9jop0ns6r.cn 肚子胀气老放屁是什么原因hcv8jop5ns3r.cn 为什么会得幽门螺旋杆菌hcv8jop2ns8r.cn 郡肝是什么jinxinzhichuang.com 孩子腿疼是什么原因hcv9jop3ns0r.cn
什么是一二三级医院hcv7jop6ns4r.cn 海松茸是什么东西ff14chat.com 精索静脉曲张是什么原因导致的dayuxmw.com 夏天喝什么汤ff14chat.com 阳刚之气是什么意思hcv7jop9ns7r.cn
百度