Sending Volume Data from Pic32 to ADAU1452 using safeload procedure
Hi,
I am trying to send volume data from Pic32 to Sigma ADAU1452 via I2C Bus. I am following the safeload procedure mentioned in the DSP datasheet but it is not working for me. I am using the volume data, no of bytes and target register address from my sigma studio project. If I run my project directly from sigma studio it works perfectly.
I am trying to do the following as per safeload procedure: I have taken the register addresses from compiler.log file of sigma studio project.
1.I am sending 4 bytes of volume data to data_SafeLoad (0x0).
2. Send the target register address to address_SafeLoad (0x05)
3. Send number of words to write/safeload trigger num_SafeLoad (0x06).
4. Send 30us Delay.
My Data is formatted as follows:
uint8_t Data[5] = {0x00, 0x00, 0x19, 0x99, 0x9A}; // Volume Data
uint8_t Data_1[2] = {0x05, 0x0030}; // Register address
uint8_t Data_2[2] = {0x06, 0x01}; // No.of words
Note: I have observed the I2C bus and the data seems to be transmitting fine but when I read back the data it seems to have changed.
Audio Signal Processors
adau1452
i2c
pic32
pic microcontroller
SigmaDSP Audio Processors
SigmaDSP
Show More
You need to send 5 bytes of data to the safeload register. So for a 4 byte register you need to pad with 0x00 before the data.
Also start with the address, and then the data.
Then you need to set the IFT bit in the dsp core register to initialize the transfer. (Initiate Safeload Transfer)
Please log in to reply.