《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于C51單片機(jī)的校園自助導(dǎo)覽儀設(shè)計(jì)
基于C51單片機(jī)的校園自助導(dǎo)覽儀設(shè)計(jì)
電子元器件應(yīng)用
蘇 偉,,楊 斌 西南交通大學(xué)
摘要: 摘要:在分析MP3標(biāo)準(zhǔn)算法的基礎(chǔ)上,,基于C51單片機(jī)實(shí)現(xiàn)MP3的編解碼,并對(duì)MP3編碼進(jìn)行了多方面的優(yōu)化,;在單片機(jī)上的MP3算法中加入無(wú)線功能,,設(shè)計(jì)成為一種校園自助導(dǎo)覽儀,。經(jīng)野外測(cè)試,效果良好,。關(guān)鍵詞:MP3編解碼,;
Abstract:
Key words :

摘要:在分析MP3標(biāo)準(zhǔn)算法的基礎(chǔ)上,基于C單片機(jī)" title="51單片機(jī)" target="_blank">51單片機(jī)實(shí)現(xiàn)MP3的編解碼,,并對(duì)MP3編碼進(jìn)行了多方面的優(yōu)化,;在單片機(jī)上的MP3算法中加入無(wú)線功能,設(shè)計(jì)成為一種校園自助導(dǎo)覽儀。經(jīng)野外測(cè)試,,效果良好,。
關(guān)鍵詞:MP3編解碼;無(wú)線模塊,;自助導(dǎo)覽

引言
    MP3是MPEG-I的音頻標(biāo)準(zhǔn)第三層壓縮模式,。雖然算法比較復(fù)雜,但壓縮比最大在低碼率條件下基本能達(dá)到CD的音質(zhì)效果,。其壓縮比例高,、音質(zhì)失真小的特點(diǎn)使之成為用于當(dāng)前PC、網(wǎng)絡(luò),、PDA等最為流行的音頻格式,。在嵌入式系統(tǒng)中實(shí)現(xiàn)MP3音頻編解碼常見(jiàn)的有兩種方案;一種是硬件解碼(即通過(guò)專用的MP3解碼硬件進(jìn)行解碼),,其特點(diǎn)是可以實(shí)現(xiàn)較高的性能和較低的功耗,,目前大多數(shù)商用MP3都采用這種方案;另外一種是軟件解碼(即完全依賴于嵌入式微處理器或DSP的處理能力),,通過(guò)對(duì)MP3定點(diǎn)或浮點(diǎn)解碼程序?qū)崿F(xiàn)解碼過(guò)程,,該方案對(duì)嵌人式微處理器或DSP處理能力要求較高。
   本文采取硬件解碼方案,,在單片機(jī)上實(shí)現(xiàn)了MP3的解碼,,并加入無(wú)線功能,使其向產(chǎn)品靠攏,,設(shè)計(jì)成為一種電子產(chǎn)品“校園自助導(dǎo)覽儀”,。它的功能和導(dǎo)游一樣,具備自助和電子的要素,。
    本文還對(duì)MP3編碼進(jìn)行優(yōu)化,,除了算法優(yōu)化和高級(jí)語(yǔ)言的優(yōu)化之外,,還進(jìn)行了匯編級(jí)優(yōu)化,,大大降低了算法的復(fù)雜性。

1 系統(tǒng)總體設(shè)計(jì)
    本設(shè)計(jì)是基于校園的一種電子產(chǎn)品,,將旅游景點(diǎn)的解說(shuō)以MP3格式存儲(chǔ),,通過(guò)無(wú)線形式實(shí)現(xiàn)智能控制。該系統(tǒng)能根據(jù)觀眾的位置和需要自動(dòng)確定解說(shuō)的語(yǔ)言和內(nèi)容,,使得每個(gè)觀眾不但可以得到每個(gè)展位,、景點(diǎn)的完整信息,而且能夠感受到高清晰,、低噪聲的音響效果,。同時(shí),本設(shè)計(jì)產(chǎn)品還配有鍵盤,,可以對(duì)播放的音頻文件進(jìn)行控制,,滿足人性化的要求,。系統(tǒng)總體框架如圖1所示。

a.jpg


