在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計

            基于ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計

            作者: 時間:2012-08-07 來源:網(wǎng)絡(luò) 收藏

            1.2 USB 主設(shè)備模塊

            AT91RM9200 片內(nèi)集成的USB 主機(jī)端口集成一個跟集線器,并在下游端口集成收發(fā)器,它提供幾個半雙工高速串行通信端口,速率為12Mbit/s,最多可連接127 個USB 器件。本系統(tǒng)外擴(kuò)一個USB 主機(jī)端口來支持USB 攝像頭的訪問。

            系統(tǒng)采用的是應(yīng)用廣泛的選用羅技快看酷訊版攝像頭進(jìn)行數(shù)據(jù)采集,這種攝像頭可以實現(xiàn)硬件JPEG 編碼,數(shù)據(jù)由攝像頭采集,一旦主控制器獲得數(shù)據(jù)請求,則通過USB接口讀取其緩存的數(shù)據(jù),并對圖像數(shù)據(jù)進(jìn)行壓縮編碼,然后socket 編程來發(fā)送這些壓縮后的數(shù)據(jù)到服務(wù)器。

            1.3 以太網(wǎng)接口模塊

            AT91RM9200 的在片以太網(wǎng)卡端口和網(wǎng)絡(luò)物理層芯片DM9161E 的MII 接口通信。片內(nèi)以太網(wǎng)卡通過DMA 通道進(jìn)行數(shù)據(jù)的發(fā)送,不影響AT91RM9200 的正常運行。首先正確設(shè)置傳送控制寄存器和傳送地址寄存器的傳送數(shù)據(jù)塊字節(jié)數(shù)、數(shù)據(jù)塊存儲首地址等參數(shù),隨后依次從指定數(shù)據(jù)存儲區(qū)地址讀取1024b 數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,由MAC 對數(shù)據(jù)進(jìn)行封裝發(fā)送,同時記錄已傳送字節(jié)數(shù),直到數(shù)據(jù)塊發(fā)送完畢。當(dāng)發(fā)送完一組數(shù)據(jù)后,發(fā)出DMA中斷請求,由AT91RM9200 進(jìn)行相應(yīng)的處理。整個網(wǎng)絡(luò)子系統(tǒng)電路由AT91RM9200 控制和調(diào)度。

            2 嵌入式Linux 開發(fā)環(huán)境的建立

            2.1 交叉編譯鏈的建立

            嵌入式開發(fā)與普通開發(fā)有個顯著的不同是,普通開發(fā)是在本機(jī)開發(fā)、調(diào)試,本機(jī)運行,而嵌入式由于資源有限,不能直接在嵌入式目標(biāo)機(jī)上運行開發(fā)工具,因此嵌入式開發(fā)一般采用交叉編譯方式,即在開發(fā)主機(jī)上編譯目標(biāo)機(jī)上運行的程序。交叉編譯鏈可以自己制作,也可以通過網(wǎng)絡(luò)下載別人已制作好的交叉編譯鏈直接使用。本系統(tǒng)所用交叉編譯鏈版本是3.4.3。

            2.2 配置并編譯內(nèi)核

            系統(tǒng)選用開源的 Linux 2.6.14 版內(nèi)核作為操作系統(tǒng),以交叉編譯方式編譯,即在普通PC機(jī)上運行Fedora 8 環(huán)境下,用交叉編譯鏈編譯在 9 機(jī)器上運行的Linux 內(nèi)核。內(nèi)核用tftp 方式下載到開發(fā)板,然后解壓自引導(dǎo)。具體操作如下:

            (1) 給內(nèi)核補(bǔ)丁,下載Linux2.6.14 內(nèi)核源碼linux-2.6.14.tar.bz2 和AT91RM9200 補(bǔ)丁2.6.14-at91.patch.gz,然后:

            3 采集的實現(xiàn)

            3.1 USB 攝像頭驅(qū)動

            Linux 對于視頻采集設(shè)備的支持,是通過Video4Linux(V4L)實現(xiàn)的,V4L 為視頻應(yīng)用程序提供了一套統(tǒng)一的API 函數(shù),視頻應(yīng)用程序通過標(biāo)準(zhǔn)的API 接口實現(xiàn)與內(nèi)核和驅(qū)動的通信,實現(xiàn)視頻設(shè)備的各種功能。對于USB 接口攝像頭,驅(qū)動程序?qū)崿F(xiàn)了基本的I/O 接口函數(shù)open、close、read、write,實現(xiàn)了內(nèi)存映射功能函數(shù)mmap 和控制函數(shù)ioctl,并對于中斷進(jìn)行了處理。

            Linux 中視頻采集的實現(xiàn),可以用read()函數(shù)直接讀取數(shù)據(jù),也可以用mmap()函數(shù)通過內(nèi)存映射工作。內(nèi)存映射方式直接將設(shè)備地址映射到內(nèi)存地址空間,使用方便,效率更高,因此本系統(tǒng)采用內(nèi)存方式獲取視頻數(shù)據(jù)。

            本系統(tǒng)的設(shè)備控制函數(shù)ioctl 實現(xiàn)的主要設(shè)備控制命令有獲得攝像頭信息VEDIOCGCAP,判斷獲取圖片是否成功VEDIOSYNC,讀取圖片相關(guān)信息VEDIOCGPIC,以及獲取圖片VEDIOGETPIC。

            3.2 視頻數(shù)據(jù)采集

            本系統(tǒng)數(shù)據(jù)采集程序也是 V4l 編寫應(yīng)用程序,其基本流程首先通過open 系統(tǒng)調(diào)用打開攝像頭設(shè)備,如果成功則繼續(xù)通過ioctl 函數(shù)命令(參數(shù)VEDIOCGCAP)獲取攝像頭相關(guān)信息,ioctl 函數(shù)命令(VEDIOGETPIC)獲取圖像數(shù)據(jù)。



            評論


            相關(guān)推薦

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

            關(guān)閉