基於單片機的MP3播放器設計

2021-02-19 單片機系列

實用乾貨下載:關注我們「單片機系列」,回復「資料」獲取單片機相關資料。一起走向智能工業革命時代,單片機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,及電子行業最新資訊

                   衷心的感謝您的支持


相關焦點

  • 基於單片機的正弦信號發生器的設計
    基於單片機的正弦信號發生器的設計 秩名 發表於 2012-07-31 11:42:14   摘 要:本系統採用AT89S51單片機為核心,輔以必要的模擬,數字電路,構成了一個基於
  • 基於51單片機定時器的電子時鐘設計方案
    今天我們將會為大家分享一種比較基礎的電子時鐘設計方案,該方案基於51單片機定時器進行設計,精度較高,時鐘鬧鐘調節簡單。在本方案中,我們所設計的這種電子時鐘主要由51單片機定時器、1602LCD液晶屏等構成。在電路設計方面,該方案主要採用晶振電路作為驅動電路,晶振電路的晶振頻率為12MHZ。
  • 車載mp3播放器使用常見問題及注意事項有哪些
    車載mp3播放器使用常見問題及注意事項有哪些?專業產品車載mp3播放器的廠家,諾金鴻才小編來為廣大網友解決這個難題!支持MP3及WMA格式文件其餘格式會造成二、車載mp3播放器指示燈亮,正常播放時沒有聲音?
  • 愛國者悄悄推出支持實時收藏「我喜歡的音樂」的mp3播放器
    因為我平時喜歡下載一大堆的mp3或無損音樂,然後把它們一古腦地存進播放器,但是卻沒有辦法很方便地在播放器裡把音樂再次分類。其中最令人遺憾的是,當我偶然被一首歌曲打動時,卻無法及時地為這首歌打上一個「最愛」的標籤,以至於時間長了,這首好歌就有可能被遺忘,甚至在清理不好聽的歌曲時誤刪除掉,這樣會造成一些不小的遺憾。
  • 車載藍牙MP3播放器哪款好用
    比如藍牙播放器就非常受到人們的青睞雖然說現在智慧型手機發展得非常快,用手機聽音樂已經變成一種習慣的事,不過這並不能代表車載藍牙MP3播放器紐曼型號:B16紐曼型號:B16促銷價:39.90內存容量:無內存產品類別:車載藍牙mp3
  • 基於51單片機的TFT液晶顯示設計
    0 引言本文引用地址:http://www.eepw.com.cn/article/173037.htm  51單片機作為一種常見的通用單片機, 雖然其內部資源, 處理速度等都無法與新型高速單片機相提並論,
  • 基於單片機的直流電機閉環調速控制系統(附源程序)
    一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。持續更新中······基於單片機的直流電機閉環調速控制系統摘要:設計以AT89C51單片機控制模塊為核心,由單片機控制、直流電機轉速為被測量組成的控制系統。原理是利用紅外線光電傳感器接收直流電機轉速所產生的紅外信號轉換成電信號傳輸給單片機,並調節轉速的閉環調速控制系統。
  • 基於單片機的風速風向檢測系統設計
    原理,選用LPC921單片機設計了數據採集和數據傳輸的檢測系統,給出了系統硬體電路圖和軟體流程圖,分析了硬體設計和軟體編程中的一些問題。的特點選用了LPC921 單片機,通過I/O 口輸出高低電平,通過放大電路驅動繼電器,控制傳感器
  • 基於STC89C51的溫度報警器設計
    一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。持續更新中······基於STC89C51的溫度報警器設計   一.設計背景    二.設計思路    由於單片機具有以下的很多優點,被我們選定為製作該作品的首選晶片單片機特點:(1)高集成度,體積小,高可靠性 單片機將各功能部件集成在一塊晶體晶片上,集成度很高,體積自然也是最小的。
  • 誰說51單片機不行了?我還可以用它來做個MP3點播器!
    在當今ARM風行天下的時代,傳統的51單片機其生存空間可謂是「壓,壓力壓力大」呀。那能用51單片機做點啥呢?其實51單片機若能合理地與一些功能模塊相配合,還是能夠有所作為的,不信就看看這個基於51單片機的MP3點播器吧。該點播器所用的是一種支架式的安裝結構,由於是供實驗測試的樣機,所以連線比較亂,若是成品的話會更美觀些。
  • 基於單片機的廣告燈的設計
    系統板上硬體連線   把「單片機系統」區域中的P1.0-P1.7用8芯排線連接到「八路發光二極體指示模塊」區域中的L1-L8埠上,要求:P1.0對應著L1,P1.1對應著L2,……,P1.7對應著L8。 4. 程序設計內容 在用表格進行程序設計的時候,要用以下的指令來完成 (1). 利用MOV DPTR,#DATA16的指令來使數據指針寄存器指到表的開頭。
  • 為何有這麼多的車主會選擇車載MP3音樂播放器
    車載MP3播放器於我們平時所用的MP3並不太一樣。其中最大的特色是將車載MP3音樂轉化為FM音頻信號,然後在發射到汽車音響,再通過汽車音響播放出來。車載MP3播放器使用起來還是非常方便的。可以自已選擇喜歡的歌曲,可重複利用,隨時更新,1G的內存一般可以存放300首左右的歌曲!
  • ARM7單片機輕鬆入門與實踐 — 暢學單片機
    本課程是ARM7單片機學習者從入門到深入的一套經典視頻教程,以初學者為對象,從零開始手把手教你學習單片機,循序漸進地基於理論講解並結合實驗項目實戰開發,講解當前最熱門的ARM7單片機的C程序設計!
  • 每日快樂源泉——HIFI音樂播放器
    親愛的,生活需要特殊的儀式感才能更幸福,聽音樂也一樣需要儀式感,小巧的便攜mp3給你完美的青春體驗。這些年隨著科技的進步,我們聽音樂的設備也在不斷的升級,以前總以學英語為藉口讓爸媽給買一臺收音機,後來mp3來了,那麼小的機身卻可以裝進去幾百首歌,當時誰能擁有一臺mp3誰就是時代的弄潮兒啊!智慧型手機來了以後大家都開始用手機看電影、聽音樂、看書。
  • App今日免費:萬能播放器AVPlayer Pro
    App今日免費:萬能播放器AVPlayer Pro    軟體的播放界面採用了簡約設計,所有操作比如音量、亮度以及進度條等都可以通過手勢操作完成,和安卓中地位播放器操作手法類似。AVPlayer Pro    既然是萬能播放器,支持的視頻格式自然也不含糊,以下是AVPlayer Pro所能夠支持的格式。
  • 基於P89V51單片機和CD4051晶片實現4路智能溫控儀產品樣機的設計
    打開APP 基於P89V51單片機和CD4051晶片實現4路智能溫控儀產品樣機的設計 張愛民,林輝 發表於 2020-12-23 10:00:44
  • 單片機、EDA實訓裝置功能及配置
    、中斷實驗3、單片機串行口應用實驗_雙機通信4、單片機PWM實驗5、A/D 轉換實驗6、D/A轉換實驗7、鍵盤顯示控制器8279應用實驗8、步進電機控制實驗9、小直流電機調速實驗10、電子音響實驗11、繼電器控制實驗12、數據存貯器擴展實驗13、簡單
  • 單片機控制步進電機設計及失步原因分析,51單片機驅動步進電機的方法
    這裡針對電磁幹擾較強以及要求低成本應用的場合,採用超強抗幹擾、小巧低功耗的工業級STC12C系列單片機,充分利用單片機內部的硬體資源,設計實用的步進電機控制和驅動系統。  1、控制系統總體方案設計  系統功能原理示意圖如圖1所示。
  • 電子工程師自學速成——單片機技術和電路繪圖設計
    、通信、功放、51、tvs、wifi、程序」獲取更多資料包  】 內容包括單片機技術和Protel電路繪圖設計兩大部分,其中單片機技術部分的內容有單片機入門、單片機硬體原理、單片機的開發過程、單片機編程、中斷技術、定時器/計數器、串行通信技術和接口技術,Protel電路繪圖設計部分的內容有Protel軟體入門、設計電路原理圖、製作新元件、手工設計PCB、自動設計PCB和製作新元件封裝。
  • 手機與播放器放音樂區別在哪裡?用了這臺播放器更有感觸
    十幾年前,曾經花了將近千元買了臺愛國者的MP3播放器,就是為了能夠隨時的聽音樂,現在想想,真是燒錢啊。隨著技術的發展,MP3播放器的價格越來越低,直到智慧型手機出現後,好像mp3播放器的需求就越來越少了,我的幾個mp3也就躺在某個角落,慢慢變成了懷舊品。然而隨著需求的提高,發現智慧型手機越來越不能滿足要求了。