ΣSigmaStudio Ask AI Русский Log in

ADAU1452 PEQ safeload

SigmaDSP & SigmaStudio JBoeng535 Jul 5, 2020 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user is experiencing issues with writing PEQ parameters to the ADAU1452 using software safeload. The final answer indicates that the address buffer should be 32 bits, not 16 bits, and suggests checking the parameter RAM in SigmaStudio to verify the transfer. The user confirmed the issue and thanked the support engineer.
AI Generated Content
Subscribe
JBoeng535 Question
Jul 5, 2020 00:00

I'm developing a board composed of MCU and ADAU1452.

SigmaStudio v3.13 is used to create block diagrams.

MCU can make ADAU1452 work by I2C,also can Control the volume.

SO I think I2C operation has no problem.

when I write PEQ Parameters throuth software Safeload,It's not working

Can you help me figure out what's wrong?

Capture params output log is stated below.

unsigned char num_safeload[4] ={0x00,0x00,0x00,0x05};
unsigned char addr_buff[2] ={0x00,0x00};
unsigned char data_buff[4] ={0x00,0x00,0x00,0x00};

void Safeload_Set_PEQ(unsigned int Start_Address,unsigned char *PEQ_data)
{
unsigned char k;

//Write the desired data to the data_SafeLoad
for(k=0;k<4;k++)
{
data_buff[0]=*PEQ_data;
PEQ_data++;
data_buff[1]=*PEQ_data;
PEQ_data++;
data_buff[2]=*PEQ_data;
PEQ_data++;
data_buff[3]=*PEQ_data;
PEQ_data++;
SIGMA_WRITE_REGISTER_BLOCK(0x70,0x0048+k,4,data_buff);
}

//Write the desired starting target address to the address_SafeLoad parameter
addr_buff[1]=(unsigned char)Start_Address;
addr_buff[0]=(unsigned char)(Start_Address>>8);
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1,0x004d,2,addr_buff);

//Write the number of words to be transferred to the num_SafeLoad parameter
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_IC_1,0x004e,4,num_safeload);
}

Audio Signal Processors

adau1452

PEO

microcontroller

safeload write

sigmastudio

SigmaDSP Audio Processors

Show More

safeload2.png
safeload2.png
DaveThib Reply
Jul 6, 2020 00:00

Hello JBoeng,

JBoeng535 said:
unsigned char addr_buff[2] ={0x00,0x00};

The addresses are all 32 bit in this section of memory. If you only write two bytes it will not complete the transfer.

Keep in mind that if you have SimgaStudio connected as well you can look into the parameter RAM in the Params window and see what was transferred. You will not be able to see what is written to the number of words because the DSP will clear it after the transfer.

Give that a try.

Dave T

JBoeng535 Reply
Jul 7, 2020 00:00

Thank you very much for your reply