DSP/BIOS在电能质量监测终端中的应用

豆豆网   技术应用频道   2007年12月23日  【字号: 收藏本文

内容摘要:电能质量监测终端系统采用DSP/BIOS作为系统的实时内核,以任务线程的形式安排各个子功能模块,并为之分配系统资源,最终完成对电网电能质量的实时监测。本文在以DSP/BIOS作为系统核心的基础上,对系统的实现方法进行了详细的分析和设计。

DSP/BIOS在电能质量监测终端中的应用

  其次,安排软件中断线程(SWI)。所有的软件中断都是通过DSP/BIOS内核的API调用来启动的,为了便于控制,系统为每个SWI对象都设置一个16位的邮箱(Mailbox),可以利用这个邮箱的值有条件地启动对应的软件中断。可以将相对于普通任务比较重要的、发生频率比较频繁的子功能模块安排在软件中断线程(SWI)中。其子功能模块包括:电能质量数据预处理模块、通信模块(发送)。电能质量数据预处理模块主要完成对A/D转换结果的后续处理。对A/D转换结果进行预处理是必要的。因为A/D芯片选用固定频率进行采集,但是电网的频率fo是波动的,所以直接对采集数据进行FFT运算会产生频谱泄漏,因此,必须对采集数据进行预处理。例如,对4个周波每个周渡256点一共l024个数据进行1024点的FFT运算。假设4个周波的平均频率为f,则频率分辨率为f/4,FFT运算结果依次为f/4、2f/4、3f/4、f、5f/4……频率上的强度。因此,当电网频率fo发生变化时,进行FFT运算的电网数据频率f也要随之变化,使得进行FFT运算前的电网数据频率f始终与当前电网的频率fo保持一致。电能质量数据预处理模块具体操作是对A/D转换后的数据进行插值,插值算法采用线性插值。经过验证,额定电压下,线性插值算法造成的FFT运算的误差在O.1‰以内。除此之外,该模块还有一个功能就是计算一个周波内的电压有效值。这是计算电压波动和长时间、短时间闪变的必要数据。通信模块(发送)负责向上位机发送数据,虽然其实时性要求不高,但是与硬件底层密切联系,所以设置为软件中断线程。当串口接收中断发生时,调用scia_rx_isr()函数对接收数据命令进行处理,根据相关的命令发送相应的电能质量数据。DSP/BIOS为软件中断对象提供了O~14的优先级,按照上述线程的重要程度,将采集数据处理线程优先级设为14,主机通信线程设为8,其他优先级预留以便将来软件升级。

来源:单片机及嵌入式系统应用    作者:许康平 陈建元 韦海锋    责编:豆豆技术应用

正在加载评论...