0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用OV7620和EPM7128S芯片實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

牽手一起夢(mèng) ? 來源:儀表技術(shù) ? 作者:江川貴;廖啟征; ? 2020-04-04 11:11 ? 次閱讀

系統(tǒng)設(shè)計(jì)

圖1 為圖像采集系統(tǒng)的原理框圖。系統(tǒng)選用OminiVisiON公司生產(chǎn)的CMOS芯片OV7620,它是一款集成了一個(gè)640×480 (30萬像素)圖像矩陣的彩色攝像芯片,在隔行掃描模式下工作頻率可達(dá)60Hz,逐行掃描時(shí)為30幀/s。其像面大小為1/3英寸,支持8位或16位數(shù)字信號(hào)從單通道或雙通道輸出,輸出信號(hào)的類型可在YCrCb和RGB 之間選擇,圖像矩陣支持VGA或CIF 規(guī)定, 數(shù)字輸出格式遵循CCIR601, ZVPorts, CCIR656等標(biāo)準(zhǔn)。OV7620有很強(qiáng)的攝像和控制功能,如暴光控制,γ校正,增益,色彩矩陣,窗口選擇等,所有這些功能都可以通過I2C接口進(jìn)行編程控制。

采用OV7620和EPM7128S芯片實(shí)現(xiàn)圖像采集系統(tǒng)的設(shè)計(jì)

CPLD選用ALTERA公司的芯片EPM7128S,它在系統(tǒng)中處于核心地位,既要負(fù)責(zé)將OV7620輸出的視頻數(shù)據(jù)存入SRAM,又要與MCU配合完成視頻數(shù)據(jù)的USB 傳輸。MCU 是Cygnal 公司的高性能單片機(jī)C8051F020,它通過I2C總線控制CMOS芯片的工作方式和狀態(tài), C8051F020自帶SMBUS總線接口,可以把I2C的時(shí)鐘線SCL和數(shù)據(jù)線SDA通過交叉開關(guān)分配到端口引腳,MCU作為I2C總線通訊的主機(jī),OV7620用42H (Write) 、43H (Read)作為從機(jī)地址與MCU進(jìn)行通信。另外MCU還控制USB 通信,負(fù)責(zé)USB芯片的初始化和與PC的通信連接,其64KB 的flash程序存儲(chǔ)空間足以存放USB 通信固件。SRAM 芯片采用IS61LV5128AL芯片,該芯片為高速靜態(tài)RAM,存儲(chǔ)時(shí)間在10ns左右, 可以滿足OV7620 的速度要求, 其512KB的存儲(chǔ)空間足以用來存儲(chǔ)30萬像素的視頻數(shù)據(jù)(Bayer2pattern: 每一像素包含一個(gè)字節(jié)的RGB 信息) 。USB 接口芯片采用PHILIPS的PDIUSBD12 芯片,該芯片支持USB 1.1標(biāo)準(zhǔn)協(xié)議和DMA傳輸模式。

圖像采集部分

OV7620的輸出特性

OV7620工作方式和輸出格式非常多,可以適應(yīng)不同的應(yīng)用場(chǎng)合,針對(duì)我們的較小系統(tǒng),采用了單通道Y輸出,以及逐行掃描的工作方式。這些工作方式的實(shí)現(xiàn)是通過MCU 的I2C編程控制的。當(dāng)OV7620 設(shè)置工作方式穩(wěn)定后,它就會(huì)輸出視頻數(shù)據(jù),同時(shí)還有3個(gè)重要的參考信號(hào)輸出:幀同步信號(hào)SYNC,水平同步信號(hào)HREF,和像素時(shí)鐘信號(hào)PCLK。參見圖2,每一個(gè)幀同步信號(hào)SYNC 周期包含480 個(gè)水平同步信號(hào)HREF脈沖,而每一個(gè)HREF周期包含640個(gè)PCLK時(shí)鐘脈沖。每一個(gè)PCLK時(shí)鐘輸出一個(gè)像素的視頻數(shù)據(jù)(8位標(biāo)準(zhǔn)的Bayer-pattern彩色RGB數(shù)據(jù)) 。

圖像存儲(chǔ)方式

