首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于μCOS-Ⅱ系统的智能寻迹模型车的设计与实现
来源:本站整理  作者:佚名  2011-04-08 09:28:26



2 软件系统设计与实现
    为使智能车在环境改变时做出更为及时准确的响应,在程序设计时应用μC/OS-Ⅱ系统。μC/OS-Ⅱ适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2 KB。μC/OS-Ⅱ的代码是用C语言编写,可以直接移植到有C语言编译器的处理器上。移植主要都集中在多任务切换的实现上,由于这部分代码用于保存和恢复CPU现场(即写/读相关寄存器),不能用C语言,只能使用汇编语言完成,即编写OS CPU A.S文件。另外还需要修改体系结构相关的OS CPU.H文件和用户规定任务栈初始化结构的OS CPU C.C文件。
    μC/OS-Ⅱ是采用的可剥夺型实时多任务内核。可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。μC/OS-Ⅱ中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。在该系统设计中,共应用了7个优先级,其中,操作系统建立任务,即Task Start()的优先级最高。调度工作可以分为两部分:最高优先级任务的寻找和任务切换。
    在该系统中,共定义了路径识别、光电转盘检测等7个任务,控制器任务划分及说明如表1所示。其调度和通信实现流程如下:系统执行Task Start(),在初始化任务执行完成后,利用μC/OS-Ⅱ的OSTaskDel()函数将这个任务返回并处于休眠状态。此时,Task Po-sition Check()成为优先级最高的任务,将会一直执行。当Task Position Check()检测到路径有所改变,通过邮箱传送数据到Task Control(),并由TaskControl()控制PWM波输出的改变。任务Task Op-tICal_Wheel()的优先级稍低,同样会一直执行,即当任务Task_Optical_Wheel()检测到黑白跳变时,任务中的变量加1,Task_Optical_Wheel()每隔1 s向任务Task_Path_Calculate()和Task_Speed_Calculate()发送1次消息,分别计算速度和已走的累加路程,控制器任务关系图如图4所示。


 

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

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:42,789.06000 毫秒