0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

采用STC89C58RD+單片機和VS1011E解碼芯片實現(xiàn)MP3播放器的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-30 08:10 ? 次閱讀

隨著人們對便攜式音樂播放器要求的提高,MP3播放器以其較小的體積和較好的音質(zhì)受到廣大音樂愛好者的青睞。起初,MP3文件由電腦來播放,后來互聯(lián)網(wǎng)的發(fā)展促進了MP3播放器的產(chǎn)生,同時MP3播放器也發(fā)生了一系列的變化,其更加小巧精致,更人機化和情趣化。現(xiàn)在市場上MP3的款式越來越多,功能越來越豐富,但現(xiàn)有MP3播放器大多是將解碼器與存儲器一體化的。這種設(shè)計使MP3播放器方便攜帶,但也帶來了問題:一是存儲容量不易擴展;二是不利于MP3播放器在其他領(lǐng)域的應(yīng)用。將播放器與存儲器分離是MP3播放器目前發(fā)展的一個方向[1-3].本系統(tǒng)采用STC89C58RD+單片機,結(jié)合USB接口芯片CH375、解碼芯片VS1011E、Nokia5110液晶等外圍設(shè)備設(shè)計并實現(xiàn)MP3播放器,該系統(tǒng)以USB-HOST方式讀取U盤的MP3文件并將其解碼播放,同時具備讀取音樂標簽,U盤電子書和貪吃蛇游戲等功能。

系統(tǒng)總體設(shè)計

MP3播放器是一種新興的數(shù)字音樂播放器,播放MP3、WMA等格式的文件。通過用MPEG-1 Layer 3編碼技術(shù),可以得到大約12:1壓縮的有損音樂信號。盡管MP3文件是有損的,它在壓縮過程中對功率譜較弱的信號有所丟失,但它同CD原聲區(qū)別不大,不影響一般音樂愛好者對音樂的欣賞。MP3大大縮小了聲音文件的長度,使音樂的傳輸和存儲更方便。MP3播放器系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)啟動后,STC89C58RD+單片機 通過USB接口芯片CH375,從U盤中獲取MP3格式文件的數(shù)據(jù),并存入片內(nèi)RAM進行緩沖,然后單片機定時將數(shù)據(jù)從緩沖區(qū)送到MP3音頻解碼芯片VS1011E,實現(xiàn)解碼并輸出音頻信號到耳機或有源音響。用戶可以通過鍵盤實現(xiàn)“啟動”、“停止”、“上一曲”、“下一曲”和“音量控制”等功能,并通過Nokia5110液晶顯示播放狀態(tài)信息。系統(tǒng)在硬件上主要包括數(shù)據(jù)讀取模塊、音頻解碼模塊和液晶顯示模塊等。

采用STC89C58RD+單片機和VS1011E解碼芯片實現(xiàn)MP3播放器的設(shè)計

系統(tǒng)硬件模塊的實現(xiàn)

數(shù)據(jù)讀取模塊

單片機讀取MP3數(shù)據(jù)模塊包括STC89C58RD+單片機、USB接口芯片CH375和MP3格式數(shù)據(jù)存儲U盤三部分。

STC89C58RD+單片機

系統(tǒng)采用STC89C58RD+單片機,該單片機是美國STC公司設(shè)計,國內(nèi)宏晶公司生產(chǎn)的新一代51增強型單片機,引腳和指令系統(tǒng)均與51單片機兼容。它具有加密性強、超強抗干擾、超低功耗、在系統(tǒng)可編程、內(nèi)含MAX810專用復位電路等特點[4].

該單片機采用MCS51內(nèi)核,其內(nèi)含32KB的FLASH和16KB的EEPROM,同時內(nèi)含1KB的內(nèi)部SRAM存儲空間。因而可用于音頻數(shù)據(jù)處理和顯示數(shù)據(jù)處理需要進行較大數(shù)據(jù)緩沖的情況下。該單片機最高可工作于33MHz時鐘,本系統(tǒng)中,它工作在30MHz時鐘下,能滿足系統(tǒng)對數(shù)據(jù)帶寬的要求。

