Hi everyone,
I have recently been integrating this ADC differential converter IC and struggling with reading and writing registers via SPI. I am using a Rpi to communicate with it.
My setup is the following.
CLKIN -> GND
SYNC_RESET -> Pullup to VDD
DRDY -> NC
CS <- Connected to my Rpi SS
SCLK <- Rpi Spi Clk output
DIN <-- MOSI Rpi
DOUT --> MISO Rpi
I have analyse the signals with an oscilloscope and I am pretty sure they are ok. SPI is configured in mode 1, Most significant byte sending and 24 bit word size. Frequency of master clock has been changed form 10 Kbps to 1Mbps without success. Below you can find the communication outputs from Rpi and inputs also.
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
Answers to NULL command are the only ones that return the default status register as 0x500. However when mode register is set, the answer to this command should be 0x4200 instead of 0x6b00 and also some bytes in the zero padded bytes have been found for no reason. Even though the answer is wrong ( based on the datasheet SBASAD2 of November 2021), the status register after that command is not changing even though Register CRC has been enable (bit 13), also CRC type has been changed to ANSI (bit 11).
Any clue would be appreciated.
Regards,
Martín