Hardware Setup:
- Device: AD7293 Evaluation Board.
- Controller: Main-processor connected via SPI.
- Driver: Using the Analog Devices no-os driver integrated in Main-processor
What works:
I have verified that basic SPI communication is stable. The following operations work perfectly in Open-Loop mode:
- Chip-ID: Always returns the correct ID without errors.
- Temperature: Reading the temperature sensor returns valid values.
- I can perform a voltage ramp by controlling VOUT1 and reading VIN1; the values are consistent and accurate.
Issue:
The problem starts to occur when Closed-Loop mode is enabled. Once enabled, I experience sporadic, unplausible readings:
- VIN1 Readings: Occasionally returns 0x7FF (max 12-bit value). When re-requesting the read i see the correct value again.
- Temperature Sensor: Occasionally returns corrupted values (e.g., -256°C ).
Observations & Debugging performed:
- Since the Chip-ID remains perfectly readable, the SPI bus itself and the CS/SCLK timing appear to be ok.
- I have verified on an oscilloscope that CS goes High immediately after the SPI transfer ends
From the datasheet i found this note:
-> do i somehow observe the issue because ADc beeing busy because a background action is currently ongoing? But shouldnt i than just read the old value?
-> or do i need to take care on something in addtion when enabling the closed loop?