孟令軍,彭晴晴,藺志強(qiáng)
(中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
隨著圖像采集器件性能的提高,圖像的采集速率和信息量也在不斷增加[1],同時(shí),由于LVDS技術(shù)在圖像數(shù)據(jù)傳輸中的廣泛應(yīng)用,圖像數(shù)據(jù)的實(shí)時(shí)處理和下傳已經(jīng)成為圖像采集系統(tǒng)中非常關(guān)鍵的部分[2]。以SRAM陣列的存儲(chǔ)方式可以有效地緩解圖像數(shù)據(jù)的傳輸速率,為CPU進(jìn)行圖像數(shù)據(jù)處理爭(zhēng)取了大量時(shí)間,并保證了穩(wěn)定下傳。本文以微處理器為核心,用FPGA控制SRAM陣列進(jìn)行存儲(chǔ)和下傳,CPU負(fù)責(zé)陣列存儲(chǔ)區(qū)的管理和可靠穩(wěn)定的記錄數(shù)據(jù),完成圖像數(shù)據(jù)在陣列中的分布存儲(chǔ)。
圖像數(shù)據(jù)采集系統(tǒng)主要負(fù)責(zé)實(shí)時(shí)接收?qǐng)D像采集裝置的高速圖像數(shù)據(jù),同時(shí)將數(shù)據(jù)連續(xù)串行下發(fā)給采編器。本文以CPU處理器為核心,主要控制系統(tǒng)的總體工作流程,同時(shí)以FPGA或CPLD為輔助,完成系統(tǒng)各模塊與處理器之間的通信,實(shí)現(xiàn)圖像數(shù)據(jù)的分區(qū)存儲(chǔ)和連續(xù)下發(fā)?;谇度胧教幚砥鞯膱D像存儲(chǔ)系統(tǒng)硬件電路采用CPU+FPGA器件進(jìn)行時(shí)序控制,遙測(cè)圖像數(shù)據(jù)首先通過LVDS接口芯片將串行數(shù)據(jù)解串為并行數(shù)據(jù),存入單幀緩存中(由1片SRAM構(gòu)成)。由于圖像數(shù)據(jù)發(fā)送速率和接收速率之間存在差距,為了保證20幅圖像數(shù)據(jù)的有效接收,主存儲(chǔ)器使用20片SRAM構(gòu)成存儲(chǔ)陣列以實(shí)現(xiàn)20幀圖像數(shù)據(jù)的有效存儲(chǔ)。CPU是整個(gè)系統(tǒng)的中心控制器,負(fù)責(zé)控制圖像數(shù)據(jù)的接收和轉(zhuǎn)發(fā)編碼。FPGA主要負(fù)責(zé)依據(jù)CPU的控制信號(hào)接收?qǐng)D像數(shù)據(jù)存至單幀緩存,轉(zhuǎn)存至存儲(chǔ)陣列和以PCM碼形式轉(zhuǎn)發(fā)至采編器。為了保證轉(zhuǎn)發(fā)數(shù)據(jù)的無縫傳輸,在轉(zhuǎn)發(fā)時(shí)使用FIFO進(jìn)行緩存。本設(shè)計(jì)總體結(jié)構(gòu)如圖1所示,主要包括7個(gè)部分:LVDS接口電路、FPGA數(shù)據(jù)處理模塊、單幀緩存讀寫模塊、CPU控制模塊、主存儲(chǔ)陣列、FIFO緩存模塊以及RS-422接口電路。
LVDS技術(shù)以其低誤碼、低功耗和高傳輸速度等優(yōu)點(diǎn)而廣泛應(yīng)用于圖像數(shù)據(jù)的高速傳輸中,可以實(shí)現(xiàn)一對(duì)多或者一對(duì)一傳輸[3]。本文采用點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸方式,使用專門的LVDS串化/解串芯片,相同的串化/解串時(shí)鐘頻率控制,保證數(shù)據(jù)的同步傳輸。LVDS解串器完成LVDS電平到TTL電平的轉(zhuǎn)換,實(shí)現(xiàn)圖像幀、行同步信號(hào)與圖像數(shù)據(jù)的分離和輸出,并輸入到FPGA中進(jìn)行處理。圖像數(shù)據(jù)是在幀同步信號(hào)VSYN為高電平時(shí)有效,故將幀同步信號(hào)VSYN與數(shù)據(jù)使能信號(hào)DE_IN連接,在幀同步信號(hào)VSYN有效時(shí),解串芯片輸出DE_OUT,有效輸出16位圖像數(shù)據(jù)及控制信號(hào)。并行數(shù)據(jù)輸出時(shí)序如圖2所示。
由于圖像數(shù)據(jù)傳輸速率遠(yuǎn)大于主存儲(chǔ)設(shè)備的存儲(chǔ)速度,并且在數(shù)據(jù)轉(zhuǎn)存的同時(shí)還要對(duì)每幀圖像數(shù)據(jù)進(jìn)行編碼,因此為了實(shí)現(xiàn)接收和轉(zhuǎn)發(fā)數(shù)據(jù)流之間的速度匹配,需要在主存儲(chǔ)器之前使用緩存,并且要在下一幀數(shù)據(jù)到來之前將數(shù)據(jù)轉(zhuǎn)存,以保證圖像數(shù)據(jù)的無縫緩存[4]。本文選用1片SRAM構(gòu)成單幀緩存,在幀同步VSYN和行同步HSYN同時(shí)為高時(shí),SRAM寫地址跟據(jù)PCLK的上升沿遞推,PCLK低電平時(shí)將數(shù)據(jù)寫入SRAM中緩存,時(shí)序如圖3所示。
陣列存儲(chǔ)模塊作為主存儲(chǔ)器主要負(fù)責(zé)圖像數(shù)據(jù)的存儲(chǔ),同時(shí)還要在幀間隔時(shí)間完成單幀緩存到主存儲(chǔ)器的自動(dòng)轉(zhuǎn)存,即在CPU控制下FPGA將圖像數(shù)據(jù)從單幀緩存中讀出寫入到陣列存儲(chǔ)器中。本文數(shù)字圖像信號(hào)分辨力為320×240,16位模式;陣列存儲(chǔ)器由20片256×16 kbit高速SRAM構(gòu)成。陣列存儲(chǔ)模塊的原理如圖4所示。其中共用16位數(shù)據(jù)線和18位地址線,采用獨(dú)立片選線。
自動(dòng)轉(zhuǎn)存能否成功進(jìn)行是整個(gè)系統(tǒng)的關(guān)鍵部分。如圖5所示,兩幀間的間隔決定了自動(dòng)緩存時(shí)間。圖像數(shù)據(jù)在VSYN為高時(shí)寫入單幀緩存中,為低時(shí)開始圖像數(shù)據(jù)的自動(dòng)轉(zhuǎn)存。依據(jù)設(shè)計(jì)需要,兩幀間的最小間隔為15 ms,所以用于自動(dòng)轉(zhuǎn)存的時(shí)間必須小于15 ms。
自動(dòng)轉(zhuǎn)存一幀的圖像數(shù)據(jù)量約為(320×240×2)bit=153.6 kbit,由此可得出自動(dòng)轉(zhuǎn)存最小理論頻率為[0.015/(320×240)]-1Hz≈5 MHz。實(shí)際操作時(shí),要留有一定的后操作時(shí)間,本文確定的轉(zhuǎn)存時(shí)鐘為8 MHz,寫入陣列存儲(chǔ)器一幀圖像的時(shí)間約為(320×240/(8×106))s=9.6 ms。因此,根據(jù)計(jì)算有足夠的時(shí)間將單幀緩存中的圖像數(shù)據(jù)轉(zhuǎn)存入陣列存儲(chǔ)器中。
PCM碼是無線遙測(cè)系統(tǒng)中常用的一種編碼過程,本系統(tǒng)由采編器提供碼同步(YCK)和字同步(YZM)信號(hào),將并行圖像數(shù)據(jù)編碼輸出為串行PCM碼流。在YZM變?yōu)楦唠娖綍r(shí),系統(tǒng)在YCK的上升沿輸出一個(gè)圖像數(shù)據(jù)位,每個(gè)圖像數(shù)據(jù)字節(jié)用8個(gè)YCK輸出。在讀主存儲(chǔ)器之前,CPU首先向FIFO寫入幀頭和幀計(jì)數(shù),然后CPU控制FPGA讀取圖像數(shù)據(jù)寫入FIFO,最后依據(jù)YCK和YZM信號(hào)從FIFO中讀出數(shù)據(jù)進(jìn)行PCM編碼,以60 kbyte/s的速率通過RS-422接口下發(fā)給采編器。
圖6為初始20幀的單幀緩存狀態(tài),CH1為圖像數(shù)據(jù)的幀同步信號(hào),CH2為寫單幀緩存信號(hào)。在陣列存儲(chǔ)器沒寫滿時(shí),圖像數(shù)據(jù)先存入單幀緩存,然后自動(dòng)轉(zhuǎn)存到陣列存儲(chǔ)器。編碼測(cè)試如圖7所示,F(xiàn)IFO中讀出的圖像數(shù)據(jù)在YZM為高時(shí)進(jìn)行PCM編碼,CH1為編碼數(shù)據(jù)YDT,CH2為字同步Y(jié)ZM,CH3為碼同步Y(jié)CK,圖中下發(fā)的YDT為0x0D和0x0E。
本文利用CPU+FPGA的組合設(shè)計(jì)方法,實(shí)現(xiàn)了遙測(cè)圖像數(shù)據(jù)的無縫緩存,完成圖像數(shù)據(jù)的PCM方式串行下傳。設(shè)計(jì)中采用單幀緩存和陣列存儲(chǔ)的數(shù)據(jù)處理方式,并對(duì)圖像數(shù)據(jù)自動(dòng)轉(zhuǎn)存的關(guān)鍵參數(shù)進(jìn)行了詳細(xì)的分析,針對(duì)系統(tǒng)的功能進(jìn)行了實(shí)際測(cè)試,測(cè)試結(jié)果表明陣列存儲(chǔ)可以高速有效地緩存圖像數(shù)據(jù)。
[1]孫榕,劉峰.高清視頻編解碼芯片選型及壓存系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2007,31(11):26-28.
[2]蔡波.視頻實(shí)時(shí)圖像處理系統(tǒng)研究及設(shè)計(jì)[J].電視技術(shù),2005,29(5):23-25.
[3]孫春鳳,袁峰,丁振良,等.基于LVDS技術(shù)的高速圖像采集系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(3):46-48.
[4]張國(guó)兵.基于LVDS的圖像存儲(chǔ)轉(zhuǎn)發(fā)裝置的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2010.