STM32F103RE+CS4344使用I2S3输出杂音

2020-01-04 18:58发布

硬件采用STM32F103RE+CS4344,采用I2S3通道master模式,DAM传输方式,播放WAVE文件,无法输出音乐,而是一直都是杂音,目前只播放了44.1K采样率双声道文件

I2S配置

    /* I2S peripheral configuration */
    I2S_InitStructure.I2S_Standard = I2S_Standard_Phillips;
    I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16b;
    I2S_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Enable;
    I2S_InitStructure.I2S_AudioFreq = I2S_AudioFreq_44k;
    I2S_InitStructure.I2S_CPOL = I2S_CPOL_Low;
    I2S_InitStructure.I2S_Mode = I2S_Mode_MasterTx;

    I2S_Init(CODEC_I2S_PORT, &I2S_InitStructure);

/* DMA Channel configuration ----------------------------------------------*/
    DMA_Cmd(CODEC_I2S_DMA, DISABLE);
    DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)(&(CODEC_I2S_PORT->DR));
    DMA_InitStructure.DMA_MemoryBaseAddr = (u32) addr;
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
    DMA_InitStructure.DMA_BufferSize = size;
    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
    DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
    DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;
    DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
    DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
    DMA_Init(CODEC_I2S_DMA, &DMA_InitStructure);

    /* Enable SPI DMA Tx request */
    SPI_I2S_DMACmd(CODEC_I2S_PORT, SPI_I2S_DMAReq_Tx, ENABLE);

    DMA_ITConfig(CODEC_I2S_DMA, DMA_IT_TC, ENABLE);
    DMA_Cmd(CODEC_I2S_DMA, ENABLE);

用示波器测量,LRCK波形正确,单个L或者R下面有16个SCK,每个SCK下面有8个MCLK,并且符合I2S格式,数据在LR边沿后第2个SCK上升沿锁存,播放时间也是对的,但是就是不出正常的音乐声,全是咋音,有没有人遇到过同样的问题?官方也有个IAR开发板电路图也是接的CS4344。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
chuanyang
1楼-- · 2020-01-05 00:43
楼主问题解决了吗?
fsmcu
2楼-- · 2020-01-05 01:37
chuanyang 发表于 2018-9-15 11:26
楼主问题解决了吗?

好多年前的帖子了,已经忘了当时是怎么解决的,你也遇到同样的问题了?
chuanyang
3楼-- · 2020-01-05 02:53
fsmcu 发表于 2018-9-17 08:19
好多年前的帖子了,已经忘了当时是怎么解决的,你也遇到同样的问题了? ...

是的,最近项目上需要用到语音播报,就选了DMA+cs4344 DAC,输出有时候会有杂音
fsmcu
4楼-- · 2020-01-05 08:33
 精彩回答 2  元偷偷看……
hugohehuan
5楼-- · 2020-01-05 09:28
fsmcu 发表于 2018-9-17 08:19
好多年前的帖子了,已经忘了当时是怎么解决的,你也遇到同样的问题了? ...

能否帮忙再想想[可怜]……
很多年前从CS4334切换到CS4344也遇到过这个问题,但是一直无解,就换回CS4334了……

一周热门 更多>