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