关于ADC采样时序计设计思路?
STC32G128应用设计,启用了12路ADC采样,即三相ABC电压3路+电流6路+漏电3路,都是50HZ交流采样求均方根值(方法:定时器250us中断取值,进入中断服务程序分别扫一遍12路ADC值,取满80次=20ms,即为一个完整正弦波),我用的是80个int型环型数组,不间断环形填充覆盖;主程序内随时读取环型数组值,这样刚好是1个周波80个点的值;但是这样设计主程序走得慢效率低,麻烦大家给个好的思路,点拨一下! 另外主程序有时序要求,跑一遍不能大于5ms,不能用连续20ms采样方法;麻烦高手给个思路!!另外:程序开了串口1通讯中断,定时器2ms计时中断,需要将交流采样250us中断优先级设为最高吗,其它中断会影响ADC取点精度吗?
用PWM触发ADC采样! 用PWM触发ADC采样,和用定时器250uS中断触发ADC采样, 有什么区别,优点是什么? 建议使用ADC DMA读取,每隔250us触发一次,12通道完成后进入DMA中断读取并计算平方和,计算到要求的次数(采样总时间为20ms的倍数,次数越多越准确),则提交给外部程序来计算均方根值。
由于每次采样有12个平方和计算,建议使用STC32G或STC32F。
页:
[1]