新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C6000系列DSP的MPEG-4編碼器實(shí)現(xiàn)

基于C6000系列DSP的MPEG-4編碼器實(shí)現(xiàn)

作者: 時(shí)間:2008-11-27 來源:網(wǎng)絡(luò) 收藏

  2.3 PC與編碼卡通信

  PC與編碼卡通信可以通過并口、串口、USB口、PCI接口等方式實(shí)現(xiàn)。其中PCI接口方式易于PC與編碼器高速傳輸數(shù)據(jù),因此本文采用PCI接口。編碼后的數(shù)據(jù)通過的HPI、PCI橋芯片、PCI總線到達(dá)PC。PC通過的HPI直接對的存儲(chǔ)空間進(jìn)行訪問。HPI有兩種工作方式:一種是單數(shù)據(jù)讀寫,這種方式每次只能讀寫一個(gè)數(shù)據(jù),一般主機(jī)對編碼參數(shù)進(jìn)行設(shè)置,例如設(shè)置圖像大小、幀率等;另一種是burst方式的數(shù)據(jù)讀寫,在這種方式下只需要指定初始訪問地址,然后以地址自加的方式訪問DSP的存儲(chǔ)空間,這種訪問方式不需要DSP的CPU參與。圖2中CPLD完成PCI橋芯片與DSP之間的訪問控制,DSP、PCI的中斷控制等功能。

  3 編碼卡的軟件設(shè)計(jì)

  C6000系列DSP提供的編譯環(huán)境支持C++、C以及匯編語言,用C++設(shè)計(jì)的程序執(zhí)行效率較低,一般不用;大多數(shù)都采用C語言和匯編語言相結(jié)合的方式來完成DSP程序設(shè)計(jì)。DSP程序設(shè)計(jì)流程如下:先寫出C代碼并對其優(yōu)化,如果不能達(dá)到預(yù)期的運(yùn)行效率,則編寫匯編代碼來提高效率。對于這樣復(fù)雜的算法,只運(yùn)用C語言是遠(yuǎn)遠(yuǎn)不夠的,在本設(shè)計(jì)里大部分代碼都由匯編語言完成。

  設(shè)計(jì)高效的代碼,必須充分利用該DSP的VLIW和流水線結(jié)構(gòu)。利用VLIW結(jié)構(gòu)可以在一個(gè)時(shí)鐘周期并行執(zhí)行八條32位指令;在流水線結(jié)構(gòu)下,一條指令的執(zhí)行不用等待上一條指令執(zhí)行結(jié)束,例如DSP從內(nèi)存中讀取一個(gè)數(shù)據(jù)需要5個(gè)時(shí)鐘周期,在讀取這個(gè)數(shù)據(jù)的同時(shí),DSP可以去執(zhí)行別的指令,不必等待這條指令執(zhí)行結(jié)束。具有這兩種結(jié)構(gòu)的DSP在性能提高的同時(shí),程序設(shè)計(jì)也變得比較復(fù)雜。對于具有VLIW和流水線結(jié)構(gòu)的DSP在設(shè)計(jì)程序時(shí)必須注意以下幾個(gè)問題:

  ·每一個(gè)指令包可以包括多條操作指令,在C6000系列DSP中每一條指令包括八條32位操作指令;



關(guān)鍵詞: DSP MPEG-4 視頻編碼

評論


相關(guān)推薦

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

關(guān)閉