Safeload using I2C on ADAU1787
Hi ADI
I am busy developing code for an ADAU1787 connected to a MCU via I2C. I am able to connect, load code and communicate with the SigmaDSP. Using direct memory writes I am able to change the gain on a very simple pass-through routing from the ADC, through the SigmaDSP and to DAC.
However, when I try to adjust the gain with a safeload operation, I have some issues.
I set the safeload data 1 (external addr 0x2004) as the desired gain value,
set the safeload target address (external addr 0x2018) to 0x00002037 (0x2038 - 1)
and then set the number of words/trigger register (external addr 0x201C) to 0x00000001
And it did not work! After a number of different tries, I figured out that if I use the actual address of the gain control (0x2038) as the safeload target address, then it works!
Is this expected - that I should use the actual address, not offset by -1? According to the ADAU1787 datasheet it very clearly reiterates that an offset of -1 must be used for the target address.
I am doing something wrong here?
Many thanks for any assistance.
Edit Notes
Fix formatting
[edited by: neilh at 2:41 PM (GMT 0) on 2 Apr 2020]
ADAU1787
safeload write
Integrated/Special Purpose A/D Converters
ADUA1787
SigmaDSP
safeload
Audio CODECs
Show More
Please log in to reply.