<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è) > 嵌入式系統 > 設計應用 > 基于S3C2410的的圖像采集系統

基于S3C2410的的圖像采集系統

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

引言

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

與存儲功能構成的嵌入式監控是安全防范技術(shù)體系中不可缺少的重要組成部分,隨著(zhù)微電子技術(shù)和軟件技術(shù)的發(fā)展,嵌入式技術(shù)也有了長(cháng)足的進(jìn)步。因此,嵌入式技術(shù)的數據與存儲監控以其直觀(guān)、方便、信息內容豐富的特點(diǎn),廣泛應用于許多場(chǎng)合。

監控工作于特定的環(huán)境下,具有很特殊的環(huán)境和結構要求,這對監控系統的軟硬件平臺提出了很高的要求。處理器性能的提高,接口傳輸數據能力的增強,特別是未來(lái)高容量存儲器的出現,監控系統的小型化、多功能化是易于實(shí)現的,嵌入式技術(shù)引入圖像監控系統后,兩個(gè)問(wèn)題需要解決,一是靈活的圖像監控系統結構調整,二是適合監控規范、集圖像和信號檢測與控制一體的交互式軟件的設計。

1 系統平臺的搭建

1.1 硬件平臺的搭建

ARM(AdvancedRISCMachines),既可以認為是一個(gè)公司的名字,也可以認為是對一類(lèi)微處理器的統稱(chēng),還可以認為是一種技術(shù)的名字。

處理器是Samsung公司ARM公司的ARM920T處理器核,采用0.18um制造工藝的32位微控制器。該處理器擁有:獨立的16KB指令Cache和16KB數據Cache,MMU,支持TFT的LCD控制器,NAND閃存控制器,3路UART,4路DMA,4路帶PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2個(gè)USB主機,1個(gè)USB設備,SD主機和MMC接口,2路SPI。處理器最高可運行在203MHz。

為核心的圖像系統的硬件結構如圖1所示。因為S3C2410內部只有很小的存儲空間,所以我必須外擴系統的存儲器,作為32位的微處理器,S3C2410支持8位,16位和32位尋址方式,有16M×32位的尋址能力,可方便地構建較大地存儲空間,系統的存儲器由FLASH和SDRAM構成。數碼攝像頭通過(guò)USB接口與S3C2410芯片連接,通過(guò)S3C2410芯片來(lái)控制數碼攝像頭對圖像進(jìn)行采集,并存儲在存儲器中。

1.2 軟件平臺的搭建

嵌入式Linux(EmbeddedLinux)是指對Linux經(jīng)過(guò)裁剪小型化后,可固化在存儲器或單片機中,應用于特定嵌入式場(chǎng)合的專(zhuān)用Linux操作系統。具體的搭建流程如圖2所示。

2 USB攝像頭設備驅動(dòng)的開(kāi)發(fā)

在Linuxkernel源碼目錄中driver/usb/usb_skeletON.c提供了一個(gè)最基礎的USB驅動(dòng)程序,我們稱(chēng)為USB骨架。通過(guò)他僅需要修改極少的部分,就可以完成一個(gè)USB設備的驅動(dòng)。我們的USB驅動(dòng)開(kāi)發(fā)也是從它開(kāi)始的。USB驅動(dòng)程序結構如下:

該結構指明了USB設備驅動(dòng)所要做的工作,具體內容如下:

(1)在驅動(dòng)模塊加載的時(shí)候,向USB核心子系統注冊,并告訴子系統需要支持的設備。

(2)在卸載USB設備驅動(dòng)程序向USB核心子系統注銷(xiāo)。

(3)當獲支持的設備插入或者拔出的時(shí)候,調用哪些功能。

在初始化函數中,USB設備驅動(dòng)調用usb_regiSTer函數進(jìn)行注冊。

以上介紹了簡(jiǎn)單USB設備驅動(dòng)程序的框架。但是我們要進(jìn)行的攝像頭驅動(dòng)開(kāi)發(fā)比上述驅動(dòng)稍微復雜些。除了之前講到的USB驅動(dòng)還包括圖像采集部分的設備驅動(dòng)。

首先,我們需要定義一個(gè)數據結構,其中一個(gè)包括圖片信息、采集模式、解碼方式。具體定義如下。

LinuxUSB驅動(dòng)程序需要做的第一件事情就是在LinuxUSB子系統里注冊,并提供一些相關(guān)信息,例如這個(gè)驅動(dòng)程序支持哪種設備,當被支持的設備從系統插入或拔出時(shí),會(huì )有哪些動(dòng)作。所有這些信息都將傳送到USB子系統中。以下代碼完成USB攝像頭的注冊功能:

以上定義的數據含義如下ZC301是客戶(hù)端驅動(dòng)程序的名稱(chēng),用于避免驅動(dòng)程序的重復安裝和卸載。

zc301_probe則指向USB驅動(dòng)程序的探測函數指針,提供給USB內核的函數,用于判斷驅動(dòng)程序是否能對設備的某個(gè)接口進(jìn)行驅動(dòng)。

zc301_disconnect指向USB驅動(dòng)程序中的斷開(kāi)函數的指針,當從系統中被移除或者驅動(dòng)程序正在從USB核心中卸載時(shí),USB核心將調用該函數。

zc301_table列表包含了一系列該驅動(dòng)程序可以支持的所有不同類(lèi)型的USB設備,如沒(méi)有設置該列表,則該驅動(dòng)程序中的探測回調函數不會(huì )被調用。


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

關(guān)鍵詞: 采集 系統 圖像 的的 S3C2410 基于

評論


相關(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>