劉 瑋,崔永俊,張 昊
(中北大學(xué),電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,儀器科學(xué)與動(dòng)態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)
彈載設(shè)備需要采集大量的數(shù)字圖像信息,因此在彈載設(shè)備與地面測試臺之間進(jìn)行數(shù)據(jù)傳輸時(shí),需要很高的傳輸速率[1]。而目前物理層接口無法滿足數(shù)據(jù)的傳輸速率,常用的RS422接口,每百m雙絞線的最高傳輸速度為1 MB/s[2],這樣的傳輸速度和傳輸距離,已經(jīng)無法滿足現(xiàn)在對高速遠(yuǎn)距離傳輸?shù)囊蟆VDS技術(shù)的應(yīng)用提供了解決快速遠(yuǎn)距離傳輸?shù)姆椒?。對NAND型FLASH存儲器K9WBG08U1M,運(yùn)用交叉雙平面的編程方式,可以實(shí)現(xiàn)對數(shù)據(jù)的高速存儲。LVDS技術(shù)與交叉雙平面編程方式相結(jié)合,實(shí)現(xiàn)了數(shù)據(jù)的快速傳輸、存儲以及準(zhǔn)確回讀,為大量圖像數(shù)據(jù)的傳輸和存儲提供了新的方法。
該方案以LVDS技術(shù)和交叉雙平面編程方式為基礎(chǔ)。在系統(tǒng)設(shè)計(jì)中采用模塊化的設(shè)計(jì)方法,各組成部分既在結(jié)構(gòu)上相互獨(dú)立,又在功能上相互配合。該設(shè)計(jì)主要突破數(shù)據(jù)的準(zhǔn)確快速存儲和高速傳輸,這兩個(gè)困擾采集系統(tǒng)發(fā)展的技術(shù)瓶頸。數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計(jì)主要包括FPGA主控接口模塊設(shè)計(jì),USB通信接口及讀寫操作時(shí)序控制設(shè)計(jì)和一對并行FLASH模式操作的邏輯設(shè)計(jì)。
數(shù)字圖像采集存儲系統(tǒng)工作流程圖如圖1所示。具體工作流程為:一段視頻或者一張完整的圖片被上位機(jī)分割成具有連續(xù)幀的圖片,USB芯片F(xiàn)T2232H將圖片下傳,下傳的數(shù)據(jù)在FPGA的控制下存儲在兩片并聯(lián)的FLASH芯片K9WBG08U1M中。當(dāng)圖像需要發(fā)送時(shí),F(xiàn)PGA把3組存儲在FLASH中的圖像數(shù)據(jù)快速讀出,通過MAX9247把16位的并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),并以LVDS的方式發(fā)送到圖像存儲轉(zhuǎn)發(fā)裝置。在圖像存儲轉(zhuǎn)發(fā)裝置中保存一路,另一路以PCM碼的形式轉(zhuǎn)發(fā)到下游設(shè)備,供其采集,第三路同樣以PCM碼的形式回讀給上位機(jī)。
圖1 數(shù)字圖像采集存儲系統(tǒng)工作流程圖
數(shù)字圖像采集存儲系統(tǒng)在硬件方面主要由電源模塊、USB接口模塊、FPGA主控模塊、FLASH存儲模塊等4部分組成。
FPGA是數(shù)字圖像采集和存儲的控制核心,控制圖像數(shù)據(jù)的接收、變換、存儲及發(fā)送。數(shù)字圖像數(shù)據(jù)采集接口采用PCM接口的形式,存儲器和邏輯控制單元的數(shù)據(jù)接口采用TTL電平。利用PCM接口芯片SN65HVD10實(shí)現(xiàn)PCM接口電路的搭建,完成TTL→422及422→TTL的電平轉(zhuǎn)換;用DS92LV18芯片構(gòu)成采集存儲系統(tǒng)回讀接口,其內(nèi)部既含有集成的解串器又有集成的串化器[3]。設(shè)計(jì)中的DS92LV18芯片起解串作用。當(dāng)采集存儲系統(tǒng)接收到串行差分信號時(shí),差分信號通過DS92LV18芯片轉(zhuǎn)換成16位并行數(shù)據(jù)傳到FPGA,F(xiàn)PGA接收到數(shù)據(jù)后上傳到上位機(jī)進(jìn)行數(shù)據(jù)分析。
主控板和PC機(jī)之間的通信任務(wù)依靠USB通信接口完成。USB通信具有數(shù)據(jù)傳輸速率高、能夠熱插拔、應(yīng)用靈活等優(yōu)點(diǎn)[4]。在數(shù)字圖像采集存儲系統(tǒng)的設(shè)計(jì)中采用USB通信芯片F(xiàn)T2232H. 該芯片內(nèi)部集成了固件庫,不需要進(jìn)行額外復(fù)雜的編程[5]。
邏輯控制主要實(shí)現(xiàn):USB讀、寫功能;利用交叉雙平面頁編程對下傳的圖像數(shù)據(jù)進(jìn)行存儲、讀出及擦除功能;將圖像存儲轉(zhuǎn)發(fā)裝置所存儲的圖像數(shù)據(jù)回讀至上位機(jī)等功能。
FT2232H芯片的A通道能夠被設(shè)置為FT245同步FIFO模式,在此工作模式下,數(shù)據(jù)在CLKOUT的上升沿被寫入或讀出,在同一時(shí)刻不能同時(shí)進(jìn)行讀和寫的操作[6]。
在FT2232H進(jìn)行讀操作時(shí),RXF#的優(yōu)先級最高,當(dāng)FIFO中有要讀出的數(shù)據(jù)時(shí),RXF#為低,同時(shí)將輸出使能信號OE#拉低,然后,再把讀使能信號RD#拉低。在此工作模式下,只有在RXF#和RD#同時(shí)為低時(shí)數(shù)據(jù)才會被讀出。來自FIFO的數(shù)據(jù)會在RD#的下降沿,輸出到A通道的8位數(shù)據(jù)端口,RD#被拉高,這樣就實(shí)現(xiàn)了1個(gè)字節(jié)的讀操作;在進(jìn)行寫操作時(shí),TXE#的優(yōu)先級最高,所以首先判斷TXE#的電平情況。若為低,不能進(jìn)行寫操作;若為高,則可以進(jìn)行寫數(shù)據(jù)操作。當(dāng)TXE#為低后,把寫使能信號WR置高,寫入數(shù)據(jù),然后把WR拉低,數(shù)據(jù)將被送到FIFO,完成1個(gè)字節(jié)的寫操作[7]。USB內(nèi)部FIFO讀寫時(shí)序如圖2所示。
K9WBG08U1M是NAND型FLASH存儲芯片,其數(shù)據(jù)寬度為8,而需要其實(shí)現(xiàn)16位數(shù)據(jù)的讀寫和存儲。為達(dá)到這一要求,一般采用將數(shù)據(jù)分高低各8位,然后分2次存到1片K9WBG08U1M中的方法。這種方法可行,但存儲一個(gè)16位的數(shù)據(jù),需要執(zhí)行2次存儲過程,這大大制約存儲速率,達(dá)不到快速存儲的技術(shù)要求。該設(shè)計(jì)中采用2片F(xiàn)LASH并行的方式,即將K9WBG08U1M-1和K9WBG08U1M-2并聯(lián),以達(dá)到將8位存儲器寬展為16位的目的。具體操作是將兩芯片的片選管腳CE、命令使能管腳CLE、地址使能管腳ALE、讀寫使能管腳WE、RE分別串聯(lián),而各個(gè)芯片的R/B管腳相互獨(dú)立。這樣,兩個(gè)芯片能夠同時(shí)寫入命令或地址,存儲速度與普通方法相比,提高了1倍。相互獨(dú)立的R/B管腳為交叉雙平面頁編程提供了控制依據(jù)。并行FLASH管腳連接圖如圖3所示。
K9WBG08U1芯片的內(nèi)部被分為8 192個(gè)Block,每個(gè)Block共由64個(gè)Page組成,編號為0~63;每2 048個(gè)Block分為一個(gè)Plane,Block 0~4 095編號中的偶數(shù)編號Block組成Plane0,奇數(shù)編號Block組成Plane1;Block 4 096~8 191的劃分方法同前,分為Plane2和Plane3。
(a)USB讀時(shí)序
(b)USB寫時(shí)序圖2 USB內(nèi)部FIFO讀寫時(shí)序
圖3 并行FLASH管腳連接圖
K9WBG08U1內(nèi)部,數(shù)據(jù)的存儲是一頁一頁(Page)進(jìn)行的,這樣的頁編程可以分為命令、地址、數(shù)據(jù)的加載過程和自動(dòng)編程的實(shí)現(xiàn)過程。加載過程就是通過控制外部的時(shí)鐘,將命令、地址、數(shù)據(jù)等信息寫入內(nèi)部的寄存器;自動(dòng)編程過程就是芯片按照加載的信息,將數(shù)據(jù)存儲到相應(yīng)的位置,這樣就完成了一個(gè)數(shù)據(jù)的存儲,所花費(fèi)的時(shí)間即是一個(gè)頁編程時(shí)間,一般在200~700 μs之間。由芯片資料知該FLASH芯片的讀寫速度是40 MB/s,所以讀寫一頁所需的時(shí)間是:
Twr=1/(40 M)×4 K=102.4 μs
普通的頁編程是順序進(jìn)行的,即先對某一單元進(jìn)行命令、地址、數(shù)據(jù)的加載,完成后,再進(jìn)行自動(dòng)編程。若按照此速度計(jì)算,得到FLASH的寫入速度為:
v=4 096 b/((200+1 024)μs)=13.54 MB/s
這樣的速度無法滿足任務(wù)書的要求。而選用交叉雙平面頁編程方式,則可使編程時(shí)間大大減少。交叉雙平面頁編程的操作過程如下:首先寫入K9WBG08U1M-1中的Plane0的Block0的第0頁,緊接著寫入K9WBG08U1M-1中的Plane1的Block1的第0頁。當(dāng)再次回到K9WBG08U1M-1的Plane0時(shí),已經(jīng)過去了:
1/(40 M)×4 096×7=716.8 ns>tprog
式中tprog為編程所用時(shí)間。
tprog最大值為700 ns,所以不會對Plane0的Block0進(jìn)行的第二次操作造成影響。這樣對時(shí)間的復(fù)用,可以縮短加載過程的時(shí)間,大大提高存儲速度。寫FLASH過程如圖4所示。
圖4 寫FLASH過程
在存儲芯片并行操作模式中,數(shù)字圖像采集存儲系統(tǒng)上電后會立刻進(jìn)行壞塊監(jiān)測。只要有一塊是無效塊,就會把整個(gè)存儲塊當(dāng)作是無效塊來處理。這種無效塊地址的統(tǒng)籌管理,極大地方便了流水線式的交叉雙平面頁編程操作,降低了控制邏輯的復(fù)雜度,提升了存儲速度。
圖像數(shù)據(jù)的下發(fā)過程為:將要下發(fā)的圖片或者視頻轉(zhuǎn)換成具有連續(xù)幀的格式;將幀圖像進(jìn)行編碼,并加上自檢標(biāo)志和幀標(biāo)志,然后將圖像數(shù)據(jù)進(jìn)行下發(fā)。
圖像數(shù)據(jù)的回讀過程為:上位機(jī)將采集或回讀的圖像數(shù)據(jù)通過USB接口傳輸?shù)絇C機(jī);上位機(jī)對接收到的圖像數(shù)據(jù)計(jì)算誤碼率,之后通過動(dòng)畫的形式,將幀圖像播放,最后把數(shù)據(jù)分析的結(jié)果生成文件并保存在指定目錄中。
在系統(tǒng)的各模塊單獨(dú)測試順利完成后,將各模塊連接,進(jìn)行整個(gè)系統(tǒng)的功能測試,實(shí)驗(yàn)結(jié)果表明系統(tǒng)將數(shù)據(jù)信息存儲到FLASH中的速度是30 MB /s. 上位機(jī)將下傳的圖像數(shù)據(jù)經(jīng)過一系列的變化后,從圖像轉(zhuǎn)發(fā)裝置進(jìn)行了回讀。上位機(jī)的分析軟件,可以將回讀的數(shù)據(jù)和發(fā)送的原始數(shù)據(jù)進(jìn)行對比,并且可以還原成圖像進(jìn)行顯示。測試階段,下發(fā)了一幅周期性良好的圖片,并通過上位機(jī)軟件顯示了接收到的數(shù)據(jù)。數(shù)據(jù)比對結(jié)果顯示,誤碼率為0。FAF300是數(shù)據(jù)的自檢幀頭,F(xiàn)AF400是數(shù)據(jù)的行頭,原始數(shù)據(jù)截圖如圖5所示,將回讀的數(shù)據(jù)解密后由上位機(jī)進(jìn)行圖形顯示得到如圖6所示的圖片,該圖片的形式更容易觀察實(shí)驗(yàn)的結(jié)果。
圖5 原始數(shù)據(jù)
圖6 回讀數(shù)據(jù)還原的圖片
為實(shí)現(xiàn)大量數(shù)字圖像信號的采集與存儲,提出了一種基于LVDS和交叉雙平面頁編程的數(shù)字圖像采集與存儲設(shè)計(jì)方案。該系統(tǒng)在使用LVDS技術(shù)和一對并行FLASH交叉雙平面頁編程方式的基礎(chǔ)上,實(shí)現(xiàn)了圖像數(shù)據(jù)的快速存儲、高速傳輸及準(zhǔn)確回讀。實(shí)際測試的結(jié)果也充分證明了文中所提出的數(shù)字圖像采集存儲設(shè)計(jì)方案的正確性和可靠性。
參考文獻(xiàn):
[1] 雷建勝,蘇淑靖.多通道數(shù)據(jù)采集存儲器.儀表技術(shù)與傳感器,2013(1):16-18 .
[2] 崔中華,熊繼軍,沈三民.基于LVDS技術(shù)的實(shí)時(shí)圖像測試裝置的設(shè)計(jì).電子技術(shù)應(yīng)用,2010(4):84-86.
[3] 李娟 ,劉艷瀅.基于FPGA的圖像采集模塊的設(shè)計(jì).儀表技術(shù)與傳感器,2012(10):27-31.
[4] 張威,苗克堅(jiān),陸寅.基于LVDS的多路SPI的PCI板卡設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)測量與控制,2012,20(3):790-793
[5] 安航行.基于LVDS的圖像信號源設(shè)計(jì)與實(shí)現(xiàn):[學(xué)位論文].太原:中北大學(xué),2013
[6] 譚煒鋒.高速LVDS發(fā)送器設(shè)計(jì):[學(xué)位論文].成都:電子科技大學(xué),2009.
[7] 梁永剛,張會新.基于LVDS的高速遠(yuǎn)程圖像采集存儲系統(tǒng).科學(xué)技術(shù)與工程,2013,20(13):6001-6006.