• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ATmega16和VS1003的音頻分析與設(shè)計

      2009-06-12 09:46陳朝大
      中國新技術(shù)新產(chǎn)品 2009年9期
      關(guān)鍵詞:U盤扇區(qū)解碼

      摘要:MP3編碼標準壓縮率高,壓縮質(zhì)量好,是廣為應用的音頻壓縮格式。文章介紹了一種基于ATmega16內(nèi)核的單片機MP3解碼原理,對系統(tǒng)的軟、硬件部件進行了設(shè)計,實現(xiàn)了實時解碼過程。

      關(guān)鍵詞:VS1003;ATmega16;Keil8.08;音頻解碼

      MP3 作為高質(zhì)量音樂壓縮標準,給音頻產(chǎn)業(yè)帶來了具大的沖擊。MP3 技術(shù)使音樂數(shù)據(jù)壓縮比率大,回放質(zhì)量高。如 CD格式的音樂數(shù)據(jù)壓縮成MP3 格式,音效相差無己,但大小至少可壓縮12 倍。由于MP3 音樂的較小數(shù)據(jù)量和近乎完美的播放效果使其在網(wǎng)絡(luò)上傳輸?shù)靡詫崿F(xiàn)。隨著電子技術(shù)的發(fā)展,MP3播放器向大容量、高音質(zhì)、小巧

      便攜不斷發(fā)展。本文將從軟硬件方面詳細介紹如何實現(xiàn)基于ATmega16單片機的MP3音頻解碼過程。

      l 方案設(shè)計

      本設(shè)計主要完成U盤的識別和數(shù)據(jù)的讀取,并將U盤中讀取的MP3文件解碼播放出流暢的音樂,完成MP3播放器的存儲與解碼的分離。系統(tǒng)功能主要包括:讀取U盤數(shù)據(jù)、MP3解碼播放。實現(xiàn)設(shè)計功能需要USB接口芯片、MP3解碼芯片、主控制器和其他外圍電路。

      2硬件設(shè)計

      MP3解碼芯片與MCU的連接

      VSl003的所有數(shù)據(jù)和控制命令均通過SPI總線接口實現(xiàn),因此與ATmega16的接口實現(xiàn)比較簡單,包括3條SPI數(shù)據(jù)線和4條控制線,如圖1所示。

      VSl003通過同步串行總線SPI與ATmega64進行命令和數(shù)據(jù)的傳輸。由于ATmega64內(nèi)部集成有SPI總線模塊,只要正確寫SPI相關(guān)寄存器就能輕松控制SPL,這種硬件SPI總線減小了軟件設(shè)計的困難。VSl003的SPI接口具有2種工作模式:新模式和兼容模式。設(shè)置寄存器SM_SDI。NEW為1使VSl003處于新模式,此時設(shè)置SMSDISFIARED為1,控制信號和數(shù)據(jù)信號的傳送將分別采用xCS和xDCS作為同步信號。系統(tǒng)啟動后,由MCU控制將存儲于U盤中歌曲的碼流信息送入到VSl003芯片中,通過VSl003芯片解碼以及其內(nèi)含的高質(zhì)量的立體聲DAC和耳機驅(qū)動電路,實現(xiàn)MP3歌曲的播放功能,在按鍵的控制下,實現(xiàn)對歌曲播放模式以及歌曲選擇等功能。

      2.1 VS1003的3條SPI數(shù)據(jù)線

      28腳-SCLK 串行總線的時鐘

      29腳--SI串行輸入

      30腳--SO 串行輸出

      2.2 VS1003的4條控制線及ATEEGA16的4條控制線

      03腳--XRESET 異步復位端,低電平有效 PB1/T1 T/C1 計數(shù)器源

      13腳--XDCS/BSYNC1數(shù)據(jù)片選端,低電平有效 PB2模擬比較正輸入

      23腳--XCS片選輸入,低電平有效PB3模擬比較負輸入

      08腳--DREQ 數(shù)據(jù)請求,輸入總線PD0輸出

      控制信號和數(shù)據(jù)信號的傳送分別采用xCS和xDCS作為同步信號;RXD(端口 PD0)是USART的數(shù)據(jù)接收引腳。當使能了USART的接收器后,這個引腳被強制設(shè)置為輸出,此時 DDD0 不起作用。但是 PORTD0 仍然控制上拉電阻;DREQ 腳,在VS1003的FIFO 在能夠接受數(shù)據(jù)的時候輸出高電平。此時,VS1003可獲取至少 32Byte的 SDI。數(shù)據(jù)或一個SCI命令。遵循這個標準,當DREQ 變低時,發(fā)送器必須停止發(fā)送新的數(shù)據(jù)。 因為有32Byte 的保險區(qū)域(數(shù)據(jù)緩沖區(qū)),當檢測到DREQ 信號時,發(fā)送器(MCU)須發(fā)送32Byte的 SDI數(shù)據(jù)。

      3軟件設(shè)計

      3.1軟件架構(gòu)分析

      因為要兼顧到高質(zhì)量的音視頻效果、多種外設(shè)和有限的系統(tǒng)資源,PMP軟件系統(tǒng)的設(shè)計變得相對復雜。系統(tǒng)設(shè)計將軟件分為三層架構(gòu),如圖2所示。第1層是操作系統(tǒng)層,其中包括bootloader引導程序,主要完成系統(tǒng)從FLASH的啟動,LOGO的顯示,以及OS的引導。主要包括適合在TI DM320上運行的嵌入式操作系統(tǒng),以及各種外圍設(shè)備的驅(qū)動程序。第2層為CODEC和MMI核層,MMI核包括第3層主GUI和各種應用程序所依賴的各種框架結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),如窗口管理,定時器管理等。CODEC部分包括音頻的編/解碼程序(主要由ARM實現(xiàn))和圖像的編/解碼程序(主要由DSP實現(xiàn))。第3層為主GUI和各種應用程序。應用程序包括:FileManager(用來瀏覽存儲器中的文件),VideoPlayer(播放視頻文件),AudioPlayer(播放音頻文件),ImageViewer(瀏覽圖片),F(xiàn)M(收音機),Games(游戲),Resumes(重新播放音/視頻文件)。

      3.2讀取U盤數(shù)據(jù)

      單片機讀寫U盤的程序可分成2大部分:應用程序和固件程序。應用程序完成系統(tǒng)的數(shù)據(jù)處理任務(wù)、外圍控制等功能;固件程序處理底層的USB通訊協(xié)議、文件系統(tǒng),數(shù)據(jù)在USB總線上的可靠傳輸和在U盤上的存取操作。CH375內(nèi)置了處理海量存儲設(shè)備的專用通信協(xié)議的固件,所以嵌入式系統(tǒng)的單片機可以通過CH375將U盤作為可移動的大容量存儲器。數(shù)據(jù)讀寫只需要幾條指令,而不需要詳細了解USB通信協(xié)議。

      U盤文件的讀寫方式采取扇區(qū)模式以扇區(qū)(每個扇區(qū)通常是512字節(jié))為基本單位進行讀寫操作,從而將USB存儲設(shè)備簡化為一種外部數(shù)據(jù)存儲器,單片機可以自由讀寫USB存儲設(shè)備中的數(shù)據(jù),也可以自由定義其數(shù)據(jù)結(jié)構(gòu)。

      3.3播放MP3文件(音頻解碼的實現(xiàn))

      首先完成對VSl003和SPI總線的初始化,然后等待系統(tǒng)從U盤存儲介質(zhì)中打開MP3文件,從中讀取的一個扇區(qū)的數(shù)據(jù)放入Atmeag16的512 B緩沖區(qū)中,然后將數(shù)據(jù)發(fā)往VSl003,解碼芯片就會自動播放出流暢的音樂。由于VSl003有32 B的數(shù)據(jù)緩存區(qū),一次可向其發(fā)32 B數(shù)據(jù)然后檢查DREQ引腳,當DREQ為高時送下一個32 B數(shù)據(jù),發(fā)完一個扇區(qū)的內(nèi)容后再繼續(xù)從U盤中讀取下一個扇區(qū)內(nèi)容,重復操作直到文件播放完為止。

      VS1003 是基于自主的數(shù)字信號處理器VS_DSP。它包含了針對MP3,WMA和WAV PCM+ADPCM音頻解碼所必須的全部代碼和數(shù)據(jù),MIDI合成器,共享串行接口,多速立體聲DAC和模擬輸出放大器及濾波器。同時有麥克風放大器和ADC及ADPCM音頻編碼。為調(diào)試準備了一個UART。

      依賴于音頻數(shù)據(jù),且非設(shè)置為ADPCM編碼模式,MP3,WMA,PCMWAV,IMA ADPPCM WAV 或MIDI的數(shù)據(jù)流從SDI總線接收并解碼。解碼之后,如果SCI_AIADDR非零,則應用代碼從寄存器所指向的地址開始執(zhí)行。然后數(shù)據(jù)流是否經(jīng)過低音,高音增強器,取決于SCI_BASS寄存器。之后,數(shù)據(jù)流向音量控制單元,同時拷貝數(shù)據(jù)進音頻FIFO。

      音頻FIFO 鎖存住數(shù)據(jù),通過音頻中斷將數(shù)據(jù)送進采樣率變換器和DAC。音頻FIFO 的大小是2048立體聲(2x16bit)采樣,即8KB。采樣率變換器把所有不同的采樣率變?yōu)閄TALI/2,或128 次最高可用采樣率。這個變換用一個固定的輸入時鐘頻率,經(jīng)過復雜的PLL 時鐘配置后,幾乎允許無限制的采樣率精確度。對于12.288MHz 的時鐘,DAC 工作在128x48KHz 也就是6.144MHz 上,并建立一個立體聲同相位模擬信號。過采樣的輸出被片上的模擬濾波器進行低通濾波。濾波后的信號前往耳機放大器。SDI數(shù)據(jù)被解碼,解碼的采樣率變換到內(nèi)部模擬DAC允許的范圍。如果找不到能被解碼的數(shù)據(jù),SCI_HDAT0 和SCI_HDAT1被設(shè)置為0并且模擬輸出靜音。

      4 結(jié)語

      采用VSl003實現(xiàn)基于ATmega16和Keil8.08的音頻編解碼功能,接口電路簡單,控制程序易于編寫,且最終音頻播放清晰、自然。音質(zhì)效果和播放的連貫性都很不錯,在音響和汽車電子及數(shù)據(jù)采集存儲方面具有良好的應用前景。

      參考文獻

      [1]張志良編:《單片機原理與控制技術(shù)》,機械工業(yè)出版社 2005

      [2]張家田編:《DSP綜合應用技術(shù)》,機械工業(yè)出版社 2007

      [3]胡健棟編:《現(xiàn)代無線通信技術(shù)》,機械工業(yè)出版社 2007

      作者簡介:陳朝大,畢業(yè)于華中科技大學,電子講師,軟件碩士,研究方向:單片機應用、電子信息、智能控制.

      猜你喜歡
      U盤扇區(qū)解碼
      《解碼萬噸站》
      解碼eUCP2.0
      采用U盤文件冗余方案實現(xiàn)TSP系統(tǒng)的可靠裝載
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      U盤故障排除經(jīng)驗談
      基于貝葉斯估計的短時空域扇區(qū)交通流量預測
      重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
      使用Cryptsetup加密U盤
      诏安县| 千阳县| 凤城市| 吉安县| 中江县| 自贡市| 金溪县| 巴南区| 凯里市| 徐水县| 辽阳市| 镇巴县| 滁州市| 申扎县| 大兴区| 剑川县| 左云县| 漳浦县| 仙游县| 扎兰屯市| 许昌市| 理塘县| 邳州市| 佛教| 阳山县| 神农架林区| 江津市| 仁寿县| 运城市| 休宁县| 平武县| 威信县| 公安县| 莲花县| 湖北省| 长垣县| 中西区| 正阳县| 卫辉市| 长宁县| 河曲县|