No Audio on KL17 with TFA9882.

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

No Audio on KL17 with TFA9882.

2,094 次查看
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

标记 (2)
0 项奖励
回复
3 回复数

1,918 次查看
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 项奖励
回复

1,918 次查看
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 项奖励
回复

1,918 次查看
jingpan
NXP TechSupport
NXP TechSupport

Hi,

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

Regards,

Jing

0 项奖励
回复