基于ADSP-BF532的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)
網(wǎng)絡(luò)通訊模塊采用組播技術(shù),提高程序的效率。系統(tǒng)IP網(wǎng)絡(luò)數(shù)據(jù)通信流程圖如圖3所示。本文為實(shí)現(xiàn)組播服務(wù)特別寫了一個(gè)類Cmulticast,它是專門為視頻傳輸而封裝的類,用于服務(wù)器和客戶機(jī)兩端。下面對(duì)此類的公共訪問(wèn)函數(shù)進(jìn)行介紹。
class CMulticast :publicCobject
{
public:
void Close(); //關(guān)閉創(chuàng)建的套接字
BOOL IsConnect();
Static Void Unintilize();//Winsock終止
Static Void Initilize(); //從指定組的指定端口讀取數(shù)據(jù)
Int Send(char* lpData,int size)//向目的地址發(fā)送消息
BOOL Create(Cstring lpstrAddr,unsigned short port,HWND HWND);//創(chuàng)建和綁發(fā)送或接收套接字并把該套接字加入組插組,并設(shè)置了消息回調(diào)機(jī)制
CMulticast();
Virtual ~CMulticast()
Public:
HWND m_hWnd; //用于消息傳遞的窗口句柄
SOCKET m_hWnd; //用于消息傳遞的窗口句柄
SOCKET m_hSocket;//發(fā)送或接收用套接字
BOOL m_bConnected;//是否已經(jīng)加入到一個(gè)組
SOCKADDR_IN addr;//發(fā)送套接字地址SOCKADDR_IN srcaddr; //接收或發(fā)送的目址
}
3.3 系統(tǒng)級(jí)優(yōu)化
Blackfin軟件開發(fā)平臺(tái)的編譯系統(tǒng)支持ANSI C以及C++編譯,其系統(tǒng)還提供了大量的多媒體操作指令。在針對(duì)系統(tǒng)軟件開發(fā)時(shí),可以根據(jù)硬件的特點(diǎn)研究和開發(fā)調(diào)試過(guò)程中的經(jīng)驗(yàn),對(duì)代碼的編譯和具體任務(wù)的處理進(jìn)行優(yōu)化。以及針對(duì)要縮短顯示模塊代碼執(zhí)行時(shí)間而進(jìn)行上端軟件的設(shè)計(jì)優(yōu)化。
4 實(shí)驗(yàn)結(jié)果
在該實(shí)驗(yàn)的基礎(chǔ)上,經(jīng)過(guò)對(duì)ADV7183采集的視頻序列(幀率為30fps,CIF格式)進(jìn)行測(cè)試,結(jié)果表明:(1)DSP可通過(guò)SPI接口實(shí)時(shí)傳輸視頻圖像編碼數(shù)據(jù),數(shù)據(jù)不丟失,不出錯(cuò);(2)在對(duì)MPEG-4視頻壓縮編碼測(cè)試時(shí)重建圖像質(zhì)量保真度接近1;(3)在局域網(wǎng)上作模擬實(shí)驗(yàn),可以實(shí)時(shí)傳輸CIF尺寸視頻圖像,傳輸延遲控制在0.5s以內(nèi);(4)UART接口能夠完成本地視頻輸出。基于ADSP-BF532的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)方案是可行的,但是某些技術(shù)指標(biāo)仍然無(wú)法勝任實(shí)際的應(yīng)用場(chǎng)合,需要進(jìn)一步提高視頻壓縮的測(cè)試結(jié)果,增加大容量的硬盤存儲(chǔ)系統(tǒng)來(lái)存儲(chǔ)視頻數(shù)據(jù)。
評(píng)論