李 斌,張會(huì)新,劉文怡
(中北大學(xué)a.電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室;b.儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)
基于LVDS的高速圖像數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì)與實(shí)現(xiàn)
李 斌a,b,張會(huì)新a,b,劉文怡a,b
(中北大學(xué)a.電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室;b.儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)
為實(shí)現(xiàn)高速圖像數(shù)據(jù)的實(shí)時(shí)接收存儲(chǔ)和有效轉(zhuǎn)發(fā),設(shè)計(jì)了一種基于Flash的高速大容量固態(tài)數(shù)據(jù)存儲(chǔ)器。該存儲(chǔ)器以LVDS作為數(shù)據(jù)傳輸接口來(lái)接收兩路高速數(shù)字圖像數(shù)據(jù);用外部FIFO作為圖像數(shù)據(jù)緩存以確保數(shù)據(jù)接收和存儲(chǔ)的并行性;通過(guò)FPGA控制整個(gè)系統(tǒng)的運(yùn)行。經(jīng)實(shí)際應(yīng)用,該系統(tǒng)可成功地完成圖像數(shù)據(jù)的接收、存儲(chǔ)和轉(zhuǎn)發(fā)功能。
高速;實(shí)時(shí)存儲(chǔ);LVDS;Flash;FPGA
采集數(shù)據(jù)的有效傳輸和存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)的發(fā)展保證了數(shù)字圖像在現(xiàn)實(shí)中廣泛應(yīng)用。如今,從多媒體通信領(lǐng)域的遠(yuǎn)程教育、圖像監(jiān)視到醫(yī)學(xué)上的遠(yuǎn)程會(huì)診,都和數(shù)據(jù)的有效傳輸及存儲(chǔ)轉(zhuǎn)發(fā)技術(shù)息息相關(guān)。在國(guó)防工業(yè)領(lǐng)域,圖像數(shù)據(jù)的采集存儲(chǔ)和連續(xù)有效轉(zhuǎn)發(fā)也起著巨大的作用,航空遙感圖像和衛(wèi)星遙感圖像的處理加工,電視制導(dǎo)中數(shù)據(jù)視頻圖像的傳輸,都離不開(kāi)圖像傳輸存儲(chǔ)技術(shù)[1]。本文設(shè)計(jì)的基于Flash的高速大容量固態(tài)數(shù)據(jù)存儲(chǔ)器,采用了基于LVDS的數(shù)據(jù)傳輸方式傳輸兩路高速圖像數(shù)據(jù),實(shí)現(xiàn)圖像數(shù)據(jù)的高速實(shí)時(shí)存儲(chǔ)。不僅具有處理速度快、設(shè)計(jì)靈活性高等特點(diǎn),還具有可配置性和可重構(gòu)性的特點(diǎn)。
本文介紹的圖像存儲(chǔ)器在飛行任務(wù)中負(fù)責(zé)完成兩路獨(dú)立視頻信號(hào)的采集存儲(chǔ)任務(wù)。視頻圖像存儲(chǔ)的總體結(jié)構(gòu)框圖如圖1所示,當(dāng)光耦接收到起飛和誘餌兩個(gè)控制點(diǎn)火信號(hào)后,F(xiàn)PGA就控制視頻信號(hào)1、視頻信號(hào)2經(jīng)2路獨(dú)立的LVDS接口傳輸,并分別解碼后緩存到2個(gè)外部FIFO中,最后寫入到2個(gè)各自的存儲(chǔ)模塊Flash當(dāng)中。在系統(tǒng)工作時(shí),讀書裝置可以實(shí)時(shí)監(jiān)測(cè)記錄器關(guān)鍵狀態(tài)參數(shù);系統(tǒng)存儲(chǔ)工作完成后,讀數(shù)裝置通過(guò)LVDS接口以20 Mbyte/s的速度遠(yuǎn)程高速讀取圖像記錄器的數(shù)據(jù),將數(shù)據(jù)回傳至上位機(jī)進(jìn)行存盤判讀。
圖1 存儲(chǔ)器功能框圖
本設(shè)計(jì)存儲(chǔ)器負(fù)責(zé)接收的2路圖像尺寸均為640×480 byte,在飛行器內(nèi)部傳感器下發(fā)起飛和誘餌兩個(gè)關(guān)鍵信號(hào)的控制下,圖像數(shù)據(jù)存儲(chǔ)器分別對(duì)這2路視頻圖像信號(hào)進(jìn)行采集,采樣位數(shù):8 byte/像素,輸入數(shù)據(jù)碼率:30.72 Mbyte/s,幀率:100 f/s(幀/秒),然后將解碼后的數(shù)據(jù)分別存儲(chǔ)到2個(gè)Flash中,最后準(zhǔn)確地完成數(shù)據(jù)的轉(zhuǎn)發(fā)任務(wù),使圖像數(shù)據(jù)順利進(jìn)入下一模塊。存儲(chǔ)器視頻信號(hào)處理硬件電路框圖如圖2所示。
圖2 存儲(chǔ)器視頻信號(hào)處理硬件電路框圖
本設(shè)計(jì)系統(tǒng)中攝像頭發(fā)出的視頻圖像信號(hào)屬于高速變化的信號(hào)[2],容易受到噪聲影響。低壓差分(Low Voltage Differential Signaling,LVDS)數(shù)據(jù)傳輸技術(shù)是一種新型的、具有很低的差分電壓擺動(dòng)幅度的信號(hào)傳輸方式。LVDS傳輸過(guò)程中以差分的方式傳送數(shù)據(jù),從而具有很低的串?dāng)_和噪聲以及只消耗很少的功率[3]。此外它通過(guò)一對(duì)并行PCB走線或平衡電纜傳輸數(shù)據(jù),可以達(dá)到100 Mbit/s甚至高于1 Gbit/s的高速率數(shù)據(jù)傳輸。解決了高速數(shù)據(jù)的有效傳輸,同時(shí)也將有助于降低系統(tǒng)設(shè)計(jì)復(fù)雜度,提高系統(tǒng)可靠性?;贚VDS技術(shù)的傳輸特點(diǎn)及應(yīng)用優(yōu)勢(shì),本設(shè)計(jì)中圖像輸入接口采用LVDS進(jìn)行圖像數(shù)據(jù)接收。設(shè)計(jì)中為滿足信號(hào)實(shí)時(shí)高準(zhǔn)確性的傳輸,在LVDS發(fā)送端采用串化器和驅(qū)動(dòng)器相結(jié)合的方式增強(qiáng)信號(hào);在LVDS接收端采用均衡器和解串器相結(jié)合的方式,來(lái)補(bǔ)償信號(hào)長(zhǎng)線傳輸過(guò)程中的損耗。這樣高速圖像信號(hào)可以穩(wěn)定地傳輸上百米[4]。如圖3為L(zhǎng)VDS接口端硬件電路設(shè)計(jì)圖。
圖3 LVDS接口端硬件電路設(shè)計(jì)圖
本設(shè)計(jì)中進(jìn)入FIFO前經(jīng)解碼得到的圖像數(shù)據(jù)傳輸速率為30.72 Mbit/s,因此在FIFO的選型中,必須選擇一款讀寫速度快而且容量大的外部FIFO來(lái)緩存圖像數(shù)據(jù)[5]。經(jīng)過(guò)計(jì)算并對(duì)比分析后,本設(shè)計(jì)選用了CYPRESS公司生產(chǎn)的64 kbit×18 bit的CY7C4285V:
1)CY7C4285V擁有66.7 MHz的最大工作頻率,10 ns的最小讀寫周期,完全可以穩(wěn)定、可靠地接收碼率為30.72 Mbit/s的圖像數(shù)據(jù),也滿足25 ns讀寫周期的要求。
2)從FIFO接收?qǐng)D像數(shù)據(jù)的時(shí)序圖中(如圖4)可以看出,一個(gè)水平同步時(shí)間內(nèi),寫入 FIFO的圖像數(shù)據(jù)有640 byte,而讀出 FIFO 的數(shù)據(jù)量為33 Mbyte/s×18.75 μs=618.75 byte。這樣每一個(gè)水平同步時(shí)間內(nèi)FIFO中就會(huì)剩余640 byte-618.75 byte=21.25 byte的圖像數(shù)據(jù)。當(dāng)垂直同步信號(hào)拉低時(shí),F(xiàn)IFO中剩余的圖像數(shù)據(jù)量達(dá)到最大,本設(shè)計(jì)FPGA控制FIFO半滿即讀,那么FIFO的容量至少應(yīng)為:2×21.25×480=20 400 byte。顯然容量為64 kbyte的CY7C4285V可以滿足設(shè)計(jì)要求[6]。
3)操作簡(jiǎn)單。首先,單片64 kbyte CY7C4285V就可以滿足設(shè)計(jì)要求,而不需串聯(lián)多個(gè)FIFO,這樣操作起來(lái)方便了很多。其次,該FIFO有讀使能、寫使能作為狀態(tài)保障,且均采用邊沿觸發(fā)方式,使得時(shí)序控制簡(jiǎn)捷高效,便于FPGA的邏輯實(shí)現(xiàn)。
圖4 單路圖像數(shù)據(jù)接收接口時(shí)序定義圖
本設(shè)計(jì)選用三星公司的K9WBG08U1M作為存儲(chǔ)介質(zhì)。該芯片容量大小為4 Gbyte,內(nèi)部分為2片,每片2 Gbyte,可通過(guò)片選信號(hào)和切換兩片存儲(chǔ)空間,每片由8 192塊組成,每塊中有64頁(yè),每一頁(yè)都可以存儲(chǔ)4 kbyte的圖像數(shù)據(jù)和128 byte的狀態(tài)信息。本設(shè)計(jì)要完成對(duì)高速圖像數(shù)據(jù)的存儲(chǔ)任務(wù),普通的Flash寫入方式無(wú)法滿足30.72 Mbyte/s數(shù)據(jù)存儲(chǔ)速度的要求。因此,大幅提高Flash數(shù)據(jù)接口的寫入速度,成為系統(tǒng)設(shè)計(jì)的關(guān)鍵。K9WBG08U1M內(nèi)部平面結(jié)構(gòu)圖如圖5所示,F(xiàn)lash內(nèi)部的兩片分別為chip1和chip2,4個(gè)平面Plane0~Plane3組成1個(gè)chip,原始的寫入方式為依次寫滿Plane0、Plane1、Plane2、Plane3,為大幅度提高數(shù)據(jù)存儲(chǔ)速度,系統(tǒng)采用交錯(cuò)雙平面頁(yè)編程(interleave two-plane page program)的操作方式[7],并行對(duì)chip1、chip2的8個(gè)平面進(jìn)行操作,如圖6所示Interleave two-plane編程時(shí)序圖:從chip1的Plane0開(kāi)始依次寫入每一個(gè)平面第1塊的第1頁(yè),即寫入chip1的Plane0的block0的page0后,再橫向連續(xù)寫入7頁(yè),那么當(dāng)循環(huán)回chip1的Plane0的block0的page1時(shí),用時(shí)25 ns×4 096×7=716.8 μs大于頁(yè)編程時(shí)間tPROG的最大值700 μs,從而可以不間斷地繼續(xù)對(duì)chip1的Plane0的block0的page1進(jìn)行操作,這樣充分利用了頁(yè)編程的時(shí)間,使Flash的寫入速度提高到40 Mbyte/s,完全可以完成對(duì)30.72 Mbyte/s圖像數(shù)據(jù)的存儲(chǔ)任務(wù)。
圖5 K9WBG08U1M內(nèi)部平面結(jié)構(gòu)圖
圖6 Interleave two-plane編程時(shí)序圖(截圖)
在飛行中該圖像存儲(chǔ)器需要在過(guò)載、噪聲等惡劣環(huán)境下工作,由于這些干擾很可能丟失一幀或者若干幀數(shù)據(jù),為此本文經(jīng)分析接收?qǐng)D像時(shí)序,為圖像數(shù)據(jù)編幀如圖7。這樣將圖像數(shù)據(jù)設(shè)定成固定的幀格式,不僅可以穩(wěn)定地循環(huán)采集,便于數(shù)據(jù)處理;而且即使由于干擾丟掉了一幀或若干幀,也不會(huì)影響幀結(jié)構(gòu)的完整性,對(duì)于整體數(shù)據(jù)分析沒(méi)有影響。這樣就保證了后續(xù)存儲(chǔ)轉(zhuǎn)發(fā)數(shù)據(jù)的正確性。接收一幀圖像數(shù)據(jù)的流程圖如圖8所示。
圖7 圖像存儲(chǔ)數(shù)據(jù)幀結(jié)構(gòu)
圖8 接收一幀圖像數(shù)據(jù)流程圖
如圖9所示待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)流結(jié)構(gòu),1帶信息幀由1圖像幀和時(shí)標(biāo)及其他信息組成,存入Flash的為帶信息幀,但后續(xù)轉(zhuǎn)發(fā)給圖像壓縮單元的數(shù)據(jù)只能含有圖像幀。為此本文將FIFO設(shè)計(jì)成9位緩存模式,低8位用來(lái)存儲(chǔ)圖像數(shù)據(jù)圖像幀或時(shí)標(biāo)及其他信息,最高位通過(guò)“1”或“0”來(lái)區(qū)分是圖像數(shù)據(jù)還是幀標(biāo)志。即將低8位是圖像數(shù)據(jù)的最高位置高,低8位是時(shí)標(biāo)及其他輔助信息的最高位置低,轉(zhuǎn)發(fā)時(shí)只將最高位為1的數(shù)據(jù)流發(fā)送給圖像壓縮單元。
圖9 待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)流結(jié)構(gòu)
一片K9WBG08U1M的Flash內(nèi)部有1 048 576頁(yè),本文所接收的圖像數(shù)據(jù):1圖像幀=307 200 byte,1頁(yè)容量為4 kbyte,需用75頁(yè),所以1片F(xiàn)lash最多可存儲(chǔ)13 981幀視頻圖像。接收?qǐng)D像幀頻為100 f/s,25 s接收2 500幀視頻圖像,僅占Flash總?cè)萘康?8%。采用上述interleave two-plane page program的頁(yè)編程方式,每75頁(yè)代表一幀視頻圖像數(shù)據(jù),第76頁(yè)用來(lái)寫入每一幀的狀態(tài)信息。寫入的順序如圖10中箭頭所示。
圖10 存儲(chǔ)區(qū)和圖像幀之間的映射關(guān)系
圖10顯示每一行有8個(gè)block,共有512頁(yè),經(jīng)計(jì)算每一行可以完整地存儲(chǔ)6幀圖像數(shù)據(jù)。當(dāng)圖像數(shù)據(jù)完整地寫入75頁(yè),第76頁(yè)也寫入狀態(tài)信息時(shí),一幀視頻圖像信息就存儲(chǔ)完畢了。然后Plane加1,繼續(xù)將圖像數(shù)據(jù)寫滿前75頁(yè),第76頁(yè)寫入時(shí)標(biāo)及附加信息,依次往下寫,當(dāng)?shù)?幀圖像數(shù)據(jù)完全寫入Flash后,直接將Flash的塊地址加2,跳到下一行,按照上述操作方式,繼續(xù)寫入圖像數(shù)據(jù),其流程圖如圖11所示。
圖11 圖像存儲(chǔ)一幀數(shù)據(jù)流程圖
如圖12為計(jì)算機(jī)終端顯示的部分圖像數(shù)據(jù),把數(shù)據(jù)解密后用上位機(jī)還原圖像如圖13所示,顯示的是視頻圖像中第2 194幀圖像。測(cè)試結(jié)果顯示,接收數(shù)據(jù)正確無(wú)誤,還原圖像清晰完整。
本文所設(shè)計(jì)的數(shù)據(jù)存儲(chǔ)器能夠?qū)崿F(xiàn)高速圖像數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)及轉(zhuǎn)發(fā),碼率可達(dá)40 Mbyte/s,具有高寫入帶寬和工作穩(wěn)定、可靠的特點(diǎn)。本設(shè)計(jì)已在相關(guān)項(xiàng)目中得到應(yīng)用,工作性能良好,具有一定的參考價(jià)值。
圖12 部分圖像數(shù)據(jù)(截圖)
圖13 視頻圖像還原后得到的第2 194幀圖像(截圖)
:
[1]吳萌.一種高速、大容量圖像存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].西安:中國(guó)科學(xué)院西安光學(xué)精密機(jī)械研究所,2009.
[2]王小艷,張會(huì)新,楊永生.Camera Link協(xié)議和FPGA的數(shù)字圖像信號(hào)源設(shè)計(jì)[J].國(guó)外電子元器件,2008(7):59-61.
[3]ZHANG Wendong,ZU Jing.The intelligent missile black-box[J].IEEE Trans.Instrumentation and Measurement,1995,44(3):824-826.
[4]彭晴晴,孟令軍.基于NiosⅡ的PCI Express接口卡的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012(2):523-525.
[5]任偉,張彥軍,白先民.基于LVDS的高速數(shù)據(jù)傳輸裝置的設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2012(29):663-665.
[6]孟令軍,彭晴晴.陣列存儲(chǔ)在遙測(cè)圖像采集系統(tǒng)中的應(yīng)用[J].電視技術(shù),2011,35(8):65-67.
[7]郭錚,劉文怡,馮妮.基于FPGA多通道高速數(shù)據(jù)采集存儲(chǔ)器設(shè)計(jì)[J].電視技術(shù),2012,36(17):55-57.
Design and Implementation of High-speed Image Data Recorder Based on LVDS Interface
LI Bina,b,ZHANG Huixina,b,LIU Wenyia,b
(a.National Key Laboratory For Electronic Measurement Technology;b.Ministry of Education Key Laboratory of Instrumentation Science& Dynamic Measurement,North University of China,Taiyuan 030051)
In order to receiving the image data in real time and retransmitting it effectively,a high-speed large-capacity solid-state data recorder based on Flash is designed in this paper.Data LVDS interface is taken as data transmission to receive two high-speed digital image data.External FIFO is used as the image data buffer in order to ensure the parallelism of the received data and the stored data.FPGA is used to control the operation of the system as a whole.Through the practical application ,this system can achieve receiving,storing and retransmiting the image data.
high-speed;real-time storage;LVDS;Flash;FPGA
TN91
A
【本文獻(xiàn)信息】李斌,張會(huì)新,劉文怡.基于LVDS的高速圖像數(shù)據(jù)存儲(chǔ)器的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2014,38(3).
國(guó)家自然科學(xué)基金項(xiàng)目(51275491)
李 斌(1988— ),碩士生,主研微納傳感與執(zhí)行器件;
張會(huì)新(1980— ),講師,主研動(dòng)態(tài)測(cè)試技術(shù)及智能儀表;
劉文怡(1970— ),博士生導(dǎo)師,主研微系統(tǒng)集成技術(shù)、集成測(cè)量系統(tǒng)及儀器、無(wú)線傳感網(wǎng)絡(luò)。
責(zé)任編輯:魏雨博
2013-06-21