多单片机范文10篇(全文).pdf

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

多单片机第1篇

目前,单片机系统大多采用单任务机制,系统各个任务模

块按照固定的顺序被执行,构成一个整体。但实际情况每个任

务的执行频率是不一致的,执行的顺序也不是固定的。使用单

任务机制很难保证数据处理的实时性,处理器资源利用率也较

低,而且对原有系统的升级扩展难度较大。

通过对操作系统中任务调度策略和关于单片机中多任务调

度文章的研究和分析,给出了一种基于等待时间和优先级结合

的多任务调度。

2多任务调度算法设计

任务调度时每个任务在运行结束后都等待一段时间,让其

他任务占用CPU,而需要等待的时间长度则根据任务的优先级

运行时间来设定。任务被分为三种状态:运行状态、就绪状态和

挂起状态。就绪态任务能够被执行的条件是等待时间小于等于

0;运行状态为当前正在占用CPU的任务状态,该任务是来至于

就绪态任务列表中;挂起态为任务不能被运行的状态,其满足条

件是等待时间为大于0。任务调度的整个过程是通过循环来实

现,分三步骤:

(1)运行时间的获得(Run_Tick_Time)

务运行记录时间,对于第一次循环,该时间为0。

(2)刷新等待时间o

(Delaytime)

Delaytime=Waiting_Tick_Timel;

个任务在执行之前都会获得一个等待时间Delaytime的初值,

然后该值减去上一个任务运行时间,直到该值小于0。当任务

的等待时间小于0后,该任务就会被标记为就绪态准备运行。

(3)根据任务状态执行任务。如果任务就绪列表中只有一

个任务处于就绪态,则CPU执行该任务,如果就绪列表中同时

有多个任务就绪,优先级高的任务先执行,为防止低优先级任

务长时间处于就绪状态,在fcblist链表中插入优先级为0的

FCB节点,当低优先级任务状态为就绪状态,但出于就绪状态

的时间超过一特定的时间,该节点的函数指针就指向低优先级

的任务函数,在下一次循环遍历就绪列表时,该任务就会被执

行。

3任务模块设计

任务控制块的主要成员变量有指向任务的函数指针、任务

的等待时间、任务的优先级等信息,为保证系统开始执行时每

个任务够能被执行一次,FCB结构体的初始化为就绪态任务。

4定时器设计

时间片的设计非常重要,此时间片是任务调度机制的时钟。

在其中断服务程序中,程序判断并修改全局变量system_tick

的值,每产生一次中断system_tick的值就会递增。

5实例应用

以纯电动汽车组合仪表系统为例,芯片平台选用NEC

R5F10DPJ,系统完成对整车相关参数的处理与显示,如车速、

电池电量、电池参数、电池管理模块故障信息、电机控制器故

障信息等。

按照多任务调度系统任务设计原则将仪表系统功能划分为

7个任务模块,按照优先级依次为:IGN检测、电机驱动、CAN

数据处理、按键检测、开关量输出、LCD显示、写EEPROM。任

100ms。

按优先级创建仪表系统任务,并建立fcblist链表,经系

统定时中断,按优先级顺序执行一次任务,设置看门狗复位时

fcblist中所有任务节点的等待时间数据和获取就绪态任务或

处于就绪态超时的任务。

6总结

对于实时多任务操作系统,主要任务是对实时性要求不同

的各任务做出及时的响应,在单片机系统中采用时间等待和优

先级结合的多任务调度方法,能有效的改善系统的结构,系统

可在宏观上并行执行各种任务,使CPU资源能有效的被利用。

本方法在一款纯电动汽车仪表系统上对该方法进行了验证,仪

表工作正常。

参考文献

[1]陈劲松,程新民,魏忠.时间片轮转算法在单片机程序

设计中的应用[J].电子技术应用,2003,(3):18-19.

[2]汪滢,辛晓宁,袁德成.实时多任务机制在低功耗单片

机系统中的最小实现[J].化工自动化及仪表,2002,29

(3):70-72.

[3]李奇,樊晓平.一种时间触发的多任务调度器设计[J].

专题讨

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档