伊人大杳蕉在线影院75_一点不卡v中文字幕在线_黄桃AV无码免费一区二区三区_中文字幕人妻互换激情

設(shè)為主頁  加入收藏
 
·I2S數(shù)字功放IC/內(nèi)置DSP音頻算法功放芯片  ·馬達(dá)驅(qū)動IC  ·2.1聲道單芯片D類功放IC  ·內(nèi)置DC/DC升壓模塊的D類功放IC  ·鋰電充電管理IC/快充IC  ·無線遙控方案  ·直流無刷電機驅(qū)動芯片
當(dāng)前位置:首頁->方案設(shè)計
以LPC1700為基礎(chǔ)的MP3播放器解決方案
文章來源:恩智浦公司 更新時間:2011/4/23 22:55:00
在線咨詢:
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
姚紅霞 3003214837
給我發(fā)消息
鄢先輝 2850985542
13713728695
 

 

恩智浦半導(dǎo)體LPC1700系列微控制器

恩智浦半導(dǎo)體微控制器產(chǎn)品部門具備業(yè)界最完整產(chǎn)品線:包含簡單型微控制器、先進(jìn)數(shù)字訊號控制器(DSC)以及針對特別應(yīng)用的處理器,恩智浦半導(dǎo)體ARM系列微控制器為使用者提供更多性能產(chǎn)品上的選擇,有利于使用者制定合適的外圍設(shè)備與內(nèi)存方案組合,滿足使用者設(shè)計要求。除文中提及以LPC1700 Cortex-M3為例的高端應(yīng)用外,恩智浦微控制器正展開Cortex-M0全球營銷推廣活動,詳細(xì)信息請參閱:www.tw.nxp.com/campaigns/cortex-m0

 

  摘要:本文介紹以恩智浦LPC1700和Helix MP3軟件譯碼庫為基礎(chǔ)的MP3播放器解決方案。此方案充分發(fā)揮LPC1700芯片的高性能及豐富的外圍設(shè)備,并加入USB Host協(xié)議堆棧及檔案系統(tǒng),使其可播放USB閃存和SD/MMC卡中大部分格式的MP3檔。

 

  一 導(dǎo)言

  LPC1700系列為恩智浦半導(dǎo)體以第2代ARM Cortex-M3核心為基礎(chǔ)的微控制器,特別針對高性能低功耗的嵌入式系統(tǒng)應(yīng)用,其支持最高120MHz時脈速度,最高512K位元FLASH以及64K位元SRAM.其集成豐富的外圍設(shè)備接口:以太網(wǎng)MAC、USB 2.0 Host/OTG/Device、CAN 2.0B、12位元ADC、10位元DAC、SPI/SSP、I2S、DMA等等。

Fig1.系統(tǒng)模塊圖

