AnsweredAssumed Answered

ADAU1452 load by microcontroller

Question asked by wygonski on Nov 14, 2017
Latest reply on Nov 15, 2017 by wygonski

Our product has a microcontroller connected to the slave port of the ADAU1452 which connects to a AD1938 codec on a board of our own design.    For quite some time our microcontroller firmware is able to load a program image to the ADAU1452 and also configure the AD1938.  The firmware can also configure the codec, and then disconnect from the SPI port so that the USBi can be used in SigmaStudio for DSP program development.

 

We have recently changed our system  sample rate from 48kHz to 192kHz, and we are experiencing an odd problem with loading the ADAU1452.    A simple program with Fs=192kHz to output a sinewave to the DAC works fine when run within SIgmaStudio,   However when our microcontroller loads the program using the exported system files, the sine frequency is 1/4 of what it should be, as if the value of the Start Pulse selection has reverted to 48kHz.   I have verified that the exported files have the correct value:  

/* START_PULSE - Registers (IC 1) */
#define REG_START_PULSE_IC_1_ADDR 0xF401
#define REG_START_PULSE_IC_1_BYTE 2
#define REG_START_PULSE_IC_1_VALUE 0x4

and that code is exported to load this register:

SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1, REG_START_PULSE_IC_1_ADDR, REG_START_PULSE_IC_1_BYTE, R66_START_PULSE_IC_1_Default );

 

So I'm at a loss to explain why the microcontroller-loaded code is not working at 192kHz?

I've attached the project file and the exported system files.

 

 

Thanks,

John

Outcomes