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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的圖像采集模塊設(shè)計(jì)

          基于FPGA的圖像采集模塊設(shè)計(jì)

          作者: 時(shí)間:2012-05-24 來(lái)源:網(wǎng)絡(luò) 收藏
          2.1.4 OV7620主設(shè)備工作模式

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

            OV7620有主設(shè)備和從設(shè)備兩種工作模式。該系統(tǒng)選用主設(shè)備工作模式。在主設(shè)備工作模式時(shí),0V7620可提供以下信號(hào):水平行同步信號(hào) Hsync,即CHSYNC引腳(輸出狀態(tài)),高電平有效;垂直場(chǎng)同步信號(hào)Vsync,即VSYNC引腳(輸出狀態(tài)),高電平有效;數(shù)據(jù)信號(hào),由 UV7~UV0和Y7~Y0輸出。數(shù)據(jù)同步時(shí)鐘信號(hào)Pclk,即PCLK引腳。通過(guò)這些信號(hào),系統(tǒng)可采用接收OV7620的數(shù)據(jù),正確每一幀數(shù)據(jù),為后續(xù)數(shù)據(jù)存儲(chǔ)和處理奠定基礎(chǔ)。

            2.2 的圖像數(shù)據(jù)接收緩存板

            2.2.1 圖像緩存方案

            采用高速SRAM切換模式,即“乒乓模式”。高速SRAM只有一個(gè)數(shù)據(jù)、地址和控制總線,可通過(guò)三態(tài)緩沖門(mén)分別接圖像傳感器和嵌入式系統(tǒng)。當(dāng)圖像傳感器輸出數(shù)據(jù)時(shí),SRAM由三態(tài)門(mén)切換至圖像傳感器一側(cè),以使圖像數(shù)據(jù)寫(xiě)入。當(dāng)圖像傳感器輸出數(shù)據(jù)結(jié)束后,SRAM再由三態(tài)門(mén)切換到嵌入式系統(tǒng)一側(cè)以便嵌入式系統(tǒng)讀寫(xiě)。在切換過(guò)程中,還應(yīng)保證幀圖像數(shù)據(jù)的完整性。這種方式的優(yōu)點(diǎn)是SRAM可隨機(jī)存取,同時(shí)易于得到較大容量的高速SRAM且價(jià)格適中。

            2.2.2 電路

            圖4為電源部分的電路。其中,F(xiàn)PGA板接9 V直流電源的輸入,經(jīng)7805后,9 V的電壓轉(zhuǎn)換為5 V,經(jīng)電容平滑濾波后,5 V的電壓輸人給1117—3.3,得到3.3 V電壓。電源工作指示燈VD2指示電源是否正常工作。同時(shí),5 V的電壓經(jīng)1117—1.5,轉(zhuǎn)換為1.5 V的電壓輸出,供給FPGA使用。

            4.gif

            圖5為RS一232接口電路。該接口電路采用MAX232。圖中,TX_OUTl_FPGA,RX_INl_FPGA,TX_OUT2_FPGA,RX_IN2_FPGA連接至FPGA的I/0引腳,F(xiàn)PGA的輸出經(jīng)MAX232的電平轉(zhuǎn)換后,通過(guò)DB9的插座與PC機(jī)串口連接,實(shí)現(xiàn)FPGA與PC機(jī)通信,便于后續(xù)Nios II嵌入式軟核調(diào)試。為了實(shí)現(xiàn)高速圖像的與存儲(chǔ),保證在高速圖像中圖像的完整性,必須含有緩沖區(qū)。利用兩片SRAM,其成本較低、容量大、操作簡(jiǎn)單,能夠完成圖像數(shù)據(jù)緩沖功能。SRAM選用IDT71V416,容量為256 Kxl6 bit,訪問(wèn)速度為10 ns,使用兩片SRAM即可構(gòu)成256 Kxl6 bitx2=8 Mbit的高速緩存,從而可實(shí)現(xiàn)圖像數(shù)據(jù)的不間斷傳輸。

            5.gif

            為了在FPGA內(nèi)部嵌入Nios II軟核,采用Flash存儲(chǔ)器存儲(chǔ)Nios II軟核的程序,作為存儲(chǔ)程序和數(shù)據(jù)的Flash存儲(chǔ)器,要求操作簡(jiǎn)單、容量大、接口簡(jiǎn)單。兇此,選用TC58FVBl6-OAFT型Flash存儲(chǔ)器。 Flash的地址總線,數(shù)據(jù)總線和控制引腳與FPGA的控制引腳相連,通過(guò)FPGA內(nèi)部,掛載到Nios II軟核的Avalon總線,實(shí)現(xiàn)讀寫(xiě)控制。Flash的內(nèi)部主要由存儲(chǔ)陣列和控制邏輯電路、控制寄存器組成,并能產(chǎn)生“忙信號(hào)”。

            2.3 用EPCSl配置Cyclone系列FPGA

            該系統(tǒng)采用Ahera公司的Cyclone系列 EPlC6Q240C8型的FPGA。選用EPCSl系列配置器件,在主動(dòng)串行配置(Active Serial Programming)工作模式配置FPGA。EPCSl是1 Mbit的Ahera專用配置器件.其本質(zhì)是一塊專用Flash,用于保存FPGA的配置信息。Cyclone系列是SRAM的FPGA器件,可通過(guò)下載電纜在線配置該器件。掉電后。FPGA內(nèi)部配置信息丟失。如果配合相應(yīng)配置器件。FPGA在上電時(shí),從配置器件讀取配置內(nèi)容,這樣即可使用。

            2.4 Nios U嵌入式軟核處理器

            Nios II是哈佛結(jié)構(gòu)的RISC通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合,編程至Ahera的FPGA中。使用Nios II處理器的優(yōu)勢(shì)是明顯的,只要FPGA的資源允許,NiosII核在同一FPGA中被植入的數(shù)量無(wú)限制,此外Nios II可植入的Ahera FPGA的系列幾乎沒(méi)有限制,在這方面,Nios顯然優(yōu)于同類(lèi)產(chǎn)品一Xilinx的MicroBlaze。另外,在開(kāi)發(fā)工具的完備性方面、對(duì)常用的嵌入式操作系統(tǒng)支持方面,Nios II都優(yōu)于MicroBlaze。就成本而言,Nios II的使用費(fèi)僅僅是其占用的FPGA的邏輯資源費(fèi)。因此,選用的FPGA越便宜,則Nios II的使用費(fèi)就越低。在FPGA內(nèi)部的Nios II創(chuàng)建完成后,需要對(duì)Nios II軟核處理器進(jìn)行編程。利用]Nios II IDE集成調(diào)試環(huán)境編寫(xiě)調(diào)試程序,最后,程序下載到FPGA內(nèi)部。

            2.5 使用嵌入式邏輯分析儀實(shí)時(shí)測(cè)試

            為了驗(yàn)證該系統(tǒng)工作,使用SignalTap II實(shí)時(shí)測(cè)試。通過(guò)JTAG把圖像數(shù)據(jù)讀回PC機(jī),實(shí)時(shí)監(jiān)測(cè)圖像采集卡所采集的圖像數(shù)據(jù)。具體的圖像數(shù)據(jù)的采集驗(yàn)證如圖6所示。

            6.gif

            由圖6看到UV總線和Y總線輸出的幀圖像的各像素點(diǎn)的原始RGB值,在行有效時(shí)(HREF為高電平)為 41,37,ll(R1,G1,B1);40,44,11(R2,G2,B2)等。

            3 結(jié)語(yǔ)

            設(shè)計(jì)是在深入研究傳統(tǒng)的圖像采集的基礎(chǔ)上,針對(duì)傳統(tǒng)的PCI圖像采集卡的弊端,設(shè)計(jì)適用于便攜式嵌入式系統(tǒng)的圖像采集。該系統(tǒng)實(shí)現(xiàn)了圖像原始數(shù)據(jù)采集及緩存,保證了圖像數(shù)據(jù)的連續(xù)和完整性,具有體積小、功耗低、速度快、接口簡(jiǎn)單的優(yōu)點(diǎn)。


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

          評(píng)論


          相關(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); })();