3 智能馈线终端的软件设计
鉴于该装置功能复杂,软件编制方法采用 C51和汇编混合编程,首先在系统中移植μC/OS-II,然后在此基础上分别编制各个相关的任务,通过这样可以大大提高整个系统的实时性,可靠性,降低程序设计的难度,提高程序的可维护性。软件部分主要包括两大部分:一是μC/OS-II实时内核的移植,二是各相关任务的编制。
μC/OS-II在 C8051F单片机上的移植
μC/OS-II是一个完整的,可移植,固化、裁减的占先式实时多任务内核。μC/OS-II大部分是用ANSI C 进行编制的,只有少部分与CPU密切相关的部分是用汇编语言编写的,至今UC/OS-II已在超过40种不同架构的微处理器上运行。[3]
μCOS-II在C8051F上的移植主要是三个与CPU架构有关的文件进行重写,它们分别是汇编文件OS_CPU_A.ASM、C语言文件 OS_CPU_C.C和头文件OS_CPU.H。
另外要注意的一个问题是函数的可重入性问题,由于单片机内部堆栈空间有限,C51为函数调用提供的是一种压缩栈,每个函数被给定一个空间用于存放局部变量。函数中的每个变量都放在这个空间的固定位置,当递归调用这个函数时,会导致变量被覆盖。为保证所有函数的可重入性,必须使用reentrant关键字指定所有相关的系统函数。
相关任务的编制
馈线终端主要包括以下几个任务,它们分别是A/D定时采样任务,该任务具有最高的优先级,该任务主要完成数据的采集、采样通道的切换等功能。CAN通信任务,该任务具有第二高的优先级,该任务主要完成采样数据及相关报警信号的上传以及配电子站发过来的相应命令报文的解析处理。电参数计算任务,该任务具有第三高优先级,该任务主要完成电力参数的计算功能。LCD显示子任务,该任务主要完成相关电力参数在LCD屏上的显示,该任务具有最低的优先级。
CAN总线通信报文的格式
CAN总线通信采用具有29位标识符的扩展帧,标识符的内容包括当前信号的种类代码,(包括报警信号,电参数信号,故障录波信号,开关量参数信号以及控制信号等), 配电子站的地址,FTU的地址等。配电子站发送控制信号的格式为,使用数据域的第一个字节判断控制信号的种类,控制信号的种类主要有开出开关量的控制信号,请求获取开入开关量的控制信号,请求实时获取电参数的控制信号,以及对时信号等,根据控制信号的种类确定其它几个数据的意义,例如如果是对时信号,则后6个字节依次为当前时间的年,月,日,时,分,秒。
4 结语
运用CAN总线技术开发的智能馈线终端单元,可以极大提高配电自动化系统的可靠性,实时性,系统性价比高,安装维护简洁方便,具有较广阔的应用前景。