www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式GPS語(yǔ)音導(dǎo)航系統(tǒng)中 MP3的解碼與播放


0 引言
    近年來,電子技術(shù)的迅猛發(fā)展,使得嵌入式系統(tǒng)在越來越廣泛的領(lǐng)域得到應(yīng)用。嵌入式系統(tǒng)平臺(tái)的功能也越來越強(qiáng)大,復(fù)雜度也越來越高,同時(shí)對(duì)其開發(fā)的難度和要求也越來越高。在開發(fā)過程中需要將應(yīng)用軟件和系統(tǒng)軟件作為一個(gè)整體考慮,而且軟件和硬件的聯(lián)系也更加密切。所以,嵌入式系統(tǒng)的開發(fā)是一個(gè)復(fù)雜的過程。隨著嵌入式系統(tǒng)性能的大幅度提高,老式的GPS導(dǎo)航儀已開始向嵌入式方向發(fā)展。嵌入式GPs導(dǎo)航儀已越來越便攜,功能越來越強(qiáng)大,語(yǔ)音導(dǎo)航和媒體功能已成為嵌入式GPS導(dǎo)航儀的一大突出的亮點(diǎn)。所以,MP3音頻解碼與播放技術(shù)現(xiàn)已成為嵌入式GPS導(dǎo)航系統(tǒng)中的一項(xiàng)基本技術(shù)。MP3的全稱是MPEG Audio Layer 3,是目前流行的一種音頻編碼方案。它是1992年制定的MPEG-1標(biāo)準(zhǔn)的一部分,MPEG標(biāo)準(zhǔn)由系統(tǒng)、視頻和伴音三部分組成。其中伴音標(biāo)準(zhǔn)共分三層,MP3作為其中的第三層,是運(yùn)算復(fù)雜度最高而壓縮效果最好的一層。比起傳統(tǒng)的CD格式來,其音效已相差無幾,但數(shù)據(jù)量卻不及CD的十分之一。同時(shí),MP3播放器的便攜性和續(xù)航能力都比CD有大幅度的提高。MP3最初應(yīng)用于數(shù)字音頻廣播以及數(shù)字電視伴音等;之后,隨著其流行程度的提高,在其他場(chǎng)合,尤其是互聯(lián)網(wǎng)音樂和便攜式娛樂設(shè)備上也開始大量使用MP3格式;現(xiàn)在,幾乎所有便攜式語(yǔ)音導(dǎo)航設(shè)備都采用MP3作為其音頻媒體格式。本文主要介紹了基于ARM核心的嵌入式GPS導(dǎo)航系統(tǒng)平臺(tái)下MP3音頻文件的解碼技術(shù)。以便利用自行設(shè)計(jì)的方案在Windows CE.NET系統(tǒng)下運(yùn)用三星公司S3C2410平臺(tái),從而實(shí)現(xiàn)MP3的解碼播放功能。


1 MP3解碼原理
1.1 MP3的文件格式
    MP3文件由數(shù)量不等且相互獨(dú)立的幀(frame)組成,每個(gè)幀包含1152個(gè)采樣信息,一個(gè)MP3每幀包含幀頭、錯(cuò)誤校驗(yàn)、音頻數(shù)據(jù)和輔助數(shù)據(jù)四部分。圖1所示是MP3的幀結(jié)構(gòu)示意圖。MP3文件的最后128字節(jié)通常包含有ID3v1標(biāo)簽,并附加有用戶定制的文件附加內(nèi)容,如歌曲名稱、演唱者、風(fēng)格說明等。

1.2 MP3解碼流程
    原始PCM(脈沖編碼調(diào)制)音頻數(shù)據(jù)在經(jīng)過壓縮編碼之后將得到MP3碼流,MP3解碼就是把MP3碼流恢復(fù)成原始的PCM數(shù)據(jù)。MP3數(shù)據(jù)以幀為單位,解碼應(yīng)首先根據(jù)同步信息及錯(cuò)誤校驗(yàn)CRC模塊找出MP3幀在碼流中的位置,并由此確定幀頭、CRC校驗(yàn)、音頻數(shù)據(jù)及輔助數(shù)據(jù)的所在位置。
    圖2所示是MP3的解碼流程,它主要包括哈夫曼解碼、反量化、反重排序、立體聲解碼、混疊消除、IMDCT、頻率反轉(zhuǎn)補(bǔ)償、子帶合成濾波等。圖2中的預(yù)處理的作用是讀取頭部數(shù)據(jù)并將需要的信息按結(jié)構(gòu)存放起來,以便后續(xù)解碼。[!--empirenews.page--]
    哈夫曼解碼時(shí),MP3的音頻數(shù)據(jù)將分為兩節(jié)(gxanule),這兩節(jié)在過程編解碼時(shí)相對(duì)獨(dú)立,每一節(jié)中可以解碼出576個(gè)PCM采樣數(shù)據(jù),兩節(jié)可解出1152個(gè)采樣數(shù)據(jù)。從二進(jìn)制101……碼流中得到我們所需要的信息的第一步就是解哈夫曼碼。解哈夫曼碼是一個(gè)查表過程,這576個(gè)值代表576個(gè)頻率線上的值,其在不同的塊中(如)有不同的含義,可根據(jù)不同的比例因子和頻帶查找相應(yīng)的碼表并解出576個(gè)值。
    反量化過程就是根據(jù)反量化公式和幀邊信息來對(duì)于長(zhǎng)塊、短塊和混合塊采用不同的反量化公式,以恢復(fù)576條頻率線的真實(shí)值。反重排序的作用是為了讓MP3編碼器使霍夫曼編碼更加有效率,而對(duì)某些塊進(jìn)行重排序。立體聲解碼部分的功能是在兩個(gè)音頻通道非獨(dú)立編碼時(shí),進(jìn)行立體聲解碼。
    混疊消除是為了避免兩個(gè)相鄰子頻帶之間的混疊,而在解碼過程中進(jìn)行的混疊消除。IMDCT的作用首先是對(duì)長(zhǎng)塊進(jìn)行18點(diǎn)到36點(diǎn)的IMDCT變換,并對(duì)短塊進(jìn)行3個(gè)G點(diǎn)到12點(diǎn)的IMDCT變換;其次是根據(jù)塊類型的不同,分別使用不同的窗類型進(jìn)行加窗。同時(shí)把這36個(gè)值的前半部分與上一幀的后半部分相疊加。而把當(dāng)前塊的后半部分存儲(chǔ)起來用于和下一塊疊加。頻率反轉(zhuǎn)補(bǔ)償是在進(jìn)入下一步之前對(duì)多項(xiàng)濾波器組進(jìn)行的頻率反轉(zhuǎn)補(bǔ)償,即對(duì)奇數(shù)子帶的奇數(shù)時(shí)間樣點(diǎn)取反。
    子帶合成濾波是將32個(gè)等頻帶寬內(nèi)的頻域信號(hào)反變換成時(shí)域信號(hào),然后再經(jīng)過加窗運(yùn)算,以得到32個(gè)PCM值。


2 硬件設(shè)計(jì)
2.1 系統(tǒng)硬件設(shè)計(jì)
    在處理器的選擇上,本系統(tǒng)選用SAMSUNG公司的S3C2410。它是基于ARM920T內(nèi)核的16/32位精簡(jiǎn)指令集微控制器,是為手持設(shè)備和通用設(shè)備提供的一款低成本、高效率的微控制器。整個(gè)系統(tǒng)硬件的設(shè)計(jì)過程中主要應(yīng)用S3C2410 ARM芯片,存儲(chǔ)設(shè)備外擴(kuò)SD或MMC存儲(chǔ)卡模塊,并外接320x240象素的真彩TFT LCD屏進(jìn)行顯示,操控采用四線電阻觸摸屏并輔以GPIO外擴(kuò)的鍵盤。
2.2 音頻硬件設(shè)計(jì)
    IIS(Inter-IC Sound)總線是Philips公司提出的串行數(shù)字音頻總線協(xié)議。它是一種面向多媒體應(yīng)用的音頻總線,專用于音頻設(shè)備之間的數(shù)據(jù)傳輸,即把PCM音頻數(shù)據(jù)傳至標(biāo)準(zhǔn)編解碼器(CODEC)。IIS總線只處理聲音數(shù)據(jù),其他信號(hào)(如控制信號(hào))必須單獨(dú)傳輸。為了使電路的引出引腳盡可能少,IIS只使用了3條串行總線,即提供分時(shí)復(fù)用功能的數(shù)據(jù)線、左右聲道選擇線和時(shí)鐘信號(hào)線。
    CODEC芯片主要負(fù)責(zé)模擬信號(hào)和數(shù)字信號(hào)的相互轉(zhuǎn)換。對(duì)于本系統(tǒng)來說,更加關(guān)心的是將數(shù)字PCM信號(hào)換為模擬信號(hào),主要是將要播放的文件的音頻數(shù)字信號(hào)通過SC2410的IIS送給CODEC芯片,然后將其轉(zhuǎn)換為模擬信號(hào),進(jìn)而通過音箱或者耳機(jī)等設(shè)備輸出。
    根據(jù)采樣定理,采樣頻率至少要是信號(hào)頻率的2倍以上,再就是要支持IIS接口標(biāo)準(zhǔn),因?yàn)楸鞠到y(tǒng)是通過IIS總線向CODEC芯片傳輸數(shù)據(jù)的。在本系統(tǒng)的CODEC選用Philips公司的U-DA1341,該芯片采用3.0 V電壓供電,并對(duì)ADC和DAC分別供電,系統(tǒng)的時(shí)鐘頻率可選256fs、348fs和512fs,采樣頻率從16 kHz到48 kHz,由于是采用數(shù)字音質(zhì)控制,因此具有重低音效果,并支持IIS總線,可確保高保真的立體聲輸出。圖3所示是UDA1341的工作原理框圖。

    整個(gè)音頻系統(tǒng)的硬件設(shè)計(jì)主要是S3C2410的IIS總線接口和CODEC的連接與實(shí)現(xiàn)。其具體電路如圖4所示。本系統(tǒng)采用Philips基于IIS音頻總線的UDA1341型音頻CODEC芯片。該CODEC支持ⅡS總線數(shù)據(jù)格式,并采用位元流轉(zhuǎn)換技術(shù)進(jìn)行信號(hào)處理,具有可編程增益放大器(PGA)和數(shù)字自動(dòng)增益控制器(AGC)。

    S3C2410內(nèi)置IIS總線接口,可直接外接8/16比特的立體聲CODEC,還可以給FIFO通道提供DMA傳輸模式而非中斷模式,從而使數(shù)據(jù)發(fā)送和接收同時(shí)進(jìn)行。該IIS接口有3種工作方式,可以通過設(shè)置IIS的CON寄存器來選擇。本文介紹的硬件框架主要基于傳輸和接收模式。在這種模式下,IIS數(shù)據(jù)線將通過雙通道DMA同時(shí)接收和發(fā)送音頻數(shù)據(jù),其DMA服務(wù)請(qǐng)求可由FIFO只讀寄存器自動(dòng)完成。
    圖4中,S3C2410的IIS總線信號(hào)與UDA1341的IIS信號(hào)直接相連,L3接口引腳L3MODE、L3CLOCK和L3DATA分別連接到S3-C2410的GP-B1、GPB2和GPB3三個(gè)通用數(shù)據(jù)輸出引腳。U-DA1341對(duì)外可提供兩組音頻信號(hào)輸入接口,每組包括左右2個(gè)聲道。

[!--empirenews.page--]
3 軟件設(shè)計(jì)
3.1 系統(tǒng)平臺(tái)的選擇
    目前主流的嵌入式平臺(tái)主要有嵌入式Linux和Windows CE兩大系列。
    Linux是一個(gè)類似于Unix的操作系統(tǒng)。它起源于芬蘭一個(gè)名為L(zhǎng)inus Torvalds的業(yè)余愛好者,但是現(xiàn)在已經(jīng)是最為流行的一款開放源代碼的免費(fèi)操作系統(tǒng)。Linux從1991年問世到現(xiàn)在,已發(fā)展成為一個(gè)功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng)。伴隨著網(wǎng)絡(luò)技術(shù)進(jìn)步而發(fā)展起來的Linux OS已成為Mi-crosoft公司W(wǎng)indows系統(tǒng)的強(qiáng)勁對(duì)手。Linux系統(tǒng)不僅能夠運(yùn)行于PC平臺(tái),還可在嵌入式系統(tǒng)方面大放光芒,很多嵌入式平臺(tái)都用Linux作為其操作系統(tǒng)。
    Windows CE是微軟開發(fā)的一個(gè)開放的、可升級(jí)的32位嵌入式實(shí)時(shí)操作系統(tǒng)。其中CE中的C代表袖珍(Compact)、消費(fèi)(Consumer)、通信能力(Connectivity)和伴侶(Companion);E則代表電子產(chǎn)品(Electronics)。不同于面向桌面的Windows,微軟重寫了Windows CE的內(nèi)核,這使得WindowsCE擁有優(yōu)越的實(shí)時(shí)性能。Windows CE中的API是一個(gè)縮減的WIN32 API,它是桌面Windows系統(tǒng)的一個(gè)子集。這使得許多基于微軟桌面Windows開發(fā)的應(yīng)用程序可以經(jīng)過少許的改動(dòng)就能用于Windows CE中。同時(shí),在Windows CE系統(tǒng)平臺(tái)上,也可以使用桌面Windows上的編程工具語(yǔ)言(如VB、VC++等),并使用同樣的函數(shù)和同樣的界面風(fēng)格.因此,其開發(fā)工作比較容易上手??紤]到大部分用戶多年來使用Windows系列操作系統(tǒng)的習(xí)慣.Windows CE的界面風(fēng)格比較容易讓用戶接受。
    綜上所述.本文選擇Windows CE作為系統(tǒng)的開發(fā)平臺(tái),開發(fā)工具選擇VS系列的EVC。
3.2 軟件流程
    圖5所示是MP3解碼的軟件流程圖。首先將MP3文件數(shù)據(jù)讀人緩存,尋找文件中的ID3信息(ID3信息指MP3文件中可選的一種內(nèi)嵌信息,用于表示MP3的音頻類型、作者等,目前分ID3vl和I。D3v2兩個(gè)版本),接著在文件中尋找?guī)筋^,找到后即進(jìn)入幀解碼子程序,其幀解碼的具體流程如圖6所示,解碼完成后,再將解碼出的PCM數(shù)據(jù)放入音頻緩沖進(jìn)行播放,如此循環(huán)直到最后一幀。

按鍵編碼電路采用二極管組合邏輯開關(guān)陣列來實(shí)現(xiàn)對(duì)受控電路開關(guān)進(jìn)行編址,其中指令編碼電路采用編譯碼芯片組PT2262。PT2262的A口是地址碼設(shè)置口,D口是數(shù)據(jù)碼設(shè)置端,分別和二極管組合邏輯開關(guān)陣列的邏輯輸出相連,數(shù)據(jù)從000~101有6種狀態(tài)。發(fā)射模塊電路中采用的射頻芯片為MICRF1020當(dāng)編碼芯片PT2262的數(shù)據(jù)輸出端無信號(hào)輸出時(shí),MICRF102不工作,發(fā)射電流為零,而當(dāng)PT2262的控制端有效時(shí),輸出的串行脈沖信號(hào)對(duì)MICRF102進(jìn)行調(diào)制發(fā)射,通過調(diào)制電阻R2可調(diào)整發(fā)射電流,從而調(diào)整發(fā)射距離,較小的R2取值可提高發(fā)射距離,而增加二極管開關(guān)陣列則可將系統(tǒng)擴(kuò)展成為多路遙控發(fā)射模塊。
3.2 接收控制電路
    接收控制系統(tǒng)主要由無線電接收電路、解碼電路、單片機(jī)電路、開關(guān)電路組成。接收控制系統(tǒng)的電路原理圖如圖6所示。接收控制系統(tǒng)主要完成的功能是對(duì)接收進(jìn)來的信號(hào)進(jìn)行解調(diào)和解碼,并將解碼后的數(shù)據(jù)送單片機(jī),由單片機(jī)根據(jù)此數(shù)據(jù)去控制相應(yīng)的開關(guān)進(jìn)行動(dòng)作。

4 結(jié)束語(yǔ)
    本文提出了一種在嵌入式GPS語(yǔ)音導(dǎo)航系統(tǒng)中實(shí)現(xiàn)MP3音頻播放的實(shí)現(xiàn)方案,給出了解碼步驟,并利用S3C2410核心與Windows CE平臺(tái)完成了這一方案。經(jīng)過實(shí)際產(chǎn)品驗(yàn)證,該解碼器播放效果良好。各項(xiàng)指標(biāo)均可滿足要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)

隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了“物聯(lián)網(wǎng)”時(shí)代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設(shè)計(jì)等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計(jì)算機(jī)的智能但并不以通...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

最近看到APP上,給我推送了很多類似的回答,借此機(jī)會(huì),也想著重新審視一下自己的學(xué)習(xí)歷程,以及結(jié)合自身和大牛,分享一些學(xué)習(xí)經(jīng)驗(yàn),希望對(duì)大家有所啟發(fā)和幫助。

關(guān)鍵字: APP 嵌入式 C語(yǔ)言

雙頻GPS是最近手機(jī)領(lǐng)域的熱門話題,目前很多手機(jī)都配備了這項(xiàng)技術(shù)。但是,也有網(wǎng)友不知道雙頻gps是什么意思。為了讓大家更好地了解雙頻gps及其使用的相關(guān)信息,本網(wǎng)站為您帶來了雙頻GPS的使用介紹和具體型號(hào)的相關(guān)內(nèi)容。

關(guān)鍵字: iPhone 14 雙頻 GPS

萬物智聯(lián)時(shí)代,嵌入式技術(shù)及其應(yīng)用的形態(tài)將更加豐富和多元,同時(shí)也將日益呈現(xiàn)深度物理融合、混合架構(gòu)共存、群體智能協(xié)同、網(wǎng)絡(luò)安全攸關(guān)等諸多新的計(jì)算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結(jié)構(gòu)、軟硬件技術(shù)和開發(fā)方法都已很難應(yīng)對(duì)新趨勢(shì)下的...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。通用計(jì)算機(jī)經(jīng)歷了從智慧平臺(tái)到互聯(lián)網(wǎng)的獨(dú)立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨(dú)立發(fā)展道路。

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

今天,小編將在這篇文章中為大家?guī)砉た刂靼宓挠嘘P(guān)報(bào)道,通過閱讀這篇文章,大家可以對(duì)工控主板具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 工控主板 嵌入式 主板

隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進(jìn),嵌入式系統(tǒng)利用自身的技術(shù)特點(diǎn),逐漸成為眾多行業(yè)的標(biāo)配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應(yīng)用前景。在現(xiàn)在...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能

長(zhǎng)久來看,嵌入式只會(huì)越來越火,隨著人工智能時(shí)代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術(shù)的巨大變革。人工智能越是想要表達(dá)智能水平,就越要依靠嵌入式技術(shù),嵌入式技術(shù)將朝著自動(dòng)化控制和人機(jī)交互發(fā)展。嵌入式因其體積小、可靠性高、...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能

嵌入式軟件技術(shù)到目前為止己經(jīng)在很多領(lǐng)域起到了中流砥柱的作用,例如在電子消費(fèi)、移動(dòng)通訊方面,這種技術(shù)為我國(guó)的很多行業(yè)提供了更多的可能性。未來,嵌入式軟件技術(shù)會(huì)為人類做出更大的貢獻(xiàn)。伴隨著計(jì)算機(jī)技術(shù)與電子技術(shù)的成熟發(fā)展,電子...

關(guān)鍵字: 嵌入式 軟件 人工智能

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