搜索
bottom↓
回复: 23

百为STM32开发板播放I2S音频(PCM格式WAV文件)

[复制链接]

出0入0汤圆

发表于 2013-3-1 01:38:53 | 显示全部楼层 |阅读模式
支持单通道/立体声,16位数据格式,8~48kHz的PCM音频数据播放






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-3-1 08:56:20 | 显示全部楼层
自己顶下

出0入0汤圆

发表于 2013-3-1 09:16:10 | 显示全部楼层
本帖最后由 htjgdw 于 2013-3-1 09:17 编辑

很多人不知道去哪里找例程资料,其实这些都是出自st的官网。
支持楼主这种搬运工精神:)

出0入0汤圆

 楼主| 发表于 2013-3-1 09:21:17 | 显示全部楼层
htjgdw 发表于 2013-3-1 09:16
很多人不知道去哪里找例程资料,其实这些都是出自st的官网。
支持楼主这种搬运工精神:)
...

是的,很多人觉得我们的开发板没有资料,其实配套资料还是挺多的

出0入0汤圆

发表于 2013-3-1 09:48:35 | 显示全部楼层
买了块,用2天的时间自己搬了几个程序测试了几个主要资源,都OK。不过都没有LZ的例程,只是看了下原理图!用的都是本论坛其它人的资料!

出0入0汤圆

 楼主| 发表于 2013-3-4 10:48:01 | 显示全部楼层
sz_ehome 发表于 2013-3-1 09:48
买了块,用2天的时间自己搬了几个程序测试了几个主要资源,都OK。不过都没有LZ的例程,只是看了下原理图! ...

这里例程在光盘里都有的,在ST官方参考资料的文件夹下

出0入0汤圆

发表于 2013-3-4 19:40:26 | 显示全部楼层
xi_liang 发表于 2013-3-4 10:48
这里例程在光盘里都有的,在ST官方参考资料的文件夹下

正在搞SDIO实验,官方例程无法驱动我的卡,4G sandisk的卡。

出0入0汤圆

 楼主| 发表于 2013-3-4 20:32:35 | 显示全部楼层
chaoyue0376 发表于 2013-3-4 19:40
正在搞SDIO实验,官方例程无法驱动我的卡,4G sandisk的卡。

STM32的SDIO有挑卡现象,试下用1bit模式,可能会比4bit效果好些

出0入0汤圆

发表于 2013-3-4 20:55:13 | 显示全部楼层
xi_liang 发表于 2013-3-4 20:32
STM32的SDIO有挑卡现象,试下用1bit模式,可能会比4bit效果好些

尼玛,还真是的,换成1BIT模式立马成功,可是这样的话,速度就慢了。

出0入0汤圆

发表于 2013-3-4 21:02:17 | 显示全部楼层
htjgdw 发表于 2013-3-1 09:16
很多人不知道去哪里找例程资料,其实这些都是出自st的官网。
支持楼主这种搬运工精神:)
...

到处都是资料。ST3.5库里的Project直接就可以用。

出0入0汤圆

发表于 2013-3-4 21:08:13 | 显示全部楼层
LZ的板子把玩中,五星推荐!

出0入0汤圆

发表于 2013-3-12 20:27:24 | 显示全部楼层
学习!!
头像被屏蔽

出0入0汤圆

发表于 2013-3-13 16:24:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2013-3-27 10:33:49 | 显示全部楼层
学习了~~~~~~~~~

出0入0汤圆

发表于 2013-4-28 17:46:49 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2013-9-6 14:46:36 | 显示全部楼层
学习中。

出0入0汤圆

 楼主| 发表于 2013-11-26 21:52:18 | 显示全部楼层

I2S协议简介
数据是在SD线上以小端格式(MSB first)传输的,数据长度没有限制(通常是16/20/24/32/64位),数据是在SCK的上升沿或下降沿被发送,下降沿或上升沿被接收。
数据代表立体声音频,所以每个采样数据包含两个字,左声道采样数据和右声道采样数据。数据在同一个通道上分时传输,而不是两个通道。所以速率要乘以2。
控制信号WS(word select)是用表示传输的是左声道还是右声道。这个信号也用来表示数据的开始和结束。所以数据不需要有固定的长度,左声道数据和右声道数据也一样。
WS是在MSB之前被同步到SCK的上升沿或下降沿,所以保证有足够的时间来进行存取和移位操作。
在大部分的通信中,都有一个主设备和从设备。主设备提供SCK控制时钟和WS控制信号,而从设备只接收或发送数据。
I2S Phillips 16位/32位协议波形:
I2S_WAVE.jpg
I2S协议控制信号和配置
I2S_CTRL.jpg
STM32 I2S特性介绍
STM32实现了I2S特性,作为一个模式包含在SPI外设里。可以由软件配置选择SPI模式还是I2S模式。
STM32的I2S可以用单向通信模式,只发送或只接收,这个方向是由软件配置的。
I2S外设支持4种音频协议
• I2S飞利浦协议
• MSB协议
• LSB协议
• PCM协议(包括短PCM和长PCM)
它支持大部分音频频率(8 kHz, 16 kHz, 22.05 kHz, 44.1 kHz, 48 kHz等等)
当配置为Master模式的时候,STM32需要输出固定的频率时钟256 x Fs,其中Fs是音频的采样频率。同时codec需要配置为由STM32提供时钟。
CK的速率 = Fs x 每通道的位数 x 通道数
WS 的速率 = 采样频率Fs

出0入0汤圆

发表于 2013-12-12 22:25:34 | 显示全部楼层
刚开始学 谢谢提供的资料!

出0入0汤圆

 楼主| 发表于 2014-2-27 18:50:57 | 显示全部楼层
顶起

出0入0汤圆

发表于 2014-5-4 12:46:55 | 显示全部楼层

出0入0汤圆

发表于 2014-5-4 13:19:18 | 显示全部楼层

出0入0汤圆

发表于 2014-5-4 17:02:33 | 显示全部楼层
有没有编码格式是G.711或G,726的音频芯片推荐

出0入0汤圆

 楼主| 发表于 2014-5-5 01:12:34 | 显示全部楼层
枫辰之夜 发表于 2014-5-4 17:02
有没有编码格式是G.711或G,726的音频芯片推荐

是做VOIP吗?软解的用I2S音频芯片就可以了吧
硬解的可以用VS1063,支持G.711,G.722

出0入0汤圆

 楼主| 发表于 2014-6-26 17:39:41 | 显示全部楼层
官方的这个I2S播放音频杂音还可以接受的,软解MP3的需要做缓冲处理,不然杂音很重
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 02:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表