在对ESP32进行简单的资料搜索后得出这么一个结论:
ESP32自带的12位ADC的线性可读取的电压范围为0V-3.3V,但他的表现却并不是很好,无法分辨0V,0.1V和3.2V,3.3V,其线性无法满足仪用ADC的要求,若使用它作为探测器ADC将会失去能谱最前面和最后面一段的计数,这对于能谱分析将产生重大的影响。
与老刘讨论后得出结果——得买单独的ADC,遂进行调研,下面简单记录调研选型结果。
在老刘的强烈建议下,只选择AD家的ADC,于是预算像是做了火箭一样往上涨
知识储备
以下部分内容来自CSDN@qq_41854911
在阅读这些芯片的数据手册时主要关注的部分就是它的采集速度,积分非线性误差值以及采集的通道数
第一个,采集速度,这个比较好理解,ADC每秒能采集多少次脉冲;
第二个,积分非线性误差值(Integral NonLinearity——INL),INL指的是 ADC 器件在所有的数值上对应的模拟值,和真实值之间误差最大的那一个点的误差值,是 ADC 最重要的一个精度指标,单位是 LSB。LSB(Least Significant Bit)是最低有效位的意思,那么它实际上对应的就是 ADC 的分辨率。一个基准为 5.10V 的 8 位 ADC,它的分辨率就是 0.02V,用它去测量一个电压信号,得到的结果是 100,就表示它测到的电压值是 100*0.02V=2V,假定它的 INL 是 1LSB,就表示这个电压信号真实的准确值是在1.98V~2.02V 之间的,按理想情况对应得到的数字应该是 99~101,测量误差是一个最低有效位,即 1LSB。
同理对于12位的ADC,1LSB即表示$1\2^{12}\approx{0.0002}$ ,也就是万分之二,那么上图中AD9215的INL为万分之一左右。
选型表格
下面简单记录目前选择的ADC的型号,价格,部分关键性能参数以及对应的数据手册
型号 | 货号 | 价格 | 位宽 | 速度 | INL(万分) | 数据手册 |
---|---|---|---|---|---|---|
AD7980ARMZRL7 | C578576 | 70 | 16bit | 1M | 数据手册 | |
AD633 | C412448 | 60 | 1M | 数据手册 | ||
AD9215BRUZ-80 | C653266 | 90 | 10bit | 65M | 1 | 数据手册 |
AD7928 | C183018 | 70 | 10bit | 1M | 数据手册 | |
AD9224 | C114170 | 80 | 12bit | 40M | 3 | 数据手册 |
AD7276 | C208646 | 30 | 12bit | 3M | 数据手册 | |
AD7888 | C578547 | 70 | 12bit | 2.5M | 数据手册 | |
AD7277 | C650757 | 25 | 10bit | 3M | ||
AD7356 | C650840 | 65 | 12bit | 5M | 3 | 数据手册 |
LTC2311 | 120 | 12bit | 5M | 0.5 | ||
LTC2315 | 120 | 12bit | 5M | 0.5 |