No Audio on KL17 with TFA9882.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

No Audio on KL17 with TFA9882.

786 Views
rajeshreddy
Contributor I

No Audio on KL17 with TFA9882.
TFA9882 is connected with KL17(i2s) on pins PCT1(I2S_TXD),PCT2(I2S_TX_FS),PCT3(I2S_TX_BCLK),
Have tried to send some data on i2s, can see the data on i2s line to tfa9882.can't hear any sound.
As part of the debug check the current drawing by TFA9882 is 0mA.(power down mode).
as per the data sheet , if the BCK like is pulled up, TFA9882 should enter into mute or operating mode.
Can any one help to solve this issue

Tags (2)
0 Kudos
3 Replies

610 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi Rajesh,

The Power-down to Operating mode transition of TFA9882 is triggered when a clock signal is detected on the bit clock input (BCK). If you are sure that solder is ok, maybe it is in protection mode.

The following protection circuits are included in the TFA9882:
• OverTemperature Protection (OTP)
• OverVoltage Protection (OVP)
• UnderVoltage Protection (UVP)
• OverCurrent Protection (OCP)
The reaction of the device to fault conditions differs depending on the protection circuit involved.

 Another point is TFA9882 is only support 32k/44/1k/48k. Frequency lower than those will cause mute which is also very low power consumption.

Regards,

Jing

0 Kudos

610 Views
rajeshreddy
Contributor I

Hi Jing Pan,

Thanks for the reply.

Later what i found while doing debug is , BCK clock is not seen properly in the scope.

As per hardware document I2s is connected on PTC1, PTC2,PTC3 on GPIOC.

I have done the configurations as below.

Can you please let me know is this correct way of initilizing the hardware and I2S.

CLOCK_EnableClock(kCLOCK_PortC);
PORT_SetPinMux(PORTC, 1, kPORT_MuxAlt6);
PORT_SetPinMux(PORTC, 2, kPORT_MuxAlt6);
PORT_SetPinMux(PORTC, 3, kPORT_MuxAlt6);


/* Set the system clock dividers in SIM to safe value. */
CLOCK_SetSimSafeDivs();
/* Set MCG to HIRC mode. */
CLOCK_SetMcgliteConfig(&mcgliteConfig_BOARD_BootClockRUN);
/* Set the clock configuration in SIM module. */
CLOCK_SetSimConfig(&simConfig_BOARD_BootClockRUN);
/* Set SystemCoreClock variable. */
SystemCoreClock = 48000000U;


SAI_TxGetDefaultConfig(&config);

SAI_TxInit(DEMO_SAI, &config);

format.bitWidth = kSAI_WordWidth16bits;
format.channel = 0U;
format.sampleRate_Hz = kSAI_SampleRate32KHz;
format.masterClockHz = DEMO_SAI_CLK_FREQ;
format.protocol = config.protocol;
format.stereo = kSAI_MonoLeft;
format.isFrameSyncCompact = false;

SAI_TransferTxCreateHandle(DEMO_SAI, &txHandle, callback, NULL);
mclkSourceClockHz = DEMO_SAI_CLK_FREQ;
//SAI_TransferTxSetFormat(DEMO_SAI, &txHandle, &format, mclkSourceClockHz, format.masterClockHz);
SAI_TransferTxSetFormat(DEMO_SAI, &txHandle, &format, mclkSourceClockHz, 48000000);
temp = (uint32_t)music;
xfer.data = (uint8_t *)temp;
xfer.dataSize = MUSIC_LEN;
SAI_TransferSendNonBlocking(DEMO_SAI, &txHandle, &xfer);

0 Kudos

610 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi,

The default value of config.protocol is SAI. You should change it to I2S.

Regards,

Jing

0 Kudos