周璐璐
Mp3曾經(jīng)風靡全球,幾乎無人不知,無人不曉。錄音器是在基本mp3播放的基礎上的功能的一個升級。本設計是基于Cortex-M3內核的STM32F103系列單片機設計錄音的功能,單片機控制VS1053實現(xiàn)錄音和播放的錄音裝置的制作。
整個系統(tǒng)主要由音頻解碼部分、音效處理部分、SD卡部分、功率放大、電源部分等幾個部分組成,整個系統(tǒng)由一塊MCU(STM32F103RBT6)控制運行,各個部分協(xié)調運作。
硬件部分介紹:
本次設計所做的是基于STM32的錄音器,解碼芯片VS1053的作用不言而喻,因為此次錄音文件是保存在SD卡上的,自然少不了對SD卡的介紹。STM32F103系列微處理器是首款基于ARMv7-M體系結構的32位標準RISC (精簡指令集)處理器,提供很高的代碼效率,在通常8位和16位系統(tǒng)的存儲空間上發(fā)揮了ARM 內核的高性能。該系列微處理器工作頻率為72MHz,內置高達128K 字節(jié)的Flash存儲器 。
其內部結構圖如圖1所示:
圖1 STM32內部結構
STM32 MCU系列包含五個產(chǎn)品線:1.基本型系列STM32F101:36MHz 最高主頻,具有高達1MB的片上閃存。2.USB基本型系列STM32F102:48MHz最高主頻,具有全速USB模塊。3.增強型系列STM32F103:72MHz最高主頻,具有高達1MB的片上閃存,集成電機控制、USB和CAN模塊。4.互聯(lián)型系列STM32F105/107:72MHz最高主頻,具有以太網(wǎng)MAC。CAN以及USB 2.0 OTG功能。
本系統(tǒng)采用STM32F103RBT6作為控制核心,該芯片具有6通道的16位PWM輸出,RTC時鐘,兩個高速SPI,兩個IIC,三個串口,自帶USB和CAN接口。具有128K flash和20K 的SRAM,對本系統(tǒng)來說足夠了,同時以后還有很大的升級空間。
本系統(tǒng)采用VS1053解碼芯片,VS1053是荷蘭VLSI公司出品的一款高性能的解碼芯片。它不僅可以實現(xiàn)對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空間效果(用耳機虛擬現(xiàn)場空間效果);
5.單時鐘操作12.13MHz;
6.內部PLL鎖相環(huán)時鐘倍頻器;
7.低功耗;
8.內含高性能片上立體聲DAC,兩聲道無相位差;
9.過零交差偵測和平滑的音量調整;
10.內含能驅動30 歐負載的耳機驅動器;
11.模擬,數(shù)字,I/O 單獨供電;
12.為用戶代碼和數(shù)據(jù)準備的16KB片上RAM;
13.可擴展外部DAC的I2S接口;
14.用于控制和數(shù)據(jù)的串行接口(SPI);
15.可被用作微處理器的從機;
16.特殊應用的SPI Flash引導;
17.供調試用途的UART接口;
18.新功能可以通過軟件和 8 GPIO 添加。
VS1053解碼芯片電路原理圖如圖2所示
圖2 VS1053解碼芯片電路原理圖
SD 卡(Secure Digital Memory Card)中文翻譯為安全數(shù)碼卡,是一種基于半導體快閃記憶器的新一代記憶設備,它被廣泛地使用于便攜式裝置上(數(shù)碼相機、個人數(shù)碼助理(PDA)和多媒體播放器等)。SD 卡由日本松下、東芝及美國 SanDisk 公司于 1999 年 8月共同開發(fā)研制。SD 記憶卡重量很輕只有 2 克,大小也只有一張郵票那么大,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好的安全性。
TFT-LCD 即薄膜晶體管液晶顯示器。其英文全稱為:Thin Film Transistor-Liquid Crystal Display。TFT-LCD在液晶顯示屏的每一個象素上都設置有一個薄膜晶體管(TFT),可有效地克服非選通時的串擾,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關,因此大大提高了圖像質量。TFT-LCD 也被叫做真彩液晶顯示器。
TFTLCD 顯示需要的相關設置步驟如下:
① 將 STM32 與 TFTLCD 模塊相連接的 IO設置為輸出。
② 向 TFTLCD 寫入一系列的設置,用來啟動 TFTLCD 的顯示。
③ 通過編寫的函數(shù)就可以將字符和數(shù)字送到 TFTLCD 模塊上。
軟件設計
主模塊模塊是系統(tǒng)執(zhí)行最頂層的模塊,進行系統(tǒng)的初始化,然后實現(xiàn)系統(tǒng)功能。它的目錄結構
圖3 主函數(shù)的目錄結構
FATFS相關代碼:
(1)模塊介紹:
ff.c 文件是移植到本系統(tǒng)上的 FAT 文件體統(tǒng)
disio.c FATFS 和disk I/O模塊接口文件
exfuns.c FATFS拓展代碼
mycc936.c cc936.c修改后的代碼
(2)目錄結構
圖4 FATFS的目錄結構
USMART
(1)模塊介紹
usma rt.c 負責與外部交互等
usmat_str.c 主要負責命令和參數(shù)解析
usmart_config.c 主要由用戶添加需要由usmart 管理的函數(shù)
(2)目錄結構
圖5 USMART的目錄結構
TEXT
(1)模塊介紹
fontupd.c 此部分代碼主要是字庫的更新操作
text.c 一些函數(shù)的申明
(2)目錄結構
圖6 TEXT的目錄結構
APP
(1)模塊介紹
mp3player.c mp3驅動播放代碼
recorder.c wav錄音驅動代碼
(2)目錄結構
圖7 APP的目錄結構
本次設計的最終成功如圖8所示,整體就是一塊MINI STM32開發(fā)板,加一塊VS1053解碼芯片模塊。硬件上就可以實現(xiàn)錄音功能了。
圖8 整體圖