新聞中心

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

        基于Video4Linux的攝像頭驅動設計

        作者: 時間:2009-09-15 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/166878.htm

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 聊城市| 方城县| 通山县| 阿巴嘎旗| 运城市| 安徽省| 常熟市| 潍坊市| 庆安县| 金平| 黔西县| 上饶县| 衡水市| 乐至县| 抚宁县| 绵竹市| 塘沽区| 揭东县| 乌苏市| 五大连池市| 碌曲县| 和林格尔县| 黔西县| 出国| 泗洪县| 武功县| 墨玉县| 三河市| 高尔夫| 吴桥县| 历史| 大同市| 高平市| 朝阳区| 托里县| 揭东县| 化州市| 阜南县| 娄烦县| 拉萨市| 池州市|