孟令軍,李鵬飛,安航行,趙 林
(中北大學(xué)電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
責(zé)任編輯:魏雨博
基于遙測系統(tǒng)的蓬勃發(fā)展,尤其是在圖像遙測方面的深入研究,當(dāng)今已經(jīng)實(shí)現(xiàn)了在多個領(lǐng)域的發(fā)展與應(yīng)用。本文設(shè)計(jì)了一種由全硬件FPGA實(shí)現(xiàn)的圖像采集系統(tǒng),以FPGA卓越的并行處理能力為依托,對系統(tǒng)關(guān)鍵模塊進(jìn)行合理的設(shè)計(jì),將大量運(yùn)算采用并行處理的方式實(shí)現(xiàn),不僅可以大幅提高數(shù)據(jù)處理度,而且可以極大地提高系統(tǒng)的信息處理能力。同時內(nèi)嵌的Nios II處理器提高了圖像處理速度并精簡了系統(tǒng)的體積。因此,廣泛深化研究基于Nios II的視頻圖像處理技術(shù),對開發(fā)高成效的視頻圖像采集系統(tǒng)有著廣闊而深遠(yuǎn)的理論與現(xiàn)實(shí)意義。
圖像采集存儲系統(tǒng)的主要功能是完成對單路模擬圖像信號的模數(shù)轉(zhuǎn)換并對轉(zhuǎn)換后數(shù)據(jù)進(jìn)行實(shí)時采集、存儲,同時系統(tǒng)也可以根據(jù)遙測命令將數(shù)據(jù)通過通信接口上傳給PC或者下發(fā)給對應(yīng)的遙測接收設(shè)備。系統(tǒng)結(jié)構(gòu)如下圖1所示,主要包括4個模塊:圖像獲取模塊,主要實(shí)現(xiàn)模擬圖像的采集,為后端信號轉(zhuǎn)換提供輸入;圖像信號轉(zhuǎn)換模塊(A/D),完成圖像信號由模擬到數(shù)字的轉(zhuǎn)換、圖像信號與其它信號的分離、視頻信號的格式轉(zhuǎn)換等,為后端提供可以處理的數(shù)字信號;圖像數(shù)據(jù)處理模塊,接收前一模塊的數(shù)字圖像信號,對數(shù)據(jù)進(jìn)行計(jì)算、存儲和各種處理等,一般數(shù)據(jù)接收可以采用單片機(jī)、DSP等實(shí)現(xiàn),本文采用FPGA實(shí)現(xiàn);通信模塊,實(shí)現(xiàn)系統(tǒng)與外界的數(shù)據(jù)和命令交互,有多種工業(yè)接口可以選擇。如圖1所示,簡明地表示出了系統(tǒng)內(nèi)各模塊的關(guān)系。
圖1 系統(tǒng)結(jié)構(gòu)流程圖
SOPC系統(tǒng)的開發(fā)流程主要從硬件開發(fā)和軟件開發(fā)兩個方面來進(jìn)行。硬件開發(fā)的主要目的是使用SOPC Builder搭建Nios II系統(tǒng),然后在Quartos II中經(jīng)過邏輯綜合、布局布線生產(chǎn)硬件結(jié)構(gòu),它將處理器、存儲器、I/O接口等系統(tǒng)設(shè)計(jì)的功能模塊集成到一個PLD上,構(gòu)成一個可編程的SoC(片上系統(tǒng));根據(jù)設(shè)計(jì)的需求來開發(fā)軟件,在Nios II IDE環(huán)境中利用C/C++語言和系統(tǒng)自帶的API函數(shù)編寫實(shí)現(xiàn)功能的程序,系統(tǒng)軟件程序主要在Nios II IDE環(huán)境中編寫C語言程序?qū)崿F(xiàn),主要目的是給VHDL硬件模塊提供模塊啟動、結(jié)束等信號,同時進(jìn)行一些模塊的配置和時鐘控制,使各模塊都能正常工作,最后將硬件與軟件一起下載到硬件進(jìn)行聯(lián)合調(diào)試來驗(yàn)證設(shè)計(jì),如圖2所示。
圖2 構(gòu)建嵌入式處理器模塊(截圖)
IIC(Inter-Integrated Circuit)或I2C即集成電路總線,是PHILIPS公司開發(fā)的兩線式串行總線,主要是用來連接整體電路(ICS)或微控制器及其外圍設(shè)備。它由可同時發(fā)送、接收數(shù)據(jù)的串行總線:數(shù)據(jù)線SDA和時鐘SCL構(gòu)成。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時鐘線SCL接到總線的SCL上。I2C總線上允許連接多個微處理器以及各種外圍設(shè)備,如存儲器、LED及LCD驅(qū)動器、A/D及D/A轉(zhuǎn)換器等,串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100 kbit/s快速模式下可達(dá)400 kbit/s高速模式下可達(dá)4 Mbit/s。它在傳送數(shù)據(jù)過程中共有3種類型信號:開始信號、結(jié)束信號和應(yīng)答信號。在I2C總線傳輸過程中,將兩種特定的情況定義為開始和停止條件(如圖3所示):當(dāng)SCL保持“高”時,SDA由“高”變?yōu)椤暗汀睘殚_始條件;當(dāng)SCL保持“高”且SDA由“低”變?yōu)椤案摺睍r為停止條件。開始和停止條件均由主控制器產(chǎn)生。
圖3 I2C數(shù)據(jù)傳輸圖
在硬件開發(fā)時,需要在軟核中添加2個IO模塊(如圖4),并將其命名為 SCL和 SDA,其中,SCL為output ports only(僅輸出),SDA 為 Bidirection(tristate)port(雙向),建好以后,如圖4所示。
圖4 SOPC中構(gòu)建I/O模塊
在系統(tǒng)設(shè)計(jì)中,采用了可以實(shí)現(xiàn)模擬圖像信號到數(shù)字圖像信號轉(zhuǎn)換的是ADI公司推出的一款10位、4倍過采樣的視頻圖像解碼器ADV7180,它可實(shí)現(xiàn)對多格式模擬視頻信號采樣分析。ADV7180接口設(shè)計(jì)極為簡單,只需要通過設(shè)計(jì)簡單的數(shù)字輸出接口ADV7180便可以與各種編解碼器、移動視頻處理器及ADI公司的數(shù)字圖像壓縮芯片(如ADV212等)實(shí)現(xiàn)無縫連接。同時,與其數(shù)據(jù)同步輸出的HS、VS、數(shù)據(jù)時鐘和FIELD信號也可為LCD控制器和其它視頻解碼芯片提供時序基準(zhǔn),擴(kuò)展非常方便。由于在設(shè)計(jì)中不對其寄存器進(jìn)行讀數(shù)操作只進(jìn)行寫配置操作,所以,在設(shè)計(jì)中將其ALSB管腳直接接地。在系統(tǒng)中ADV7180是掛載在I2C總線上的I2C從設(shè)備,總線通過從設(shè)備地址識別ADV7180進(jìn)而完成對其進(jìn)行配置。解碼器ADV7180要實(shí)現(xiàn)正常轉(zhuǎn)換功能必須與I2C總線的正確配置。系統(tǒng)控制核心Nios II軟核在獲取啟動信號后啟動I2C控制器完成芯片配置,啟動芯片開始工作。正確配置后啟動ADV7180可以自動檢測輸入的視頻信號制式,并將相應(yīng)的模擬信號轉(zhuǎn)換成對應(yīng)數(shù)字信號輸出來,關(guān)鍵處理如何正確配置ADV7180中各寄存器。
根據(jù)設(shè)計(jì)時提出的要求,既要實(shí)現(xiàn)設(shè)備控制,又要完成高速數(shù)據(jù)傳輸,為了滿足需要選用了Cypress公司的EZUSB FX2接口芯片CY7C68013。它采用通用可編程接口(GPIF)方式通過FPGA與Flash進(jìn)行數(shù)據(jù)操作。數(shù)據(jù)的讀取通過GPIF口來實(shí)現(xiàn),命令的下發(fā)通過PE口來實(shí)現(xiàn)。PE口是單一功能口,只要在固件架構(gòu)中的初始化程序中將PE口使能為輸出口,在主程序中接收通過上位機(jī)下發(fā)的命令,然后通過PE口將相應(yīng)命令值輸出,F(xiàn)lash控制器根據(jù)接收到的PE口的不同命令對Flash進(jìn)行不同的操作。GPIF是一個對于FX2端點(diǎn)FIFO的內(nèi)部主控制器,它代替了外部的“膠合”邏輯電路,在整個數(shù)據(jù)讀取過程中,為了匹配USB2.0于FPGA內(nèi)部Flash控制器之間的數(shù)據(jù)傳輸,硬件擴(kuò)展了16 kbyte的硬FIFO(IDT7206)來匹配讀數(shù)時序來完成Flash數(shù)據(jù)的讀取。
通過Quartus II下的嵌入式邏輯分析儀SignalTap II Logic Analyzer對圖像數(shù)據(jù)上傳進(jìn)行了實(shí)時采樣的時序分析,圖5是8位圖像數(shù)據(jù)和PIC_Decoder模塊中數(shù)據(jù)寄存器DATA_REG關(guān)系圖。經(jīng)過上位機(jī)軟件還原數(shù)據(jù)后,得到的圖片信息清晰無誤碼率,達(dá)到了預(yù)設(shè)的效果,可進(jìn)一步完善用于實(shí)際應(yīng)用。
圖5 SignalTap處理后的邏輯圖(截圖)
[1]凌六一,伍龍.基于軟件模擬的51單片機(jī)IIC總線的實(shí)現(xiàn)[J].電子技術(shù),2004(05):13-15.
[2]祝長鋒.肖鐵軍.基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,9(17):4404-4406.
[3]陳國柱,劉濤,李元宗.基于FPGA的圖像采集與存儲系統(tǒng)的設(shè)計(jì)[J].機(jī)械工程與自動化,2007,8(4):44-45.
[4]張國兵,孟令軍,李寶剛.CCD相機(jī)高速數(shù)據(jù)存儲系統(tǒng)中的無縫緩存技術(shù)[J].水電能源科技,2010,2(2):70-71.