Other Parts Discussed in Thread: TAS5727EVM, PCM1808, PLL1705, TAS5727
Hello!
I'm using home-made amplifier board, similiar to TAS5727EVM. i2s data comes from PCM1808 ADC and PLL1705 (48 kHz, 256 fs MCLK) and looks normal in logic analyzer. I'm using BD BTL mode with 4 Ohm speakers and 12V PVDD (SLA battery). The problem is that there is no sound and IC reports that there are no errors. I'm using STM32F103 uC, here is the code:
int main(void)
{
tas5727_write_register_8(0x1b, 0x0);
for(uint32_t i = 0; i < SystemCoreClock / 20; i++);
uint8_t error = tas5727_read_register_8(0x2);
tas5727_write_register_16(0x7, 0);
tas5727_write_register_16(0x8, 0);
tas5727_write_register_16(0x9, 0);
tas5727_write_register_16(0xA, 0);
//Switch to BD
tas5727_write_register_8(0x20, 0x89);
//Configure A_SEL_FAULT as output
tas5727_write_register_8(0x5, 0x2);
uint8_t pwm = tas5727_read_register_8(0x19);
uint8_t trim, SCR2;
uint16_t volume;
while(1)
{
tas5727_write_register_8(0x2, 0);
SCR2 = tas5727_read_register_8(0x5);
pwm = tas5727_read_register_8(0x19);
volume = tas5727_read_register_16(0x7);
trim = tas5727_read_register_8(0x1b);
error = tas5727_read_register_8(0x2);
}
}
First error register reading after IC reset returns error 0x2 (Undervoltage, Overvoltage, Overtemperature or Overcurrent) but after writing 0x0 to error register (as mentioned in datasheet) error disappears. A_SEL_FAULT is pullupped and keeps high all the time. Values after reading in infinite loop:
error = 0
pwm = 48
trim = 192
SCR2 = 2
volume = 0
Maybe I forgot to init something?
and code