基于嵌入式技术的水泥回转窑胴体温度监测系统设计
3嵌入式系统软件设计
系统采用μC/OS-II操作系统作为应用软件的平台,可以避免传统的前后台程序设计时伴随系统功能增加而造成程序编写量呈指数增加以及资源调度不当发生的死锁现象,同时也提高了系统的实时性和可靠性。
3.1 μC/OS-II的移植
μC/OS-II是一个源码开放的嵌入式多任务实时操作系统内核。其核心代码结构简洁精练,具有足够的稳定性和安全性。μC/OS-II的移植对处理器有一定的要求,比如必须具有响应中断的能力,并具有开关中断的指令,处理器必须可支持一定数量的硬件堆栈,并且应该有对堆栈指令进行读/写操作的指令等。同时,移植时编译器应该具有产生可重入代码的能力。本设计所选用的处理器LPC2119以及开发工具ADSl.2能满足移植要求。μC/OS-II的文件系统结构包括核心代码部分、配置代码部分、处理器相关代码部分。其中处理器相关代码部分是移植时需要修改的部分,它包括OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S 3个文件,OC_CPU.H包括数据类型定义、堆栈单位定义、堆栈增长方向定义、关中断和开中断宏定义等。
OS_CPU_C.C包含6个函数,其中,OSInetEnter()是任务堆栈初始化函数,是必需的,其他5个函数都是钩子函数,可以为空。
OS_CPU_A.S这部分需要对处理器和寄存器进行操作,用汇编语言编写,包括四个函数:OSStartHighRdy()函数被OSStart()调用,使就绪的最高优先级任务运行:OSCtwSw()在任务级切换函数中调用,保存任务环境变量,将当前SP存入TCB中,载入就绪最高优先级任务的SP,中断返回等;OSIntCtxSw()在退出中断服务函数OSIntExit()中调用,实现中断级任务的切换;OSTicklSR()是系统时钟节拍中断服务函数,它为内核提供时钟节拍,频率越高系统负荷越重;使用硬件定时器作为时钟中断源,定时中断频率一般为10~100Hz。
3.2 用户任务设计
嵌入式系统中,合理的划分任务及优先级,不但能简化软件设计的复杂性、任务调度的正确性,而且还能增强系统的稳定性、健壮性以及实时性。
本系统软件主要功能有:a.回转窑工况显示:b.温度数据关联处理;c.窑同步信号采集;d.回转窑胴体温度扫描。
基于μC/OS-II实时操作系统,根据回转窑胴体温度监测系统的功能要求,划分了任务以及优先级,任务优先级取偶数,为以后系统升级留下空间。如表1所示。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论