AD7606, 逐次逼近型ADC以及一次被GPT坑了的过程.

首先, 我的项目中, 已有的一个ADC芯片, 8通道, 并行, Analog家的ad7606, 在采集高速的正弦信号的时候, 我发现采集到的值怎么都不太对.

但是宏观来看, 并没有太大问题,

首先我怀疑的是量程问题, 接入一个5伏直流, 得到的读数确实是接近16bit的正半量程的读数, 32xxx.

接着我用信号发生器, 发出一个正弦波, 也没有发现问题:

在此之前, 我甚至问过gpt, ad7606, 是不是逐次逼近型的adc, 虽然那个时候我并不清楚啥是逐次逼近型adc:

然后劈里啪拉跟我解释了半天采样的过程.

但是由于没找到问题的根本, 我换了方波才测试adc的准确性, 确切的说, 到这个时候我还不知道什么叫做瞬态响应;

下面绿色的是一个1.9伏的方波, 调解了频率后, 有可能波峰的范围一半在8个连续的adc采样周期(上图黄色通道)内, 可见:

  1. 蓝色通道的每次约4us的时间, 就是ad7606所谓的busy时间, 也就是采样+转换的时间

  2. 问了gpt数次, ad7606获得电压的准确时刻是在什么时候, 答曰, 就是在CONVSTA/B被下拉的瞬间, 电平就被锁定了...



最后我还确认了, 采样几乎是瞬间完成的, 即上面图中的箭头部分的电平, 即最终adc的结果:

  1. 但是实际, 通过在线debug, 看到的值, 居然有中间值...

理论上, 不论6是啥, 7, 8必须是0左右啊...

甚至, 我把每个采样周期中间间隔了10us, 看到的现象是一样的.

问题到底在哪?

直到我把ad7606的规格书又翻了一遍:

GPT嘴才没有那么硬了...

原来逐次逼近型的adc, 需要多个周期才能接近真实的输入电平...

ad7606需要大概2-3个周期...

唉...以后还是小心点儿吧...

相关推荐
EVERSPIN38 分钟前
高压风机专用32位单片机MM32SPIN080G
单片机·嵌入式硬件
Hetertopia3 小时前
STM32寄存器控制引脚高低电平
stm32·单片机·嵌入式硬件
因心,三人水3 小时前
【STM32F103ZET6——库函数】2.按键控制蜂鸣器
stm32·单片机·嵌入式硬件
小麦嵌入式4 小时前
Linux驱动开发实战(一):LED控制驱动详解
linux·c语言·驱动开发·stm32·单片机·嵌入式硬件·ubuntu
陈敬雷-充电了么-CEO兼CTO5 小时前
DeepSeek-R1:通过强化学习激发大语言模型的推理能力
人工智能·gpt·搜索引擎·自然语言处理·chatgpt·大模型·aigc
工匠Sola6 小时前
STM32G473VET6 在 Keil MDK 下手动移植 FreeRTOS 指南
stm32·单片机·嵌入式硬件
道一236 小时前
STM32 微控制器库RCC_ClkInitTypeDef结构参数介绍
stm32·单片机·嵌入式硬件
道一236 小时前
STM32 微控制器库RCC_OscInitTypeDef结构参数介绍
stm32·单片机·嵌入式硬件
厂太_STAB_丝针6 小时前
【自学嵌入式(11)闪存文件系统的应用】
c语言·单片机·嵌入式硬件
RFID舜识物联网6 小时前
RFID测温技术:为生产安全与稳定保驾护航
大数据·人工智能·嵌入式硬件·物联网