楊玉華,劉興俊,任俊杰
(1.中北大學 電子測試技術(shù)國家重點實驗室,太原 030051;2.中北大學 儀器科學與動態(tài)測試教育部重點實驗室,太原 030051)
隨著大容量固態(tài)儲存器在航天航空系統(tǒng)、工業(yè)自動化、通信等行業(yè)的廣泛應用和測量技術(shù)信息技術(shù)的快速發(fā)展,對大容量數(shù)據(jù)儲存技術(shù)的要求也越來越高?,F(xiàn)代雷達技術(shù)日益成熟,雷達信息的海量存儲也成為了亟待解決的難題。雷達視頻I、Q數(shù)據(jù)及圖像遙測三路數(shù)據(jù)的采集帶寬比較大、ADC采樣速率比較高,實時產(chǎn)生大量的數(shù)據(jù),如何將這些數(shù)據(jù)高速、實時地傳輸?shù)酱鎯υO(shè)備成為了一個關(guān)鍵的問題。
高速固態(tài)存儲器設(shè)計采用FPGA實現(xiàn)對LVDS高速接口以及數(shù)據(jù)的發(fā)送和接收的邏輯控制。FPGA強大的邏輯處理能力和豐富的片內(nèi)資源成為了高速數(shù)據(jù)通信中最佳的邏輯控制處理器[1]。LVDS是一種效率極高的技術(shù),能夠提供高達3.125 Gb/s的數(shù)據(jù)率性能,其終結(jié)方法簡單、功耗和噪聲較低,使得LVDS成為數(shù)據(jù)率從數(shù)十Mb/s至3 Gb/s甚至更高的應用首選[2]。LVDS接口芯片組使用美國國家半導體的DS92LV1023和DS92LV1224,系統(tǒng)上電以后使能信號設(shè)置成有效狀態(tài),接收端和發(fā)送端必須同步之后才能進行高速數(shù)據(jù)傳輸。高速LVDS接口芯片數(shù)據(jù)傳輸速度可達660 Mb/s,功耗小于300 mW。
雷達視頻I、Q數(shù)據(jù)及圖像遙測3路數(shù)據(jù)須分別存儲到對應的存儲模塊中。如圖1所示為高速固態(tài)存儲器優(yōu)化后的原理框圖,設(shè)計中采用了模塊化設(shè)計,由1塊接口板和3塊高速數(shù)據(jù)存儲板組成。各存儲模塊之間相互獨立,電路組成結(jié)構(gòu)相同,單個存儲模塊由LVDS接口控制模塊和數(shù)據(jù)存儲控制模塊組成。接口板采取了隔離設(shè)計,彈上雷達系統(tǒng)輸入信號隔離后的信號傳給存儲模塊,存儲模塊控制信號采用光電耦合隔離,高速信號通過磁隔離變壓器進行隔離。同時在接口板電路中設(shè)計了高速數(shù)據(jù)上傳接口,將存儲模塊讀取出的數(shù)據(jù)通過LVDS高速上傳到地面測試臺并通過USB接口將數(shù)據(jù)上傳到計算機中實現(xiàn)數(shù)據(jù)分析與驗證。
圖1 高速固態(tài)存儲器的優(yōu)化原理Fig.1 Optimaization principle diagram of high-speed solid-state memory
在高速數(shù)據(jù)的遠距離傳輸中,傳輸電纜的信號衰減是產(chǎn)生存儲數(shù)據(jù)誤碼的主要原因。因此為保證高速固態(tài)存儲器接收數(shù)據(jù)的正確性和可靠性,在設(shè)計中采用針對特定數(shù)據(jù)速率和傳輸介質(zhì)的信號調(diào)理技術(shù),在模擬信號發(fā)送端采用了信號驅(qū)動器,在接收端使用信號均衡器。美國國家半導體公司的DS15BA101和DS15EA101電纜延展器芯片組采用了創(chuàng)新的設(shè)計,可以通過雙絞線及同軸電纜驅(qū)動來自串行/解串器及FPGA芯片的串行數(shù)據(jù)流,能夠優(yōu)化在同軸、雙絞線電纜中傳輸?shù)木鈹?shù)據(jù),速度高達 150 Mb/s~1.5 Gb/s[3-4]。 均衡器 DS15EA101 的自動均衡性能取決于發(fā)送器或電纜終端驅(qū)動器的發(fā)射幅值,對于100 Ω的差分電纜(雙絞線電纜),最佳的發(fā)射幅值是±400 mV。均衡器DS15EA10的能量檢測電路量化了輸入的信號能量,將模擬信息反饋給自動均衡控制電路并把反饋信號與原始信號進行比較,基于比較的結(jié)果,控制均衡濾波器會將傳輸信號的高頻分量提高一定量級的增益。
如圖2所示為利用電纜延展芯片組和雙絞線進行高速數(shù)據(jù)傳輸原理圖。DS92LV1023輸出通過1 μF電容交流耦合至驅(qū)動器DS15BA101中,在接收芯片前端接100 Ω負載,其在PCB布板時盡可能靠近DS15BA101輸入端口。DS15BA101芯片輸出端需要一個外置上拉電阻設(shè)定最佳發(fā)射幅值,需要2個50 Ω/1%精度的電阻上拉至VCC。同時,對于雙絞線傳輸介質(zhì),其特性阻抗為100 Ω,交流耦合方式的輸出增益調(diào)制上拉電阻值為953 Ω。同樣,在傳輸電纜數(shù)據(jù)接收端也是交流耦合,芯片輸入端需要一個外部交流耦合濾波電容,輸入端口需要端接100 Ω阻抗匹配電阻。
NANDFLASH是基于頁編程、塊擦除操作的,在此期間內(nèi)不響應其他相關(guān)操作,因此必然會降低數(shù)據(jù)存儲速度。FLASH頁編程操作可以分為加載過程和自動編程過程。加載過程主要完成編程命令、地址下發(fā)以及將數(shù)據(jù)寫入頁寄存器的過程。在完成對FLASH的第一平面加載后,第一平面的指定頁面進入自動編程時間,立即對第二平面進行加載,以此類推。當多個平面完成加載后,第一平面已經(jīng)完成了自動編程操作,再次對第一平面進行加載操作,如此循環(huán)。采用分時加載操作可以保證輸入數(shù)據(jù)被源源不斷地寫入芯片中,最大限度地提高了數(shù)據(jù)的平均寫入速度。如圖3所示為分時加載操作示意圖。
圖2 雙絞線延長傳輸原理Fig.2 Extended twisted-pair transmission principle diagram
圖3 分時加載原理Fig.3 Principle diagram of the time-sharing loading
假設(shè)NANDFLASH的分時加載級數(shù)是n級,分時加載總時間要大于或等于最大編程時間,即:
式中:TLOAD為命令地址數(shù)據(jù)加載時間;TPROG為頁自動編程時間。
分時加載操作模式下的存儲器平均存儲速度為
由表1中4種NANDFLASH的分時加載操作比較可知,交替雙平面編程方式采用了4級分時加載級數(shù),根據(jù)式(1)、式(2)得出平均寫入速度最快達到30 MB/s,使用2片NANDFLASH進行存儲器帶寬擴展,平均存儲速度可達到59 MB/s,即可滿足高速固態(tài)存儲器設(shè)計的要求。
表1 針對NANDFLASH優(yōu)化后的分時加載操作比較Tab.1 In view of the NANDFLASH load operation is optimized
本文使用的NANDFLASH單頁容量為4 KB,根據(jù)自動編程的方式特點將二級緩存FIFO容量設(shè)置為FLASH一頁的大小,2個二級緩存FIFO交替動作分別寫入2片F(xiàn)LASH中。一級緩存FIFO設(shè)置為二級緩存容量的2倍。圖4所示為基于FPGA的二級緩存邏輯示意圖。
圖5所示為基于FPGA的二級緩存的流程圖,利用FPGA內(nèi)部的雙口FIFO資源[5-6],當接口模塊接收到來自彈上的啟動記錄信號,雷達視頻I、Q數(shù)據(jù)及圖像遙測三路數(shù)據(jù)的LVDS解碼信號以60 MB/s通過高速接口送入一級FIFO_8k,當寫入數(shù)據(jù)大于4160字節(jié)后,將一級緩存的數(shù)據(jù)以60 MB/s的速度讀出4096字節(jié)并寫入二級緩存FIFO_4kA中,而FPGA內(nèi)部控制FLASH的模塊判斷到二級緩存的數(shù)據(jù)量大于10字節(jié)后,則以30 MB/s的速度連續(xù)讀取4096個數(shù)據(jù)寫入FLASH A中;再次判斷一級緩存的數(shù)據(jù)是否大于4160字節(jié),若大于則將一級緩存的數(shù)據(jù)以60 MB/s的速度讀出4096字節(jié)并寫入二級緩存FIFO_4 kB中,以同樣的方式將數(shù)據(jù)從二級緩存中讀出并寫入FLASH B中,如此交替,直至數(shù)據(jù)記錄完成。
圖4 基于FPGA的二級緩存邏輯示意Fig.4 Second level cache based on FPGA logic diagram
圖5 基于FPGA的二級緩存流程Fig.5 Second level cache flow chart based on FPGA
采用多線組合邏輯指令控制能有效減少控制線的數(shù)量,簡化硬件電路結(jié)構(gòu),同時能快速實現(xiàn)指令的擴充,方便設(shè)計人員設(shè)計和調(diào)試。
在高速固態(tài)存儲器中,根據(jù)上位機發(fā)出的控制指令,使存儲器實現(xiàn)相應的讀、寫、擦除、復位、停止讀數(shù)等操作,控制指令的可靠性是實現(xiàn)存儲器工作狀態(tài)有效控制的首要問題。為保證指令發(fā)送的可靠性,上位機到存儲器的指令采用并行發(fā)送的方式。指令個數(shù)N與狀態(tài)控制線m需滿足2m>N,高速固態(tài)存儲器共使用6個指令,故使用3條狀態(tài)線(s0,s1,s2)進行組合發(fā)送,在FPGA邏輯控制中使用三線制指令控制器,如圖6所示。具體接口指令定義如表2所示。在對FLASH進行控制時,主要指令包括復位、讀寫、擦除及停止讀數(shù)等控制指令,三線組合能組合不同指令,在不影響存儲系統(tǒng)性能的情況下實現(xiàn)FLASH的可靠控制。
圖6 三線控制器接口封裝圖Fig.6 Three wire controller interface encapsulation
表2 狀態(tài)線組合指令定義Tab.2 Directive defines state line combination
測試臺信號源發(fā)送自加數(shù)送往采編器采編后存入高速固態(tài)存儲器中,圖7、8、9分別為回讀到計算機中的雷達視頻回波I路數(shù)據(jù)、回波Q路數(shù)據(jù)和圖像遙測數(shù)據(jù)及分析報告。存儲單元回讀數(shù)據(jù)符合設(shè)計,數(shù)據(jù)傳輸和存儲過程中幀計數(shù)連續(xù)、未出現(xiàn)丟數(shù)、誤碼等現(xiàn)象。
圖7 雷達視頻回波I路數(shù)據(jù)及分析報告Fig.7 Radar video echo I road data and analysis report
圖8 雷達視頻回波Q路數(shù)據(jù)及分析報告Fig.8 Radar video echo Q road data and analysis report
圖9 雷達圖像遙測數(shù)據(jù)及分析報告Fig.9 Radar image remote sensing data and analysis report
對于高速LVDS傳輸電纜使用了均衡加重措施,提高了傳輸信號的質(zhì)量,減小了信號存儲數(shù)據(jù)的誤碼率;分時加載操作結(jié)合NANDFLASH的結(jié)構(gòu)特點設(shè)計了雙平面交替編程方式,最大程度地提高了平均存儲速度;基于FPGA的二級緩存提高了數(shù)據(jù)的準確性;多線組合指令控制有效減少控制線的數(shù)量,硬件電路結(jié)構(gòu)得到了簡化。通過多種措施的優(yōu)化提高了高速固態(tài)存儲器的平均存儲速度、可靠性和穩(wěn)定性,對于高速存儲記錄器的設(shè)計具有的借鑒作用。
[1]田耘,徐文波.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學出版社,2008.
[2]美國國家半導體LVDS用戶手冊[Z],2008.
[3]The Datasheet of DS15BA101[Z],2007.
[4]王勝,王新宇.LVDS技術(shù)及其在高速系統(tǒng)中的應用[J].遙測遙控,2007,26(4):41-45.
[5]馬游春,張濤,李錦明.FPGA集成FIFO在高過載存儲測試系統(tǒng)中的應用[J].儀器儀表學報,2006,27(6):586-587.
[6]王可恕.模擬集成電路原理與應用[M].北京:電子工業(yè)出版社,2009.