Other Parts Discussed in Thread: TAS2110EVM, TAS2110
Thread 中讨论的其他器件: TAS2110
工具/软件:
您好:
我正在尝试玩 .wav 文件 使用 STM32U5 微控制器 通信 TAS2110EVM 放大器板、但我只会收到噪声或音频输出损坏。
硬件设置:
-
STM32U5 I²S(使用 SAI 外设实现 I ² C 音频)
-
TAS2110EVM 板
-
TAS2110EVM 的外部 5V/3A 电源
-
连接的引脚:
-
FSYNC、SCLK (SBCK)、SDIN →Ω 电阻连接到 TAS2110 的时间为 I²S Ω
-
SDA、SCL I ² C→I²C 接口
-
-
连接到 TAS2110EVM 的外部扬声器
-
已检查 SDZ 引脚→电压为 1.8V(因此器件似乎启用了)
问题:
-
WAV 解析工作正常。
-
TAS2110 初始化(通过 I²C Ω)成功。
-
播放方式
HAL_SAI_Transmit_DMA()仅产生 噪音/音频损坏 而不是 WAV 文件。
SAI 配置:
hsai_BlockA1.Instance = SAI1_Block_A;
HSI_BlockA1.Init.AudioMode = SI_MODEMASTER_TX;
Hsai_BlockA1.Init.Synchro = Sai_synchro;
Hsai_BlockA1.Init.Protocol = Sai_free_Protocol;
Hsai_BlockA1.Init.DataSize = Sai_DATASIZE_16;
Hsai_BlockA1.Init.FirstBit = Sai_FIRSTBIT_MSB;
Hsai_BlockA1.Init.ClockStrobing = Sai_CLOCKSTROBING_FALLINGEDGE;
Hsai_BlockA1.Init.OutputDrive = Sai_OUTPUTDRIVE_ENABLE;
HSI_BlockA1.Init.NoDivider = SI_MASTERDIVIDER_ENABLE;
HSEI_BlockA1.Init.FIFOThreshold = SI_FIFOTHRESHOLD_1QF;
Hsai_BlockA1.Init.AudioFrequency = Sai_AUDIO_FREQUENCY_44K;
Hsai_BlockA1.Init.SynchroExt = Sai_SYNCEXT_DISABLE;
Hsai_BlockA1.Init.MckOutput = SAI_MCK_OUTPUT_DISABLE;
Hsai_BlockA1.Init.MonoSteeoMode = Sai_monomode;
hsai_BlockA1.Init.CompandingMode = SI_NOCOMPANDING;
Hsai_BlockA1.Init.TriState = Sai_output_NOTRELEASED;
示例代码:
if (tas2110_init (&TAS_DATA)!= 0){
HAL_UART_TRANSMIT (&huart1、(uint8_t*)“TAS2110 Init Faile\n“、20,100);
Error_Handler ();
}
tas2110_set_samplerate (&TAS_DATA、wav_info.sample_rate);
tas2110_set_bitwidth (&TAS_DATA、wav_info.bits_per_sample);
TAS2110_set_dai_fmt (&TAS_DATA、0x0020);
tas2110_set_dai_tdm_slot (&TAS_DATA、1、0、1、wav_info.bits_per_sample);
tas2110_set_volume (&TAS_DATA、84);
TAS2110_ReadDVC (&TAS_DATA);
TAS2110_power_on (&TAS_DATA);
TAS2110_MUTE (&TAS_DATA、FALSE);
//测试音调
for (int i = 0;i < audio_buffer_size;i++){
AUDIO_Buffer[i]=(int16_t)(3276 * sinf (2 * M_PI * 1000 * I / 44100.0f);//低振幅
}
HAL_Sai_Transmit_dma (&hsai_BlockA1、(uint8_t*) audio_buffer、audio_buffer_size);
问题:
-
有任何问题吗 特定的 I²S 格式要求 对于 TAS2110(例如,字长/帧同步极性/时隙配置)?
-
都需要使用 MCLK TAS2110 与 BCLK/LRCLK/SDIN 一起、或者 TAS2110 是否可以在内部获得时钟?
-
这可能与单声道配置与立体声配置有关吗?
有关正确的任何指导 I²S Ω+ TAS2110 配置 或指向工作参考的指针会非常有帮助。
提前感谢!


