新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 基于Video4Linux的攝像頭驅(qū)動設計

基于Video4Linux的攝像頭驅(qū)動設計

作者: 時間:2009-09-15 來源:網(wǎng)絡 收藏

3.2.2 DMA配置
本系統(tǒng)采用二維DMA來提高數(shù)據(jù)的傳輸速度,采用16位傳輸,且傳輸完一場視頻數(shù)據(jù)后產(chǎn)生中斷。dma_x_count=720(相當于每行數(shù)據(jù)需傳輸?shù)拇螖?shù),每行720個像素點,每個像素點2個字節(jié)。每行要傳720×2個字節(jié),而dma是16位傳輸,所以x_count=720)。 dma_x_modify=2(相鄰兩次傳輸數(shù)據(jù)的偏移地址,以字節(jié)為單位,因為是16位傳輸,所以為2)。
由于PAL制視頻數(shù)據(jù)是隔行掃描,每幀分為奇偶兩場,兩場在時域上是分開的,但是在數(shù)據(jù)處理時需要將兩場合成一幀進行處理,因此為了減少CPU的處理時間,可以利用DMA直接進行場合成。在一場的傳輸中,DMA在傳輸完一行數(shù)據(jù)后,預留下一行的存儲空間,將數(shù)據(jù)存放到第三行的地址。在一場數(shù)據(jù)傳輸完后,下一場的數(shù)據(jù)就填充上一場預留的存儲空間,也是隔行存儲,這樣兩場數(shù)據(jù)就合成一幀數(shù)據(jù)了。所以,dma_y_modify=1442(一行720像素點,占720×2字節(jié)。而一行末地址到下一行首地址還需2字節(jié)。所以720×2+2=1442)。同時,兩場數(shù)據(jù)存放的起始地址的設置間隔也是1442字節(jié)。
3.3 中斷服務子程序
本系統(tǒng)的中斷服務子程序主要是一場數(shù)據(jù)采集完后,產(chǎn)生中斷,并根據(jù)數(shù)據(jù)的奇偶場做出相應的處理。其流程如圖2所示。

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

4 結束語
本文介紹了在Blackfin DSP和Linux的平臺下,的體系結構和具體實現(xiàn)。此由測試程序測試,可以正常工作。此尚存在不足之處,那就是在驅(qū)動的抓幀過程中沒有采用乒乓操作,但是采用了兩個幀緩存來存取數(shù)據(jù),因此乒乓操作可以在上層應用中完成。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