AnsweredAssumed Answered

ADIS16209 Register Communications

Question asked by JonathanH on Jan 18, 2017
Latest reply on Jan 31, 2017 by NevadaMark

Hi,

 

I a trying to read data from an ADIS16209 and am having some issues reading data. The datasheet doesn't seem very comprehensive when it comes the description of the SPI protocol.

 

From various support posts I have managed to piece together how I believe you are intended to read data from the ADIS, but there are a few things which I can't make sense of:

 

1) the ADIS16209 data sheet states that the first byte of transmission is a R/W bit & 6 address bits, however some registers (e.g. PROD_ID) have addresses which are 7 bits long? PROD_ID Address=0x4A=0b01001010. Am I missing something here?

2) Is burst reading possible? Or can only 16 bits be read at a time?

3) When reading a 16 bit register - it seems like you need two 16 bit transmissions:

      Byte 1 = R/W and  Address

      Byte 2  = 0

      Byte 3 = First Register Byte

      Byte 4 = Second Register Byte

 

      my question is - do you need to de-select CS between the first two bytes and the last two? Or do you just keep reading? Can't find a definitive answer in the datasheet.

 

4) If CS has to be deactivated between the address word  and register word (in above) - how can you safe guard against the MCU and ADIS falling out of sync?

 

e.g if the ADIS is reset between the first two bytes and the second two the MCU will be expecting data whilst the ADIS is expecting the address word.

 

Hope this makes sense.

 

Jonathan

Outcomes