打印
[AT32F403/403A]

I2S的DSP模式接收不到数据

[复制链接]
1488|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Younique|  楼主 | 2022-2-22 17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AT32F403A的I2S2使用DSP模式DMA接收,结果和STM32F303一样都是使用DMA不能接收,难道它俩bug一样?

使用特权

评论回复
沙发
vt2017| | 2022-2-22 18:28 | 只看该作者
什么是DSP模式?建议把代码贴出来看看

使用特权

评论回复
板凳
Younique|  楼主 | 2022-2-22 19:10 | 只看该作者
vt2017 发表于 2022-2-22 18:28
什么是DSP模式?建议把代码贴出来看看

TI公司生产的数字信号处理芯片的多通道缓冲串行口

使用特权

评论回复
地板
vt2017| | 2022-2-22 19:38 | 只看该作者
Younique 发表于 2022-2-22 19:10
TI公司生产的数字信号处理芯片的多通道缓冲串行口

403A是支持PCM标准的,不太确定是不是你说的DSP模式,至于DMA不能接收,最好是debug看看具体在哪个环节无法接收,是I2S收到数据了但没有通过DMA传出去?还是I2S数据寄存器就没有收到数据?

使用特权

评论回复
5
Younique|  楼主 | 2022-2-22 22:27 | 只看该作者
vt2017 发表于 2022-2-22 19:38
403A是支持PCM标准的,不太确定是不是你说的DSP模式,至于DMA不能接收,最好是debug看看具体在哪个环节无 ...

现在已经解决了,是库函数的原因,用2.0.0就好了。另外他的2.0.0的I2S库函数和之前有些不一样,它芯片的I2S接口应该是和ST的一样,PCM模式只能设置双声道,可以通过该采样率来骗过单片机实现单声道,不过这样一来就和它手册中MCLK=256FS不相符,这一点最好改成和之前兼容STM32库版本一样。

使用特权

评论回复
6
hoop| | 2022-2-24 19:51 | 只看该作者
Younique 发表于 2022-2-22 22:27
现在已经解决了,是库函数的原因,用2.0.0就好了。另外他的2.0.0的I2S库函数和之前有些不一样,它芯片的I ...

库函数原因具体是指两个库哪里存在差异吗?
403A是兼容103的,且实际上PCM模式下没有双声道的说法,这个模式根本就没有用于区分左右声道的WS信号。不过有一点可能容易被误会,就是比特率的算法是直接套用的RM所述的公式。

使用特权

评论回复
7
Younique|  楼主 | 2022-2-27 16:14 | 只看该作者
hoop 发表于 2022-2-24 19:51
库函数原因具体是指两个库哪里存在差异吗?
403A是兼容103的,且实际上PCM模式下没有双声道的说法,这个 ...

403A应该是兼容STM32F303的,而且都是M4,就连早期的库函数的编译出的bug都一样。PCM模式确实没有左右声道的说法,目前所有的32位单片机都是可以改它的FS寄存器设置的值来骗过单片机让它误当作双声道来处理,其实是让它WS(FS)信号减半处理的。估计雅特力的工程师也注意到了这一点,在最新版的库函数中直接默认为PCM模式是单声道处理的。不过这样一来,由于FS采样率是原来的一半(比如双声道FS=8000,单声道FS=4000),MCLK也就为原来的一半了。目前市面上的音频codec的过采样率或是所需要最低的晶振时钟一般都是256*FS,如果低了会影响处理。

使用特权

评论回复
8
tail066| | 2022-3-3 13:08 | 只看该作者
dsp?
应该跟我知道的DSP不是一回事

使用特权

评论回复
评论
Younique 2022-3-7 22:40 回复TA
DSP特有的一种模式MC/BSP模式,专门用来传输语音的。有过音频专用的codec? 
9
musich| | 2022-7-22 00:54 | 只看该作者
估计 是想说 TDM。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

13

帖子

0

粉丝