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