Hello!
I would like to add an ADC (ADS8558) to my C28346-Delfino in order to measure 6 different voltages of an SR-motor.
Existing Setup: software mode and parallel mode to communicate with the ADC.
The configuration of the ADC works fine: For example I can change Control-Register-Bit 10 (CR10) so that the "internal conversion clock" is available at Pin27 or is not available. It is also possible to select the "internal reference voltage" via CR18.
The whole configuration register reads as follows:
CR31..CR16: 1110 0010 0000 0000 -> 0xE200
CR15..CR0: 0000 0011 1111 1111 -> 0x03FF
In order to read the voltages I set CONVST_A to high (B and C are not required in this mode),
wait for the BUSY-signal going up an down again,
and set CS to low.
For every of those 6 ADCs I set RD to low,
wait 1µs for the ADC to read (at least 30ns),
store the value from the ADC,
set the RD back to high
and wait 1µs again (here at least 10ns).
After that I put CS back to high and CONVST_A back to low.
This should be the complete read process as you can see in the official following picture (source: Data sheet ADS8556/7/8, page 15, figure 3):
But the BUSY-signal never goes high. (I am sure I would have seen that because the scope has a maximum sample frequency of 200MHz.) So the program stops. If I ignore BUSY the voltages are all zero.
I checked the conrol register very often but I could not find the mistake in the last days. The initialization should be fine: In the beginning of the program I reset the ADC (via Reset-Pin going up for 1µs and down for the rest of the program). The Standby-Pin is hold high all the time so the ADC will never enter standby mode.
I appreciate all answers and thank you for your help!
Anton