你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5735|回复: 1

【STM32F429心得】STM32F4DISCOVERY音频播放控制

[复制链接]

3

主题

30

回帖

0

蝴蝶豆

新手上路

最后登录
2019-3-23
发表于 2014-4-2 19:51:38 | 显示全部楼层 |阅读模式
从STM32F4xx 微控制器的内部Flash 或在外部U 盘上(通过主机模式中的USB FS 内核)
均可读取音频数据(wave)。记录的波形文件只能存储在外部U 盘中。
录音流程基于使用PDM 音频软件解码库的ST MP45DT02 MEMS 麦克风硬件(将麦克风生
成的PDM 数据转换为存储在U 盘中的PCM 数据)。
音频播放和录音应用支持两种大容量存储介质。在微控制器的内部Flash 或在外部U 盘上均
可播放音频数据,但记录数据时只能使用外部U 盘。这通过main.h 文件中的DEFINE 语句
选择。在工作区工具栏中,选择项目配置:
● MEDIA_IntFLASH
● MEDIA_USB_KEY
固件驱动程序可以:
● 从外部U 盘或内部Flash 播放存储的波形文件
● 在外部U 盘中记录波形文件
● 从播放切换为录音
此应用使用的主要STM32 模块包括:
● USB 外设:主机模式下配置。使用大容量存储类(MSC) 实现与U 盘的音频数据交换。
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器(DAC) 发送音频数据。它
还可用作主接收器,作为MEMS 麦克风的输入时钟。
● DMA:用于将数据从缓冲器发送到I2S 外设。这可以显著地降低CPU 负载。
● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。
● SPI 外设:用于控制MEMS 加速计。
● 用户按钮:用于监视应用(播放或录音)。
从U 盘播放
在此演示中,使用FatFs 文件系统可打开U 盘上存储的任何波形文件,并通过DMA 和I2S
接口逐块传送到内部SRAM(1024 字节)。
从波形文件头中可读出语音采样周期。将音频编解码器连接到I2S 接口后可播放存储的波形
文件。
通过修改main.h 文件中的“WAVE_NAME”定义,可更改USB 密钥中加载的波形文件名。
波形文件名必须为十一个字符。
此应用会从U 盘读取所有的波形文件且仅显示以下格式的.WAV 文件:
● 音频格式:PCM(一种未经压缩的波形数据格式,其中的每个值表示采样时信号的振幅)
● 采样率:如8000、11025、16000、22050、44100 Hz 或48000 Hz。
● 每次采样的位数:16 位(音频采样数据值的范围为[0-1024])
● 通道数:2 个(立体声)
通过解析U 盘中的波形文件可检测采样率,以相应配置I2S。回放开始后蓝色LED 将持续
闪烁。
播放时使用双缓冲区。第一个缓冲区用于存储使用FatFs 文件系统从U 盘接收的波形数据。
缓冲区填充完毕后:
● DMA 将其内容发送到I2S 外设,再传送到外部音频编解码器DAC
● 第二个缓冲区存储U 盘的数据
这两个缓冲区可始终不停地交换,直到回放流程结束。
无论何时,如果U 盘从开发板断开连接,则蓝色LED 将熄灭,音频编解码器停止且红色LED
点亮。
如果U 盘重新连接到DISCOVERY 板,则红色LED 将熄灭,并且上一次运行的应用将重新
启动。
从内部Flash 回放
在此演示中,波形文件作为audio_sample.c 文件中声明的常量数组存储在内部Flash 中。
复位后,回放应用将在初始化音频DAC 后开始播放存储在内部Flash 中的波形文件。
回复

使用道具 举报

3

主题

30

回帖

0

蝴蝶豆

新手上路

最后登录
2019-3-23
 楼主| 发表于 2014-4-2 19:51:33 | 显示全部楼层

回复:【STM32F429心得】STM32F4DISCOVERY音频播放控制

支持ST公司的活动
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版