安航行,孟令軍,趙 林,李鵬飛
(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)
圖像數(shù)據(jù)遠(yuǎn)距離傳輸及高速實(shí)時(shí)存儲(chǔ)技術(shù)
安航行,孟令軍,趙 林,李鵬飛
(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)
研究了一種可以實(shí)現(xiàn)圖像數(shù)據(jù)的遠(yuǎn)距離傳輸和高速實(shí)時(shí)存儲(chǔ)的技術(shù)。該技術(shù)以FPGA為邏輯控制單元,通過(guò)LVDS接口電路遠(yuǎn)距離傳輸采集到的圖像數(shù)據(jù);利用交叉雙平面頁(yè)編程技術(shù)流水線式寫Flash以提高存儲(chǔ)速度。用CY7C68013A控制的USB2.0接口上傳Flash中的數(shù)據(jù)到計(jì)算機(jī),最后用上位機(jī)軟件分析數(shù)據(jù)。結(jié)果表明,該系統(tǒng)穩(wěn)定可靠地遠(yuǎn)距離傳輸并高速存儲(chǔ)了圖像數(shù)據(jù)。
LVDS;流水線;交叉雙平面頁(yè)編程
在航天航空、工業(yè)自動(dòng)化、通信等領(lǐng)域,在某些特殊的條件下,有時(shí)需要實(shí)現(xiàn)圖像數(shù)據(jù)的遠(yuǎn)距離傳輸和高速實(shí)時(shí)存儲(chǔ),并且能夠?qū)崿F(xiàn)數(shù)據(jù)的回放,以及后續(xù)的數(shù)據(jù)分析和處理。本文提出的方案,應(yīng)用電纜延展器芯片組使上百米的LVDS遠(yuǎn)距離傳輸穩(wěn)定可靠;Flash存儲(chǔ)芯片中無(wú)效塊地址的統(tǒng)籌管理,交叉雙平面頁(yè)編程以及分級(jí)緩存使圖像數(shù)據(jù)的儲(chǔ)存速度幾乎可高達(dá)480 Mbit/s。與傳統(tǒng)的圖像數(shù)據(jù)存儲(chǔ)系統(tǒng)相比,該系統(tǒng)具有數(shù)據(jù)傳輸距離遠(yuǎn)、存儲(chǔ)速度高的特點(diǎn)。
盡管LVDS傳輸技術(shù)具有傳輸速率高、低噪聲、低功耗等優(yōu)點(diǎn),但遠(yuǎn)距離傳輸也會(huì)使信號(hào)衰減,距離越遠(yuǎn)、傳輸速率越高,衰減也就越大[1]。因此,通常設(shè)計(jì)的LVDS遠(yuǎn)距離傳輸不夠十分理想。LVDS串化/解串器接口也是有一定的距離限制的,一般情況下最遠(yuǎn)不超過(guò)幾米,但是如果在發(fā)送端使用LVDS電纜驅(qū)動(dòng)器DS15BA101進(jìn)行驅(qū)動(dòng),在另一端使用電纜均衡器芯片DS15EA101對(duì)長(zhǎng)線傳輸后的圖像信號(hào)均衡處理,便可以很好地彌補(bǔ)LVDS遠(yuǎn)距離傳輸方面的不足,最終成功傳送長(zhǎng)距離的圖像信號(hào)。
對(duì)Flash芯片中的無(wú)效塊地址的統(tǒng)籌管理、交叉雙平面頁(yè)編程以及流水線式的操作等方法的應(yīng)用,提高了時(shí)間利用率,極大地提高了圖像數(shù)據(jù)的存儲(chǔ)速度,實(shí)現(xiàn)了高速圖像數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)。
系統(tǒng)主要由Spartan-3E系列的FPGA芯片XC3S500E、電纜驅(qū)動(dòng)器芯片DS15BA101、電纜均衡器芯片DS15EA101、4 Gbyte的Flash存儲(chǔ)芯片K9WBG08U1M、18 bit總線的雙向LVDS解串/串化器DS92LV18、CY7C68013A等芯片和相應(yīng)的外圍接口電路構(gòu)成。系統(tǒng)工作時(shí)鐘頻率為66 MHz。系統(tǒng)組成框圖如圖1所示。
本系統(tǒng)選用National Semiconductor公司的DS92LV18作為L(zhǎng)VDS傳輸?shù)拇骱徒獯?。DS92LV18是18 bit總線的雙向的LVDS解串/串化器,工作時(shí)鐘頻率范圍為
圖1 系統(tǒng)組成框圖
15~66 MHz。DS92LV18串化/解串器芯片組,能把一個(gè)18 bit的并行數(shù)據(jù)轉(zhuǎn)換為一個(gè)帶內(nèi)嵌時(shí)鐘的LVDS串行數(shù)據(jù)流。用時(shí)鐘同步的方法,這個(gè)串行數(shù)據(jù)流很容易地轉(zhuǎn)換為18 bit并行數(shù)據(jù)或低于18 bit的并行數(shù)據(jù)[2]。如圖1所示,前一個(gè)DS92LV18把采集到的8 bit并行的圖像數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),后一個(gè)DS92LV18則用來(lái)解串,兩者配合實(shí)現(xiàn)LVDS傳輸。
為了實(shí)現(xiàn)遠(yuǎn)距離的LVDS傳輸,本系統(tǒng)選用電纜驅(qū)動(dòng)器芯片DS15BA101以及電纜均衡器芯片DS15EA101,它們都是美國(guó)國(guó)家半導(dǎo)體公司的產(chǎn)品。DS15BA101和DS15EA101電纜延展器芯片組,可以通過(guò)雙絞線或同軸電纜來(lái)驅(qū)動(dòng)來(lái)自串化/解串器DS92LV18和FPGA芯片的串行數(shù)據(jù)流。DS15BA101是一種性能十分良好的緩沖器,能緩沖高速的差分信號(hào),可以用于電纜驅(qū)動(dòng)、信號(hào)緩沖和電壓轉(zhuǎn)換[3]。與其配對(duì)使用的芯片是DS15EA101,它是一種具有自適應(yīng)能力的均衡器,能夠在很寬的速度范圍內(nèi)工作,從150 Mbit/s~1.5 Gbit/s。這樣,串化后的數(shù)據(jù)流經(jīng)電纜驅(qū)動(dòng)芯片DS15 BA101驅(qū)動(dòng),遠(yuǎn)距離高速傳輸后由電纜均衡器DS15EA101恢復(fù)調(diào)理,再經(jīng)過(guò)解串器解串,便能成功實(shí)現(xiàn)圖像數(shù)據(jù)的LVDS遠(yuǎn)距離高速傳輸。
在對(duì)Flash存儲(chǔ)芯片進(jìn)行操作時(shí)只能對(duì)有效存儲(chǔ)塊進(jìn)行操作,因?yàn)閷?duì)無(wú)效塊進(jìn)行操作會(huì)造成數(shù)據(jù)的丟失、數(shù)據(jù)存儲(chǔ)錯(cuò)誤等嚴(yán)重的后果。因此,無(wú)效塊的檢測(cè)是不可回避的。如果能合理地管理這些無(wú)效塊的地址,則能大大提高Flash讀、寫、擦除的速度。
1)把無(wú)效塊檢測(cè)放在系統(tǒng)上電之后,塊擦除、頁(yè)編程、讀數(shù)這些操作之前。
傳統(tǒng)的步驟是“壞塊檢測(cè)—操作,再檢測(cè)—再操作”的模式。在對(duì)Flash芯片中的每一塊進(jìn)行擦除、編程、讀數(shù)之前都不得不進(jìn)行壞塊檢測(cè),這極大地影響了操作的速度。當(dāng)系統(tǒng)一上電立刻對(duì)存儲(chǔ)芯片中全部的存儲(chǔ)塊(block)進(jìn)行檢測(cè),并且將檢測(cè)到的壞塊地址寫進(jìn)FPGA內(nèi)部建立的一個(gè)ROM中,在對(duì)Flash進(jìn)行塊擦除、讀數(shù)、頁(yè)編程等操作時(shí),只需要把當(dāng)前塊的塊地址與ROM中存放的無(wú)效塊地址進(jìn)行比較,只要檢測(cè)到該地址存在于ROM中,那么這個(gè)存儲(chǔ)塊(block)就一定是無(wú)效塊,否則它就一定是有效塊。若系統(tǒng)工作頻率為66 MHz,傳統(tǒng)的方法檢測(cè)一個(gè)塊是否為無(wú)效塊大概要用2 400個(gè)時(shí)鐘周期。若采用本文提出的方法,在每次操作前只需讀出ROM中存放的無(wú)效塊地址值與當(dāng)前塊的塊地址進(jìn)行比較即可,一次判斷僅需要4個(gè)時(shí)鐘周期。
2)統(tǒng)籌管理無(wú)效塊地址。
在檢測(cè)無(wú)效塊時(shí),只要檢測(cè)到CE1中的block(2n),block(2n+1),block(2n+4 096),block(2n+4 097)和CE2 中的block(2n),block(2n+1),block(2n+4 096),block(2n+4 097)這8個(gè)存儲(chǔ)塊(block)中有一塊為無(wú)效塊,就把這8個(gè)存儲(chǔ)塊都當(dāng)作是無(wú)效塊來(lái)處理。這種無(wú)效塊地址的統(tǒng)籌管理,雖然浪費(fèi)了芯片中一小部分有效塊資源,但這極大地方便了流水線式的交叉雙平面頁(yè)編程操作(便于流水線式操作過(guò)程中塊地址的切換),降低了控制邏輯的復(fù)雜度,對(duì)存儲(chǔ)速度的提高十分重要。
本系統(tǒng)采用NAND型Flash K9WBG08U1M作為存儲(chǔ)芯片,它是三星公司的產(chǎn)品,1片芯片存儲(chǔ)容量就高達(dá)4 Gbyte。實(shí)際上是由2片K9WAG08U1M集成的,單片K9WAG08U1M的存儲(chǔ)容量為2 Gbyte,通過(guò)管腳CE1和CE2來(lái)控制選通。1片K9WAG08U1M由8 192個(gè)存儲(chǔ)塊(block)組成,這8 192個(gè)存儲(chǔ)塊(block)平均劃分為4個(gè)平面(Plane),Plane 0,Plane 1,Plane 2 和 Plane 3,其中Plane 0和Plane 1是獨(dú)立的存儲(chǔ)單元,Plane 2和Plane 3是獨(dú)立的存儲(chǔ)單元。這樣,1片K9WBG08U1M內(nèi)部有4個(gè)獨(dú)立的存儲(chǔ)單元,對(duì)每個(gè)獨(dú)立的單元能進(jìn)行獨(dú)立的操作而互不影響。
K9WBG08U1M芯片的數(shù)據(jù)存儲(chǔ)是一頁(yè)一頁(yè)(page)地進(jìn)行編程存儲(chǔ)的,其頁(yè)編程(page program)過(guò)程可分為命令、地址、數(shù)據(jù)的加載過(guò)程和自動(dòng)編程過(guò)程。加載過(guò)程就是通過(guò)芯片外部的時(shí)序控制把命令字、地址和數(shù)據(jù)寫入芯片內(nèi)部的寄存器的過(guò)程;自動(dòng)編程過(guò)程就是芯片按照地址把寄存器中的數(shù)據(jù)自動(dòng)地轉(zhuǎn)移到存儲(chǔ)陣列中的過(guò)程,這需要一段相當(dāng)長(zhǎng)的編程時(shí)間(tprog),一般為200 μs左右,不會(huì)超過(guò)700 μs,在這段相對(duì)較長(zhǎng)的時(shí)間里芯片的該單元是不再響應(yīng)其他任何操作的。雙平面頁(yè)編程的特點(diǎn)是把2組命令字、地址和數(shù)據(jù)連續(xù)加載到同1個(gè)平面(plane)的2個(gè)頁(yè)寄存器中,這樣完成2個(gè)頁(yè)(page)的編程的時(shí)間幾乎減少了1個(gè)自動(dòng)編程時(shí)間(tprog),從而提高了單個(gè)頁(yè)(page)的平均存儲(chǔ)速度。實(shí)驗(yàn)證明,頁(yè)編程的時(shí)間正是限制Flash存儲(chǔ)速度的關(guān)鍵因素,因此在對(duì)其進(jìn)行頁(yè)編程操作時(shí)采用流水線技術(shù)來(lái)實(shí)現(xiàn)高速大容量Flash的存儲(chǔ)。由于每個(gè)獨(dú)立單元都由2個(gè)平面(plane)組成且每個(gè)獨(dú)立單元的頁(yè)編程過(guò)程中它是不響應(yīng)任何操作的,可以對(duì)4個(gè)獨(dú)立單元都采用雙平面頁(yè)編程(Two-plane Page Program)方式,對(duì)1片K9WBG08U1M內(nèi)部的4個(gè)獨(dú)立單元進(jìn)行流水線式的操作,實(shí)現(xiàn)時(shí)間上的復(fù)用,因此提高了整個(gè)芯片的平均頁(yè)編程速度。其操作流程為,當(dāng)?shù)?個(gè)單元在進(jìn)行雙平面頁(yè)編程操作的時(shí)候,依次往第2個(gè)單元、第3個(gè)單元、第4個(gè)單元加載命令、地址和數(shù)據(jù)。經(jīng)過(guò)計(jì)算可知,當(dāng)對(duì)第4個(gè)單元加載完成后,第1個(gè)單元已經(jīng)完成自動(dòng)編程,可以立刻對(duì)第1個(gè)單元再次加載命令、地址和數(shù)據(jù)。如此循環(huán)下去,提高了時(shí)間利用率,省去了等待頁(yè)編程的時(shí)間,從而提高了整片的寫入速度。操作過(guò)程如圖2所示。
圖2 K9WBG08U1M內(nèi)部4個(gè)單元流水線操作過(guò)程
時(shí)鐘晶振為66 MHz時(shí),單個(gè)K9WBG08U1M采用交叉雙平面頁(yè)編程方式、流水線操作,平均寫入速度超過(guò)240 Mbit/s。
FPGA內(nèi)部有很多的RAM塊,如果能夠合理地使用,就能簡(jiǎn)化外部電路的復(fù)雜度,降低成本。使用它們建立1個(gè)8 kbyte的FIFO作為第一級(jí)緩存,建立2個(gè)4 kbyte的FIFO,F(xiàn)IFO(I)和FIFO(II)作為第二級(jí)緩存。二級(jí)緩存結(jié)構(gòu)如圖3所示。
圖3 二級(jí)緩存結(jié)構(gòu)示意圖
LVDS高速數(shù)據(jù)流經(jīng)過(guò)DS92LV18解串后先寫入這個(gè)第一級(jí)緩存,當(dāng)?shù)谝患?jí)緩存FIFO半滿后,將第一級(jí)緩存中的數(shù)據(jù)快速讀出4 kbyte再寫入第二級(jí)緩存FIFO(I)中,而FPGA內(nèi)部控制Flash的模塊判斷到第二級(jí)緩存FIFO(I)中的數(shù)據(jù)量非空后,則以240 Mbit/s的速度連續(xù)讀取4 kbyte個(gè)數(shù)據(jù)寫入Flash(I)中;之后再次判斷第一級(jí)緩存中的數(shù)據(jù)是否半滿,如半滿,則將第一級(jí)緩存中的數(shù)據(jù)高速讀出4 kbyte再寫入第二級(jí)緩存FIFO(II)中,以同樣的方式將數(shù)據(jù)從第二級(jí)緩存FIFO(II)中讀出再寫入Flash(II)中,這樣反復(fù)交替,直到數(shù)據(jù)記錄完畢。這樣,整個(gè)系統(tǒng)的平均數(shù)據(jù)寫入速度幾乎高達(dá)480 Mbit/s,能夠完成圖像數(shù)據(jù)高速實(shí)時(shí)存儲(chǔ)的任務(wù)。
為了實(shí)現(xiàn)數(shù)據(jù)的高速上傳,盡可能達(dá)到USB2.0的最大帶寬,本系統(tǒng)選用控制器CY7C68013A。它是Cypress半導(dǎo)體公司的產(chǎn)品,屬于EZ-USB FX2LP系列。系統(tǒng)選擇它的同步SLAVE FIFO傳輸模式,整體框圖如圖4所示。IFCLK使用48 MHz內(nèi)部時(shí)鐘。FLAGA,F(xiàn)LAGB,F(xiàn)LAGC,F(xiàn)ALSD是內(nèi)部端點(diǎn)標(biāo)志位,它們用來(lái)供外圍電路使用,SLOE是輸出使能信號(hào),SLRD和SLWR分別是讀、寫信號(hào)。PKTNED為包提交信號(hào),F(xiàn)D[15:0]為數(shù)據(jù)總線,選用8位。FIFOADR[1:0]為內(nèi)部端點(diǎn)指針,分別指向端點(diǎn)2、端點(diǎn)4、端點(diǎn)6和端點(diǎn)8,通過(guò) IFCONFIG寄存器設(shè)置。
圖4 USB2.0 SLAVE FIFO傳輸模式框圖
上位機(jī)軟件通過(guò)USB2.0通信接口實(shí)現(xiàn)命令的下傳和存儲(chǔ)數(shù)據(jù)的快速上傳,并最終完成對(duì)圖像數(shù)據(jù)的定性、定量分析與特定處理。
經(jīng)過(guò)實(shí)際測(cè)試,該系統(tǒng)能夠可靠地實(shí)現(xiàn)圖像數(shù)據(jù)的遠(yuǎn)距離傳輸,并且它也能夠?qū)崿F(xiàn)高速實(shí)時(shí)存儲(chǔ)。圖像信號(hào)源以480 Mbit/s的速度發(fā)送圖像信號(hào),每幀有289行有效數(shù)據(jù),每行有384個(gè)有效像素,經(jīng)過(guò)118 m電纜傳輸,通過(guò)特定圖像信號(hào)源實(shí)際測(cè)試后,通過(guò)上位機(jī)軟件回讀的數(shù)據(jù)如圖5所示。由圖5回讀的數(shù)據(jù)驗(yàn)證了該方案是正確可行的。
本系統(tǒng)采用電纜延展器芯片組,能可靠地進(jìn)行上百米的LVDS遠(yuǎn)距離傳輸;采用分級(jí)緩存、流水線式操作、對(duì)Flash存儲(chǔ)芯片無(wú)效塊的合理管理以及交叉雙平面頁(yè)編程,這大大提高了存儲(chǔ)的速度。通過(guò)實(shí)際測(cè)試后表明該系統(tǒng)同時(shí)具有兩大功能——圖像數(shù)據(jù)遠(yuǎn)距離傳輸和圖像數(shù)據(jù)高速實(shí)時(shí)存儲(chǔ)。
圖5 上位機(jī)回讀的圖像數(shù)據(jù)(截圖)
:
[1]儲(chǔ)成群.基于LVDS接口的高速數(shù)據(jù)記錄器的設(shè)計(jì)[D].太原:中北大學(xué),2011.
[2]嚴(yán)帥,孟令軍,胡肖斌,等.紅外相機(jī)數(shù)據(jù)高速實(shí)時(shí)存儲(chǔ)技術(shù)[J].電視技術(shù),2011,35(13):25-27.
[3]周立功.USB 2.0與OTG規(guī)范及開(kāi)發(fā)指南[M].北京:北京航天航空大學(xué)出版社,2004.
Long-distance Transmission and High-speed and Real-time Storage Technology of Image Data
AN Hangxing,MENG Lingjun,ZHAO Lin,LI Pengfei
(Ministry of Education Key Laboratory of Instrumentation Science&Dynamic Measurement,National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China)
A kind of technology which is about long-distance transmission and high-speed storage of image data is researched.FPGA is the logical control unit of this technology.The technology can acquire image data over a long distance by LVDS interface circuit.The pipeline technology and the interleave two-plane page program technology are used to write Flash which can improve the storage speed.USB 2.0 interface which is controlled by CY7C68013A is used to upload the image data to computer and the data is analyzed by software.Results show that the system can transmit the image data over a long distance and store image data with a high speed steadily and reliably.
LVDS;pipelining;interleave two-plane page program
TN911.73
A
【本文獻(xiàn)信息】安航行,孟令軍,趙林,等.圖像數(shù)據(jù)遠(yuǎn)距離傳輸及高速實(shí)時(shí)存儲(chǔ)技術(shù)[J].電視技術(shù),2013,37(3).
國(guó)家自然科學(xué)基金項(xiàng)目(51075375)
安航行(1980— ),碩士,主要研究方向?yàn)闇y(cè)試計(jì)量技術(shù)及儀器;
孟令軍(1969— ),博士,副教授,主要研究方向?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位技術(shù);
趙 林(1987— ),碩士生,主要研究方向?yàn)殡娐放c系統(tǒng);
李鵬飛(1985— ),碩士生,主要研究方向?yàn)槲⒓{技術(shù)及儀器。
責(zé)任編輯:任健男
2012-11-15