大家好、
我最近集成了此 ADC 差分转换器 IC、并在通过 SPI 读取和写入寄存器方面遇到了困难。 我正在使用 RPI 与其进行通信。
我的设置如下。
CLKIN -> GND
SYNC_RESET ->上拉至 VDD
DRDY -> NC
CS <-连接到我的 RPI SS
SCLK <- RPI SPI 时钟输出
DIN <-- MOSI RPI
DOUT -> MISO RPI
我已经用示波器分析了这些信号、我很确定它们是否正常。 SPI 配置为模式1、最高有效字节发送和24位字大小。 主时钟的频率已从10Kbps 更改为1Mbps、但未成功。 在下面、您还可以找到 RPI 的通信输出和输入。
NULL command data response: DATA BYTES 0xff54 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0xac79 - Padded 0x00 RESET Output message: DATA BYTES 0x0011 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 RESET Read message: DATA BYTES 0x0511 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0xf71a - Padded 0x00 UNLOCK Output message: DATA BYTES 0x0655 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 UNLOCK Read message: DATA BYTES 0x0655 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x3d DATA BYTES 0xc680 - Padded 0x02 ------------------------------------------ NULL command data response: DATA BYTES 0x0500 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x7b8d - Padded 0x00 WAKE UP Output message: DATA BYTES 0x0033 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 WAKE UP Read message: DATA BYTES 0x0533 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0xf71a - Padded 0x00 ------------------------------------------ NULL command data response: DATA BYTES 0x0500 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x7b8d - Padded 0x00 Mode Register Write Output message: DATA BYTES 0x6100 - Padded 0x00 DATA BYTES 0x2902 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 Mode Reg Read message: DATA BYTES 0x6b00 - Padded 0x00 DATA BYTES 0x2902 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x7b DATA BYTES 0x8d00 - Padded 0x05 ------------------------------------------ NULL command data response: DATA BYTES 0x0500 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x0000 - Padded 0x00 DATA BYTES 0x7b8d - Padded 0x00
NULL 命令是唯一返回默认状态寄存器为0x500的命令。 然而、当 MODE 寄存 器被置位时、这个命令的答案应该是0x4200、而不是0x6b00、并且零填充字节中也没有任何原因找到了一些字节。 即使答案是错误的(根据2021年11月的数据表 SBASAD2)、即使寄存器 CRC 已启用(位13)、该命令之后的状态寄存器也不会改变、CRC 类型也已更改为 ANSI (位11)。
希望获得任何线索。
此致、
Martín μ A