Hello,
I have configured the SGTL5000 codec as I2S slave and STM32 microcontroller as I2S master connected to evaluation module KTSGTL5000UG. I converted a wav file to a C array. Using logic analyzer, I have confirmed that correct digital data is sent on the I2S DIN pin of the codec. However, I am not able to see any output on the LINEOUT pin.
I have followed the exact steps as outlined in AN3663 but with no success. I also played around with the different register bits to ensure that the codec configuration is correct, but I can not see any activity on the LINEOUT pins. The LINEOUT is connected to an audio amplified which drives a speaker.
We do not have any audio input, so I do not need ADC features.
Here is the value of all registers:
CHIP_DIG_POWER: 0x0021
CHIP_CLK_CTRL: 0x0008
CHIP_I2S_CTRL: 0x0033
CHIP_SSS_STRL: 0x0010
CHIP_ADCDAC_CTRL: 0x0230
CHIP_DAC_VOL : 0x3c3c
CHIP_PAD_STRENGTH: 0x555F
CHIP_ANA_ADC_CTRL: 0x004C
CHIP_ANA_HP_CTRL: 0x1818
CHIP_ANA_CTRL: 0x0001
CHIP_LINREG_CTRL: 0x006C
CHIP_REF_CTRL: 0x0000
CHIP_MIC_CTRL: 0x0000
CHIP_LINE_OUT_CTRL: 0x0322
CHIP_LINE_OUT_VOL: 0x0505
CHIP_ANA_POWER: 0x2F5D
CHIP_PLL_CTRL: 0x8312
CHIP_CLK_TOP_CTRL: 0x0000
I have spent a lot of time debugging for this but without any success.
Please suggest if I am missing something.
Thanks,
PR.
Hello,
Thank you for contacting us, following your inquiry, could you please try to use SGTL5000 Control Software and let me know if SGTL5000 is responding correctly?
Please refer to SGTL5000 Evaluation Platform User’s Guide
Hello,
I am not able to read the the chip with the StereoCodecControlSoftware.exe and all registers show up data as 0x00.
I have powerd up the eval module with external 5V power supply and able to program and read the registers by accessing the chip through a STM32 microcontroller on I2C. Using logic analyzer, I have confirmed that the registers are programmed correctly and respond on I2C with the expected programmed values.
Using logic analyzer, I have also confirmed that correct digital data is sent on the I2S DIN pin of the codec. So, I have confirmed that there is no problem on the I2S side from the microcontroller.
From the dump of register values above that I got through register read operation from the chip, the configuration looks correct and this configuration should produce an analog output on the LINEOUT. But I am not getting any signal on LINEOUT. Please suggest if I am missing something.
Do you use the I2S format which SGTL5000 support? please check detailed information in page17 in SGTL5000 datasheet.
Have you checked other channels with SGTL5000? For example, use MIC as input and Lineout as output which to make sure SGTL5000 could work normally.
Regards,