1 导言
我国电力体系的微机型维护得到迅速开展,已在电力体系得到了广泛运用。从前期的8位机,到现在16/32位机,功用得到了进步,运算才能也大大加强了。
微机维护的功用及其可靠性取决于软、硬件,因而软件的编写和硬件的挑选是一项要害性的作业。咱们在编写软件时,一般先画好流程图,然后按着流程图来编程,一般是一个无限循环,循环中调用相应的函数(子程序)完结相应的操作(称为后台行为或使命级);用中止来处理随机事情(称为前台行为或中止级)。程序流程如图1所示。使命的呼应时刻取决于后台循环履行的时刻(在不同的状况或运转办法下,履行时刻不同),程序经过某一点的时刻不能确认,程序修正了,循环时序就遭到影响。这种编程办法,使得程序开发周期长,修正困难,任何一处遭到损坏,就会死机。在8位机年代,还不算显着,跟着16/32位机的运用及体系杂乱性的添加,体现的越来越显着了。这种传统的前台/后台程序开发机制已不能满意日益杂乱和多样化的微机维护的运用需求,选用RTOS来开发微机维护运用程序,现已成为开发人员的开展方向。
现在运转的微机维护装置大多数为16位单片机,关于惯例的维护其功用基本能满意。但16位单片机往往遭到运算速度等要素的影响,不易完结更杂乱的算法和更高采样速率。跟着微电子和半导体技能的开展,DSPs已运用在了很多范畴。因为DSPs的强壮数字信号处理才能,越来越遭到开发人员的喜爱。
2 关于RTOS(Real Time Operating System)实时操作体系
实时操作体系是一段在体系启动后,首要履行的布景程序。用户的运用程序是运转于RTOS之上的各个使命,RTOS依据各个使命的要求,进行资源办理、音讯办理、使命调度,反常处理等作业。实时多使命内核是RTOS的要害部分,基本功用包含使命办理、定时器办理、存储办理、资源办理、事情办理、体系办理、音讯办理等。RTOS与其它OS比较主要特征是规划小、可裁剪、微内核。
在RTOS机制下开发多使命程序,CPU的运转时刻被划分为许多小的时刻片,RTOS依照某种调度算法别离分配给不同的使命,多个使命别离在自己的时刻片内拜访CPU,到达微观上轮番运转,微观上并发运转的多使命作用。程序流程如图2所示。
使命是单线程序列指令构成的一个无限循环,它有五种状况:休眠、安排妥当、运转、等候和中止。实时内核是经过使命操控块(TCB)来办理使命的。程序调用内核服务创立使命,并在使命中分配一个使命操控块,进行初始化,使使命进入安排妥当状况。实时内核以事情为根底,依据使命履行的状况,对使命进行切换,状况也随之改变。在实时使命中,内存中存在多个使命操控模块,以及各个使命独立的私有仓库。
使命进行切换,首要要保存CPU寄存器内容到当前使命的使命操控块中,然后重新使命的使命操控块装载仓库指针,并将新使命的上下文装载到CPU寄存器中,这样就从一个使命切换到另一个使命运转。
咱们即将开发的体系功用进行分化,构形成几个不同的使命,每个使命担任完结体系运用要求的一部分功用,并依据其重要性,决议它的优先级,它们互相独立运转。
RTOS的运用,能够进步体系的可靠性。传统的线性程序,在遇到激烈的搅扰时,程序任何一处发生死循环或损坏,都会引起死机,只要靠硬件(看门狗),进行复位、重新启动体系。在这种情况下,关于RTOS办理的体系,只会引起若干个进程中的一个损坏,并可用别的的进程对其进行修正。还能够进步产品的开发功率,缩短开发周期。一个杂乱的运用程序,能够分化成若干个使命,每个使命的调试、修正简直不影响其它模块。
运用RTOS,使得运用程序的规划、扩展变得简单,不需要大的改动,就能够添加新的功用;且能使体系资源能得到更好的办理。但需添加额定的ROM/RAM的开支,添加2~5个百分点的CPU额定负荷,以及开发本钱的添加(RTOS的价格)。
当今商场上有许多RTOS商家出产面向8位、16位、32位,乃至64位的CPU的RTOS产品。如:VRTX、QNX、VxWorks、 Nucleus PLUS、OS—9、PSOSys-tem、LynxOS、WindowsCE及国内的Hopen等。RTOS除包含实时多使命内核外,还包含输入输出办理、视窗体系、文件体系、网络言语接口库、调试软件,以及穿插编译渠道等。RTOS已在各行各业运用,如:航空、军事、电力、通讯及工业操控等范畴。
3 关于DSPs(DiginalSignalProcessors)数字信号处理芯片
传统上,微操控器MCU和微处理器MPU是微机开展的两大分支,而DSPs是MCU的一种特别变
形。它是一种具有哈佛结构,精简指令(RISC)的CPU。
DSPs片内有多条地址、数据和操控总线,可进行流水线操作,进步了CPU的处理才能;有硬件乘法器,乘法核算可由一条指令来完结;有专门的指令,进行数据处理;有DMA传输通道。其外部硬件部分和MCU相同,由地址、数据和操控三总线组成。在软件开发上,能更好地支撑模块化编程。
商场上有多种DSPs可供咱们挑选。如:TI公司的TMS320系列、ADI公司的ADS系列、MOTOROLA公司的DSP系列等。
DSPs的运用,可极大地缩短数据处理的核算时刻,不光能够完结数据收集、信号处理功用,还可完结运算、操控等功用。
4 RTOS与DSPs在微机维护装置中的运用
咱们选用美国ATI公司的Nucleus Plus实时操作体系,DSPs选用美国TI公司的TMS320C32,开发了一系列的中低压维护装置。
Nucleus Plus是实时、抢先、多使命的内核。大约95%的Nucleus Plus程序是用ANSIC编写的,简单移值。咱们以Nucleus Plus为开发渠道,选用C言语和汇编言语混合编程,进行软件开发。
咱们针对维护装置的实际情况,把整个体系分红维护、自检、显现、通讯等几个使命,并把维护使命设置成最高优先级。各使命间互相独立运转,使命间的通讯经过大局数据或发送音讯来完结,任何一个使命呈现运转反常,其它使命正常运转。使命程序的结构如下代码所示: