原创 利用时间触发式系统开发嵌入式产品

2006-10-17 11:35 3072 12 4 分类: MCU/ 嵌入式

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


 


利用时间触发式系统开发嵌入式产品


 


摘要:


       本文介绍了利用时间触发式软件系统开发一种微机保护控制器,时间触发式软件系统是一种针对于851系列单片机开发的多任务系统,它也可以移植到其它种类的CPU平台上。时间触发式系统可以将控制精度控制在ms级,这是目前在51单片机应用的多任务系统中是不多见的,因此,利用该系统设计的软件实时性很好,更适用于实时控制系统中。


 


关键词:时间触发  微控制器  嵌入式系统  多任务


 


一、       引言


1、              时间触发式系统


现在很多应用系统都被描述为“事件触发的”或“事件驱动的”。例如,就现在桌面系统而言,各种各样的应用程序在运行中必须对诸如单击鼠标或移动鼠标的事件做出反应。用户希望这样的事件将引起“即时的”响应。


在嵌入式系统中,事件触发行为往往通过使用中断实现。事件触发系统在系统总体结构上往往通过提供多级中断服务程序来支持该功能。


事件触发系统结构的主要替代方案是时间触发结构。和事件触发结构一样,时间触发结构既可以用于桌面系统也可以用于嵌入式系统。


需要处理同时发生的多个事件不但增加了系统复杂性,而且降低了对事件触发系统在所有情况下的行为做出预计的能力。相比而言,在时间触发嵌入式系统中,设计人员能够通过仔细安排可控的顺序,保证一次只处理一个事件。时间触发系统的可预测的特性使这种方法成为安全相关的系统的通常选择,在这些系统中可靠性是关键的设计要求。除了能够提高可靠性之外,使用时间触发方法将有助于降低CPU的负荷并减少存储器的使用量。即使在小型嵌入式系统中采用这种系统结构,也能从中获益。


实际使用时,系统采用定时器作为任务的“心跳”,检测任务时间是否已到,若任务时间到,则使任务处于就绪状态。在主程序中进行任务的状态的检测,当任务处于就绪时,运行该任务。


时间触发系统中没有汇编部分,全部用C语言编写,因此移植性比较好,它不像其它多任务系统,系统本身也是整个系统的一部分,分界不是很明显。


2、              微机保护单元系统


微机保护单元是应用在电业供电系统中的一种保护设备,原来是采用继电保护方式,设备沉重复杂。现用微电子控制技术,采用微处理控制器进行控制,提高了系统的实时性和可靠性。它可以综合多种因素对供电设备实施全面的保护,实时采样电压电流参数,根据保护配置方案,进行运算和输出控制处理。


二、       硬件系统设计


由于要采样三相电源的电压电流参数,因此,采用了一种高精度三相电能专用计量处理芯片ATT7028,该芯片是高速的DSP芯片,集成了六路二阶sigma-delta ADC、参考电压电路以及所有功率、能量、有效值、功率因数以及频率测量的数字信号处理电路。能够测量各相以及合相的有功功率、视在功率、有功能量,同时还能测量各相电流、电压有效值、功率因数、相角、频率等参数,充分满足三相电能测量的需要


CPU采用STC<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />89C516RD+,这是51系列的一种单片机,它的内部RAM1296字节、64K程序ROM,可实现ISPIAP功能,完全满足该软件的使用要求。


                             系统框图


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图


 


三、       软件设计


1、              系统流程


 


点击看大图



 


2、              任务分解


将整个系统分解为输入输出处理任务、AD采样任务、键盘处理任务、LCD显示任务、监视任务等5个任务。输入输出处理任务完成输入控制信号的检测、报警信号的判断和控制输出的信号处理;AD采样任务完成采样数据的读取和ATT7028的芯片控制;键盘处理任务完成按键的检测处理和调用相应键值处理程序;LCD任务完成运行数据显示、报警状态显示等;监视任务完成看门狗的监测工作,监测各个任务是否正常运行,防止系统跑飞。


 


3、              关键


系统的心跳采用4ms,这样可以兼容时效性和器件速度的融合性。各个任务根据运行的性能确定运行间隔,键盘输入、显示任务可以较慢,但运行时的数据显示和设置参数时的显示速度不同,因此在原系统中添加了一个改变任务运行间隔的函数,这样就可以根据需要,改变任务的调用频率。看门狗监测任务的使用是个关键,它要保证系统能够正常运行,而出现死机的时候,又能够及时地进行复位。将该任务中加入LED的控制,这样可以随时看到任务的运行状态。由于硬件采用MAX813L作为看门狗,因此该任务的调用频率为1s,这样LED就可以作为一个运行的指示灯。


 


四、       结论


现在,单片机的内存资源越做越大,在单片机中应用多任务系统越来越多。但大多数系统的实时性很差,不能很好的体现控制精度。而利用时间触发式设计思想可以很好的体现系统的实时性,软件开发周期缩短。由于没有汇编部分,全部都是C语言编写。因此,软件的移植性很好。只要系统有定时器,就可以运行该系统。经过实际运行观察,软件运行情况良好。


 


参考文献:


1Pont,M.J.,周敏译.《时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用》.北京:中国电力出版社,2004


2Jean J.Labrosse著,邵贝贝等译.《嵌入式实时操作系统uC/OS-II 2版》. 北京:北京航空航天大学出版社,2003


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1053025 2006-10-17 13:26

欢迎来到EDN
相关推荐阅读
mcu2004_278145292 2006-10-17 11:15
基于SmallRTOS的数据采集器设计
基于Small RTOS 51的数据采集器设计<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
我要评论
1
12
关闭 站长推荐上一条 /6 下一条