基于PIC18F系列单片机的嵌入式系统设计

[09-12 18:13:21]   来源:http://www.88dzw.com  单片机学习   阅读:8680

文章摘要: 表2 应用系统任务列表任务名称TaskADTaskKeyTaskShowTaskErrTaskComTaskIdle任务优先级234157任务描述处理AD采用结果,更新PWM占空比键盘任务显示任务系统非紧急故障处理任务与上位PC机进行串行通讯操作系统的缺省任务 系统运行时,首先进行系统初始化操作,并创建任务。所有新创建的任务都被置为就绪态,操作系统内核首先调用就绪态中优先级最高的任务运行。系统运行过程中,始终保证运行任务的优先级高于就绪态中的所有任务。当运行着的任务因等待某一事件或延时而被挂起,或者有更高优先级的任务进入了就绪态,则内核中止当前运行着的任务,把CPU的使用权交给就绪态中

基于PIC18F系列单片机的嵌入式系统设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com


 

表2 应用系统任务列表

任务名称

TaskAD

TaskKey

TaskShow

TaskErr

TaskCom

TaskIdle

任务优先级

2

3

4

1

5

7

任务描述

处理AD采用结果,更新PWM占空比

键盘任务

显示任务

系统非紧急故障处理任务

与上位PC机进行串行通讯

操作系统的缺省任务


     系统运行时,首先进行系统初始化操作,并创建任务。所有新创建的任务都被置为就绪态,操作系统内核首先调用就绪态中优先级最高的任务运行。系统运行过程中,始终保证运行任务的优先级高于就绪态中的所有任务。当运行着的任务因等待某一事件或延时而被挂起,或者有更高优先级的任务进入了就绪态,则内核中止当前运行着的任务,把CPU的使用权交给就绪态中优先级最高的任务。当中断发生时,系统运行中断服务程序,中断返回时,系统内核将进行任务调度,将优先级最高的就绪态任务转为运行态。例如,系统运行过程中发生了AD采样完成中断,程序进入AD采样完成中断服务程序;中断服务程序向邮箱ADResult发送AD采样结果,由于任务TaskAD早先因等待邮箱ADResult而被挂起,所以此时任务TaskAD的状态被转为就绪态;中断返回时,内核进行任务调度,由于TaskAD是就绪态中优先级最高的任务(系统正常运行时TaskErr任务始终为挂起态),因此不管原先被中断的任务是什么,系统都将运行任务TaskAD,这就保证了任务TaskAD具有足够快的任务响应速度。TaskAD执行一个循环后,又因等待邮箱ADResult而转为挂起态,内核再次进行任务调度,调用就绪态中的最高优先级任务运行。

5. 结论

     本文结合无位置传感器永磁无刷直流电动机控制系统的设计,针对系统具体要求,确定了以PIC18F452单片机为主控器件,μC/OS-II作为软件平台的开发方案。实际的开发过程证明了这种开发模式能够满足系统高性能、低成本的设计要求,同时具备了较强的可扩展性和一定技术前瞻性。

     值得说明的是,在嵌入式系统中使用RTOS,增强了系统实时性,简化了系统软件设计;同时,也增加了系统的开发成本。一方面,操作系统本省会耗费一定的硬件资源(例如程序存储器、数据存储器、定时器资源等等),增加了系统的硬件成本;另一方面,若购买商用的实时操作系统,需要额外的软件支出,即使是使用免费的实时内核,也要求开发者对内核本省有深入的理解,需要投入相当的精力。所以,虽然使用RTOS会给开发过程带来一定的便利,但针对具体的应用,是否使用RTOS,若使用,具体选择那种RTOS,都是制定系统方案时值得慎重考虑的问题。

  信息来源:www.avrw.com


上一页  [1] [2] [3] [4] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行