[DSP编程] ADC转换问题,没有结果

[复制链接]
146|2
 楼主 | 2017-12-21 21:57 | 显示全部楼层 |阅读模式
本帖最后由 icekoor 于 2017-12-21 22:02 编辑

出现了一个奇怪问题,adc初始化后,采用pwm触发,之前一直没有问题,测试都通过了。后来调试其他地方的程序,没有修改过ad和pwm的初始化,结果ad采集不到值了。ad的中断每次都可以进去,和pwm的周期一致,但是ad的结果一直为0,这可能是什么问题,ad的采样速率是3M,芯片是28016,速率提高和降低都一样,还是没有结果,pwm频率8k。
大家遇到过类似的问题吗?
 楼主 | 2017-12-21 22:02 | 显示全部楼层
要的AD采样率来决定定时器的计数周期(比方说:你要求采样率为100Hz,而定时器的输入时钟为10MHz,那么计时周期为100000-1,假定计数器采用增计数模式,初始值为0),现在你将定时器的比较寄存器的值设为100000-1,每当定时器从0增计数到100000-1时,与比较寄存器值相等,就启动AD转换(前提是你已经设置AD启动方式为定时器启动,允许AD中断),在AD中断程序中复位计数器,使其重新从0开始计数,准备下一次中断,AD转换结果也在AD中断程序中读取,依次读结果寄存器0、1、2即可,就是你输入3个通道相应的AD转换结果,读取完结果后还要复位排序器(这一步不是必须的,看你采用哪种方式),复位的方式较简单,你每次要读的结果都是在上面所说的三个结果寄存器中。需要说明的是,平常所说的AD采样率是指启动连续两次AD转换的频率,至于AD本身的转换时间并没有考虑。至于AD转换一次需要多少时间与这只有关,也与AD本身的硬件有关,得参考他的技术指标。
| 2018-1-14 15:05 | 显示全部楼层
ad的采样速率是3M,怎么理解,  每秒要转换 3百万次吗
我觉得会是频率太高, 来不及完成吧
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式

论坛热帖

关闭

热门推荐上一条 /4 下一条

分享 快速回复 返回顶部 返回列表