摘 要:為了保證圖像采集的快速性和準(zhǔn)確性,提出了一種基于Nios II的實(shí)時(shí)圖像采集系統(tǒng)的設(shè)計(jì)。該系統(tǒng)以Altera FPGA芯片EP2C8Q208C8為主控芯片,根據(jù)自頂向下的設(shè)計(jì)思想,采用Verilog HDL語(yǔ)言構(gòu)建NIOS Ⅱ硬件平臺(tái),利用C語(yǔ)言編寫(xiě)攝像頭OV7670寄存器的配置、SCCB總線通信協(xié)議和TFT-LCD顯示屏配置代碼,將采集得到的圖像實(shí)時(shí)顯示在TFT-LCD液晶顯示屏上。該系統(tǒng)具有穩(wěn)定度高、設(shè)計(jì)靈活高效、可移植性強(qiáng)等優(yōu)勢(shì),可應(yīng)廣泛用于實(shí)際生產(chǎn)生活實(shí)時(shí)圖像監(jiān)控中。
關(guān)鍵詞:實(shí)時(shí); 圖像采集;硬件平臺(tái);自頂向下;可移植性
DOI:10.16640/j.cnki.37-1222/t.2018.11.123
0 引言
隨著現(xiàn)代電子科技的迅猛發(fā)展,圖像采集技術(shù)在人們的生活和工作中得到了廣泛應(yīng)用如各類(lèi)電話會(huì)議、監(jiān)控系統(tǒng)等[1-3]。當(dāng)前市面上圖像采集系統(tǒng)采用的設(shè)計(jì)方案多種多樣,核心控制芯片各不相同,主要有利用ARM芯片實(shí)現(xiàn)的圖像采集系統(tǒng)、基于DSP芯片的圖像采集系統(tǒng)和利用可編程邏輯器件FPGA芯片實(shí)現(xiàn)的圖像采集系統(tǒng)等[1-6]。這些系統(tǒng)各有優(yōu)缺點(diǎn),基于FPGA的圖像采集系統(tǒng)以可移植性強(qiáng)、性能良好等特性受到研究者青睞。本設(shè)計(jì)采用Altera FPGA芯片EP2C8Q208C8完成圖像采集系統(tǒng)的設(shè)計(jì)。
1 實(shí)時(shí)圖像采集系統(tǒng)總體設(shè)計(jì)方案
本設(shè)計(jì)由五部分構(gòu)成:FPGA控制模塊、圖像采集模塊、時(shí)鐘模塊、SDRAM存儲(chǔ)模塊和TFT-LCD顯示模塊,系統(tǒng)整體設(shè)計(jì)框圖如圖1所示。系統(tǒng)設(shè)計(jì)由硬件設(shè)計(jì)和軟件開(kāi)發(fā)構(gòu)成。硬件設(shè)計(jì)包括時(shí)鐘模塊設(shè)計(jì)、NIOS Ⅱ硬件平臺(tái)構(gòu)建、攝像頭OV7670控制模塊和TFT-LCD顯示控制模塊設(shè)計(jì);軟件設(shè)計(jì)采用C語(yǔ)言配置攝像頭OV7670寄存器、編寫(xiě)SCCB總線通信協(xié)議和配置TFT-LCD在NIOSⅡIDE系統(tǒng)中完成。
2 實(shí)時(shí)圖像采集系統(tǒng)硬件設(shè)計(jì)
2.1 時(shí)鐘模塊設(shè)計(jì)
系統(tǒng)源時(shí)鐘信號(hào)為50MHz,可以分頻得到NIOS II硬件平臺(tái)、SDRAM存儲(chǔ)模塊和攝像頭OV7670的工作時(shí)鐘,分別為50MHz、50MHz和24MHz。設(shè)計(jì)采用模擬鎖相環(huán)來(lái)消除延時(shí)提高其準(zhǔn)確性。
2.2 NIOS II硬件平臺(tái)構(gòu)建
系統(tǒng)是基于NIOS II系統(tǒng)設(shè)計(jì)的,因此NIOS II硬件平臺(tái)的構(gòu)建是設(shè)計(jì)核心。NIOS II硬件平臺(tái)選擇標(biāo)準(zhǔn)MCU內(nèi)核,16位SDRAM控制器,JTAG UART調(diào)試接口,用于片內(nèi)RAM及用于TFT-LCD控制的I/O口[7],自動(dòng)分配基地址和中斷。
2.3 攝像頭OV7670控制模塊設(shè)計(jì)
攝像頭OV7670采集的圖像信號(hào)以幀為單位,每一幀圖像信號(hào)由幀同步和行同步信號(hào)協(xié)同控制轉(zhuǎn)換為圖像在TFT-LCD液晶屏上顯示。本設(shè)計(jì)的TFT-LCD圖像格式是RGB565,為了能夠?qū)V7670采集到的信號(hào)正確顯示在TFT-LCD上,必須將OV7670采集到的信號(hào)轉(zhuǎn)換為T(mén)FT-LCD的信號(hào)格式。設(shè)計(jì)將OV7670采集到的兩個(gè)8位信號(hào)拼接成16位信號(hào)構(gòu)成RGB565格式,送入TFT-LCD各引腳進(jìn)行顯示。OV7670控制時(shí)序圖如圖2所示。如圖,當(dāng)攝像頭采集到的兩個(gè)8位信號(hào)為7DH與8CH,輸出信號(hào)實(shí)現(xiàn)數(shù)據(jù)拼接為7D8CH,,從而實(shí)現(xiàn)采集數(shù)據(jù)的正確顯示。
2.4 TFT-LCD顯示控制模塊設(shè)計(jì)
TFT-LCD顯示模塊的功能是控制輸入TFT-LCD屏的數(shù)據(jù)通道,可通過(guò)控制信號(hào)enable選擇FPGA控制芯片或者攝像頭控制數(shù)據(jù)傳輸。當(dāng)enable為1時(shí),傳輸?shù)絋FT-LCD液晶屏的信號(hào)為FPGA控制芯片的輸出數(shù)據(jù);反之為攝像頭控制模塊的輸出數(shù)據(jù)[8,9]。
3 實(shí)時(shí)圖像采集系統(tǒng)軟件開(kāi)發(fā)
系統(tǒng)軟件開(kāi)發(fā)依托NIOS II IDE平臺(tái)實(shí)現(xiàn),采用C語(yǔ)言完成攝像頭OV7670寄存器、SCCB總線通信協(xié)議和TFT-LCD液晶屏配置程序的編寫(xiě)[10]。
3.1 攝像頭OV7670寄存器配置
本設(shè)計(jì)采用OV公司的圖像傳感器OV7670,該攝像頭具有自動(dòng)曝光、白平衡和降噪調(diào)節(jié)等功能。攝像頭OV7670的寫(xiě)地址為0x42,設(shè)計(jì)采用wr_OV7670_Reg函數(shù)來(lái)實(shí)現(xiàn)攝像頭寄存器數(shù)據(jù)配置,首先判斷攝像頭寄存器寫(xiě)地址是否有效,若有效即開(kāi)始SCCB總線工作,延時(shí)100 us,若無(wú)效即停止SCCB總線;然后用同樣方法判斷寄存器地址與配置數(shù)據(jù)是否有效。
3.2 SCCB通信協(xié)議編寫(xiě)
攝像頭OV7670采集到的信號(hào)通過(guò)SCCB總線傳送,可通過(guò)讀寫(xiě)OV7670寄存器控制圖像輸出。OV7670以相為傳輸單元,每一相由9位數(shù)據(jù)構(gòu)成,包含8位圖像信號(hào)和1位校驗(yàn)位。OV7670寄存器的配置數(shù)據(jù)傳輸為三相傳輸,分別為控制寄存器的寫(xiě)地址,寄存器的地址和寄存器的配置數(shù)據(jù)。
3.3 TFT-LCD配置
為了將攝像頭OV7670采集信號(hào)正確顯示到TFT-LCD上,需要確定圖像顯示的行與列的起始點(diǎn)和結(jié)束點(diǎn)。采集到的輸入信號(hào)從起始點(diǎn)逐行依次顯示,設(shè)行起始地址和結(jié)束地址分別為0000和00EF,列起始地址和結(jié)束地址分別為0000和013F,行和列限制的范圍即為攝像頭OV7670采集到的圖像的顯示區(qū)域,通過(guò)函數(shù)Lcd_Show來(lái)實(shí)現(xiàn)。
4 硬件驗(yàn)證
系統(tǒng)硬件驗(yàn)證在HSNIOS2C8 V3.0 NIOS II開(kāi)發(fā)板上實(shí)現(xiàn),如圖3(a)所示。圖3(b)為利用攝像頭OV7670采集的原始圖像,圖3(c)為用攝像頭OV7670實(shí)時(shí)采集圖像,由圖可看出圖像清晰,分辨率較好,該系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)圖像采集的功能。
5 結(jié)束語(yǔ)
本文實(shí)現(xiàn)了基于Nios II系統(tǒng)的實(shí)時(shí)圖像采集系統(tǒng),工作性能穩(wěn)定。NIOS Ⅱ系統(tǒng)設(shè)計(jì)方法不僅簡(jiǎn)化了設(shè)計(jì)難度,而且充分利用了FPGA設(shè)計(jì)的靈活性,系統(tǒng)時(shí)序邏輯調(diào)試可以在軟件上仿真實(shí)現(xiàn),大大降低硬件調(diào)試難度。該系統(tǒng)具有穩(wěn)定度高、設(shè)計(jì)靈活高效、可移植性強(qiáng)等優(yōu)勢(shì),可廣泛應(yīng)用于生產(chǎn)生活中。
參考文獻(xiàn):
[1]常丹華,南進(jìn)等.基于嵌入式平臺(tái)和USB2.0的高速線陣CCD圖像采集系統(tǒng)[J].電子測(cè)量技術(shù),2008(03).
[2]張博,劉嵐.基于TMS320C80的圖像采集系統(tǒng)[J].微計(jì)算機(jī)信息, 2006(02).
[3]司孝平.基于SDRAM的FPGA實(shí)時(shí)圖像采集系統(tǒng)的設(shè)計(jì)[J].西南大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(01).
[4]邱雪松,姚公建.圖像采集壓縮SOC系統(tǒng)在FPGA中的實(shí)現(xiàn)[J].今日電子,2007(12).
[5]張彥梅,柴芳嬌.基于FPGA的高速圖像采集系統(tǒng)[D].北京理工大學(xué)學(xué)報(bào),2010,30(09):1117-1120.
[6]楊曉,王紅亮.基于FPGA控制的圖像采集與存儲(chǔ)系統(tǒng)[J].火力與指揮控制,2010,35(09):124-126.
[7]孫愷,程世恒.Nios Ⅱ系統(tǒng)開(kāi)發(fā)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:北京航空航天大學(xué)出版社,2007(08).
[8]張超建,王厚軍.基于FPGA的TFT-LCD液晶顯示模塊設(shè)計(jì)[J].中國(guó)測(cè)試,2010,36(05):73-75.
[9]夏宇聞.Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2008(06).
[10]張敏霞,孫鳳霞.C語(yǔ)言程序設(shè)計(jì)教程[M].北京:電子工業(yè)出版社,2007(03).
作者簡(jiǎn)介:石圣羽,男,河北秦皇島人,碩士研究生,研究方向:檢測(cè)技術(shù)與自動(dòng)化裝置。