cnk1.com
cnk1.com
cnk1
最新动态

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

阅读: | 字数:2445 | 作者:周璐璐 | 时间:2024-06-04

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解码芯片模块。硬件上就可以实现录音功能了。

刊物简介