我目前正在使用 ADS1291、并验证它是否可以生成测试信号以及读取传入的信号。 目前、我在读取 ID 寄存器、读回配置设置以及在接收到数据就绪信号后读取数据时、偶尔会收到0响应。
我经常收到这些问题、但在大多数情况下、我能够成功写入和读回测试信号配置。 但是、即使我随后读回 ID 值0、它仍然能够生成测试信号。 一旦完全处理了测试信号、我会尝试写入正常的运行配置、但通常会在过程中的某个位置发送回0而失败。 我在下面提供了配置的图片。
我的配置更改过程如下:
1.启动后等待4096个 TMOD 周期(31、998uS)
2.将 RESET 设置为高电平,然后等待1秒钟
3.将 RESET 设置为低电平并等待1个 TMOD 周期(8us)
4.再次将 RESET 设置为高电平并等待18TCLK 周期(36uS)
5.发送 SDATAC 命令
6.将0xA0写入 PDB_REFBUF 的 CONFIG2
7.等待 VREFP 至少达到2.2V
9.将11个字节的 CONFIG 写入 CONFIG1寄存器
10.等待18个 TCLK 周期(36uS)
11.回读配置寄存器并验证它是否与传入的配置匹配
12.读取 ID 寄存器并验证它是否与预期值0x52s 匹配
13. 发送起动命令
14.发送 RDATAC 命令
似乎在大多数情况下、它都正确设置了测试信号的配置、但它不是 surefire。 它 似乎是随机的、在更改为_CONFIGURATION_DEFAULT 时失败、但在大多数情况下、要么在验证配置时读回0、在验证 ID 时读回0、要么在 数据就绪引脚触发0流。
我们的 SPI 当前设置为 CPOL0 CPHA1和500kHz 传输速率、这是我们当前使用的硬件配置、以便为您提供帮助。