贴片电感
贴片电感
・  当前位置::扁平线圈电感 > 行业新闻
μC/OS-II实时操作系统在混合动力整车控制器中的应用
作者:    来源:    时间:2015-01-10 08:33:37浏览量:

(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工作模式。然后通过判断档位,钥匙开关和油门踏板等信息,进入不同的处理模块。控制策略包括整车控制策略和能量流管理策略,实现基于扭矩算法的控制输出。扁平线圈电感制造厂

  • [稳压电源]DC120V转5V1A降压IC5V1A降压芯片AL85AL8510是用于开关电源的内置150V 高压MOSFET的DC-DC控制器。 AL8510内置高压启动以及自供电功能,可满足快速启动以及低待机功耗的要求。 具有自适应降频功能.可进一步优化轻载条件下的转换效率。 具有软启动功能,能够减小器件的应力,有效防止启动时电感饱和。 AL8510内部还集成了各种异常状态的保护功能,包括:VDD 欠压保护,输出过载保护, 输出过压保护,过温保护等。 触发保护后,电路会不断自动重启,直到系统正常工作为止。 特点:18V至150V 输入

  • [开关电源]低效380V转220V的方法 本帖最后由 lgqsyw 于 2019-11-25 14:52 编辑 请教下有没有什么办法把380V转220V的方法,不使用变压器,转换后只需要保留5~10W的功率即可,精度不需要有多高。 原件要小。 具体的应用是这样的,做一款产品,常规时候是AC85~265V供电,但到特殊应用时是380V供电的。 AC85~265V的电源已经量产,但380V供电没法做,重新开发一款380V输入的电源有不划算,量不大,还要重新设计。 产品整机功耗是5W,想着能不能在输入回路加一个电路实现380V的降压,如果客户要

  • 充电IC 与 电池保护IC 死区电压无法充电条件:   1. 电池电压 2.5V   2. U8 进入电池保护状态,禁止放电。 操作:   1. 插上5V电源充电。 表现状况:   1. U1 检测到电池电压为0V ,进入涓流充电状态(电压1.27V,电流100mA )问题:  此时会出现无法充电的情况。 有什么好的办法解决这样的问题呢?这种情况 意味着 你的电池已经over了9315 涓流 输出3005  过放恢复2.4电池拿下来,稳压电源调2.7 200mA 档 充会,试试,断开 看看电压是否跌落 或许还能抢救下jjjyufan 发表于 202

  • 上一篇:光伏发电和ZigBee协议在智能防盗系统中的应用