I think I need some help on the safeload functionality of the ADAU1701. I know this has been discussed quite some times already, and I read all those posts too, but I am still lost.
Found Brett's description in message 30372 and an example in message 21051, but still I am not sure I get the clear picture of how to use it.
I have a couple of parametric filters I need to update from my microcontroller, so 5x 4byte values to transfer.
Step 1: write parameter address to one of the safeload address registers
Putting the SPI latch pin low, writing 5 bytes to the DSP, DSP address, 2 register address, 2 data address, then SPI pin high again
Step 2: write parameter data to one of the safeload data registers:
Putting the SPI latch pin low, writing 7 bytes to the DSP, DSP address, 2 register address, 1 dummy, 4 data, then SPI pin high again
Doing this for the 5 different safeload registers
Initate safeload transfer:
Step 3: the IST bit is set
Putting the SPI latch pin low, writing 4 bytes to the DSP, 0x08,0x1C with value 0x00, 0x3C, then SPI pin high again. Wait 1 cycle, and then I check the filter registers.
After doing this I see absolutely no change. The filter data is the same after as it was before. Even reading the safeload registers, both address and data, just gives me zeros.
How many bytes are actually transfered from the safeload data registers? I only need 5 x 4 bytes, what happens to the last byte? If only 4 bytes are written to the safeload registers, only 4 bytes will be transferred?
Does anyone have an idea about what I am doing wrong here?
Thanks in advance