Implementing Safeload Writes on the ADAU1701

Document created by BrettG Employee on Jan 14, 2013Last modified by BrettG Employee on Jan 14, 2013
Version 2Show Document
  • View in full screen mode

In order to use the safeload write feature on the ADAU1701 (also ADAU1702, ADAU1401, and ADAU1401A), a very specific sequence of write commands must be executed. The write sequence is as follows:

 

  • Safeload Data 0, address 0x0810
  • Safeload Address 0, address 0x0815
  • (optional) Safeload Data 1, address 0x0811
  • (optional) Safeload Address 1, address 0x0816
  • (optional) Safeload Data 2, address 0x0812
  • (optional) Safeload Address 2, address 0x0817
  • (optional) Safeload Data 3, address 0x0813
  • (optional) Safeload Address 3, address 0x0818
  • (optional) Safeload Data 4, address 0x0814
  • (optional) Safeload Address 4, address 0x0819
  • Initiate safeload transfer bit, address 0x081C

 

Up to 5 target addresses may be written. The writes marked "optional" in the list above only need to be included if more than one parameter is being updated.

 

The format for the Safeload Address and Safeload Data registers is as follows (from the ADAU1701 datasheet):

ScreenHunter_01 Jan. 14 10.55.jpg

A simple example of using the Safeload Data 0, Safeload Address 0, and IST (initiate safeload transfer bit) to set a volume control to 0 dB in parameter memory is shown below. In this example, the target address in parameter RAM is 0x0000. Since only one parameter is being updated, the Data 1, Data 2, Data 3, Data 4, Address 1, Address 2, Address 3, and Address 4 registers may be ignored.

 

//Write 0x00800000 to set volume to 0 dB

 

08 10 00 00 80 00 00     //Data 0
08 15 00 00              //Address 0
08 1C 00 3C              //Set IST High

 

In the case where multiple parameters need to be updated, the additional parameter data and address registers may be used. The following example shows the 5 parameters of an IIR filter being updated.

 

//Write 1kHz, +5 dB peaking filter coefficients

 

08 10 00 00 83 57 7E     //Data 0
08 15 00 00              //Address 0
08 11 00 FF 0A B4 47     //Data 1
08 16 00 01              //Address 1
08 12 00 00 74 12 18     //Data 2
08 17 00 02              //Address 2
08 13 00 00 F5 4B B9     //Data 3
08 18 00 03              //Address 3
08 14 00 FF 88 96 6B     //Data 4
08 19 00 04              //Address 4
08 1C 00 3C              //Set IST High

 

Only one safeload write operation should be attempted per each audio frame.

Attachments

    Outcomes