Helix MP3軟件解碼庫可解碼兼容于MPEG格式的MP3,并同時達(dá)成浮點和定點。其中定點特別針對32位元定點處理器達(dá)成最佳化。

 
  本文介紹該方案的軟硬件設(shè)計,完整的軟件代碼可至恩智浦半導(dǎo)體官網(wǎng)下載http://ics.nxp.com/support/documents/microcontrollers/
 
  二 系統(tǒng)概述
 
  1.介紹
 
  為快速搭建硬件平臺進(jìn)行系統(tǒng)設(shè)計與測試,本方案使用現(xiàn)有的電路板:KEIL MCB1700評估板和ZLG的UDA1380音訊板。圖1展示本方案系統(tǒng)模塊圖。圖2展示系統(tǒng)實體照片。
 
  MP3檔儲存于SD/MMC卡和USB快閃存儲器中。SD/MMC卡插于MCB1700評估板上的Micro SD卡插槽,該插槽連接至LPC1700的SPI/SSP接口。USB快閃存儲器如USB優(yōu)盤,插于MCB1700板子上的USB主機埠。
 
  解碼后的框架信息透過I2S接口導(dǎo)入UDA1380,將音箱或耳機音源線插于音訊子板的對應(yīng)座上即可聽音樂。
 
  透過2種方法可調(diào)節(jié)音量:調(diào)節(jié)音箱與耳機音量,或調(diào)節(jié)MCB1700電路板上的電位計。全套系統(tǒng)由單一USB電纜供電(+5V)。
 
  2.特性
 
  本系統(tǒng)具備以下特性:
 
  ●支持MPEG1/2/2.5 Layer 3 MP3.●支持固定位元率、變化位元率以及自由位元率模式。
 
  ●支持播放SDC/SDHC/MMC卡中的MP3并支持FAT12/16/32與長檔名。
 
  ●支持播放USB快閃存儲器中的MP3并支持FAT16.●全套方案使用40k位元ROM,50k位元RAM(其中40k位元用于MP3解碼)。
 
  三 硬件設(shè)計
 
  1.概述
 
  MCB1700評估板和UDA1380音訊板之間的線路連接如圖3所示。
 
  2.關(guān)于MCB1700評估板
 
  KEIL公司的MCB1700評估板主要用于評估恩智浦LPC1700系列芯片。圖4展示該電路板及電路板上的模塊。
 
  提醒:
 
  1.跳線D+和D-必須置于「HOST」。
 
  2.跳線AD0.2必須置于「ON」。
 
  更多關(guān)于MCB1700評估板的詳細(xì)信息請參閱:http://www.keil.com/mcb1700/評估板原理圖請參閱:http://www.keil.com/mcb1700/mcb1700-schematics.pdf
 
  3.關(guān)于UDA1380音訊板
 
  UDA1380音訊板為ZLG Smart Cortex-M3-1700開發(fā)套件中的子板。UDA1380芯片為立體音訊轉(zhuǎn)碼器,可廣泛應(yīng)用于MD、CD、MP3等播放器。其支持I2S資料框架格式,集成24位元ADC和DAC,ADC支持8-55kHz取樣頻率,DAC支持8-100kHz取樣頻率,支持3線(L3)以及I2C接口控制。圖5展示UDA1380音訊板原理圖。
 
  四 軟件設(shè)計
 
  1.軟件方塊圖
 
  圖6為本方案軟件模塊方塊圖。
 
  下面分別介紹此軟件模塊。
 
  1.1主程序模塊
 
  主程序模塊負(fù)責(zé)全套系統(tǒng)管理與調(diào)度主要負(fù)責(zé):
 
  ●系統(tǒng)初始化。
 
  ●于SD/MMC卡和USB快閃存儲器中讀取MP3文件。
 
  ●調(diào)用MP3解碼庫解碼。
 
  ●播放解碼后框架數(shù)據(jù)。
 
  ●狀態(tài)顯示與信息打印。
 
  1.2 Helix MP3解碼器
 
  Helix MP3解碼器可解碼與MPEG兼容的MP3,并可達(dá)成浮點和定點,其中定點特別針對ARM處理器達(dá)成最佳化,可在任何支持長乘法運算以及長乘法與加法運算的32位元定點處理器上運行。
 
  詳細(xì)信息請參閱:https://datatype.helixcommunity.org/Mp3dec
 
  1.3 USBHostLite協(xié)定堆疊
 
  USBHostLite為簡化版的USB Host協(xié)定堆疊,可用于連接USB主機埠上的USB大量儲存設(shè)備。其具備以下限制:
 
  ●僅支持控制和批量傳輸。
 
  ●僅支持大量儲存設(shè)備。
 
  ●僅支持FAT16檔案系統(tǒng)格式。
 
  ●不支持長檔名。
 
  ●僅能連接位于根目錄底下的檔案。
 
  詳細(xì)信息請參閱:http://ics.nxp.com/support/software/usb.host.msc/
 
  1.4 SD/MMC卡檔案系統(tǒng)
 
  此方案于SD/MMC卡上使用FatFs檔案系統(tǒng)。FatFs被廣泛應(yīng)用于小型嵌入式系統(tǒng)中的FAT檔案系統(tǒng)。具備支持FAT12/16/32、長檔名、多項物理驅(qū)動器與分區(qū)等特點。
 
  詳細(xì)信息請參閱:http://elm-chan.org/fsw/ff/00index_e.html
 
  提醒:FAT檔案系統(tǒng)中長檔名(Long File Name;LFN)為微軟專利,用于商業(yè)用途須取得微軟授權(quán)。
 
  1.5 UDA1380驅(qū)動器
 
  UDA1380驅(qū)動器提供API函數(shù)用于配置與控制UDA1380芯片,使該芯片可接收自LPC1700發(fā)送的音訊資料流程。其中主要的2個API函數(shù)分別用于初始化及音量控制。
 
  2.軟件的達(dá)成
 
  圖7展示基本軟件流程圖。
 
  主程序首先進(jìn)行初始化,包含I2S、UDA1380、UART以及USBHostLite與FatFs檔案系統(tǒng)。下一步為讀取USB快閃存儲器根目錄中的指定MP3檔案,并自動查找SD/MMC卡中根目錄下的MP3檔,最后按順序依序播放。
 
  提醒:本方案采用的USBHostLite僅提供基本檔案讀寫功能,并不支持查找功能,因此將已給予特定名稱的MP3(如usb_01.mp3)放于USB快閃存儲器根目錄之下,播放時可跳過查找直接播放此類MP3.
 
  2.1音訊緩沖區(qū)(Audio Buffer)
 
  音訊緩沖區(qū)為一長度4608位元的陣列,可存放1個完整解碼后的輸出框架。解碼時,1個音訊緩沖區(qū)可放置1個輸出框架。播放時,DMA控制I2S將此音訊緩沖區(qū)的資料發(fā)送至UDA1380.
 
  2.2解碼流程
 
  圖8為解碼流程圖。
 
  MP3檔首先被加載至讀取緩沖區(qū)(Read Buffer)中,后續(xù)解碼即是針對此讀取緩沖區(qū)資料進(jìn)行解碼。一般而言,可將其設(shè)置稍大,以減少檔案讀取次數(shù)。但讀取大容量檔案內(nèi)容需較長時間,可能因此導(dǎo)致無法連續(xù)播放。在實際應(yīng)用中,需根據(jù)檔案讀取速度、解碼速度、播放速度和可用RAM空間選擇合適的讀取緩沖區(qū)尺寸。
 
  2.3播放流程
 
  圖9為播放流程圖。
 
  主程序啟動DMA傳送第1個框架資料后,傳送過程即開始,傳送完成后即中斷DMA.于DMA中斷服務(wù)程序時,繼續(xù)發(fā)送下一個音訊緩沖區(qū)資料。此流程以下列假設(shè)為基礎(chǔ):在音訊緩沖區(qū)資料完成發(fā)送前,另一新框架已解碼并放置于下一個音訊緩沖區(qū)中。
 
  2.4設(shè)計考量
 
  本系統(tǒng)具備2項重要設(shè)計考量:
 
  ●如何使解碼與播放流程保持同步?
 
  ●如何確保播放流暢?
 
  針對第一個問題,我們導(dǎo)入全域變量:音訊緩沖區(qū)陣列(包含2到3個音訊緩沖區(qū))。其中一個音訊緩沖區(qū)用于播放,另外一個或兩個用于解碼。若所有音訊緩沖區(qū)狀態(tài)皆標(biāo)志為「滿」,解碼器則不會被啟動。等到其中一個音訊緩沖區(qū)資料被播放其狀態(tài)標(biāo)志位元為「空」,主程序即啟動解碼器并將解碼后框架放置于「空」的音訊緩沖區(qū)里,并將標(biāo)志位元設(shè)為「滿」。
 
  針對第二個問題,其設(shè)計考量多個因素:檔案讀取速度、解碼速度與播放速度等。
 
  MP3播放一個框架的固定時間為26ms.本方案MCU在100MHz時脈速度下運行,使用Helix MP3解碼器的速度約為每框架10ms,此即表示僅有16ms時間供CPU處理所有其它任務(wù)。在剩余任務(wù)里,讀取MP3檔案內(nèi)容并填充讀取緩沖區(qū)將占用較多時間,因此選擇合適的讀取緩沖區(qū)顯得更加重要。
 
  本方案從USB快閃存儲器讀取4k位元檔案資料耗時約8ms.從SD/MMC卡里讀取8k位元耗時約2ms.因此從USB快閃存儲器讀取檔案時,我們將讀取緩沖區(qū)長度設(shè)為4k位元,雖然讀取SD/MMC卡可相當(dāng)快速,但受限于可使用的RAM空間,我們將讀取緩沖區(qū)長度設(shè)為8k位元,以確保播放流暢性。
 
  五 測試結(jié)果
 
  本方案分別采用2G/4G/8G Micro SD/SDHC卡與2G USB快閃存儲器進(jìn)行測試并取得良好播放效果。
 
  此方案可播放大部分MP3檔案,但受限于解碼速度,播放320kbps的MP3會造成部分問題。由于USBHostLite僅支持FAT16檔案系統(tǒng),因此最高僅支持2G USB快閃存儲器。且USBHostLite不支持長檔名,因此USB快閃存儲器中MP3名稱只能為8.3格式。
 
  圖10與圖11分別顯示播放過程中序列埠輸出信息。
 
  六 結(jié)論
 
  本文介紹以恩智浦LPC1700和Helix MP3軟件解碼庫為基礎(chǔ)的MP3播放器解決方案。此方案充分發(fā)揮LPC1700芯片的高性能與豐富外圍設(shè)備。
 
  隨著更多新產(chǎn)品發(fā)布,如具備外部存儲器匯流排的Cortex-M3 LPC1800系列,以及具備DSP功能的Cortex-M4 LPC4300系列,恩智浦半導(dǎo)體MCU將大幅擴展其在音訊處理應(yīng)用上的領(lǐng)域。
 
 
 
 
    相關(guān)產(chǎn)品  
 
 
·藍(lán)牙音箱的音頻功放/升壓/充電管
·單節(jié)鋰電內(nèi)置升壓音頻功放IC選型
·HT7179 12V升24V內(nèi)置
·5V USB輸入、三節(jié)鋰電升壓型
·網(wǎng)絡(luò)主播聲卡專用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉(xiāng)航城大道航城創(chuàng)新創(chuàng)業(yè)園A5棟307/309

版權(quán)所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號