CH375接口芯片

CH375是一種通用USB總線接口芯片,其內(nèi)部集成PLL倍頻器、數(shù)據(jù)緩沖區(qū)、主從USB接口SIE、被動并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器和通用的固件程序等[5].它有USB-HOST和USB-SLAVE兩種方式,其中USB-HOST方式支持各種常用的USB全速設(shè)備,外部單片機、MCU、DSP可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信,這是由于在本地端,CH375具有讀、寫、片選控制線以及中斷輸出四條控制總線和八位數(shù)據(jù)總線,可以方便地掛接到單片機等控制器的系統(tǒng)總線上。CH375芯片內(nèi)部各部分的功用如下:①PLL倍頻器用于將外部輸入的12MHz時鐘倍頻到48MHz,作為USB接口SIE時鐘。②數(shù)據(jù)緩沖區(qū)用于緩沖USB接口SIE收發(fā)的數(shù)據(jù)。③主從USB接口SIE用于完成物理的USB數(shù)據(jù)接收和發(fā)送。④被動并行接口與異步串行接口用于與外部單片機交換數(shù)據(jù)。⑤URT串行接口用于代替并行接口與外部單片機交換數(shù)據(jù)。⑥命令解釋器用于分析并執(zhí)行外部單片機提交的各種命令。⑦控制傳輸?shù)膮f(xié)議處理器用于自動處理常用的控制傳輸?shù)亩鄠€階段,簡化外部固件的編程,降低了開發(fā)難度。⑧通用的固件程序?qū)崿F(xiàn)USB傳輸?shù)南嚓P(guān)協(xié)議。

數(shù)據(jù)讀取原理

數(shù)據(jù)讀取電路如圖2所示。系統(tǒng)利用單片機實現(xiàn)將U盤中的音頻數(shù)據(jù)經(jīng)CH375的USB串行接口傳送至單片機內(nèi)部RAM緩沖,以等待解碼。硬件上只需在單片機系統(tǒng)中增加一個CH375芯片,綜合成本較低,這是由于CH375內(nèi)置了USB通信協(xié)議,省去了對USB通信協(xié)議的了解,單片機可以直接調(diào)用API庫讀寫U盤中的文件數(shù)據(jù)。CH375芯片工作時,需外部為它提供12MHz的時鐘信號,它支持全速的USB-HOST主機接口,外圍元器件只需要少量晶體和電容,便可支持5V和3.3V電源電壓。

VS1011E解碼芯片

系統(tǒng)采用VS1011E芯片對MP3音頻進行解碼。VS1011E音頻解碼芯片為VS10XX系列的第三代產(chǎn)品,是芬蘭VLSI Solution Oy公司生產(chǎn)的單片MP3/WMA/MIDI音頻解碼芯片,其內(nèi)部結(jié)構(gòu)如圖3所示。它包含一個高性能、低功耗的DSP處理核(VSDSP),5KB的指令RAM,0.5KB的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,四個通用I/O口,一個UART口,一個可變采樣率的ADC,一個立體聲DAC以及音頻耳機放大器。芯片可工作于12.288~14MHz或24.576~28MHz時鐘下??捎糜诮獯aMPEG1&2Layer1,2,3以及MPEG2.5Layer3格式、和WAV等格式文件[6].

VS1011E芯片工作流程

VS1011E芯片工作時,首先將MP3或WAV格式音頻文件通過SDI總線送入芯片內(nèi)部并解碼。解碼后,如果SCL_AIADDR!=0,則執(zhí)行應(yīng)用區(qū)代碼(代碼地址由相應(yīng)的地址寄存器提供),然后再按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的設(shè)置,將數(shù)據(jù)送到低音和高音優(yōu)化器進行音效處理,之后再將數(shù)據(jù)通過音量控制單元備份到音頻FIFO中。音頻FIFO用于保持數(shù)據(jù),并將數(shù)據(jù)作為采樣率轉(zhuǎn)換器和DAC的輸入。采樣率轉(zhuǎn)換器可將所有不同采樣率轉(zhuǎn)換成CLKI/512信號送給DAC,再由DAC按位依次產(chǎn)生立體聲模擬信號,然后由系統(tǒng)將這些信號送到耳機功放。VS1011E的工作流程如圖4所示。

