我将通过具有 LPC4088芯片的 SPI 连接到 ADS1292R。
SPI 模式为1。 CLK 空闲时、数据在上升沿进行设置、并在时钟周期的下降沿进行读取。
我能够使用0x73值正确读取 ID 编号。
此外、我在复位后读取了所有寄存器、这些值与数据表中的值相同。
问题是、如果在重新启动转换时读取或写入任何寄存器、状态字节将不再正确。 正如我们所知、状态字节以1100开头、甚至不是正确的。
我完成的测试包括:
方案1、发送 SDATAC RDATAC 启动和复位例程:
打开我的 PCB (使用旧版 uC 和相同 ADS1292R 芯片的定制 PCB)、
2-提供复位> hardwareSTOP (START 引脚至0)>提供 SDATAC 命令
3-提供 RDATAC > hardwareStart (START 引脚为1)
结果、芯片仍在工作、并且我获得了正确的状态字节并更改了通道1和2中的值。 CH1和 CH2的复位条件是否会导致通道中的此噪声?
Scenery 2读取寄存器一个或多个:
1-提供 STOP 和 SDATAC
2-读取一个或多个寄存器、根据数据表、值获取是正确的
3-提供 RDATAC 并启动
状态字节已更改、通道不再改变值
场景3写入寄存器一个或多个、并且不读取任何寄存器:
1-提供 STOP 和 SDATAC
2:将配置为250SPS 的 vale 写入配置1寄存器
3-提供 RDATAC 并启动
4 -通过测量 DRDY 来检查此变化、该 DRDY 在转换结束的下降沿之间具有4ms 的正确时间
在这种情况下、已进行更改、但状态字节以0100开头、通道不再发生更改
因此、我得出的结论是、我对寄存器执行的任何读取或写入操作都是错误的或错误的。 我假设 SPI 通信正常、因为我可以在复位配置时正确读取 ID 和状态。
我在这台 PC 上使用了 ADS1292r、另一个 uC 和相同的软件时序相同、因此我无法找到它是什么
请帮帮我。