ADAU1452 How to use the SafeLoad mechanism
I am using the ADAU1452 and wonder how to use the SafeLoad mechanism.
With the ADAU1442, AD1940/1 it works perfectly. So it seems to be easy to adapt it to the ADAU1452. Except that i can not get the safeload mechanism to write anything to the dsp.
When i write directly to the dsp all things seem to work.
That is what i am doing:
1. I locate the address of the safeload module
2. I write the 1..5 data words to data_SafeLoad [5]
3. I write the target address to adress_safeLoad. I assume the format is 32:0 , 0x00 00 00 00 + Address
4. I write the number of data words to num_safeLoad in 32:0 format
5 then i wait at least 21us and read the value at the target address but nothing has been written.
Since the mechanism is very similar to the ADAU1442 where it works i don't understand what i am doing wrong.
Please help !
Any suggestions are welcome.
Best regards
Bernd
Audio Signal Processors
adau1452
adau1442
SigmaDSP Audio Processors
Hi Bernd,
A few things to check:
1. Did you verify the data_SafeLoad[ ] buffer address has not changed by inspecting the compiler_output.log file in your project's directory? The compiler has control over address placement.
2. What happens if you increase the delay larger than 21 usec?
3. If you are writing the address_SafeLoad on the SPI bus, it should only 2 zero bytes and the address, i.e.
SPI Bus Activity: ... 0x00 0x00 0x19 0x(4 bytes for 32-bit address) 0x(4 bytes for num_Safeload)
Looks to me you have 2 extra 0x00 bytes?
4. I did a quick logic analyzer measurement in SigmaStudio and noticed that the data is loaded first, followed by a 1.5 ms delay before writing the data for address_SafeLoad and num_SafeLoad on the SPI bus.
Here is a zoom out view of the safeload accesses in SigmaStudio.
It seems we added a delay between loading safeload data and writing the last 2 safeload parameters.
SigmaStudio Safeload Data SPI Burst Writes (closeup view) starting at safeload address 0x14. The data matches the SigmaStudio capture output data in right highlighted column shown above.
Close-up view after 1.5 ms delay, Sigmastudio SPI burst writes to safeload address 0x19 and 0x20 to the last 2 safeload parameters (address 0x0020 & num 0x5 bytes):
-JT
Hi John,
thanks for the detailed answer.
I must apologize it was my fault. The sendbuffer for the target address was not correctly initialized.
Anyway your analyzer data helped a lot to find my stupid fault.
The 1.5ms delay is not necessary.
Thanks
Bernd
Hi Bernd,
Awesome!
I didn't think that delay was needed but it seems to me that SigmaStudio tends to be more conservative with the writes than necessary, maybe due to slave operation of previous SigmaDSP products. But it still is interesting to see how it implements the SafeLoad accesses.
-JT
Please log in to reply.