1.1 MP3編碼與實(shí)現(xiàn)
    MP3采用的是頻域編碼,,即音樂(lè)信號(hào)自適應(yīng)譜感熵編碼ASPEC(Adaptive Spectral Perceptual Entropy Coding of High Quality Music Signal),。
    MP3的數(shù)據(jù)是以幀流的形式存儲(chǔ)或傳輸?shù)模總€(gè)幀有幀頭和幀尾,。為獲取較高的數(shù)據(jù)壓縮比,,根據(jù)音頻位流語(yǔ)法,采用了較為復(fù)雜的位流結(jié)構(gòu),。MP3碼流是由很多幀組成,,每一幀由幀頭、壓縮的音頻數(shù)據(jù)及輔助數(shù)據(jù)等組成,。幀頭是一個(gè)32位長(zhǎng)的數(shù)據(jù),,它包含輸入輸出采樣率、輸出比特率以及單雙聲道等信息,。對(duì)每一幀的576(單聲道,,立體聲為1152)個(gè)輸入音頻采樣壓縮而得到音頻數(shù)據(jù)。具體的壓縮后的比特?cái)?shù)可以根據(jù)下式得到:
    幀內(nèi)比特?cái)?shù)=幀內(nèi)采樣數(shù)×位率/采樣率 (1)
    圖2是MP3音頻信號(hào)的編碼過(guò)程,。就單聲道而言,,MP3的一個(gè)編碼框包含1152個(gè)聲音取樣,每個(gè)取樣為16位,。MP3編碼時(shí),,首先將原始輸入的16位PCM信號(hào)經(jīng)過(guò)濾波器分析(filer bank analysis),轉(zhuǎn)換成32個(gè)等頻寬的子頻帶信號(hào)(subband signal),。然后透過(guò)改良式離散余弦轉(zhuǎn)換(Modified I)iscrete CosineTransforln,,MDCT),將每個(gè)子頻帶信號(hào)再細(xì)分為18個(gè)次頻帶,,根據(jù)第二心理聲學(xué)模型(Psychoacoustic Mode ID所提供的信噪比(Signal-to-MaskRatio,,SMR),對(duì)每個(gè)子頻帶信號(hào)進(jìn)行位元分配及量化編碼,。最后,,只要將編碼后的資料依照MPEG-I定義的位元串的形式輸出即可。

b.jpg


    數(shù)字音頻采樣通過(guò)由兩個(gè)濾波器組成的濾波器組輸入到心理聲學(xué)模型中,,由心理聲學(xué)模型的輸出來(lái)控制音頻屏蔽等參數(shù),,最終通過(guò)量化和霍夫曼(Huffman)編碼得到輸出的比特流。
1.2 MP3解碼與實(shí)現(xiàn)
    PCM信號(hào)進(jìn)行MP3壓縮時(shí),,以1152個(gè)PCM采樣值為單位,,封裝成具有固定長(zhǎng)度的MP3數(shù)據(jù)幀(幀是MP3文件的最小組成單位)。在解碼時(shí),利用數(shù)據(jù)幀里的信息就可以恢復(fù)出1152個(gè)PCM采樣值,。這1152個(gè)采樣值被分為2個(gè)粒度組,,每個(gè)粒度組包含576個(gè)采樣值。一個(gè)MP3數(shù)據(jù)幀分為5個(gè)部分:幀頭,、CRC校驗(yàn)值,、邊信息、主數(shù)據(jù),、附加數(shù)據(jù),。在進(jìn)行解碼時(shí)一般包含同步(Synchronization)、找到幀的開始位置,、檢查錯(cuò)誤(CRC),、霍夫曼解碼(Huffman decoding)、解包信息,、輸出量化的頻率信息,、再量化(Requantize)、用比例系數(shù)放大輸出信息,、再排序(Reorder),、增加頻率后重新排序、頻率線立體聲合成(Stereodecoding)等過(guò)程,。
    MP3解碼器程序設(shè)計(jì)包括以下內(nèi)容:
    ①定點(diǎn)算法設(shè)計(jì),。盡管定點(diǎn)單片機(jī)也支持浮點(diǎn)運(yùn)算,但浮點(diǎn)運(yùn)算會(huì)消耗大量的指令周期和內(nèi)存,,也會(huì)降低系統(tǒng)運(yùn)行速度,,不能應(yīng)用于MP3實(shí)時(shí)解碼。在程序設(shè)計(jì)中,,首先要將MP3浮點(diǎn)C解碼算法轉(zhuǎn)換為定點(diǎn)C解碼算法,。浮點(diǎn)算法轉(zhuǎn)換成定點(diǎn)算法實(shí)現(xiàn)過(guò)程比較復(fù)雜,本文不再多述,。
    ②在程序的頭部建立正確的運(yùn)行頭(Run Time Header)文件,。
    ③內(nèi)存分頁(yè)/重疊。與ADSP-218X類似,,F(xiàn)D216也是通過(guò)設(shè)置重疊存儲(chǔ)器選擇寄存器(PMOVLAY/DMOVLAY)來(lái)實(shí)現(xiàn)PM(CM)/DM存儲(chǔ)器分頁(yè)/重疊的,。

2 無(wú)線模塊
    無(wú)線遙控裝置已廣泛應(yīng)用于車模,、航模等領(lǐng)域,,用來(lái)實(shí)現(xiàn)對(duì)靶機(jī)、驅(qū)動(dòng)電機(jī),、玩具等的控制,。在空間存在各個(gè)頻段、強(qiáng)弱變化的無(wú)線電波,因此無(wú)線遙控器在通信數(shù)據(jù)傳輸時(shí)容易受到干擾,。為了提高通信數(shù)據(jù)傳輸?shù)目煽啃?,必須在發(fā)送端對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行編碼,而在接收端對(duì)接收的數(shù)據(jù)進(jìn)行解碼,,以提高抗干擾性,。下面先介紹無(wú)線收發(fā)的特點(diǎn),再將此無(wú)線功能加入MP3中,,構(gòu)成一個(gè)有無(wú)線功能的MP3,,從而完成校園自助導(dǎo)覽儀的設(shè)計(jì)。
    發(fā)射器一般由數(shù)據(jù)輸入模塊,、編碼電路,、調(diào)制電路、驅(qū)動(dòng)電路,、發(fā)射電路等部分組成,。當(dāng)有數(shù)據(jù)從輸入模塊輸入時(shí),編碼電路產(chǎn)生相應(yīng)的編碼信號(hào)(編碼指信號(hào)對(duì)載波進(jìn)行調(diào)制),,再由驅(qū)動(dòng)電路進(jìn)行功率放大后由發(fā)射電路向外發(fā)射,。
接收器一般由接收電路、放大整形電路,、調(diào)制電路,、數(shù)據(jù)處理電路、驅(qū)動(dòng)執(zhí)行電路等部分組成,。接收電路接收發(fā)射器發(fā)送的調(diào)制編碼信號(hào),,經(jīng)過(guò)放大整形電路處理后送至解調(diào)電路。解調(diào)電路對(duì)調(diào)制信號(hào)進(jìn)行解調(diào),,即還原為編碼信號(hào),。數(shù)據(jù)處理電路對(duì)編碼數(shù)據(jù)進(jìn)行解析,并控制執(zhí)行電路執(zhí)行相應(yīng)的操作,。
    由上述可知,,為了提高數(shù)據(jù)傳輸?shù)目煽啃裕仨殞?duì)發(fā)送數(shù)據(jù)及發(fā)送的脈沖格式進(jìn)行編碼,,然后在接收端對(duì)這些信號(hào)進(jìn)行解碼?,F(xiàn)在市場(chǎng)上有很多用于編碼和解碼的專用芯片,例如PT2262/PT2272,,它們都是通過(guò)硬件實(shí)現(xiàn)編碼和解碼的,。在接收端,由于無(wú)線接收模塊收到的是脈沖信號(hào),,而不同的數(shù)據(jù)位其寬度不同,,所以必須測(cè)量每個(gè)脈沖的寬度,,以判別是哪個(gè)數(shù)字邏輯。在硬件上采用單片機(jī)的兩個(gè)外部中斷INT 0,、INT1來(lái)捕捉脈沖的上升沿和下降沿,,進(jìn)而計(jì)算出脈沖寬度和數(shù)字邏輯。圖3是設(shè)計(jì)的校園自助導(dǎo)覽儀的無(wú)線收發(fā)場(chǎng)景,。

c.jpg


    如果旅游者佩戴我們?cè)O(shè)計(jì)的自助導(dǎo)覽儀進(jìn)入校園游覽,,每次到達(dá)校園景點(diǎn)時(shí),會(huì)自動(dòng)接收到校園景點(diǎn)發(fā)射的編碼信號(hào),,自助導(dǎo)覽儀進(jìn)行解碼后會(huì)播放相應(yīng)的MP3音頻文件進(jìn)行景點(diǎn)的介紹,。
    為了檢驗(yàn)自助導(dǎo)覽儀設(shè)備可靠性,進(jìn)行了一些野外測(cè)試,,效果良好:
    ①發(fā)射模塊距離可調(diào),,符合顯示各校園景點(diǎn)需要,基本上能通過(guò)控制天線長(zhǎng)短和電壓高低得到理想距離,;
    ②誤碼可能性極低,;
    ③通過(guò)程序控制很好地實(shí)現(xiàn)了自動(dòng)判斷同一景點(diǎn)播放完后是否重新播放。

3 MP3編碼優(yōu)化
    心理模型的優(yōu)化可以分為兩個(gè)方面:心理聲學(xué)模型算法的優(yōu)化和心理聲學(xué)模型定點(diǎn)運(yùn)算的優(yōu)化,。心理模型對(duì)于長(zhǎng)窗和短窗的運(yùn)算均需要進(jìn)行一系列的包含F(xiàn)FT的復(fù)雜運(yùn)算,,耗費(fèi)大量運(yùn)算周期。因此我們考慮這樣來(lái)實(shí)現(xiàn)心理聲學(xué)模型:首先進(jìn)行窗體類型的判斷,,依據(jù)判斷結(jié)果,,只作對(duì)應(yīng)窗口類型的FFT變換和后續(xù)的心理聲學(xué)模型計(jì)算,從而大大減輕運(yùn)算負(fù)擔(dān),。經(jīng)過(guò)測(cè)試統(tǒng)計(jì)發(fā)現(xiàn),,大多數(shù)的情況下,編碼器所采用的窗口類型均為長(zhǎng)窗,,因此在心理模型窗體計(jì)算時(shí)可以不考慮短窗,。
另外一種優(yōu)化則是對(duì)定點(diǎn)運(yùn)算進(jìn)行優(yōu)化。由于在心理聲學(xué)模型中涉及到諸多復(fù)雜的運(yùn)算(包括循環(huán)控制,、對(duì)數(shù)運(yùn)算,、冪運(yùn)算等),因此充分利用硬件功能和對(duì)運(yùn)算的優(yōu)化成為了關(guān)鍵,。MP3編碼器編碼過(guò)程中,,量化編碼需要進(jìn)行多次量化調(diào)整循環(huán),每一次的量化調(diào)整都會(huì)消耗很多周期,,因此通常會(huì)占到60%~70%的運(yùn)算周期,。在實(shí)現(xiàn)時(shí),為了達(dá)到實(shí)時(shí)的要求,,對(duì)量化編碼模塊的循環(huán)進(jìn)行了控制,,得到了最佳的量化結(jié)果,。

結(jié)語(yǔ)
    對(duì)MP3的編解碼和無(wú)線模塊的整合,,是設(shè)計(jì)電子產(chǎn)品的一個(gè)方向,,對(duì)電子產(chǎn)品的多樣化有一定的推動(dòng)作用。本文在單片機(jī)上通過(guò)對(duì)MP3的編解碼運(yùn)算實(shí)現(xiàn)了MP3的播放,,然后對(duì)其功能進(jìn)行擴(kuò)展,,加入了無(wú)線模塊設(shè)計(jì)和液晶屏等,最終完成了校園自助導(dǎo)覽儀的設(shè)計(jì),。該系統(tǒng)設(shè)計(jì)完成后,,在西南交通大學(xué)進(jìn)行了多次實(shí)驗(yàn)和推廣,取得很好的效果,。
    雖然我們對(duì)編碼進(jìn)行了優(yōu)化,,且對(duì)無(wú)線模塊進(jìn)行了大量的通信測(cè)試,但不一定能達(dá)到惡劣環(huán)境的要求,??梢愿鶕?jù)實(shí)際的需要,調(diào)整無(wú)線模塊的收發(fā)距離,。此外,,該MP3還可以進(jìn)行更多的功能擴(kuò)展,比如做成電子導(dǎo)游,、公交報(bào)站器等多種電子產(chǎn)品,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。