Problems at safeload by I2C on ADAU1452
I'm developing a board composed of arm SoC and ADAU1452.
SigmaStudio v3.12 is used to create block diagrams.
On SigmaStudio, "Link Compile Download" has no problem, it works well.
And when I change some filters block state, filter effect operates well immediately.
I checked 'compiler_output.txt' file and found that safeload address is located from 0x31C ~ 0x322.
Related output log is stated below.
0x310 MP2_DM0 [4] =0x00000010,0x00000010,0x00000300,0x00000000
0x314 MP1_DM1 [4] =0x00000000,0x00000000,0x000010D4,0x00000000
0x318 MP2_DM1 [4] =0x000010D4,0x000010D4,0x00000570,0x00000000
0x31C __SafeLoad_Module__ data_SafeLoad [5] =0x00000000,0x00000000,0x00000000,0x00000000,0x00000000
0x321 __SafeLoad_Module__ address_SafeLoad =0x00000000
0x322 __SafeLoad_Module__ num_SafeLoad =0x00000000
0x323 EQS300Multi1 B2_1 =0x00000000
0x324 EQS300Multi1 B1_1 =0x00000000
0x325 EQS300Multi1 B0_1 =0x00000000
I aleady developed another product with ADAU1442. So I'm familiar with using safeload mechanism.
But... I'm stuck at safeload on ADAU1452 now.
The ADAU1452 IC is linked with ARM SoC with /dev/i2c-0, slave address is 0x38.
I wrote a parameter to 0x31C register and address to 0x321 register.
Finally, I wrote parameter count value to 0x322 register.
But, there was no effect at all. I wonder safeload trigger is activate properly.
I think I2C operation has no problem because when I write data to 0xF890(soft reset) register, it works well.
Is there any parts to check to use safeload mechanism on ADAU1452?
Thanks for reading.
Audio Signal Processors
adau1452
i2c
adau1442
SigmaDSP Audio Processors
safeload
Show More
Hello,
The first thing you should do is to update to the most recent SigmaStudio version. We have made many changes and Safeload is one of them. Safeload in the 1442 was in a fixed location but in the 1452 it was movable and assigned by the compiler at compile time. So any changes in the SigmaStudio schematic would often result in the safeload address changing. So you would have to change this in your controller code. With the new revision of SigmaStudio we figured out a way of making this fixed. So that will help you during development.
In reading your post it does seem like you are using it properly. There must be some other reason like the address of the filter is wrong? Use the capture window of SigmaStudio to see exactly how the program is making the change to the same object and see if your code is doing the same thing.
But, first, update SigmaStudio.
Dave T
Hello ,
One other last second thought.... Are you able to write to the part at all? Have you tried to just change a register setting and read it back to see if it has changed and that you are indeed properly communicating with the part?
Dave T
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.