I2C Safeload problem on ADAU1452

Hello,

we try to write to the safeload mechanism from a PIC24FJ128GA108 uC over I2C to an ADAU1452 DSP. 

In the compiler_output.log the SafeLoad_Module addresses have been verified.

In the first step we want to set/unset a mute block.

The address of the parameter that should be changed has been found by changing the parameter and reading out the "Capture" view in Sigma Studio (4.1)

Also the compiler_output.log represents the same address.

Now we send our safeload command from the uC to the DSP. 

The command is separated into three I2C commands for the three safeload registers (address, data, num_of_data)

1. send address_SafeLoad: 

      0x70         |       0x00  0x05         |   0x00  0x00  0x04  0x6E

DSP device address | address_SafeLoad address |       Mute Register

2. send data_SafeLoad: 

      0x70         |      0x00  0x00       |   0x00  0x00  0x00  0x00

DSP device address | data_SafeLoad address |       Data to mute

or

      0x70         |      0x00  0x00       |   0x00  0x00  0x00  0x01

DSP device address | data_SafeLoad address |      Data to un-mute

3. send num_SafeLoad:

      0x70         |     0x00  0x06       |   0x00  0x00  0x00  0x01

DSP device address | num_SafeLoad address | Number of data-fields to send

All I2C transmits get an ACK so it looks like the DSP is receiving the messages but the mute is not toggled by our command.

It would be great if someone could help to get the safeload communication up and running.

Kind regards



Eliminates an copy and paste error
[edited by: logoho at 10:31 AM (GMT 0) on 8 Mar 2019]