新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式GPS語音導(dǎo)航系統(tǒng)中MP3的解碼與播放

嵌入式GPS語音導(dǎo)航系統(tǒng)中MP3的解碼與播放

作者: 時間:2012-12-08 來源:網(wǎng)絡(luò) 收藏

  哈夫曼解碼時,的音頻數(shù)據(jù)將分為兩節(jié)(gxanule),這兩節(jié)在過程編解碼時相對獨立,每一節(jié)中可以解碼出576個PCM采樣數(shù)據(jù),兩節(jié)可解出1152個采樣數(shù)據(jù)。從二進(jìn)制101……碼流中得到我們所需要的信息的第一步就是解哈夫曼碼。解哈夫曼碼是一個查表過程,這576個值代表576個頻率線上的值,其在不同的塊中(如)有不同的含義,可根據(jù)不同的比例因子和頻帶查找相應(yīng)的碼表并解出576個值。

  反量化過程就是根據(jù)反量化公式和幀邊信息來對于長塊、短塊和混合塊采用不同的反量化公式,以恢復(fù)576條頻率線的真實值。反重排序的作用是為了讓編碼器使霍夫曼編碼更加有效率,而對某些塊進(jìn)行重排序。立體聲解碼部分的功能是在兩個音頻通道非獨立編碼時,進(jìn)行立體聲解碼。

  混疊消除是為了避免兩個相鄰子頻帶之間的混疊,而在解碼過程中進(jìn)行的混疊消除。IMDCT的作用首先是對長塊進(jìn)行18點到36點的IMDCT變換,并對短塊進(jìn)行3個G點到12點的IMDCT變換;其次是根據(jù)塊類型的不同,分別使用不同的窗類型進(jìn)行加窗。同時把這36個值的前半部分與上一幀的后半部分相疊加。而把當(dāng)前塊的后半部分存儲起來用于和下一塊疊加。頻率反轉(zhuǎn)補償是在進(jìn)入下一步之前對多項濾波器組進(jìn)行的頻率反轉(zhuǎn)補償,即對奇數(shù)子帶的奇數(shù)時間樣點取反。

  子帶合成濾波是將32個等頻帶寬內(nèi)的頻域信號反變換成時域信號,然后再經(jīng)過加窗運算,以得到32個PCM值。

  2 硬件設(shè)計

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

  在處理器的選擇上,本系統(tǒng)選用SAMSUNG公司的S3C2410。它是基于ARM920T內(nèi)核的16/32位精簡指令集微控制器,是為手持設(shè)備和通用設(shè)備提供的一款低成本、高效率的微控制器。整個系統(tǒng)硬件的設(shè)計過程中主要應(yīng)用S3C2410 ARM芯片,存儲設(shè)備外擴SD或MMC存儲卡模塊,并外接320x240象素的真彩TFT LCD屏進(jìn)行顯示,操控采用四線電阻觸摸屏并輔以GPIO外擴的鍵盤。

  2.2 音頻硬件設(shè)計

  IIS(Inter-IC Sound)總線是Philips公司提出的串行數(shù)字音頻總線協(xié)議。它是一種面向多媒體應(yīng)用的音頻總線,專用于音頻設(shè)備之間的數(shù)據(jù)傳輸,即把PCM音頻數(shù)據(jù)傳至標(biāo)準(zhǔn)編解碼器(CODEC)。IIS總線只處理聲音數(shù)據(jù),其他信號(如控制信號)必須單獨傳輸。為了使電路的引出引腳盡可能少,IIS只使用了3條串行總線,即提供分時復(fù)用功能的數(shù)據(jù)線、左右聲道選擇線和時鐘信號線。

  CODEC芯片主要負(fù)責(zé)模擬信號和數(shù)字信號的相互轉(zhuǎn)換。對于本系統(tǒng)來說,更加關(guān)心的是將數(shù)字PCM信號換為模擬信號,主要是將要播放的文件的音頻數(shù)字信號通過SC2410的IIS送給CODEC芯片,然后將其轉(zhuǎn)換為模擬信號,進(jìn)而通過音箱或者耳機等設(shè)備輸出。

  根據(jù)采樣定理,采樣頻率至少要是信號頻率的2倍以上,再就是要支持IIS接口標(biāo)準(zhǔn),因為本系統(tǒng)是通過IIS總線向CODEC芯片傳輸數(shù)據(jù)的。在本系統(tǒng)的CODEC選用Philips公司的U-DA1341,該芯片采用3.0 V電壓供電,并對ADC和DAC分別供電,系統(tǒng)的時鐘頻率可選256fs、348fs和512fs,采樣頻率從16 kHz到48 kHz,由于是采用數(shù)字音質(zhì)控制,因此具有重低音效果,并支持IIS總線,可確保高保真的立體聲輸出。圖3所示是UDA1341的工作原理框圖。

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

  S3C2410內(nèi)置IIS總線接口,可直接外接8/16比特的立體聲CODEC,還可以給FIFO通道提供DMA傳輸模式而非中斷模式,從而使數(shù)據(jù)發(fā)送和接收同時進(jìn)行。該IIS接口有3種工作方式,可以通過設(shè)置IIS的CON寄存器來選擇。本文介紹的硬件框架主要基于傳輸和接收模式。在這種模式下,IIS數(shù)據(jù)線將通過雙通道DMA同時接收和發(fā)送音頻數(shù)據(jù),其DMA服務(wù)請求可由FIFO只讀寄存器自動完成。

  圖4中,S3C2410的IIS總線信號與UDA1341的IIS信號直接相連,L3接口引腳L3MODE、L3CLOCK和L3DATA分別連接到S3-C2410的GP-B1、GPB2和GPB3三個通用數(shù)據(jù)輸出引腳。U-DA1341對外可提供兩組音頻信號輸入接口,每組包括左右2個聲道。

  3 軟件設(shè)計

  3.1 系統(tǒng)平臺的選擇

  目前主流的嵌入式平臺主要有嵌入式Linux和Windows CE兩大系列。

  Linux是一個類似于Unix的操作系統(tǒng)。它起源于芬蘭一個名為Linus Torvalds的業(yè)余愛好者,但是現(xiàn)在已經(jīng)是最為流行的一款開放源代碼的免費操作系統(tǒng)。Linux從1991年問世到現(xiàn)在,已發(fā)展成為一個功能強大、設(shè)計完善的操作系統(tǒng)。伴隨著網(wǎng)絡(luò)技術(shù)進(jìn)步而發(fā)展起來的Linux OS已成為Mi-crosoft公司W(wǎng)indows系統(tǒng)的強勁對手。Linux系統(tǒng)不僅能夠運行于PC平臺,還可在嵌入式系統(tǒng)方面大放光芒,很多嵌入式平臺都用Linux作為其操作系統(tǒng)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