實用乾貨下載:關注我們「單片機系列」,回復「資料」獲取單片機相關資料。一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。持續更新中······
最新隆重推出「作品定製」,定製方法點擊菜單欄「DIY」即可
摘 要: 採用以ST C89C58RD+ 單片機為控制核心設計MP3 播放器, 該系統通過單片機控制USB 接口晶片CH375 外接的U 盤, 讀取數據並進行緩衝, 傳輸給專用MP3 音頻解碼晶片VS1003, 實現特定格式的音頻數據解碼, 並通過耳機或有源音響輸出。經測試, 該M P3 播放器可實現音頻播放功能, 該播放器具有播放聲音流暢, 操作簡單, 功耗低等特點。
關鍵詞: STC89C58RD+ ; MP3; CH375; 音頻解碼
0 引 言
隨著電子技術的發展, MP3 播放器是目前市場上流行的消費類數碼產品之一, 具有大容量、高音質、小巧便攜等特點而倍受廣大消費者的青睞 。本文採用ETC 公司的微控制器ST C89C58RD+ , 結合解碼晶片VS1003、USB 接口晶片CH375、LCD 等外圍設備設計並實現了MP3 播放器。主要功能有: 播放VS1003 支持的所有音頻文件, 包括MP3, WMA, WAV 文件[ 2] ,且音質非常好, 具有按鍵控制播放上一首/ 下一首、音量增減等, 可通過LCD 顯示歌曲名字和播放狀態信息等功能。
1 硬體系統設計
系統工作原理框圖如圖1 所示。系統啟動後, 單片機通過USB 接口晶片CH375, 從U 盤中獲取MP3 格式文件的數據, 並存入片內RAM 進行緩衝, 然後單片機定時將數據從緩衝區送到MP3 音頻解碼晶片VS1003, 實現解碼並輸出音頻信號到耳機或者有源音響輸出。用戶可以通過鍵盤實現 「啟動」、 「上一曲」、 「下一曲」、「音量控制」及 停止!等功能, 並將播放狀態信息通過LCD 顯示。系統框圖如圖1 所示。
1. 1 單片機讀取MP3 數據模塊
數據讀取模塊包括單片機控制器, U SB 串行數據轉換成8 位並行數據CH375 晶片和MP3 格式數據存儲U 盤3 部分。
1. 1. 1 單片機控制器
採用宏晶公司的ST C89C58RD+ 單片機, 該單片機最高可工作於33 MHz 時鐘, 具有32 KB 的FLASH, 1 KB 的內部RAM, 引腳與指令系統均與51 單片機兼容 。本設計中, 單片機工作在30 MHz的系統時鐘下, 能滿足系統對數據帶寬的要求。
1. 1. 2 USB 接口晶片CH375
CH375 是一個USB 總線通用接口電路, 支持HOST 主機方式和SLAVE 設備方式。CH375 內部集成了PLL 倍頻器、主從U SB 接口SIE、數據緩衝區、被動並行接口、異步串型接口、命令解釋器、控制傳輸的協議處理器、通用的固件程序等 。在本地端, CH375 具有8 位數據總線和讀、寫、片選控制線及中斷輸出, 可以方便地掛接到單片機、DSP 等控制器的系統總線上, 並內置海量存儲固件 。CH375 的USB 主機方式支持各種常用的USB 全速設備, 外部單片機、DSP、MCU 可以通過CH375 按照相應的USB 協議與USB 設備通信, 支持常用的12 Mb/ s 全速U SB 設備。
1. 1. 3 工作原理
利用單片機實現將U 盤中的音頻數據經CH375的USB 轉串行接口傳送至單片機內部RAM 緩衝, 以等待解碼。其中CH375 是一款USB 總線的通用接口晶片, 可以方便地掛接到單片機的控制總線上, 同時CH375 的U SB 主機方式支持常用的USB 全速設備,外部單片機可以通過CH375 按照相應的U SB 通信協議與U SB 設備通信。
由於CH375 內置了USB 通信協議, 省去了對USB 通信協議的了解, 單片機可以直接調用A PI 庫讀寫U 盤中的文件數據, 硬體上只需在51 單片機系統中增加一個CH375 晶片, 綜合成本較低。CH375 支持全速的U SB??HOST 主機接口, 外圍元器件只需要少量晶體和電容, 便可支持5 V 電源電壓和3. 3 V 電源電壓,CH375 晶片還支持低功耗模式, 正常工作時, 需要外部為它提供12 MHz 的時鐘信號。電路原理如圖2 所示。
1. 2 音頻解碼模塊
音頻解碼模塊包括2 大部分單片機控制器和專用MP3 音頻解碼晶片VS1003。
1. 2. 1 音頻解碼晶片VS1003
VS1003 是一個單片MP3/ WMA/ MIDI 音頻解碼器和ADPCM 編程器。它包含一個高性能、自主產權的低功耗DSP 處理器核VS_DSP, 並提供5KB 的指令RAM 和0. 5 KB 的數據RAM。產生MIDI/ SP??MIDI文件, 內含高性能片上立體聲數/ 模轉換器, 兩聲道, 無相位差, 在播放音頻文件時不需要外加驅動電路,VS1003 內部自帶耳機功放 , 只要調試好電路系統,接入耳機就可以聽到美妙的音樂。同時, VS1003 為用戶提供5. 5 KB 的片上RAM, 並支持SPI 串行通信的控制數據接口。
1. 2. 2 工作原理
系統上電啟動後, 由單片機控制將存儲於U 盤中歌曲的MP3 數據格式流信息通過CH375USB 接口晶片送入到V S1003 晶片中, 通過VS1003 晶片解碼及其內含高質量的立體聲DAC 和耳機驅動電路, 實現MP3歌曲的播放, 在按鍵的控制下, 可實現對歌曲的選擇、音量增減等功能。VS1003 的所有數據和控制命令均通過SPI 總線接口實現, 由於設計中所採用的單片機沒有SPI 接口, 因此, 在設計中採用單片機的3 個I/ O 口來模擬SPI 時序, 以達到實現SPI 通信功能。電路如圖3所示。
1. 3 鍵盤及顯示模塊
鍵盤採用的是獨立按鍵, 與單片機P30~ P34 相連接, 實現 開始!、 下一曲!、 上一曲!、 音量+ ! 和音量- !等5 個功能。播放的狀態由Nokia5110 液晶顯示, 該液晶為84 x 48 點陣的LCD, 可以顯示4 行漢字, 並支持串行通信協議, 傳輸速率高達4 Mb/ s, 可全速寫入顯示數據, 方便地與單片機進行通信。該液晶外部信號線僅有9 條, 節約本來就緊張的I/ O 口, 其串行通信模式下的控制時序如圖4 所示。
1. 4 電源模塊
系統採用的是5 V 直流電源供電, 並通過5 V 轉3. 3 V的SPX1117??3. 3 V 晶片給單片機, VS1003 解碼器和U SB 專用晶片CH375 模塊供電, 其電源電路原理如圖5 所示。
2 軟體系統設計
本系統單片機的軟體設計採用C51 語言編寫, 源程序共分3 個部分, 即: 單片機驅動CH375 程序, 單片機控制VS1003 實現音頻解碼程序, 按鍵和顯示驅動程序。在編寫CH375 模塊部分的程序時, 用到了從南京沁恆公司官方網站下載的CH375 的API 函數庫 「CH375HF4.LIB」文件, 簡化了程序設計。因為單片機的硬體資源十分有限, 在硬體調試過程中, 出現在傳送頻率較高的歌曲時, 由於採樣頻率低, 帶寬不夠, 而造成聲音失真。所以在系統的開發過程中, 應優化程序, 提高運行速度, 保證播放歌曲的流暢, 其軟體流程如圖6 所示。
3 結 語
設計的MP3 播放器採用51 單片機加VS1003 解碼, 並通過CH375USB 專用晶片進行數據讀取, 這種組合方式相比於採用AVR 或者MSP430 系列的高端單片機, 達到的播放效果也毫不遜色。系統的整個設計難點在於單片機如何高效的從U 盤中讀取數據, 並以一定的時序將緩衝的數據傳輸給VS1003, 實現解碼。在此採用的方法一是提高系統的時鐘; 二是通過修改軟體, 精簡程序, 來加快了系統的傳輸速率, 使播放音樂更加流暢。
參考文獻:[1]. CH375 datasheet http://www.dzsc.com/datasheet/CH375+_1135273.html.
[2]. STC89C58RD+ datasheet http://www.dzsc.com/datasheet/STC89C58RD%2b+_1137043.html.
[3]. VS1003 datasheet http://www.dzsc.com/datasheet/VS1003_696263.html.
[4]. SPX1117 datasheet http://www.dzsc.com/datasheet/SPX1117_718665.html.
[5]. MSP430 datasheet http://www.dzsc.com/datasheet/MSP430+_490166.html.
長按識別圖中二維碼關注我們
「單片機系列」
看完的同時,請分享到朋友圈
每天更新單片機各種知識,電子
製作DIY,及電子行業最新資訊
衷心的感謝您的支持