根據(jù)640 ×480 的像素輸出特點(diǎn), 將512KB 的RAM分成512行,每行1KB空間,由A0~A9共10條地址線選通行內(nèi)地址記為低位地址:ADDR-L; 高位A18~A10共9條地址線選通各行記為高位地址:ADDR-H。為保證OV7620 采集的數(shù)據(jù)同步寫入SRAM中,用CPLD宏單元設(shè)計(jì)了2個(gè)地址計(jì)數(shù)器:低位計(jì)數(shù)器ADDR-L和高位記數(shù)器ADDR-H。當(dāng)圖像數(shù)據(jù)采集開始時(shí)( SYNC信號(hào)低有效) ,記數(shù)器由0開始記數(shù),每來一個(gè)像素時(shí)鐘PCLK使低位計(jì)數(shù)器順序加1,完成1行像素的寫入,OV7620產(chǎn)生的行同步信號(hào)HREF使低位計(jì)數(shù)器清0,并使高位記數(shù)器順序加1,改變行地址直到完成480行寫入后產(chǎn)生幀同步信號(hào),并使高位計(jì)數(shù)器清0,這樣完成1幀圖像數(shù)據(jù)的緩存,詳細(xì)的圖像采集信號(hào)時(shí)序如圖2。512KB的SRAM芯片實(shí)際上只用了640 ×480約300多KB 的存儲(chǔ)空間。芯片工作方式設(shè)定在PCLK信號(hào)的下降沿更新數(shù)據(jù);在上升沿,數(shù)據(jù)是穩(wěn)定時(shí)期,所以如圖2,在PCLK信號(hào)的下降沿更新SRAM的地址信號(hào)ADDR;在PCLK信號(hào)上升沿使/WR信號(hào)有效, 然后寫數(shù)據(jù)到SRAM 中。其中CPLD控制SRAM的寫數(shù)據(jù)邏輯用VHDL 語言編寫,用MAX+PLUSII工具進(jìn)行仿真設(shè)計(jì),最后實(shí)現(xiàn)了圖像數(shù)據(jù)的連續(xù)采集。

圖像傳輸部分

類似DMA方式數(shù)據(jù)傳輸

視頻數(shù)據(jù)按行列關(guān)系有序存入SRAM芯片后,就可以順序讀取數(shù)據(jù)并進(jìn)行傳輸。傳統(tǒng)的USB 傳輸方式是MCU 先從SRAM 中取得數(shù)據(jù)再送到PDIUBD12;通過PDIUBD12發(fā)送到主機(jī)。不管是MCU從SRAM取數(shù)據(jù)還是向作為外設(shè)的PDIUBD12寫數(shù)據(jù),速度都較慢。因此我們考慮用系統(tǒng)中的CPLD控制來實(shí)現(xiàn)類似DMA 方式的數(shù)據(jù)傳輸。在系統(tǒng)工作過程中,單片機(jī)負(fù)責(zé)解釋USB的控制傳輸。當(dāng)要進(jìn)行從外存取數(shù)送到PDIUBD12時(shí),單片機(jī)讓出總線,由CPLD完成該工作。CPLD產(chǎn)生外存的讀信號(hào)和地址,同時(shí)產(chǎn)生PDIUBD12的寫信號(hào)和地址,自動(dòng)實(shí)現(xiàn)外存數(shù)據(jù)到PDIUBD12接口芯片的傳送。這種類似DMA方式的數(shù)據(jù)傳輸解決了由單片機(jī)控制引起的速度瓶頸,極大提高了傳輸速度,最大限度發(fā)揮了USB的優(yōu)點(diǎn)。

數(shù)據(jù)傳輸?shù)木唧w實(shí)現(xiàn)

當(dāng)主機(jī)需要傳輸數(shù)據(jù)時(shí),通過控制管道發(fā)送請(qǐng)求,MCU接到命令后立即讓OV7620 讓出SRAM的數(shù)據(jù)總線,并通知PDIUBD12準(zhǔn)備好用于批量數(shù)據(jù)傳輸?shù)闹鞫它c(diǎn),然后發(fā)送TXCOM 命令信號(hào)給CPLD (見圖1) ,通知CPLD開始傳送數(shù)據(jù);當(dāng)完成64B的數(shù)據(jù)傳送后, CPLD向單片機(jī)發(fā)送TXEND信號(hào),以示64B 傳送完畢,并等待下一個(gè)TXCOM信號(hào),進(jìn)行下一個(gè)64B的傳送。單片機(jī)和CPLD通過這兩個(gè)信號(hào)完成握手。CPLD在接收到TXCOM命令后,地址總線正確恢復(fù)上次傳輸?shù)降腟RAM地址(第一次傳輸時(shí)地址為0) ,并且控制MCU讓出PDIUBD12的數(shù)據(jù)總線,然后產(chǎn)生SRAM讀信號(hào)/RD,此時(shí)數(shù)據(jù)總線上就有了要傳送的數(shù)據(jù); 同時(shí)產(chǎn)生PDIUBD12 的寫數(shù)據(jù)標(biāo)志信號(hào)A0和寫信號(hào)/D12WR,將數(shù)據(jù)總線上的數(shù)據(jù)寫入PDIUBD12,完成數(shù)據(jù)從SRAM 到PDIUBD12 的傳送。其傳送數(shù)據(jù)的時(shí)序如圖3。注意, PDIUBD12的寫數(shù)據(jù)信號(hào)/D12WR, SRAM 的讀數(shù)據(jù)信號(hào)/RD 和SRAM的地址信號(hào)ADDR時(shí)序要嚴(yán)格配合。當(dāng)每一次完成64B 的數(shù)據(jù)傳輸后, CPLD 要發(fā)送TXEND 信號(hào)給MCU。整個(gè)傳輸過程控制嚴(yán)密緊湊,所有CPLD邏輯控制程序均采用VHDL 語言編寫,經(jīng)過測(cè)試,系統(tǒng)傳輸速度擺脫了單片機(jī)的影響,幾乎接近PDIUBD12的極限速度。

系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)的軟件包括USB設(shè)備固件、設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序。

設(shè)備固件程序

設(shè)備固件是設(shè)備運(yùn)行的核心,其主要的功能是控制接口芯片PDIUBD12并完成USB1.1協(xié)議(包括標(biāo)準(zhǔn)的設(shè)備請(qǐng)求、廠商請(qǐng)求處理、設(shè)置設(shè)備接口等) 。值得一提的是,此系統(tǒng)的單片機(jī)程序除了USB設(shè)備固件程序外,還有單片機(jī)對(duì)OV7620 的I2C控制軟件,與CPLD的握手程序等,所有程序都用Keil C進(jìn)行編制,最后鏈接后下載到MCU中。

設(shè)備驅(qū)動(dòng)程序

在Windows操作系統(tǒng)中通過運(yùn)行內(nèi)核層的驅(qū)動(dòng)程序才能控制硬件, USB 設(shè)備驅(qū)動(dòng)程序采用標(biāo)準(zhǔn)WDM設(shè)備驅(qū)動(dòng)。WDM采用IRP驅(qū)動(dòng)機(jī)制。當(dāng)應(yīng)用程序提出I/O請(qǐng)求時(shí),它調(diào)用WIN32AP I函數(shù)向設(shè)備發(fā)出命令,然后由I/O管理器構(gòu)成一個(gè)IRP,USB設(shè)備驅(qū)動(dòng)程序收到該IRP后,取出其中的控制碼來找到對(duì)應(yīng)的例程入口。在本系統(tǒng)開發(fā)中,驅(qū)動(dòng)程序采用了DR IVERSTUD IO提供的DR IVERWORKS工具包,工具包提供了完善的源代碼生成工具(DR IVER WIZARD)及相應(yīng)的類庫。開發(fā)驅(qū)動(dòng)項(xiàng)目時(shí),應(yīng)用W IZARD 工具開發(fā),自動(dòng)生成驅(qū)動(dòng)程序的。 INF安裝信息文件。對(duì)USB 設(shè)備驅(qū)動(dòng)DR IVERW IZARD生成的代碼只需做少量的修改便可,最后對(duì)項(xiàng)目編譯鏈接后生成.SYS驅(qū)動(dòng)程序。

應(yīng)用程序

