基于C6000系列DSP的MPEG-4編碼器實現(xiàn)
PC與編碼卡通信可以通過并口、串口、USB口、PCI接口等方式實現(xiàn)。其中PCI接口方式易于PC與編碼器高速傳輸數(shù)據(jù),因此本文采用PCI接口。編碼后的數(shù)據(jù)通過DSP的HPI、PCI橋芯片、PCI總線到達PC。PC通過DSP的HPI直接對DSP的存儲空間進行訪問。HPI有兩種工作方式:一種是單數(shù)據(jù)讀寫,這種方式每次只能讀寫一個數(shù)據(jù),一般主機對編碼參數(shù)進行設置,例如設置圖像大小、幀率等;另一種是burst方式的數(shù)據(jù)讀寫,在這種方式下只需要指定初始訪問地址,然后以地址自加的方式訪問DSP的存儲空間,這種訪問方式不需要DSP的CPU參與。圖2中CPLD完成PCI橋芯片與DSP之間的訪問控制,DSP、PCI的中斷控制等功能。
3 MPEG-4編碼卡的軟件設計
C6000系列DSP提供的編譯環(huán)境支持C++、C以及匯編語言,用C++設計的程序執(zhí)行效率較低,一般不用;大多數(shù)都采用C語言和匯編語言相結(jié)合的方式來完成DSP程序設計。DSP程序設計流程如下:先寫出C代碼并對其優(yōu)化,如果不能達到預期的運行效率,則編寫匯編代碼來提高效率。對于MPEG-4這樣復雜的算法,只運用C語言是遠遠不夠的,在本設計里大部分代碼都由匯編語言完成。
·每一個指令包可以包括多條操作指令,在C6000系列DSP中每一條指令包括八條32位操作指令;
評論