采用STC89C58RD+單片機和VS1011E解碼芯片實現(xiàn)MP3播放器的設(shè)計

實現(xiàn)VS1011E芯片控制協(xié)議

VS1011E芯片與主機進行數(shù)據(jù)和控制信息的通信需要利用工作于從模式的SPI串行總線,通過串行數(shù)據(jù)接口(SDI)傳送音頻數(shù)據(jù),通過串行控制接口(SCI)傳送控制數(shù)據(jù)。VS1011E的SPI接口具有VS1002新模式(SM_SDINEW=1)和VS1001兼容模式(SM_SDINEW=0)兩種工作模式。當SM_SDISHARED=1時,數(shù)據(jù)信號和控制信號的傳送共用xCS作同步信號;SM_SDISHARED=0時,則分別采用xDCS和xCS為同步信號。作為從機工作模式,VS1011E可通過一個信號線DREQ指示是否允許主機傳送數(shù)據(jù)。當DREQ為高時,VS1011E至少可以接收32KB的SDI數(shù)據(jù)或SCI控制命令。下面以VS1002模式簡單分析SPI協(xié)議:

(1)SDI數(shù)據(jù)協(xié)議線

xDCS為同步控制線,低電平時激活,可輸入數(shù)據(jù),高電平時結(jié)束當前操作,以使串行接口處于等待狀態(tài),當SM_SDISHARED=1時,由xCS替換該引腳。SCK為時鐘線,由主控芯片提供時鐘。SI為數(shù)據(jù)輸入線,可在SCK上升沿采樣輸入SI數(shù)據(jù)。

(2)SCI控制命令線

xCS為同步控制線,低電平時激活,高電平結(jié)束當前操作,以使串口處于等待狀態(tài),同時使SO輸出線為高阻態(tài)。SCK(復用)為時鐘線。SI(復用)為控制命令輸入,可在SCK上升沿采樣輸入SI數(shù)據(jù),若xCS被拉低,則在SCK的第一個上升沿寫入數(shù)據(jù)線的第一個數(shù)據(jù)位。SO為數(shù)據(jù)輸出線,當主控制器讀VS1011E內(nèi)部控制寄存器狀態(tài)時,可在SCK下降沿輸出數(shù)據(jù),如果當前為寫操作,MJH SO為高阻態(tài)。

VS1011E芯片與單片機的接口電路

VS1011E芯片與STC89C58RD+單片機的接口電路如圖5所示。系統(tǒng)啟動后,由單片機控制,通過CH375USB接口芯片將存儲于U盤中文件的MP3數(shù)據(jù)格式流信息送入到VS1011E芯片中,再通過VS1011E芯片解碼及其內(nèi)含高質(zhì)量的立體聲DAC和耳機驅(qū)動電路,實現(xiàn)MP3文件的播放。VS1011E的所有控制命令和數(shù)據(jù)均通過SPI總線接口實現(xiàn),而STC89C58RD+單片機沒有SPI接口,因此,為了達到實現(xiàn)SPI通信功能,采用該單片機的3個I/O口模擬SPI時序。

液晶顯示模塊

系統(tǒng)采用Nokia5110液晶顯示播放狀態(tài),該液晶為84×48點陣的LCD,可顯示四行漢字,并支持串行通信協(xié)議,如圖6所示為其串行通信模式下的控制時序。其傳輸速率高達4Mb/s,可全速寫入顯示數(shù)據(jù),方便與單片機進行通信。該液晶外部只有九條信號線,節(jié)約了I/O口。

