stm32 pwm采取两种方式,一种是固定设置方式,例如设置计数器为199个clk,脉宽为100clk ,第二种方式采取DMA配置脉宽方式,例如我开了一个3000大小的数组,里面都写100,采取循环DMA发送
fpga就比较简单,对clk计数,最大值为100,到0-49的时候io为0,50-99为io口为1,这样就产生了pwm波形
测试结果如下
stm32下面pwm两种方式性能都差不多,360K基准上下波动3K,最大可达到5K,
dma和直接pwm都一样。
fpga方式下面,410K基准上波动不超过1k
性能差异很明显,fpga方式远远好于stm32,
特别是考虑到多轴同步的时候更是这样。
示波器采用同样条件,多次测试过程中没有做任何改变。
评论