基于ADSP-BF532的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)
圖1為該系統(tǒng)組成結(jié)構(gòu)圖,具體設(shè)計(jì)如下:系統(tǒng)前端視頻采集由ADV7183實(shí)現(xiàn),視頻數(shù)據(jù)采集格式為YUV422Planar,采集的數(shù)據(jù)經(jīng)過ADSP-BF532的PPI接口直接存儲在SDRAM里,ADV7183在自己的時鐘控制下通過PPI接口自動向SDRAM單元送數(shù)據(jù),當(dāng)采集完一場數(shù)據(jù)時DMA產(chǎn)生中斷,在DMA的中斷服務(wù)程序里根據(jù)實(shí)際設(shè)定情況完成視頻處理;音頻采集由AD1836以及外圍相應(yīng)的電路來實(shí)現(xiàn),音頻采集格式為單聲道,8000Samples/s,每個采樣用16Bits量化,采集的數(shù)據(jù)經(jīng)過ADSP-BF532的PPI接口直接存儲在SDRAM里,當(dāng)設(shè)定存放音頻采集數(shù)據(jù)的緩存器滿時DMA產(chǎn)生中斷,在DMA的中斷服務(wù)程序里根據(jù)實(shí)際設(shè)定情況處理音頻數(shù)據(jù);ADSP-BF532一方面把采集來的視頻音頻數(shù)據(jù)經(jīng)SPI接口送入MPC860進(jìn)行處理,通過MPC860的MII接口與物理網(wǎng)絡(luò)相連接,然后送到PC機(jī)上供實(shí)時監(jiān)看和監(jiān)聽;一方面實(shí)時處理采集的音視頻數(shù)據(jù),壓縮編碼元成后的數(shù)據(jù)送到PC機(jī),并存入硬盤。系統(tǒng)配置JTAG接口,運(yùn)用于調(diào)試階段。本文主要研究嵌入式視頻服務(wù)器中的視頻數(shù)據(jù)的處理,對于音頻數(shù)據(jù)不予介紹。
3 系統(tǒng)的軟件設(shè)計(jì)與優(yōu)化
系統(tǒng)在Blackfin系列的軟件開發(fā)環(huán)境Visual DSP++ 3.1下實(shí)現(xiàn),主要分為視頻外設(shè)編程、視頻編碼編程、視頻傳輸編程以及系統(tǒng)優(yōu)化部分。
3.1 系統(tǒng)外設(shè)軟件設(shè)計(jì)
視頻輸入設(shè)備ADV7183:ADSP-BF532通過I2C總線配置ADV7183采集圖像的亮度、對比度、色度和飽和度等。ADV7183的內(nèi)部控制寄存器訪問通過I2C總線接口完成。
視頻輸入PPI接口:半雙工形式,最大16位數(shù)據(jù)傳輸,輸入時采用二維DMA方法,每采集一幀圖像進(jìn)行一次處理。二維DMA程序如下:
本程序采用標(biāo)準(zhǔn)的ITU-656接收模式,接收視頻數(shù)據(jù)字節(jié)流:
X_COUNT=360;Y_COUNT=288;
X_MODIFY=4;Y_MODIY=4;
按以上設(shè)置執(zhí)行二維DMA后,從首地址開始的內(nèi)存數(shù)據(jù)排列:
0,4,8,…… 356
360,360+4,360+8,…… 360+356
2×360,2×360+4,2×360+8 …… 2×360+356
…… …… …… …… ……
284×360,284×360+4,284×360+8,……284×360+356
視頻輸出UART接口:利用ADSP-BF532提供的UART口,加快調(diào)試過程。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論