采用STC89C58RD+單片機和VS1011E解碼芯片實現(xiàn)MP3播放器的設(shè)計

系統(tǒng)軟件設(shè)計

圖7為MP3播放器的軟件流程。采用C51語言對本系統(tǒng)單片機的軟件設(shè)計進行編寫,源程序共分單片機驅(qū)動CH375程序、單片機控制VS1011E實現(xiàn)音頻解碼程序及按鍵與顯示驅(qū)動程序三個部分。為了簡化程序設(shè)計,采用從官方網(wǎng)站下載CH375的API函數(shù)庫“CH375HF4.LIB”文件對CH375模塊部分程序進行編寫。由于單片機的硬件資源比較有限,在硬件調(diào)試過程中,當出現(xiàn)傳送頻率較高的MP3文件時可能會造成聲音失真,因此為了保證MP3文件播放流暢,在系統(tǒng)開發(fā)過程中應(yīng)優(yōu)化程序。

系統(tǒng)啟動后,先進行初始化,然后等待U盤插入,再通過CH375芯片將U盤中的MP3文件傳送至單片機內(nèi)部RAM緩沖。單片機是通過SPI總線方式讀出音頻信息的,并將MP3的碼流信息送入到VS1011E芯片中,通過VS1011E芯片及其內(nèi)含的高質(zhì)量立體聲DAC和耳機驅(qū)動電路,實現(xiàn)MP3文件的播放功能。在按鍵的控制下,通過Nokia5110中菜單選項的選擇,實現(xiàn)對MP3文件選擇及音量控制等功能;播放時,顯示在Nokia5110上的信息包括MP3文件名稱、播放進度和音量等。經(jīng)過運行測試,該系統(tǒng)可正常流暢地播放出320kb/s的高音質(zhì)MP3文件,而且其功耗比較低,使用500mA鋰電池可連續(xù)正常播放十小時。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50005

    瀏覽量

    419702
  • 單片機
    +關(guān)注

    關(guān)注

    6026

    文章

    44456

    瀏覽量

    631016
  • 播放器
    +關(guān)注

    關(guān)注

    5

    文章

    392

    瀏覽量

    37326
