Other Parts Discussed in Thread: ADC08DJ5200RF
Tool/software:
Hi,
We've been using the ADC08DJ5200RF successfully for a while and recently decided to implement an automatic gain adjustment mechanism which uses ORA0 and ORA1 (we're operating in single channel mode). We are setting OVR_CFG during initialisation and following the recommended step order in the datasheet. We're setting the register to 0x0F to enable overrange detection and select maximum pulse duration for the overrange outputs.
The issue we're having is it seems like the OVR_CFG register is not holding the value that we're programming into it. Before initially setting it, it seems to have a value of 0x81, and after attempting to write to it, we're reading a value of 0x03. Is there any particular requirement that must be met before this register is set? As mentioned, we're following the exact steps according to the data sheet:
1. Power-up or reset the device.
2. Apply a stable device CLK signal at the desired frequency.
3. Perform a software reset by toggling SOFT_RESET to 1. Wait at least 1 μs before continuing.
4. Program JESD_EN = 0 to stop the JESD204C state machine and allow setting changes.
5. Program CAL_EN = 0 to stop the calibration state machine and allow setting changes.
6. Program the desired JMODE.
7. Program the desired KM1 value. KM1 = K–1.
8. Program SYNC_SEL as needed. Choose SYNCSE or timestamp differential inputs.
9. Configure device calibration settings as desired. Select foreground or background calibration modes and
offset calibration as needed.
10. Program CAL_EN = 1 to enable the calibration state machine.
11. Enable overrange via OVR_EN and adjust settings if desired.
Adc_SetReg(OVR_CFG, 0x0F);
12. Program JESD_EN = 1 to re-start the JESD204C state machine and allow the link to restart.
13. The JESD204C interface operates in response to the applied SYNC signal from the receiver.
14. Program CAL_SOFT_TRIG = 0.
15. Program CAL_SOFT_TRIG = 1 to initiate a calibration.
Before the value is set:
Setting the register and reading it back:
Thanks in advance,
Juan