<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM+Linux的視頻采集編碼系統設計

基于A(yíng)RM+Linux的視頻采集編碼系統設計

作者: 時(shí)間:2014-06-18 來(lái)源:網(wǎng)絡(luò ) 收藏

  摘要:本文設計了嵌入式遠程監控系統中的視頻采集端。提出了基于 的視頻采集編碼設計方案,采用 S3C2440 作為主處理器,選用 OV511+OV7650 構造USB 攝像頭進(jìn)行視頻采集。介紹了USB 攝像頭驅動(dòng)程序的設計以及視頻原始碼流采集的實(shí)現過(guò)程。由于嵌入式在各種視頻設備中已經(jīng)得到了廣泛應用,故設計具有一定的通用性。

本文引用地址:http://dyxdggzs.com/article/248474.htm

  關(guān)鍵詞:嵌入式;;視頻采集;S3C2440

  引言

  嵌入式系統由于其體積小可便攜,較 PC機而言很有優(yōu)勢。隨著(zhù)計算機技術(shù)的發(fā)展,一些基于PC機的應用也得以在嵌入式系統上實(shí)現。由于 USB 接口攝像頭價(jià)格低廉,性能較好,即插即用,加上Linux下有Video4Linux標準支持對其編程,很容易集成到嵌入式系統,因此嵌入式系統視頻采集設備通常用 USB 接口攝像頭。

  1 芯片介紹

  S3C2440 處理器采用920t內核,0.13um的CMOS 標準宏單元和存儲器單元,支持高速總線(xiàn)和異步總線(xiàn)模式;具有 1G字節尋址空間;支持外部等待信號延長(cháng)總線(xiàn)周期;支持掉電時(shí)SDRAM 自刷新模式;支持從 NAND flash存儲器啟動(dòng);采用 4KB 內部緩沖器進(jìn)行啟動(dòng)引導。采用寫(xiě)穿式(write-through)或寫(xiě)回式(write-back)cache 操作來(lái)更新主存儲器;寫(xiě)緩沖器可以保存 16個(gè)字的數據和 4 個(gè)地址[1]。

  OV511 是高性能攝像機到 USB 接口單片控制芯片,它極大的簡(jiǎn)化了單片 CMOS 圖像傳感器和USB 的接口,其片上增加256K DRAM 和一個(gè) USB 收發(fā)器,可以很容易構成基于USB 的視頻子系統。OV511 最大視頻傳輸設計使系統能夠以更加實(shí)時(shí)的方式獲取大量的視頻信息[2]。

  OV7650是高集成度高分辨率的 COMS 圖像傳感器,它將所有攝像功能和矩陣處理功能都集成在片上。其像矩陣位 640*480 像素(30 萬(wàn)像素),支持VGA,QVGA ,CIF,QCIF四種分辨率,可進(jìn)行編程控制[3]。

  2 攝像頭硬件

  視頻采集部分由 OV511 和OV7650組成。通過(guò) SCCB 總線(xiàn)初始化OV7650和OV511 ,將OV7650設置為 CIF 采集,輸出YUV422 數據流;將 OV511 配置為YUV422 格式輸入,輸出為YUV420 數據流。OV511 提供OV7650所需的控制信號,并接受來(lái)自 OV7650的同

  步輸出信號并將輸入圖像數據通過(guò)內置的 USB 控制器和外接的 USB 收發(fā)器經(jīng)USB 總線(xiàn)送入,然后進(jìn)行壓縮編碼、發(fā)送等處理,其硬件框圖見(jiàn)圖 1。

  

 

  3 USB 攝像頭驅動(dòng)

  設備驅動(dòng)程序可以看成 Linux內核與外部設備之間的接口。設備驅動(dòng)程序向應用程序屏蔽了硬件實(shí)現了的細節,使得應用程序可以像操作普通文件一樣來(lái)操作外部設備,可以使用和操作文件中相同的、標準的系統調用接口函數來(lái)完成對硬件設備的打開(kāi)、關(guān)閉、讀寫(xiě)和 I/O控制操作,而驅動(dòng)程序的主要任務(wù)也就是要實(shí)現這些系統調用函數[4]。

  Linux 視頻采集設備的正常運行依賴(lài)于對 Video4Linux標準的支持。Video4Linux設備的驅動(dòng)程序需要提供基本的 I/O 操作接口函數 open ,read ,write和對中斷處理的實(shí)現、內存映射功能以及對I/O 通道的控制接口函數 ioctl 的實(shí)現等,并把它們定義在 struct video_device中。所以首先在驅動(dòng)程序中聲明一個(gè) video_device 結構,并為其指定文件操作函數指針數組fops 向系統注冊。應用程序發(fā)出文件操作的相關(guān)命令時(shí),Linux 內核根據這些指針調用相應函數,并將該結構作為參數傳遞給它們,實(shí)現驅動(dòng)與內核之間的通信。

  Linux 內核是依據設備號來(lái)操作設備文件的,內核中攝像頭對應的設備文件名為/dev/video,主設備號是81,次設備號根據攝像頭數目來(lái)確定,本系統中僅使用一個(gè)攝像頭。因此沒(méi)有此設備號,所以可以通過(guò)mknod /dev/video0 c 81 0來(lái)創(chuàng )建節點(diǎn),驅動(dòng)程序原理如圖2。

  

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


攝像頭相關(guān)文章:攝像頭原理

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: ARM Linux

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>