大家好、
我的客户正在使用 ADS8686来替代 AD7616、我们在他们的其中一个设计中遇到了问题。
- 问题:
我们发现我们可以在 DSP (TMS32F28335)平台上直接替换、但在另一个 ARM 平台上、发生了一些问题。 我们无法从 ADC 读取数据结果;
从软件来看、代码的配置没有不同(不同平台的 ADC 输入范围不同、因此转换序列可能有所不同);
在 F28335的硬件方面、我们在数据总线上有22ohm、在 ARM 平台上、CPU 直接连接到 AD7616;
对于 AD7616的使用、软件配置模式统一使用一个 CONVST 信号来转换所有通道(不同产品的通道转换序列可能不同)、即使用突发序列发生器模式。
- 测试:
ARM 平台上的测试结果表明、CPU 通常可以写入和读取 ADC 寄存器、ADS8686S 也可以正常转换以完成所有配置的通道。 这一结论的基础是 BUSY 信号的宽度是正确的。 在 BUSY 下降沿之后读取状态寄存器后、可以读取上一次转换的通道编号。 也就是说、下图中的11-8位和15-12位与配置完全相同。
当在 BUSY 的下降沿之后读取 ADC 数据时、只能读取 V0A 的数据、并且数据大小与 V0A 的模拟输入范围和配置的 ADC 一致。 (V0A 输入为 DC1V、REF 为2.5V、读取的数据为13100)。 此外、在测试期间、发现当使用示波器探针仅测量 RD 信号或 CS 信号时、V0A 的数据将只读、但数据顺序不正确且不固定。 有时会出现不正确的数据。 数据只是正确数据的1/2。 1/4 (没有多个测试来找到一个模式)。
使用示波器测量 DB0—DB15信号、并发现无法正确测量 DB 的波形。 波形如下:
CS 为黄色 、DB0为绿色
- 其他测试:
在 F28335平台上进行测试
CS 为黄色、RD 为绿色
在 Arm 平台上进行测试
CS 为黄色、RD 为绿色
注意:在 ARM 平台下、必须一次读取两个16位数据、并且不能调整间隔。 这是上图中红色箭头指示的位置。
- 问题:
通过比较数据表、可以发现 ADS8686S 电气特性表中数字输出项的测试条件为 IO=500uA (数据表的第13页)、而 AD7616的测试条件为 IO=100uA。
我们当前使用的 ARM 平台产品是大规模生产的产品、不需要更改硬件带来的不便。
我们怀疑这是由当前使用的 ARM 平台的总线驱动器功能不足引起的。
您是否能帮助确认问题并提供指导?
BR
Brandon