STM32L431 I2S/IIS slaver使用

STM32L431 想要通过I2S/IIS 接口获取数字音频怎么做?下面记录我的实现步骤。

1)STM32L431 是有硬件的SAI 接口的,它包含I2S,以下是通过CubeMX 配置生成代码:

2) 配置好后直接生成代码。只需要在代码里面添加 开始DMA传输,然后把接收到的I2S数据打印出来看对不对:

 

这里每次DMA 获取半个RX buf,也就是128个sample,里面包含了64个左声道采样点+64个右声道采样点。并且已知I2S 采样率是48Khz的,所以间隔1.33ms(64*1/48)就会产生半buf中断.

为了然串口能及时打印,只取一个声道,并且还要降采样到原来的1/8,这样才可以顺利打印。

 

以上打印函数就是主循环检测标志位打印16个点。实际打印频率就是48/8=6Khz。

3) 然后I2S 主设备播放一个100hz的纯tone,看打印的波形:

 不建议播放频率较大的波形,因为打印实际是6Khz,这样采样点过少导致波形不够平滑。

 3)再附上逻辑分析抓的I2S 的信号

从信号可以看出I2S 是48Khz采样,24bit深度。跟了解到的主机信息符合。

源码下载地址:(162条消息) STM32L431I2S/IIS作为slaver接收Audio数据-嵌入式文档类资源-CSDN文库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值