基于VS1053芯片的录音装置设计

2014-11-19 17:22周璐璐
卷宗 2014年10期
关键词:解码录音代码

周璐璐

Mp3曾经风靡全球,几乎无人不知,无人不晓。录音器是在基本mp3播放的基础上的功能的一个升级。本设计是基于Cortex-M3内核的STM32F103系列单片机设计录音的功能,单片机控制VS1053实现录音和播放的录音装置的制作。

整个系统主要由音频解码部分、音效处理部分、SD卡部分、功率放大、电源部分等几个部分组成,整个系统由一块MCU(STM32F103RBT6)控制运行,各个部分协调运作。

硬件部分介绍:

本次设计所做的是基于STM32的录音器,解码芯片VS1053的作用不言而喻,因为此次录音文件是保存在SD卡上的,自然少不了对SD卡的介绍。STM32F103系列微处理器是首款基于ARMv7-M体系结构的32位标准RISC (精简指令集)处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM 内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K 字节的Flash存储器 。

其内部结构图如图1所示:

图1 STM32内部结构

STM32 MCU系列包含五个产品线:1.基本型系列STM32F101:36MHz 最高主频,具有高达1MB的片上闪存。2.USB基本型系列STM32F102:48MHz最高主频,具有全速USB模块。3.增强型系列STM32F103:72MHz最高主频,具有高达1MB的片上闪存,集成电机控制、USB和CAN模块。4.互联型系列STM32F105/107:72MHz最高主频,具有以太网MAC。CAN以及USB 2.0 OTG功能。

本系统采用STM32F103RBT6作为控制核心,该芯片具有6通道的16位PWM输出,RTC时钟,两个高速SPI,两个IIC,三个串口,自带USB和CAN接口。具有128K flash和20K 的SRAM,對本系统来说足够了,同时以后还有很大的升级空间。

本系统采用VS1053解码芯片,VS1053是荷兰VLSI公司出品的一款高性能的解码芯片。它不仅可以实现对MP3/OGG/WMA/FLAC/WAV/AAC/MIDI等音频格式的解码,同时还可以支持ADPCM/OGG等格式的编码,性能相当强大。

VS1053的特性

1.支持OGG/MP3/WMA/WAV/FLAC(需要加载patch)/MIDI/AAC等众多的音频格式;

2.对话筒输入或者线路输入的音频信号进行OGG(需要加载patch)/IMA ADPCM编码;

3.高低音控制;

4.带有EarSpeaker空间效果(用耳机虚拟现场空间效果);

5.单时钟操作12.13MHz;

6.内部PLL锁相环时钟倍频器;

7.低功耗;

8.内含高性能片上立体声DAC,两声道无相位差;

9.过零交差侦测和平滑的音量调整;

10.内含能驱动30 欧负载的耳机驱动器;

11.模拟,数字,I/O 单独供电;

12.为用户代码和数据准备的16KB片上RAM;

13.可扩展外部DAC的I2S接口;

14.用于控制和数据的串行接口(SPI);

15.可被用作微处理器的从机;

16.特殊应用的SPI Flash引导;

17.供调试用途的UART接口;

18.新功能可以通过软件和 8 GPIO 添加。

VS1053解码芯片电路原理图如图2所示

图2 VS1053解码芯片电路原理图

SD 卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地使用于便携式装置上(数码相机、个人数码助理(PDA)和多媒体播放器等)。SD 卡由日本松下、东芝及美国 SanDisk 公司于 1999 年 8月共同开发研制。SD 记忆卡重量很轻只有 2 克,大小也只有一张邮票那么大,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。

TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。

TFTLCD 显示需要的相关设置步骤如下:

① 将 STM32 与 TFTLCD 模块相连接的 IO设置为输出。

② 向 TFTLCD 写入一系列的设置,用来启动 TFTLCD 的显示。

③ 通过编写的函数就可以将字符和数字送到 TFTLCD 模块上。

软件设计

主模块模块是系统执行最顶层的模块,进行系统的初始化,然后实现系统功能。它的目录结构

图3 主函数的目录结构

FATFS相关代码:

(1)模块介绍:

ff.c 文件是移植到本系统上的 FAT 文件体统

disio.c FATFS 和disk I/O模块接口文件

exfuns.c FATFS拓展代码

mycc936.c cc936.c修改后的代码

(2)目录结构

图4 FATFS的目录结构

USMART

(1)模块介绍

usma rt.c 负责与外部交互等

usmat_str.c 主要负责命令和参数解析

usmart_config.c 主要由用户添加需要由usmart 管理的函数

(2)目录结构

图5 USMART的目录结构

TEXT

(1)模块介绍

fontupd.c 此部分代码主要是字库的更新操作

text.c 一些函数的申明

(2)目录结构

图6 TEXT的目录结构

APP

(1)模块介绍

mp3player.c mp3驱动播放代码

recorder.c wav录音驱动代码

(2)目录结构

图7 APP的目录结构

本次设计的最终成功如图8所示,整体就是一块MINI STM32开发板,加一块VS1053解码芯片模块。硬件上就可以实现录音功能了。

图8 整体图

猜你喜欢
解码录音代码
《解码万吨站》
Funny Phonics
funny phonics
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
创世代码
创世代码
创世代码
创世代码