首先, 我的项目中, 已有的一个ADC芯片, 8通道, 并行, Analog家的ad7606, 在采集高速的正弦信号的时间, 我发现采集到的值怎么都不太对.
但是宏观来看, 并没有太大问题,
首先我猜疑的是量程问题, 接入一个5伏直流, 得到的读数确实是接近16bit的正半量程的读数, 32xxx.
接着我用信号发生器, 发出一个正弦波, 也没有发现问题:
在此之前, 我乃至问过gpt, ad7606, 是不是逐次逼近型的adc, 虽然谁人时间我并不清楚啥是逐次逼近型adc:
然后劈里啪拉跟我表明了半天采样的过程.
但是由于没找到问题的根本, 我换了方波才测试adc的准确性, 确切的说, 到这个时间我还不知道什么叫做瞬态响应;
下面绿色的是一个1.9伏的方波, 调解了频率后, 有可能波峰的范围一半在8个连续的adc采样周期(上图黄色通道)内, 可见:
- 蓝色通道的每次约4us的时间, 就是ad7606所谓的busy时间, 也就是采样+转换的时间
- 问了gpt数次, ad7606得到电压的准确时间是在什么时间, 答曰, 就是在CONVSTA/B被下拉的瞬间, 电平就被锁定了…
末了我还确认了, 采样几乎是瞬间完成的, 即上面图中的箭头部分的电平, 即最终adc的效果:
- 但是现实, 通过在线debug, 看到的值, 居然有中间值…
理论上, 不论6是啥, 7, 8必须是0左右啊…
乃至, 我把每个采样周期中间隔断了10us, 看到的现象是一样的.
问题到底在哪?
直到我把ad7606的规格书又翻了一遍:
GPT嘴才没有那么硬了…
原来逐次逼近型的adc, 需要多个周期才能接近真实的输入电平…
ad7606需要大概2-3个周期…
唉…以后还是小心点儿吧…
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |