<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于AT89C51SND1C單片機的MP3播放器的設計方案

電子工程師 ? 作者:工程師a ? 2018-05-26 09:02 ? 次閱讀

首先分析了便攜式MP3播放器的工作原理及其系統構成,接著介紹了一種基于51單片機的MP3播放器設計方案。采用 AT89C51SND1C單片機,其片內集成了MP3解碼器,使用K9F1208閃存作為外存儲器,放音電路采用CS4330,音樂文件通過播放器上的 USB接口從PC機上直接下載。該方案設計簡單,性價比高、低功耗、易擴展。

引言

MP3作為高質量音樂壓縮標準,正在進入越來越多人的生活,給數字音頻工業帶來了強勁的沖擊。MP3使用此技術可以獲得較大的音樂壓縮比,還可以得到較高的音樂回放質量,比如將CD格式的音樂數據壓縮成MP3格式,音效相差無幾,文件大小至少可以壓縮12倍。

正是由于MP3音樂的較小數據量和近似完美的播放效果,使得以MP3為后綴的音樂文件在網絡上的傳輸得以實現。當前MP3播放器正朝著功能強大、外觀豐富、價格便宜的方向發展,這里提出一種基于AT89C51SND1C單片機的MP3播放器設計方案。

1 MP3編碼簡介

MP3是MPEG Layer III(第3層音頻編碼標準)的縮寫,圖1為MP3編碼器內部原理框圖。它是一種超級聲音文件的壓縮方法,其數字壓縮速率為每通道128 Kb/s。MPEG由音頻和視頻兩部分組成,可以分別進行壓縮。MPEG在音頻上壓縮分為MPEG Layerl、MPEG Layer2和MPEG Layer3,其中MP3具有最高的壓縮比12:1。在一般沒有壓縮數據的情況下,音頻被數字化時,采樣頻率必須為實際聲音最高頻率的2倍以上。

基于AT89C51SND1C單片機的MP3播放器的設計方案

目前最好的CD音質中,聲音最高頻率是20 kHz,采樣頻率定為44.1 kHz,16位量化,要獲得CD音質立體聲,每秒鐘的數據量將超過1.4 Mb;而采用MP3壓縮,數據量可以縮小到1/12,音質卻沒有損失。如果再進一步壓縮數據量到1/24或者更多,依然可以維持相當好的音質,比起通過降低采樣頻率、縮短采樣深度的方法要好得多。

2 MP3播放器設計

對于便攜式MP3系統,主要考慮的是其體積小巧、低功耗、高容量、低價格。當前流行的MP3播放器主要包括:單片機控制系統、大容量移動存儲設備、MP3 解碼器、D/A轉換芯片、音頻放大電路、USB接口、LCD顯示和鍵盤電路等,其基本工作原理如圖2所示。通過USB接口把Flash存儲器上的MP3、 WMA等格式的數字音樂文件送到單片機內部集成的解碼芯片進行解碼,這些音樂文件經解碼后成為數字信號,然后音頻DAC通過D/A轉換將數字音頻信號轉換為模擬音頻信號,再通過功率放大器進行音頻放大,最后通過耳機輸出音樂。

基于AT89C51SND1C單片機的MP3播放器的設計方案

本系統主要實現一個MP3播放器功能,由于涉及文件傳輸和存儲問題,所以附帶需要實現USB存儲器功能。整個系統由AT89C51SND1C(MCU)、K9F2808U0A(Flash芯片)、電源部分、音頻部分、串行通信部分和人機接口部分組成。

MCU部分:控制整個系統,提供USB控制和MP3解碼功能。FLASH芯片:存放整個系統文件。電源部分:提供系統工作需要的電源,包括一個升壓和一個降壓部分。音頻部分:把數據流轉換為聲音信號。人機接口部分:包括按鍵和LED指示等。USB接口部分:通過PC的USB接口進行MP3文件的下載。

2.1 硬件設計

2.1.1 控制器部分

AT89C51SND1C是Atmel公司專門針對MP3設計需求研發的一款多媒體8位微處理器,使用通用的C51內核,集成了CPU和硬件解碼器,為 MP3設計提供了一套方便的解決方案。該芯片的高度集成大大降低了系統的耗電和發熱,提高了系統的穩定性和速度,抗干擾能力也顯著增強。需要注意的是,由于在系統中有MP3和USB傳輸等高頻信號,為了避免噪聲對系統的影響,尤其是對音頻輸出信號的影響,所以在AT89C51SND1C的正負電源間需要加上一個RC濾波電路以消除電路中的噪聲。對于AVDD和UVDD的兩個模擬電壓和數字電源而言,兩者需要在數字地和模擬地處單點通過一個磁珠相連,以免數字電源和模擬電源之間相互影響。

2.1. 2 音頻部分

音頻是整個系統中最為重要的一個部分,在把數字信號轉換為模擬信號的過程中容易產生噪聲,這個關系到MP3播放器聲音效果的好壞,本系統選擇的是CS4330芯片,CS43 30能兼容48 KHz、44.1 KHz和32 KHz的音頻流。聲音數據通過串行輸入引腳SDATA輸入,左右輸入時鐘LRCK決定了左右聲道,而在串行輸入時鐘SCLK的驅動下數據被送入CS4330的數據緩存中,而主時鐘決定了數據濾波器的使用。

2.1.3 存儲部分

采用三星公司的NAND Flash K9F1208作為系統的數據存儲器,用來存儲本系統所需播放的音樂文件。主芯片AT89C51SND1C和Flash存儲器間的通信與讀取一般的存儲器 RAM、EEPROM等基本一致,不同的就是多了CLE和ALE這2個引腳,這是由Flash本身特點所決定的。主芯片通過讀取R/B這個引腳來判斷 Flash讀寫是否完成,如果正在讀寫,那么這個引腳為低電平,表示正忙;如果讀寫完成,該引腳電平變高,處于READY(準備)狀態,等待下次操作。 ALE和CLE這兩個信號均為上升沿有效,WP引腳為寫保護,用來在電源由于切換等造成不穩定的情況下防止數據丟失。

2.1.4 人機接口部分

人機接口部分主要提供一個人和系統進行信息交換的接口,包括鍵盤輸入、LED顯示以及串行口3個部分。鍵盤輸入提供給用戶選擇功能的能力、LED顯示系統現在的工作狀態,串行口可以方便開發過程中的調試,通過串口調試助手等工具,把系統運行的情況反饋到PC機的屏幕。

2. 1.5 USB接口部分

一般通過PC的USB接口進行MP3文件的下載,傳輸速率為12 Mbps。由于Atmel公司生產的AT89C51SND1C芯片僅支持USB1.1技術規范,因此接口速度稍慢。但對于MP3播放來說,可以滿足需要。

2. 2 軟件設計

MP3播放系統的軟件設計,按照模塊可以劃分為以下幾個部分:

◆Flash存儲部分:這是系統中的文件存儲系統,按照FAT文件格式對Flash芯片進行劃分,對芯片的操作必須按照FAT格式進行。

◆USB通信驅動:USB驅動通信主要包括如何按照Windows 7中對USB移動硬盤的描述編寫設備的固件程序,以便操作系統對MP3系統的操作。

◆MP3解碼控制:控制系統中間的MP3解碼器把從Flash中取出來的MP3壓縮數據流解碼成音頻數據流,提供給音頻解碼接口。

◆音頻解碼接口:和外圍的音頻驅動芯片接口,對音頻驅動芯片進行配置以及控制,把解碼后的數字信號轉化為模擬聲音并且驅動耳機。

◆其他部分:由提供人機接口的鍵盤掃描驅動、LED顯示驅動、數碼管驅動部分組成。

系統軟件結構框圖如圖3所示。

基于AT89C51SND1C單片機的MP3播放器的設計方案

2.3 MP3播放程序結構

在主程序時,如果處于播放狀態,則調用PlayMP3函數播放歌曲,直至播放到最后一首,在PlayMP3里面,MP3解碼器一旦開始工作以后,就會一直向CPU請求數據,直至歌曲結束。程序進入此函數以后,只有改變當前歌曲的鍵盤操作才能使此函數提前結束,進入下一首歌曲的播放。

MP3播放函數的工作分兩部分進行:第一部分是播放一首新的MP3歌曲時,要做一些初始化工作;第二部分則一直在等待中斷發生。第二部分與鍵盤結合,以實現MP3播放過程中的用戶操作。MP3播放程序結構框圖如圖4所示。

基于AT89C51SND1C單片機的MP3播放器的設計方案

2.4 人機接口程序結構

當執行MP3程序的時候,需要通過按鍵操作來控制MP3歌曲的播放,每個鍵對應一個鍵盤響應函數:

①Func:功能切換。

②Next:向后。

③Previous:向前。

④PlayPause:播放/暫停。

人機接口流程圖如圖5所示。

基于AT89C51SND1C單片機的MP3播放器的設計方案

結語

本文提出基于AT89C51SND1C單片機的MP3播放器的設計方案,MP3為取得較好的壓縮效果而采用相對復雜的技術,寬帶音頻信號的取樣率也較高 (一般為44.1 KHz以上),所以MP3編解碼的運算量和數據量都相當龐大。MPEG LayerIII解碼算法在AT89C51SND1C上驗證通過并獲得較好的效果,通過優化后可流暢播放音樂。此MP3播放器系統既有播放歌曲的功能又有 U盤功能。兩種功能的轉換用USB接口檢測電路來控制:當MP3播放器上的USB設備插入PC機上的USB接口進行文件下載時,執行U盤功能;否則程序執行MP3功能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MP3播放器
    +關注

    關注

    3

    文章

    86

    瀏覽量

    24251
  • AT89C51SND1C
    +關注

    關注

    0

    文章

    7

    瀏覽量

    2895
收藏 人收藏

    評論

    相關推薦

    JMBIE USB+MP3學習板

    實習、課程設計和畢業設計等應用。該學習板采用ATMEL公司的單片機AT89C51SND1C作為主控芯片,該芯片內部含有8位C51CPU核、MPEGI/II-Layer3硬件譯碼
    發表于 03-05 11:29

    AT89C51SND1CMP3播放器

    AT89C51SND1CMP3播放器
    發表于 08-14 00:04

    基于單片機AT89C51MP3播放系統的設計方案

    本帖最后由 eehome 于 2013-1-5 09:45 編輯 基于單片機AT89C51MP3播放系統的
    發表于 08-14 19:33

    基于AT89C51SND1A的mp3的原理圖制作

    基于AT89C51SND1A的mp3的原理圖制作
    發表于 12-20 22:33

    教你如何用stm32 軟件解碼mp3

    目前,網絡上絕大都數關于MP3播放器的例子,大都采用vs1003這顆硬件解碼芯片或者使用AT89C51SND1C這顆含有內部音頻解碼電路的NB單片機,軟件音頻解碼的例子少之又少。我花了
    發表于 08-14 14:06

    AT89C51SND1C單片機之應用MP3技術方案

    基于AT89C51SND1C單片機的U盤MP3播放器學習板,配置64M Nand Flash 芯片K9F1208U,利用軟件可實現U盤功能,在WindowsXP 等系統下能穩定使用。M
    發表于 09-23 11:10

    AT89C51SND1C無法燒錄

    使用AT89C51SND1C設計MP3,部分原理圖如下,設置ISP按鍵,按下電平拉低。datasheet上說可以通過串口下程序,使用USB轉TTL,FLIP軟件下載程序,總是提示“Timeout
    發表于 05-28 22:38

    基于單片機mp3音樂播放器設計資料分享

    一.硬件方案本設計以單片機為核心控制,設計一個音樂播放器,主要完成TF卡存儲的音頻文件數據提取及播放任務。該
    發表于 02-07 06:34

    AT89C51SND1C方案mp3資料

    AT89C51SND1C方案mp3資料
    發表于 04-08 03:35 ?120次下載

    基于單片機AT89C51MP3播放系統的設計方案

    提出一種基于單片機AT89C51SND1CMP3播放系統的設計方案。單片機集成了專用的解碼器,
    發表于 11-23 11:44 ?489次下載

    帶U盤功能的MP3播放器設計方案

    本文提出基于AT89C51SND1C單片機MP3播放器的設計方法,此MP3播放器系統既有
    發表于 08-29 11:12 ?1w次閱讀
    帶U盤功能的<b class='flag-5'>MP3</b><b class='flag-5'>播放器</b><b class='flag-5'>設計方案</b>

    at89c51snd1c(博創)MP3源程序

    at89c51snd1c(博創)MP3源程序。
    發表于 01-22 14:16 ?13次下載

    基于AT89C51SND1Cmp3播放器的設計

    基于AT89C51SND1Cmp3播放器的設計。
    發表于 01-22 14:24 ?104次下載

    at89c51snd1cMP3源程序

    at89c51snd1c(博創)MP3源程序
    發表于 05-25 10:26 ?40次下載

    MP3播放器詳細設計方案

    簡介:開發工具:keil7 主要IC:at89c51sdnd1(atmel) 說明:mp3播放器詳細設計方案,包括電路原理圖,物料,源碼,開發文檔,芯片datasheet等。 用途:單
    發表于 11-15 14:36 ?6次下載
    <b class='flag-5'>MP3</b><b class='flag-5'>播放器</b>詳細<b class='flag-5'>設計方案</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>