ADF5902 readback sequence - temperature sensor

Hi, in the adf5902 datasheet pag 33 says this:

but I dont understand why do you need the steps 5 and 6, are they necessary?, or could I program the adf5902 until the step 3 and have the ADC out signal always in DOUT?

Thanks

  • 0
    •  Analog Employees 
    on Oct 5, 2020 2:27 PM 1 month ago

    Hi,

    Yes if you intend on continually monitoring temp from ADC to DOUT then you can omit steps 5 and 6 and you can then perform consecutive temp reads by doing step 2 (start ADC conversion) and then step 3 and 4 (write R3 and read DOUT).

    Note that it is recommended to recalibrate for every 10deg temperature change. From page 32 of DS, the recalibration sequence requires R4 and R2 be changed back to default, and this sequence should be followed for correct recalibration. This is why we have included step 5 and 6 in the above sequence.

    Regards,

    Alex

  • Hi, ok I understand but there is no info in the datasheet about the time that takes the ADF to respond to the readback register and the steps to read correctly in DOUT, I mean, how many time should I wait to get the response?,  I am sending the 4 registers data mentioned in PDF to read the temp and two additional clk frames with zeroes to be able to receive something but I get 0 in DOUT, yellow is CLK and purple is LE

    thanks

  • 0
    •  Analog Employees 
    on Oct 24, 2020 1:46 AM 1 month ago in reply to jg_spitfire

    What frequency are you using for the CLK pin? Are you able to read anything back from the DOUT pin?

    To read back from the DOUT pin:
    1. Write to R3 with bits DB10 to DB5 programmed for the desired readback data (see truth table in figure 27 on page 19 of the datasheet).
    2. Bring LE high for at least 20 ns (see t7 timing parameter on page 5)
    3. Bring LE low and provide 32 rising edges on CLK to clock out the data on DOUT. Refer to timing diagram on page 5.

    Note that DB31 will be available on DOUT approx. 10 ns after LE goes low (t8 timing spec). DB30 will be available approx. 15 ns after the first clock edge, and so on (t9 timing spec).

    Are you applying a reference frequency to REFIN? The output of the R divider block clocks the ADC clock divider. The value of R2 given in step 2 of the temperature readback sequence is for REFIN = 100 MHz, R divider = 1 (set in R7). The ADC clock divider value in R2 is set to 64, which makes the ADC sampling clock = 1.5625 MHz. If you are using a different REFIN frequency and R divider setting, you will need to calculate the ADC clock divider value in R2 based on your own settings.

  • Hi

    Are you able to read anything back from the DOUT pin?

    I am trying to read the reg 7 too, these are my steps (CLK = 2MHz)

    immediately after applying V to the device:

    1.- LE to high >20ns

    2.- LE to low

    3.- I write 0x02000007 (master reset) (I provide 32 rising edges CLK + data to the adf5902)

    4.- LE to high >20ns

    5.- LE to low

    6.- I write 0x0189F903 (readback R7) (I provide 32 rising edges CLK + data to the adf5902)

    7.- LE to high >20ns

    8.- LE to low

    9.- I write 0x00000000 (dummy data) to provide 32 rising edges CLK to generate the necessary clock so the slave (adf5902) can respond to the readback command

    10.- LE to high >20ns

    But I don't get any response from the adf5902 (DOUT is 0V), am I doing something wrong?

    When I try to read the ADC just change the written values as mentioned on page 33 of ADF5902 datasheet:

    0x00012064

    0X0002A802

    0X0189FAC3

    But the response in DOUT is zero too

    Are you applying a reference frequency to REFIN? The output of the R divider block clocks the ADC clock divider. The value of R2 given in step 2 of the temperature readback sequence is for REFIN = 100 MHz, R divider = 1 (set in R7). The ADC clock divider value in R2 is set to 64, which makes the ADC sampling clock = 1.5625 MHz. If you are using a different REFIN frequency and R divider setting, you will need to calculate the ADC clock divider value in R2 based on your own settings.

    I have not checked the REFIN yet, but I don't know if my steps correct, I know that reading the temp sensor is a little bit "harder", but I am having issues reading a simple register as R7 so I suspect my steps mentioned before are wrong.

    Thanks

  • 0
    •  Analog Employees 
    on Oct 26, 2020 2:59 AM 30 days ago in reply to jg_spitfire

    Are you performing the full initialisation sequence (page 31 of the datasheet)? From what you posted above, it looks like you are reading back R7 straight after performing a master reset. Master reset performs a reset of the device and all register maps (refer to page 23).