2、算法实现
在FPGA中设置一个定时器,设置计数周期为5μs.当PWM电平由低到高翻转时,启动计数器开始计数。计满5μs以后启动A/D转换。A/D转换完成以后通过中断通知DSP读取A/D转换的结果。具体设计见图5.图5 FPGA电路逻辑说明:输入信号为pwm、data[7……0]、wr_addr1、clk_20m,输出信号为ad_start.其中pwm为频率20kHz的PWM波,data[7……0]是dsp的低位数据总线,初始化的时候通过它向寄存器写入数值0x64(即十进制的100,1s20Mх100=5μs),wr_addr1是写出地址信号,clk_20m是频率为20MHz的时钟信号。输出信号ad_start用于启动A/D转换。
在一个PWM周期到来的时候,依次产生以下动作:
(1)pwm信号由低变高,触发D触发器,使能计数器,开始计数。
(2)当计数器计到100时,它的输出q[]全部变为0,从而触发与其相连的D触发器,Q输出变为0。
(3)下一个clk_20m的时钟将该触发器的Q输出恢复成1.这样就在ad_start信号线上形成了一个脉冲,用于启动A/D转换。
(4)与此同时,Q变使得与cnt_en相连的D触发器输出1,禁止计数器计数,直到下一次pwm波形变高。
本文所讨论的降噪算法及其硬件实现在磁浮列车单转向架上进行了试验。通过对比可以看出,采用降噪算法以后悬浮系统的振动明显降低,噪声也减小到能够承受的范围。以上通过分析系统中的噪声特性,设计了一种通过避开主要噪声持续时间进行采样的降噪算法,并通过FPGA进行了实现。通过实验,证明该方法明显降低了噪声对系统的影响。通过实验,证明该方法明显降低了噪声对系统的影响,提高了控制性能。该方法适用于采用半桥驱动拓扑结构一类的功率放大电路。
相关推荐: