新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式MPEG-4解碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

嵌入式MPEG-4解碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2014-10-19 來(lái)源:網(wǎng)絡(luò) 收藏

  音頻數(shù)模轉(zhuǎn)換芯片選用Philips公司的UDAl342TS音頻編解碼芯片,將I2S總線輸出的解碼后的數(shù)字音頻信號(hào)轉(zhuǎn)換成左右聲道音頻模擬信號(hào)輸出。視頻數(shù)模轉(zhuǎn)換芯片選用Philips公司的SAA7129AH數(shù)字視頻編碼器,解碼前要通過(guò)VW2010的I2C控制函數(shù)配置其寄存器。 SAA7129AH將VW2010解碼輸出單元輸出的8位數(shù)字Y、C-B、C-R視頻數(shù)據(jù)變成PAL(NTSC)制式的混合電視廣播信號(hào)(CVBS)、適用S端子的Y、C信號(hào)或者R、G.、B三原色信號(hào)輸出以適應(yīng)不同場(chǎng)合需要。

本文引用地址:http://m.butianyuan.cn/article/264095.htm

  3 系統(tǒng)軟件設(shè)計(jì)

  本系統(tǒng)軟件設(shè)計(jì)主要分為操作系統(tǒng)內(nèi)核移植、VW2010、PCI橋芯片及網(wǎng)口等系統(tǒng)驅(qū)動(dòng)程序編寫(xiě)和解碼應(yīng)用程序的編寫(xiě),其體系結(jié)構(gòu)及與硬件的關(guān)系如圖4所示。



  操作系統(tǒng)是用戶控制系統(tǒng)的硬件平臺(tái),系統(tǒng)驅(qū)動(dòng)程序采用模塊化形式,向上為用戶層的解碼應(yīng)用程序提供API函數(shù),向下通過(guò)系統(tǒng)硬件API函數(shù)控制系統(tǒng)硬件。VW2010驅(qū)動(dòng)模塊采用實(shí)時(shí)加載方式,其他如網(wǎng)口、I2C和PCI/IDE接口等驅(qū)動(dòng)通用性強(qiáng),直接編譯入內(nèi)核。解碼應(yīng)用程序則實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)流的傳輸和解碼。

  下的驅(qū)動(dòng)開(kāi)發(fā)技術(shù)已經(jīng)發(fā)展成熟,Linux內(nèi)核的定制和移植也很普遍,本文不作詳細(xì)的闡述,主要介紹解碼應(yīng)用程序。

  以IDE硬盤(pán)文件解碼為例,解碼程序主要由兩部分組成:主程序和解碼線程程序。解碼線程程序主要控制數(shù)據(jù)流的傳輸,先從數(shù)據(jù)源 (IDE接口硬盤(pán))獲取數(shù)據(jù)流文件,再以塊的方式將數(shù)據(jù)傳送至W2010進(jìn)行數(shù)據(jù)流的解碼,然后在檢測(cè)外部中斷信號(hào)同時(shí)不斷地把文件中的數(shù)據(jù)以塊的方式寫(xiě)入VW2010,直到文件終止或者外部信號(hào)中斷解碼過(guò)程。解碼過(guò)程相對(duì)獨(dú)立。為便于其后臺(tái)用使用線程的方式實(shí)現(xiàn),線程的級(jí)別要設(shè)為最高 [5]。主程序主要進(jìn)行系統(tǒng)初始化工作,內(nèi)容包括讀取解碼參數(shù),配置SAA7129的寄存器,啟動(dòng)并檢查MIPS,開(kāi)啟VW2010并加載配置文件等。

  如果數(shù)據(jù)源是從以太網(wǎng)端口輸入,修改相應(yīng)的配置選項(xiàng),把對(duì)硬盤(pán)文件的操作換成對(duì)IP數(shù)據(jù)包的操作,把數(shù)據(jù)包解成MPEG-4數(shù)據(jù)流文件,再寫(xiě)入VW2010。

  VW2010提供了十分齊全的API函數(shù)供使用,包括I2C配置、輸入輸出控制、解復(fù)用和解碼控制等,在VW2010的驅(qū)動(dòng)模塊加載后可以在C++語(yǔ)言里直接調(diào)用,極大方便了軟件程序的編寫(xiě)。主程序流程圖如圖5所示。



  本文介紹了一種嵌入式MPEG-4視頻流解碼系統(tǒng),該系統(tǒng)采用硬解碼方式實(shí)現(xiàn)IDE接口設(shè)備或網(wǎng)絡(luò)端口輸入的MPEG-4碼流(ES、PS和 TS)轉(zhuǎn)換成PAL/NTSC制式的電視信號(hào)輸出。系統(tǒng)采用64位MIPS芯片TM-PR4925XB-200作為主控制器,以VW2010作為 MPEG-4解碼芯片;采用嵌入式Linux作為操作系統(tǒng)和模塊化的VW2010驅(qū)動(dòng)程序,解碼應(yīng)用程序簡(jiǎn)單實(shí)用,可擴(kuò)展性強(qiáng)。實(shí)驗(yàn)證明此系統(tǒng)可穩(wěn)定地對(duì)比特率1Mbps~16Mbps的MPEG-4碼流進(jìn)行解碼,在碼流比特率為2Mbps時(shí),圖像的質(zhì)量仍與普通DVD效果相似。可廣泛用于IP電視、衛(wèi)星電視、基于MPEG-4標(biāo)準(zhǔn)的數(shù)字電視廣播系統(tǒng)中,應(yīng)用前景十分廣闊。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 嵌入式 MPEG-4 Linux

評(píng)論


相關(guān)推薦

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

關(guān)閉