基于S T M32芯片的音频播放器设计
2014-12-24吴社民
吴社民
(安阳市高级技工学校,河南 安阳 455000)
0 引言
本方案采用ST公司的STM32F103VBT6芯片完成MP3/WMA音频文件的解码播放功能。其中STM32F103VBT6为主控芯片,采用VS1003芯片进行硬件解码,MP3/WMA格式音频文件存储在SD卡中。
由于采用新的数据压缩标准,MP3文件具有良好的音效和始于传输的体积大小。
本方案完成的功能包括:
(1)SD 卡文件的读写
(2)FAT32 文件系统的读写
(3)支持“上一曲/下一曲”、“顺序播放”功能
(4)支持歌词同步
1 硬件设计
1.1 器件介绍
1.1.1 Cortex-M3内核
Cortex-M3是ARM公司推出的新一代32位嵌入式微处理器内核。它采用ARM-V7-M架构,具有高性能、低功耗、少门数的特点;因此,非常适合嵌入式系统领域的设计和应用。
Cortex-M3具有一个与内核系统紧密耦合的嵌套向量终端控制器NVIC(Nested Vectored Interrupt Controller)。该NVIC可配置8级抢占式、256级优先级的1—240个外部中断,同时支持咬尾中断、迟到中断技术,大大缩短了中断响应时间。
1.1.2 STM32芯片
STM32xxx系列芯片是ST公司基于ARM Cortex-M3设计的一个32位微处理器系列。该系列处理器在继承ARM Cortex-M3内核优点的基础上,扩展了其外部接口、增强其定时器功能、增加了A/D、D/A模块。
1.1.3 VS1003音频解码芯片
VS1003是VSL公司生产的一款单片MP3/WMA/MIDI音频解码和ADPCM编码芯片。VS1003内部包含一个DSP处理器,为用户提供5KB的指令RAM和0.5KB的数据RAM,提供一个SPI接口和一个UART接口,同时支持一个高质量采样频率可变的ADC和立体声DAC模块。
1.1.4 TDA1308T数模转换芯片
当前,自然资源确权登记就是将相对完整的生态功能区域作为一个自然资源登记单元,自然资源统一确权登记将各类自然资源的质量、数量和保护要求全面摸清,并通过登记的法律手段予以公示明确,落实到每一个产权人或者使用权人,有助于充分掌握自然资源家底,并根据自然资源容量和承载力进行分类开发和保护,做到自然资源分类施策。
TDA1308是AB类的数字音频(CD)专用耳机功放IC,具有低电压、低失真、高速率、强输出的优异特性。芯片内采用MOS管输出,可直接推动低阻抗耳机。因为封装和功能引脚位与一般的双运放相同,在特定条件下,也能当双运放使用。在低供电电压条件下,性能比一般的运放要好。因其封装体积小,低电压低功耗等特点,主要应用在便携式数字音频电路中,如discman,光驱的耳放电路等。
1.2 电路框图
按模块划分,本方案主要包括如下几个模块:SD卡模块、STM32主控模块、VS1003音频转换模块、TDA1308T数模转换模块、液晶模块、人机交互模块。
硬件电路框图如图1所示。
下面主要介绍SD卡模块、VS1003模块与STM32模块的链接。
1.2.1 SD卡与STM32
本方案中SD卡用来存储MP3/WMA格式的音频文件。STM32处理器通过SPI1接口读取SD卡中的音频文件。STM32芯片处于Master模式,SD卡处于Slave模式。
在本方案中SD卡与STM32芯片之间的数据通信采用SPI协议。PA4:低电平有效,连接至SD卡的CS/DATA3引脚。在初始化过程中,SD卡根据该引脚电平的高低判断进入SPI模式还是SDHC模式。在STM32与SD卡的数据通信过程中,该引脚需保持为低电平。
图1 硬件电路框图
PA5:连接至SD卡的CLK引脚,用于提供STM32与SD卡数据通信过程中时钟信号。
PA7:连接至SD卡的CMD引脚。对SD卡而言,该引脚为数据输入引脚,对STM32而言,该引脚为数据输出引脚。
1.2.2 VS1003与STM32
本方案中VS1003用来进行MP3/WMA格式音频文件的硬件解码。STM32处理器通过SPI2接口将数据送入VS1003进行解码。STM32芯片处于Master模式,VS1003芯片处于Slave模式。
硬件电路框图如图2所示。
图2 硬件电路框图
PB14:连接至VS1003的SO引脚。对STM32而言,该引脚为数据输入引脚;对VS1003而言,该引脚为数据输出引脚。
PB15:连接至VS1003的SI引脚。对STM32而言,该引脚为数据输出应交;对VS1003而言,该引脚为数据输入引脚。
PB13:连接至VS1003的CLK引脚,用于提供VS1003与STM32之间数据通信时所需的始终信号。
PB12:连接至VS1003的CS引脚,低电平有效。在STM32与VS1003通信过程中,该引脚需保持低电平。
2 软件设计
2.1 程序设计思想
本方案程序设计的总体思路为:STM32芯片通过SPI1接口从SD卡中读取以FAT32文件系统个格式存储的MP3/WMA音频文件,然后将数据文件通过SPI2接口送至VS1003进行解码,解码结果通过TDA1308T芯片的转换送往耳机播放。
2.2 应用程序设计
应用程序流程图,如图3所示。
3 结束语
图3 应用程序流程图
本方案提出一种基于STM32F103VBT6的MP3/WMA音频文件播放设计模型。硬件上,简要介绍了各个模块的电路连接和工作流程;软件上,介绍了程序组织模型和应用程序设计流程。整个系统设计简明、简单、可靠性强,具有很高的性价比。
[1]STM32F103X Datasheet Rev1[OL].pdf www.st.com.
[2]STM32F10X Reference Manual V8[OL].pdf www.st.com.
[3]The Definitive Guide to The ARM Cortex-M3.pdf[OL].
[4]李宁.ARM开发工具KeilMDK使用入门[M].北京:北京航空航天大学出版社,2008.
[5]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.