The customer is using TAS5715 (2pcs on a board), PBTL, AD mode.
During the pilot production, some issues have been found.
During the initiation status, pop issue would occur on some boards.
The customer found pop occurred at the time when 0x05 register was written by value 0x00.
The pop varies with different boards.
Attachment are the sch and code.
Please help. Thank you.
static const unsigned char R3C_DATA[8] = {0x00,0x00,0x0c,0x78,0xFF,0xFF,0xFE,0xDB };//42ms static const unsigned char R46_DATA[4] = {0x00,0x02,0x06,0x23}; static const unsigned char R40_DATA[8] = {0x06,0x63,0x00,0x00,0x06,0x62,0xFF,0xFF}; static const unsigned char R3B_DATA[8] = {0x00,0x01,0x40,0x3F,0x00,0x7E,0xBF,0xC1}; static const unsigned char R20_DATA[4] = {0x00,0x01,0x77,0x72}; static const unsigned char R25_DATA[4] = {0x01,0x10,0x32,0x45}; static const unsigned char R50_DATA[4] = {0x00,0x00,0x00,0x10};//EQ ON static const unsigned char R51_DATA[8] = {0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00}; static const unsigned char R52_DATA[8] = {0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00}; ///////////////////////////////////////////////////////////////////////////////////// static const unsigned char R70_DATA_L[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R74_DATA_L[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R72_DATA_L[4] = {0x00,0x00,0x00,0x00}; static const unsigned char R73_DATA_L[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R76_DATA_L[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R77_DATA_L[4] = {0x00,0x00,0x00,0x00}; ////////////////////////////////////////////////////////////////////////////////////// static const unsigned char R70_DATA_R[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R74_DATA_R[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R72_DATA_R[4] = {0x00,0x80,0x00,0x00}; static const unsigned char R73_DATA_R[4] = {0x00,0x00,0x00,0x00}; static const unsigned char R76_DATA_R[4] = {0x00,0x00,0x00,0x00}; static const unsigned char R77_DATA_R[4] = {0x00,0x80,0x00,0x00}; void init(void) { TAS5715_L_Byte_Write(0x1B,0); //Enable Factory PLL trim DelayMs(80); TAS5715_L_Byte_Write(0x06,0x07); //soft mute TAS5715_L_Byte_Write(0x03,0x80); TAS5715_L_Byte_Write(0x04,0x05); TAS5715_L_Byte_Write(0x07,0xFF); TAS5715_L_Byte_Write(0x08,0x1C); TAS5715_L_Byte_Write(0x09,0x1C); TAS5715_L_Byte_Write(0x0C,0xFF); TAS5715_L_Byte_Write(0x11,0xAC); //aD mode TAS5715_L_Byte_Write(0x12,0x54); // TAS5715_L_Byte_Write(0x13,0xAC); // TAS5715_L_Byte_Write(0x14,0x54); // TAS5715_L_Byte_Write(0x1a,0x16); // TAS5715_L_Byte_Write(0x19,0x3A);//all channel ON TAS5715_L_Array_Write(0x20,4,(UINT8 *)R20_DATA); //L->ch1,L->CH2 TAS5715_L_Array_Write(0x25,4,(UINT8 *)R25_DATA); TAS5715_L_Array_Write(0x50,4,(UINT8 *)R50_DATA); TAS5715_L_Array_Write(0x51,8,(UINT8 *)R51_DATA); TAS5715_L_Array_Write(0x52,8,(UINT8 *)R52_DATA); TAS5715_L_Array_Write(0x46,4,(UINT8 *)R46_DATA); TAS5715_L_Array_Write(0x72,4,(UINT8 *)R72_DATA_L); TAS5715_L_Array_Write(0x73,4,(UINT8 *)R73_DATA_L); TAS5715_L_Array_Write(0x76,4,(UINT8 *)R76_DATA_L); TAS5715_L_Array_Write(0x77,4,(UINT8 *)R77_DATA_L); TAS5715_L_Array_Write(0x70,4,(UINT8 *)R70_DATA_L); TAS5715_L_Array_Write(0x74,4,(UINT8 *)R74_DATA_L); TAS5715_L_Array_Write(0x3B,8,(UINT8 *)R3B_DATA);//SOFT FILTER TAS5715_L_Array_Write(0x3C,8,(UINT8 *)R3C_DATA);//ATTK RELEASE TAS5715_L_Array_Write(0x40,8,(UINT8 *)R40_DATA);//threshold TAS5715_L_Byte_Write(0x05,0x00); //exit all-channel shutdown (hard unmute) }