工具/软件:
你好
我们在测量设备中使用 ADC 芯片 ADS8688。
当我读出八个通道时、得到的值总是相同的。 ADC 下电上电后、该值可能会发生变化、但通过复位(硬件或软件)、该值会保留。
在读取单通道 I A 之前、执行初始化段、在该段中设置并读回 RANGE 寄存器。 工作正常。 任何值都会设置为配置寄存器、之后可以读回。
我尝试使用自动休息模式和手动模式。 没有差别。
流程如下:
-重置 ADC (0x8500)
-延迟10ms
-自动 RST (0xA000)
-将寄存器 CHANNEL_PWR_DWN 设置为0x00
-将通道0至7的寄存器 INPUT_Rang 设置为双向5.12V (0x01)
-读回配置寄存器并检查设置是否正确
-如果不正确,重置 ADC 并重做配置数次,我们最终进入硬故障错误处理程序
-如果正确,继续
- NOP (0x0000) <-将 ADC 恢复到空闲状态
-使用 Auto-RST 或手动读取命令循环读取 ADC 通道0至7
SPI 总线的配置部分:
DAQ 部分:
局部视图:
整个视图:
原理图:
我还试图经常做一个复位,在希望 ADC . 在以下示例中、使用自动 RST 命令在16次通道读取(2x 0至7)之后发送 RESET 命令(0x8500):
复位命令执行成功、因此复位后的第一个值为0xFFFF (无效)、接下来的15个转换具有相同的值。
如果您的硬件具有抗噪性、甚至不会闪烁、但情况并非如此、那将是很好的。 我甚至可以将 AIN_p 和 ANI_n 缩短为 GND、并保留常数值。
我很高兴有任何想法来解决这个问题。
非常感谢'
Simon