图5 同步采样 软件主程序流程图
3 采样系统的软件设计
本采样系统的软件结构较为复杂,涉及的算法也较多,为了便于调试和维护,软件设计遵循模块化、自顶向下、逐步细化的编程思想。软件采用C语言和汇编语言混合编
程,主要软件可划分为主程序、采样中断服务子程序、频率捕获中断服务子程序三大模块。图5所示是主程序流程图,软件的工作过程是:系统上电复位后,首先按照所选定的模式(调试时为Jump to H0 SRAM模式,实际应用时为Jump to Flash模式)自举加载程序,跳转到主程序入口;然后进行相关变量、数据缓冲区、控制寄存器、状态寄存器的初始化;调用事件管理器EV初始化程序,设定PWM1的周期(5MHz)、占空比,捕获单元CAP1时基T2的输入时钟分频数、周期,并启动T1、T2;初始化外设扩展中断PIE,使能所用到的外部中断XINT1和捕获中断,清中断标志位,开全局中断;而后复位并初始化外部的ADS8364,等待外部中断,在中断服务子程序中将A/D转换后所得数据读入所分配的数据缓冲区,待周波采样完毕后,根据原通道采样物理量(交流、直流)调用不同的数字滤波程序,对数据处理后,调用各计算子程序,计算所需的有效值、有功功率、无功功率、功率因数、平均值。采样中断子程序和频率捕获中断服务子程序的流程图如图6所示,其中频率捕获中断的时基精度为0.43μs。 TMS320F2812 为定点 DSP ,为了提高运算的精度和速度,软件设计中充分利用TI 公司提供的IQmath Library 以实现浮点运算与定点程序代码的无缝接口,简化了程序的开发,并大大提高了程序运行的实时性[6]。
图6(a) A/D转换中断服务子程序流程图
图6(b) 频率捕获中断服务子程序流程图
本文所设计的同步采样模块已经通过各种功能测试,达到了预期的目标。该方案的硬件设计和软件编程对提高能源、冶金等行业中多通道电量同步采集的速度和精度有一定的借鉴意义。其中的子程序具有良好的可移植性,对其它DSP应用系统的设计也有一定的参考价值。
参考文献
1 张 红,王成梅. 电力系统常用 交流采样 方法比较[J].华北电力技术,1999(4):25~27
2 周双喜,李 丹.同步发电机数字式 励磁控制 器[M]. 北京:中国电力出版社,1998:54~68
www.55dianzi.com
3 陈志洋,邹云屏. 基于 DSP 的电气参数测试仪研究[J]. 仪表技术,2004(1):36~37
4 黄 纯,何怡刚,江亚群等. 交流采样 同步方法的分析与改进[J]. 中国电机工程学报,2002;22(9):38~42
5 ApplICation Report: Interfacing the ADS8364 to the TMS320-F2812 DSP,SLAA163[R]. Texas
Instruments Inc.,Dec. 2002
6 Module User’s Guide C28x Foundation SOFtware: IQmath Li-brary A Virtual Floating Point
Engine, SPRC087. Texas In-struments Inc., June 2002
本文关键字:通道 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术