在Win2系統(tǒng)中,把每個(gè)設(shè)備抽象為文件,應(yīng)用程序就通過幾條簡單的文件操作AP I函數(shù)實(shí)現(xiàn)與驅(qū)動(dòng)程序中某個(gè)設(shè)備通信。USB通信常使用的API函數(shù)有:CreatFile, WriteFile, ReadFile, DeviceControl, CloseFile等。在應(yīng)用程序時(shí)只需將上述函數(shù)加入到相應(yīng)的功能模塊中便可完成應(yīng)用程序?qū)SB 設(shè)備進(jìn)行打開、讀、寫操作,這樣就完全實(shí)現(xiàn)了兩者的通信。應(yīng)用程序最終實(shí)現(xiàn)了VGA, CIF等圖像格式的應(yīng)用。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    49938

    瀏覽量

    419595
  • CMOS
    +關(guān)注

    關(guān)注

    58

    文章

    5639

    瀏覽量

    234828
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2848

    瀏覽量

    87839
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于TMS320VC5416芯片OV7620實(shí)現(xiàn)水表盤字輪號(hào)碼讀取系統(tǒng)的設(shè)計(jì)

    系統(tǒng)采用Omnivision公司的CMOS數(shù)字圖像傳感器OV7620采集水表盤字輪號(hào)碼圖像,并選
    的頭像 發(fā)表于 11-04 10:33 ?3268次閱讀
    基于TMS320VC5416<b class='flag-5'>芯片</b>和<b class='flag-5'>OV7620</b><b class='flag-5'>實(shí)現(xiàn)</b>水表盤字輪號(hào)碼讀取<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    基于ARM的緊湊型圖像采集系統(tǒng)

    、DSP等),由PC或MCU對(duì)圖像數(shù)據(jù)進(jìn)行進(jìn)一步的處理。本文所設(shè)計(jì)的圖像采集系統(tǒng)僅用一個(gè)ARM芯片實(shí)現(xiàn)
    發(fā)表于 06-17 11:46

    LPC2210的緊湊型圖像采集系統(tǒng)OV7620

    LPC2210的緊湊型圖像采集系統(tǒng)OV7620  摘要 利用ARM7(LPC2210)與CMOS感光芯片(
    發(fā)表于 10-03 14:16

    求助飛思卡爾直立攝像頭ov7620

    `我參加今年的飛思卡爾直立攝像頭組比賽,用的ov7620,上電后直接用采集卡獲得圖像如下圖,請(qǐng)問是怎么回事。`
    發(fā)表于 02-11 16:54

    基于ARM的緊湊型圖像采集系統(tǒng)設(shè)計(jì)

    利用ARM7(LPC2210)與CMOS感光芯片(OV7620)實(shí)現(xiàn)了一個(gè)緊湊型圈像采集、處理系統(tǒng);通過夸理利用LPC2210數(shù)據(jù)總線的工作
    發(fā)表于 04-28 06:38

    ov7620中文資料

    0V7620 是一種CMOS 圖像傳感器,它被廣泛應(yīng)用在網(wǎng)絡(luò)攝像頭、攝像手機(jī)等產(chǎn)品中。由它組成的圖像采集系統(tǒng),比較常見的設(shè)計(jì)方法為
    發(fā)表于 10-08 14:25 ?392次下載

    基于OV7620和ARM開發(fā)的圖像采集系統(tǒng)

    基于OV7620和ARM開發(fā)的圖像采集系統(tǒng) SCCB控制,圖像數(shù)據(jù)的采集、處理以及傳輸都由一片
    發(fā)表于 10-08 12:53 ?1526次閱讀
    基于<b class='flag-5'>OV7620</b>和ARM開發(fā)的<b class='flag-5'>圖像</b><b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>

    數(shù)字圖像的實(shí)時(shí)采集原理

    數(shù)字圖像的實(shí)時(shí)采集原理 數(shù)字圖像的實(shí)時(shí)采集原理如圖1所示。在圖1中,以O(shè)mn ivision te chnologie s 公司的
    發(fā)表于 04-17 20:08 ?1748次閱讀
    數(shù)字<b class='flag-5'>圖像</b>的實(shí)時(shí)<b class='flag-5'>采集</b>原理

    EPM7128S在雷達(dá)電子干擾模擬訓(xùn)練器中的應(yīng)用

    【摘 要】 介紹Altera公司的復(fù)雜可編程邏輯(CPLD)器件EPM7128S在炮瞄雷達(dá)電子干擾模擬訓(xùn)練器中的應(yīng)用。主要討論利用EPM7128S器件對(duì)炮瞄雷達(dá)電子干擾模擬訓(xùn)練器的數(shù)字邏輯電路部
    發(fā)表于 05-15 22:31 ?1382次閱讀
    <b class='flag-5'>EPM7128S</b>在雷達(dá)電子干擾模擬訓(xùn)練器中的應(yīng)用

    基于OV7620攝像頭智能車道路信息視頻采集及處理研究

    基于OV7620攝像頭智能車道路信息視頻采集及處理研究,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-18 17:47 ?16次下載

    OV7620攝像頭

    OV7620攝像頭
    發(fā)表于 03-24 09:36 ?30次下載

    OV7620攝像頭數(shù)據(jù)手冊(cè)

    OV7620攝像頭數(shù)據(jù)手冊(cè)
    發(fā)表于 10-24 13:48 ?44次下載
    <b class='flag-5'>OV7620</b>攝像頭數(shù)據(jù)手冊(cè)

    一文看懂ov7620ov7670的區(qū)別

    本文開始對(duì)OV7620進(jìn)行了介紹,其中包括了OV7620基本參數(shù)和OV7620應(yīng)用實(shí)例,其次介紹了OV7670的參數(shù)與功能,最后分析了ov7620
    發(fā)表于 03-01 09:02 ?5.1w次閱讀

    ov7620怎么接線_ov7620硬件連接

    本文開始介紹了OV7620的基本參數(shù),其次介紹了ov7620硬件結(jié)構(gòu),最后闡述了ov7620的具體實(shí)現(xiàn)以及Ov7620的硬件連接。
    的頭像 發(fā)表于 03-01 09:25 ?8897次閱讀

    OV7620 cmos攝像頭的使用

    ov7620作為一款CMOS攝像頭器件目前已經(jīng)得到廣泛運(yùn)用。本文開始介紹了OV7620基本參數(shù),其次介紹了攝像頭工作原理,最后介紹了OV7620的使用。
    的頭像 發(fā)表于 03-01 15:52 ?1.2w次閱讀