<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM的嵌入式USB圖像采集與顯示

          基于ARM的嵌入式USB圖像采集與顯示

          作者: 時間:2011-11-14 來源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/150064.htm

            目前市場上大部分的與處理系統(tǒng)是DSP 芯片的,這種與處理系統(tǒng)成本高、功耗高、體積約束等特點并不適用于一些簡單的應(yīng)用。隨著 攝像頭的普及和芯片的快速發(fā)展,將二者結(jié)合的便攜性越來越受人們歡迎。本文介紹了一種三星S3C2440A 芯片的 攝像頭方案,該方案具有良好的可移植性和擴展性,并且成本、大小和實時處理都能夠滿足市場需求。

            1 系統(tǒng)架構(gòu)

            系統(tǒng)通過當前市場上應(yīng)用最廣泛的中芯微公司生產(chǎn)的zc301p 芯片的 攝像頭進行圖像采集,然后將圖像信息傳送到 芯片中進行處理,最終通過基于Qt/Embedded 編寫的圖形程序在LCD 上實時。系統(tǒng)的整體架構(gòu)如圖1 所示。

            

            2 視頻圖像采集

            系統(tǒng)采用中芯微公司生產(chǎn)的zc301p 芯片的USB 攝像頭作為圖像采集設(shè)備,并介紹了基于Video4Linux 編程協(xié)議進行視頻圖像采集的一般過程。

            2.1 USB 攝像頭驅(qū)動

            Linux 內(nèi)核能夠很好地支持OHCI(開放式主機控制接口協(xié)議),并且能夠很好地支持包括OV511系列攝像頭在內(nèi)的各種各樣的USB 設(shè)備,但是并不包括zc301pUSB 攝像頭。直到后來2.6.27 版本左右的內(nèi)核中才增加了針對zc301 系列芯片的驅(qū)動,統(tǒng)稱為Linux UVC.本文采用的是Linux2.6.32.2 版本內(nèi)核,只需要對內(nèi)核進行簡單的配置,就可以實現(xiàn)功能了。

            在配置菜單選項中,設(shè)備驅(qū)動是最重要的配置項。選擇的配置項如下:

            Device Drivers - - - >

            Multimedia devices - - - >

            Video For Linux

            Enable Video For Linux API 1(DEPRECAteD)

            Video capture adapters - - - >

            V4L USB devices - - - >

            USB Video Class (UVC)

            UVC input events device support

            GSPCA based webcams - - - >

            ZC3XXX USB CAMEra Driver

            USB ZC0301 [P]Image Processor and Control

            Chip support

            現(xiàn)在,內(nèi)核被配置成可以支持Video4Linux 的視頻接口,并且加入了支持zc301pUSB 攝像頭的驅(qū)動程序。

            2.2 基于Video4Linux 的視頻圖像采集程序設(shè)計

            Video4Linux(簡稱V4L)為目前市場常見的電視捕獲卡和并口及USB 口的攝像頭提供統(tǒng)一的編程接口。在Linux 內(nèi)核中它為用戶空間提供統(tǒng)一的編程接口,V4L 分為兩層:底層是音頻和視頻設(shè)備驅(qū)動程序的內(nèi)核;上層為系統(tǒng)提供一些API 接口信息。視頻圖像采集流程如圖2 所示。

            

           ?。?)打開視頻設(shè)備。

            在Linux 中視頻設(shè)備是被作為設(shè)備文件來執(zhí)行的,本文USB 攝像頭的設(shè)備文件名為/dev/video0.

            int my_v4l_open (char*dev,my_v4l_STruct*vd) 函數(shù)用于打開視頻設(shè)備并初始化攝像頭設(shè)備,該函數(shù)調(diào)用open 函數(shù)可以讀設(shè)備文件,成功返回設(shè)備描述符,失敗返回- 1.主要程序代碼如下:

            int my_v4l_open(char*dev,my_v4l_struct*vd){

            if((vd- >fd=open(vd- >videodevice,O_RDWR))= =- 1){

            printf(“ERROR opening V4L interface”);

            exit(1);}

            ……}

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: 采集 顯示 圖像 USB ARM 嵌入式 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();