收藏 人收藏

    評論

    相關(guān)推薦

    基于C89C58RD+單片機VS1003實現(xiàn)MP3播放器設(shè)計

    系統(tǒng)工作原理框圖如圖1 所示。系統(tǒng)啟動后, 單片機通過USB 接口芯片CH375, 從U 盤中獲取MP3 格式文件的數(shù)據(jù), 并存入片內(nèi)RAM 進行緩沖, 然后單片機定時將數(shù)據(jù)從緩沖區(qū)送
    的頭像 發(fā)表于 12-24 09:03 ?4869次閱讀
    基于<b class='flag-5'>C89C58RD</b>+<b class='flag-5'>單片機</b>與<b class='flag-5'>VS</b>1003<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>MP3</b><b class='flag-5'>播放器</b>設(shè)計

    基于VS1003解碼器MP3播放器設(shè)計

    單片機從SD卡里讀取的數(shù)字MP3音頻數(shù)據(jù)流進行解析,并轉(zhuǎn)換成模擬信號進行輸出。圖4是該MP3播放器的音頻解碼模塊電路原理圖
    發(fā)表于 05-08 13:20

    音頻編解碼芯片VS1003 (MP3語音方案)

    較高的。所以商業(yè)或工業(yè)領(lǐng)域所需要的MP3播放器,需要支持自動從U盤或SD卡等移動存儲設(shè)備中轉(zhuǎn)移數(shù)據(jù)的能力。為了滿足這樣的需求,我們提出了一種嵌入式語音播放的解決方案----單片機 +
    發(fā)表于 03-27 09:28

    一種基于單片機STC89C58RD+的稱重顯示控制

    一種基于單片機STC89C58RD+的稱重顯示控制
    發(fā)表于 07-14 14:42 ?130次下載

    基于單片機AT89C51的MP3播放系統(tǒng)的設(shè)計方案

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

    基于CPLD和VS1011E解碼器的電梯語音系統(tǒng)設(shè)計

     目前,大多數(shù)電梯樓層語音系統(tǒng)都采用專門語音器件,但缺陷多。針對這種情況,設(shè)計了一種基于CPLD和VS1011E解碼器的電梯語音系統(tǒng),該系統(tǒng)主要采用
    發(fā)表于 12-13 17:12 ?32次下載

    帶U盤功能的MP3播放器設(shè)計方案

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

    51單片機實現(xiàn)MP3播放器的功能

    51單片機實現(xiàn)MP3播放器的功能,簡單實用,適合初學者
    發(fā)表于 11-24 10:13 ?60次下載

    基于AT89C51SND1Cmp3播放器的設(shè)計

    基于AT89C51SND1Cmp3播放器的設(shè)計。
    發(fā)表于 01-22 14:24 ?104次下載

    基于STC12C5A60S2單片MP3設(shè)計

    本設(shè)計采用STC12C5A60S2單片機作為MP3播放器的核心,將U盤作為數(shù)據(jù)存儲介質(zhì),通過編寫程序代碼將U盤中的
    發(fā)表于 11-09 11:40 ?67次下載
    基于<b class='flag-5'>STC12C</b>5A60S2<b class='flag-5'>單片</b>的<b class='flag-5'>MP3</b>設(shè)計

    基于AT89C51SND1C單片機MP3播放器的設(shè)計方案

    本文首先分析了便攜式MP3播放器的工作原理及其系統(tǒng)構(gòu)成,接著介紹了一種基于51單片機MP3播放器設(shè)計方案。
    的頭像 發(fā)表于 05-26 09:02 ?6555次閱讀
    基于AT<b class='flag-5'>89C51SND1C</b><b class='flag-5'>單片機</b>的<b class='flag-5'>MP3</b><b class='flag-5'>播放器</b>的設(shè)計方案

    基于單片機AT89C52和MC145152芯片實現(xiàn)汽車MP3無線發(fā)射的設(shè)計

    汽車MP3無線發(fā)射可以將MP3播放器內(nèi)存儲的音樂通過FM廣播方式發(fā)送,再通過FM調(diào)頻收音接收,通過汽車音響
    的頭像 發(fā)表于 04-18 08:05 ?3041次閱讀
    基于<b class='flag-5'>單片機</b>AT<b class='flag-5'>89C</b>52和MC145152<b class='flag-5'>芯片</b><b class='flag-5'>實現(xiàn)</b>汽車<b class='flag-5'>MP3</b>無線發(fā)射<b class='flag-5'>器</b>的設(shè)計

    基于單片機mp3音樂播放器設(shè)計

    一.硬件方案本設(shè)計以單片機為核心控制,設(shè)計一個音樂播放器,主要完成TF卡存儲的音頻文件數(shù)據(jù)提取及播放任務(wù)。該播放器類似于個人計算機的音樂
    發(fā)表于 12-04 10:36 ?50次下載
    基于<b class='flag-5'>單片機</b><b class='flag-5'>mp3</b>音樂<b class='flag-5'>播放器</b>設(shè)計

    基于STC89C58單片機MP3播放器設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于STC89C58單片機MP3播放器設(shè)計.pdf》資料免費下載
    發(fā)表于 10-10 10:56 ?3次下載
    基于<b class='flag-5'>STC89C58</b><b class='flag-5'>單片機</b>的<b class='flag-5'>MP3</b><b class='flag-5'>播放器</b>設(shè)計

    MP3播放器解碼功能的實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《MP3播放器解碼功能的實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-25 11:01 ?0次下載
    <b class='flag-5'>MP3</b><b class='flag-5'>播放器</b><b class='flag-5'>解碼</b>功能的<b class='flag-5'>實現(xiàn)</b>