保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

uC/OS-II在配电监测终端仪表中的应用


于运行态任务的优先权一定高于其它所有就绪态任务的优先权。当系统运行致使某一就绪态任务优先权高于运行态任务的优先权时,调用调度函数,运行态任务将转入挂起态等待某一消息或信号量,或者转入就绪态;而那个拥有较高优先权的任务将占有CPU的使用权而转为运行态。某一时刻只有个任务占有CPU的使用权,也就是说,某一时刻只有一个任务处于运行状态。挂起态的任务在所规定的时间内,如果得到所期待的数据(可能是消息阵列,也可能是信号量),就自动转为就绪态;如果等待超时,就被时间管理函数强制转化为就绪态,等待任务调度。中断发生时,系

统将强行剥夺运行态任务对CPU的使用权,将它转入中断态,保存相关数据到堆栈区之后,执行中断服务程序。在中断返回时,系统返回函数将重新进行任务调度,将优先权最高的就绪态任务转为运行态。

在实际系统中,每个任务都是一个无限循环的,分别实现某一特定的功能,由μC/OS-II内核来进行调度。电力行业中对设备可靠性的要求是很高的。对于监测设备,由于在启外运行,所受的电力谐波干扰相当大,有时会引起程序跑飞、死机现象,直到看门狗复位可使系统恢复正常;但在看门狗复位这段时间内,设备对电流、电压的采样不能正常进行,相关采样数据就会丢失,直接影响到电能量计算的准确度,同时会影响到数据通信。笔者利用软件狗的原理设计了一个系统监视任务,用来对其它任务进行监视。在系统运行中,当发现某一个任务运行出现异常时,该任务将按相关步骤做出相应处理。具体做法是:系统监视任务在正常运行情况下处于挂起状态,在某一时间范围内,等待每个被监视任务向它发送代表该被监视任务正常运行的消息。每个被监视的任务在运行状态下向系统监视任务发送这一消息,用以说明本任务运转正常。系统监视任务等待这一消息的时间范围按每个任务执行所需时间的最大值设定。系统监视任务在等待时间范围内收到消息,说明被监视任务运转正常,否则,系统内核自动将系统监视任务由挂起态转为就绪态。由于系统监视任务优先权最高,所它将取得CPU使用权,系统监视任务将出错任务的运行任务堆栈改为该任务的起始地址,并将其置为就绪态,挂起自身。如此,刚才出错的任务以重新开始执行,避免看门狗复位。

系统运行时,首先进行系统初始化操作,初始化所有数据结构,分别堆栈空间,然后建立任务间通信的信号量或者消息队列,进行任务建立,并且分配任务优先权。所有新建任务被置为就绪态,系统程序从优先权最高的任务开始执行。

该配电监测终端软件中,系统监视任务优先权最高,最先进入运行态。该任务分别查询每一个被监视的任务是否向其发送消息。如果没有,则该任务进入挂起态。按优先权级别顺序,键盘扫描和液晶显示任务将由就绪态转为运行态。在该任务将要执行完毕时,向系统监视任务发送消息,然后执行延时函数将自身转为挂起态,交出CPU使用权让其它任务得以执行。此时系统监视任务得到消息转为运行态,继续查询其它被监视任务的运行消息。如果没有,则进入挂起态,再次等待其它被监视任务的运行消息,系统按任务优先级继续执行优先级高的就绪态任务等等,依此类推。当键盘扫描和液晶显示任务延时时间到时,系统内核自动将它再次转为就绪态。一般键盘扫描和液晶显示任务延时时间按人手触摸按键反应时间而定,大约在100ms。在正常情况下,由于系统监视任务只是查询消息量,程序执行时间很短,甚至可以忽略,同时键盘扫描和液晶显示任务优先权排在第二。所以,只要键盘扫描和液晶显示任务进入就绪态就可以得到及时响应,能够很好地满足键盘扫描和液晶显示的实时性,解决在单任务环境下很难解决的键盘查询处理的实时性问题;同时,数据分析处理任务和通信任务可以在键盘扫描和液晶显示任务延时时间间隔内执行。由于TMS320F206处理器速度足够快,所有任务得以在满足时序的前提下顺利执行。

当系统响应定时中断时,中断程序将占据CPU的使用权进行电流和电压采样,设置下一次中断时间。在退出中断时,内核将重新进行任务调度。

结语

μC/OS-II是一套优秀的嵌入式实时操作系统。将该操作系统应用于配电监测终端中,大大提高了系统的稳定性和可靠性,提高了产品性能,成功地解决了一系列在单任务环境下不可避免的问题。


《uC/OS-II在配电监测终端仪表中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/154504.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。