<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è) > 嵌入式系統 > 設計應用 > 基于NiosⅡ的圖像采集和顯示的實(shí)現

基于NiosⅡ的圖像采集和顯示的實(shí)現

作者:羅鈞,吳克松,廖紅華 時(shí)間:2008-08-11 來(lái)源:電子技術(shù)應用 收藏

  摘 要:采用OV2610的CMOS圖像傳感器和26K色的TFT液晶屏,在SOPC上集成了OV2610、TFT液晶控制器和控制器,實(shí)現了圖像數據流的采集和顯示。
  關(guān)鍵詞:   

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

  隨著(zhù)大規模集成電路設計技術(shù)的進(jìn)步、制造工藝水平的提高以及單個(gè)芯片上的邏輯門(mén)數的增加,嵌入式系統設計變得日益復雜。把整個(gè)系統集成到一個(gè)芯片上,即片上系統(System on Chip)技術(shù)是當前嵌入式系統設計的一個(gè)研究熱點(diǎn)。在A(yíng)ltera公司提供的SOPC平臺上設計的基于FPGA的系統,具有開(kāi)發(fā)周期短、成本低和可重構等多種優(yōu)點(diǎn)。

  1 系統設計

  基于NiosⅡ的高速圖像數據采集和顯示系統的實(shí)現通常有兩種方案。一種是在NiosⅡ處理器上使用軟件控制PIO(Peripheral I/O)端口模擬采集模塊的時(shí)序,從而可靈活地存儲圖像數據,并可按照圖像宏塊(如8×8像素的MCU塊)存入的連續地址中;第二種方案是加FIFO緩沖區,圖像數據直接經(jīng)控制器存儲,這種方案能節省NiosⅡ的軟件開(kāi)銷(xiāo),更高效地完成圖像的采集工作。

  本系統采用的FPGA為Altera的EP1C6Q240C8,它有5980個(gè)LC(邏輯門(mén)單元)和20個(gè)M4K的RAM塊。本系統設計的一個(gè)11位深度的DMA控制器,需要280個(gè)Logic Cells和151個(gè)LC Registers,占FPGA整個(gè)系統資源的7.2%,其資源占用較少。本系統設計了兩個(gè)DMA控制器,一個(gè)用于前端采集模塊通道,一個(gè)用于后端顯示模塊通道。

  由于CMOS和CCD的固體圖像傳感器的類(lèi)型很多,有些傳感器(如OV7620)輸出的是YCrCb(4:2:2)的格式,但大多數CMOS和CCD的圖像傳感器出來(lái)的圖像數據是Raw Data(Bayer)的數據格式。所以首先需要對這些圖像數據進(jìn)行CFA插補。為了節省軟件開(kāi)銷(xiāo),本系統采用了一種最簡(jiǎn)單的CFA插補算法(Bilinear),與高階B-spline和cubic-spline等插補函數相比,圖像的像質(zhì)相差不大。但Bilinear的算法要簡(jiǎn)單得多,消耗的軟件資源相對要少。插補后的圖像需要進(jìn)一步裁剪成液晶屏能顯示的分辨率(QVGA),RGB分量只取高6位。

  2 硬件設計

  2.1 系統的硬件電路圖

  系統電路圖如圖1所示。

  從圖1可以看出,系統的采集、存儲和顯示模塊的控制器都是在EP1C6Q240C8這塊FPGA上完成。

  2.2 FPGA中的電路設計

  在FPGA中需要設計3種控制器,即CMOS采集控制器、SDRAM控制器、TFT液晶顯示控制器。Altera公司提供了SDRAM的控制器,需要根據具體的SDRAM器件正確配置SDRAM控制器的時(shí)間參數,才能正常、穩定地工作。本系統采用的SDRAM型號為HY57V561620T-H,其配置參數如表1所示。

  OV2610和TFT液晶的控制器如圖2和圖3所示。兩個(gè)控制器都用硬件描述語(yǔ)言寫(xiě)用戶(hù)邏輯,創(chuàng )建Alvalon Slave接口,直接連接到DMA控制器的主端口。通過(guò)NiosII CPU數據和程序總線(xiàn)寫(xiě)DMA的控制器字來(lái)控制數據的采集和顯示。

  OV2610的圖像數據在TFT液晶屏上顯示時(shí),需要設計兩個(gè)DMA控制器,一個(gè)用做圖像數據采集通道,一個(gè)用做圖像顯示通道。由于OV2610圖像數據的接口是數據流的形式,用FIFO存儲單元來(lái)做緩存與雙口RAM相比,不需要設計地址發(fā)生器,減少了FPGA內部的邏輯綜合布線(xiàn)。具體設計包括兩部分:第一部分采用硬件描述語(yǔ)言設計CMOS采集和液晶顯示模塊的時(shí)序發(fā)生器;第二部分是在NiosⅡ IDE環(huán)境下,用C語(yǔ)言編寫(xiě)DMA初始化和控制程序。

  CMOS采集時(shí)序模塊和TFT液晶時(shí)序發(fā)生模塊都需要嚴格按照CMOS圖像傳感器和TFT液晶顯示的時(shí)序設計。在CMOS采集控制器和液晶控制器的設計中,關(guān)鍵是設計好時(shí)序產(chǎn)生模塊的邏輯,同時(shí)采集和顯示的數據需要存儲到資源有限的FIFO中。在EP1C6Q240C8內部,由于只有20個(gè)M4K的存儲單元,所以資源有限。在CMOS采集控制器中,會(huì )占用11位深度2KB的FIFO存儲單元;QVGA分辨率(320×240),液晶顯示模塊要設計9位深度512B的FIFO存儲單元做顯存才能滿(mǎn)足要求。

  用硬件描述語(yǔ)言設計采集時(shí)序模塊和液晶時(shí)序發(fā)生模塊的控制器。在Quartus Ⅱ Simulator中模擬的液晶時(shí)序發(fā)生控制器波形如圖4所示。

  CMOS圖像采集時(shí)序與TFT液晶時(shí)序類(lèi)似。

  在SOPC平臺中,要設計CMOS傳感器與Avalon的接口,將數據存儲到SDRAM,掛接到Avalon總線(xiàn)上。本系統CMOS采集時(shí)序模塊和TFT液晶時(shí)序發(fā)生模塊都設計成為Avalon的從設備,需要用到address、clk、reset、chipselect、read、readdata、begintransfer、endofpacket引腳。

  設計TFT_LCD與Avalon的接口也需要用到clk、reset、chipselect、address、write、writedata、begintransfer、endofpacket。在SOPCbuilder4.2環(huán)境中可以創(chuàng )建用戶(hù)自定義的元件,這里采用HDL文件描述控制器的行為。

  數據傳輸需要按照Avalon總線(xiàn)從模式傳輸的總線(xiàn)接口時(shí)序進(jìn)行。從圖5的傳輸時(shí)序可以看出,流模式的數據傳輸與FIFO的傳輸時(shí)序相似,因此在FIFO與Avalon總線(xiàn)的接口上能夠做到無(wú)縫連接。這里Avalon總線(xiàn)將FIFO讀入DMA或Nios Ⅱ的主端口的時(shí)鐘是內部總線(xiàn)的時(shí)鐘,本系統采用80MHz。也就是說(shuō),用流模式傳輸的最大帶寬能達到160Mbps,可滿(mǎn)足300萬(wàn)像素、圖像采集30幀/s的要求,比用PIO方式采集的帶寬要大。圖像采集系統的關(guān)鍵為SDRAM的存儲部分。在SOPC的設計中,如果更多的主端口掛接到SDRAM控制器上,則SDRAM的仲裁電路消耗的時(shí)間就會(huì )增加,從而造成SDRAM的數據存儲速度下降。當連接到SDRAM控制器的主端口過(guò)多時(shí),就會(huì )成為圖像數據傳輸的瓶頸。

  3 系統軟件設計

  3.1 NiosII IDE軟件環(huán)境

  系統硬件要正確運行,還需要在NiosⅡ IDE的軟件環(huán)境中正確地配置兩路DMA的控制寄存器,同時(shí)設計好DMA的源地址和目的地址。

  由于A(yíng)ltera為NiosⅡ處理器用戶(hù)提供硬件抽象層(HAL)系統庫驅動(dòng)程序,允許用戶(hù)使用HAL應用程序接口(API)函數訪(fǎng)問(wèn)外設,所以用戶(hù)能方便地操作底層硬件。

  本系統設計中,HAL層采用NiosⅡIDE提供的驅動(dòng)程序,在altera_avalon_dma_regs.h文件中定義了各個(gè)DMA的控制寄存器和各個(gè)位控單元的宏定義,為編程提供了一種標準的頭文件。雖然altera_avalon_dma.c文件中也提供了一些標準的DMA調用函數,但對系統速度的提高作用不大,而調用HAL層的宏可以更快地實(shí)現DMA的初始化及后續的圖像數據插補。DMA控制器寄存器都是32位,共有8個(gè)寄存器(包括與Nios相比新增加的3個(gè)寄存器),包括狀態(tài)寄存器、源地址寄存器、目標地址寄存器、長(cháng)度寄存器及控制寄存器等。

  3.2 軟件實(shí)現流程

  實(shí)現CMOS圖像采集到液晶顯示的軟件流程如圖6所示。

  整個(gè)系統中,初始化DMA是關(guān)鍵,其初始化流程如圖7所示。

  以下給出DMA初始化的源代碼:

  np_dma*dma_cmos_con;
  dma_cmos_con=( np_dma*)DMA_0_BASE;
  np_dma* pdma=(np_dma*)dma_cmos_con;
  alt_irq_register(DMA_0_IRQ,(void*)pdma,(void*)isr_dma);
  pdma->np_dmacontrol=0;
  pdma->np_dmastatus=0;
  pdma->np_dmalength=1600*1200;
  pdma->np_dmareadaddress=(int)Sdram_address;
  pdma->np_dmawriteaddress=(int)na_cmos_cont;
  pdma->np_dmacontrol=
  np_dmacontrol_go_mask |
  np_dmacontrol_i_en_mask |
  np_dmacontrol_byte_mask |
  np_dmacontrol_reen_mask |
  np_dmacontrol_rcon_mask |
  np_dmacontrol_leen_mask;

  在注冊DMA設備的函數中,NiosⅡ會(huì )調sys_dev_init函數完成DMA HAL層的初始化,同時(shí)指明中斷服務(wù)程序的函數入口地址,而其他語(yǔ)句主要是完成DMA寄存器的正確配置。

  3.3 數據整理

  采集的原始圖像數據為Bayer模式,如表2所示。而采用了CFA技術(shù),則需要轉換成BT666的數據格式,用于TFT的LCD液晶顯示。由于TFT液晶像素的分辨率為QVGA(320×240),而從圖像傳感器采集到的圖像像素為SVGA(1600×1200),所以需要裁剪原來(lái)的圖像。采取了16:1的抽取方式來(lái)顯示圖像,這些數據的處理都可以在NiosⅡ IDE的軟件環(huán)境中靈活處理。

  圖8便是最終調試采集到的一幅200萬(wàn)像素的CMOS圖像。它通過(guò)在NiosⅡ的環(huán)境中采用PIO內核,遵循CompactFlash Card接口協(xié)議模擬出CF卡的控制器,同時(shí)在NiosⅡIDE的環(huán)境中通過(guò)對采集到的RAW圖像數據進(jìn)行整理插補還原,按照FAT16的文件系統寫(xiě)到CompactFlash Card中。



  從采集實(shí)驗得到的圖像可以看出,圖像的質(zhì)量很好,圖像的信噪比高。由此在SOPC平臺上開(kāi)發(fā)圖像的采集和顯示控制器,能增強系統的靈活性和適應性。同時(shí),由于一些組織提供了公開(kāi)的IP核,將其應用到自開(kāi)發(fā)系統上,可以縮短設計開(kāi)發(fā)周期,也是一種低成本的途徑。這種'軟'硬件全新的設計概念,將會(huì )在智能測量、自動(dòng)控制、便攜式儀器儀表等領(lǐng)域得到廣泛應用。

  參考文獻

  [1] 徐寧儀,周祖成.Avalon總線(xiàn)與SOPC系統架構實(shí)例[J].半導體技術(shù),2003,(2).
  [2] 方茁,陳澤文,彭澄廉.SOPC設計中的用戶(hù)自定義邏輯.計算機工程,2004,(17).
  [3] ALTERA Coperation.Avalon video input module application note 372 altera(Version 1.0)[Z].2004,12.
  [4] ALTERA Copertion.Nios DMA,Data Sheet(Version 1.1)[Z].2003,1.
  [5] ALTERA Coperation.Nios software development tutoria (Version 1.2)[Z].2003,5.

 



關(guān)鍵詞: SoC DMA Avalon數據流模式 SDRAM

評論


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