任务AD_Task():DSP(N0.1)采样电压、电流信号。分配邮箱:pAd_Mbox。 任务DFT_Task():DSP(No.1)进行相量递归DFT计算。分配邮箱:pDFT_Mbox。 任务SPI_Task():DSP(No.1)通过SPI总线向DSP(No.2)发送相量数据和有功、无功信息。分配邮箱:pSPI_Mbox。 任务USB_Task():DSP(No.2)通过USB总线向上位机传送相量数据和有功、无功信息。分配邮箱:pUSB_Mbox。 任务CAN_Task():DSP(No.2)通过CAN总线在工业以太网传送相量数据和有功、无功信息。分配邮箱:pCAN_Mbox。 任务GPS_Task():DSP(No.2)配合GPS的秒脉冲实现高精度授时功能并启动A/D转换。分配邮箱:pGPS_Mbox。 任务LCD_Task():DSP(No.2)通过液晶模块实时显示信息。分配邮箱:pLCD_Mbox。 由上节对堆栈的分析可知,任务栈最少需要25个地址。笔者为每个任务分配了100个地址(200字节)的任务栈空间。使用函数OSTaskCreate()创建各任务。该函数的第三个参数为栈顶地址.为OSTaskStkInit()所调用。要注意,2407A的堆栈是递增的,故应传递任务栈的最低地址;而又由于任务程序是采用C语言编写的,编译器对ARl的偏移范围可能会超过任务栈栈顶。虽然在这种情况下ARl是可恢复的,但仍可能会影响最低地址之前的地址内容。所以笔者建议对其进行适当后移。
幅值与相角计算程序得到采样数据后,利用离散傅里叶算法(DFT),可分别计算出每路电压、电流信号的幅值与相位,生成相量形式的电压与电流数据。 结语 本文设计的PMU,硬件上采用了嵌入式微处理器DSP的双CPU结构,软件上采用μC/OS-II操作系统。通过μC/OS-II管理各个功能模块之间的任务调度、中断处理、信息的交互等操作,使整个系统具有高实时性、高可靠性、可热插拔等特点;同时也提高了软件开发的效率,缩短了开发周期。同步相量测量单元的研制是一个复杂的课题,其实现还存在很多难点。本设计只涉及其中一部分,许多通信环节及同步相量的高级应用问题还需在令后的工作中进一步完善和提高。
|