喬 銳翟成瑞*張彥軍
(1.中北大學(xué)電子測試重點實驗室太原,山西太原 030051;2.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西太原 030051)
目前,航天技術(shù)日新月異地改變,面對不同無法預(yù)料的航天情況,數(shù)據(jù)的存儲依然起著至關(guān)重要的作用[1]。所以高速高可靠性數(shù)據(jù)傳輸和存儲是非常重要的。然而,傳統(tǒng)的接口技術(shù)都難以滿足現(xiàn)在要求的數(shù)據(jù)傳輸速度。
LVDS 接口技術(shù)結(jié)合PCM 數(shù)據(jù)混合編碼的方式,不僅能夠加快數(shù)據(jù)的傳輸速度,還使得數(shù)據(jù)存儲也穩(wěn)定可靠;加上使用大容量的FLSAH,可以讓系統(tǒng)存儲更多的數(shù)據(jù)。LVDS 是具有極高效率的數(shù)據(jù)傳輸技術(shù),是可以滿足高速傳輸速率和遠距離傳輸?shù)牡蛪翰罘中盘?,它的理論傳輸速度可達1.923 Gb/s,能滿足高速數(shù)據(jù)傳輸[2]。
存儲設(shè)備系統(tǒng)主要由采集模塊、數(shù)據(jù)傳輸模塊、供電模塊組成。采集部分的信號輸入分別為起飛信號、沖擊信號、噪聲信號等,其中沖擊信號和噪聲信號是模擬信號共有6 路,需要經(jīng)過AD 模數(shù)轉(zhuǎn)換在傳到FPGA,起飛信號是數(shù)字量信號,可以直接被FPGA 接收,因此采用PCM 混合編幀的方式同時將模擬量和數(shù)字量遞送FPGA,內(nèi)部FIFO 對數(shù)據(jù)進行緩存。數(shù)據(jù)傳輸模塊主要控制數(shù)據(jù)的存儲和輸入輸出操作,F(xiàn)PGA 調(diào)取內(nèi)部FIFO 的數(shù)據(jù)存儲至FLASH存儲芯片,采用LVDS 接口技術(shù)與地面設(shè)備互相通信。供電模塊實現(xiàn)系統(tǒng)所需電壓的轉(zhuǎn)換,保證各部分的正常工作。系統(tǒng)工作框圖如圖1 所示。
圖1 總體設(shè)計系統(tǒng)圖
LVDS(Low Voltage Differential Signaling),也就是低壓差分信號傳輸,是一種滿足當(dāng)今高性能數(shù)據(jù)傳輸?shù)男滦图夹g(shù)[3]。該技術(shù)的核心是采用極低的電壓擺幅高速差動傳輸數(shù)據(jù),可以實現(xiàn)點對點,或者一點對多點傳輸。最重要的是它具有低功耗和很低誤碼率的優(yōu)點,而且還有低串?dāng)_以及低輻射特點[4]。它在對信號要求較高的系統(tǒng)中會有更佳的應(yīng)用。LVDS 主要參數(shù)如表1,從下表能夠知道,LVDS 的傳輸速度可以達到百Mbps[5],甚至更高。
表1 LVDS 主要參數(shù)
LVDS 接口收發(fā)電路主要采用的芯片組為DS92LV1023/DS92LV1224,加入串行數(shù)字電纜驅(qū)動器CLC001 可以將發(fā)送端輸出的差分電壓提升。自適應(yīng)電纜均衡器CLC014 加入到接收電路中,可以進行多級自適應(yīng)濾波[6],圖2 是LVDS 發(fā)送數(shù)據(jù)接口電路,圖3 是LVDS 接收數(shù)據(jù)接口電路。
DS92LV1023 將接收來源于FPGA 的并行數(shù)據(jù)信號,并將其轉(zhuǎn)成串行數(shù)據(jù)輸出到串行數(shù)字電纜驅(qū)動器CLC001 提高信號傳輸質(zhì)量[7]。電路中加入上拉電阻,可以起到限制電流作用。LVDS 信號通過線纜連接傳輸?shù)阶赃m應(yīng)電纜均衡器CLC014 均衡。CLC014 具有低功耗和低抖動性的性能,內(nèi)部含有自適應(yīng)濾波器,差分信號輸入后會進行濾波,并對信號進行恢復(fù);恢復(fù)后的信號傳輸至驅(qū)動部分以產(chǎn)生自動平衡信號,該信號用來反饋設(shè)置自適應(yīng)濾波器的寬帶以及增益,內(nèi)部載波模塊產(chǎn)生檢測信號發(fā)送給輸出驅(qū)動模塊,以彌補傳輸過程中信號的損失,最后DS92LV1224 解碼器將傳輸回來的串行數(shù)據(jù)轉(zhuǎn)成并行數(shù)據(jù)[8]。同時,利用數(shù)據(jù)與時鐘恢復(fù)技術(shù)建立并行數(shù)據(jù)的時鐘,接收并行數(shù)據(jù)。
圖2 LVDS 發(fā)送數(shù)據(jù)接口電路
圖3 LVDS 接收數(shù)據(jù)接口電路
數(shù)據(jù)存儲模塊完成FLASH 存儲芯片的讀、寫和擦除操作。核心芯片選用三星公司生產(chǎn)的FLASH 存儲芯片K9WBG08U1M,該存儲芯片共有16 384 個存儲塊,每個存儲塊有64 個存儲頁,每頁可以存儲4 096 byte,整個存儲芯片存儲容量為4 GB,頁編程時間為200 μs,塊擦除時間為1.5 ms[9]。對該芯片的存儲和讀取過程均需通過FPGA 內(nèi)部FIFO 進行數(shù)據(jù)緩存以匹配數(shù)據(jù)傳輸速度。ADC 轉(zhuǎn)換數(shù)據(jù)寫FLASH 存儲芯片時,先對轉(zhuǎn)換數(shù)據(jù)進行編幀,即每幀數(shù)據(jù)中加入幀標(biāo)志和幀計數(shù)組成存儲數(shù)據(jù),再將存儲數(shù)據(jù)緩存至內(nèi)部寫FIFO 模塊,然后將FIFO 中數(shù)據(jù)按照FLASH 地址依次寫入FLASH 存儲芯片。讀取FLASH 芯片中存儲數(shù)據(jù)時,則需要按照FLASH 地址將存儲數(shù)據(jù)讀取至內(nèi)部讀FIFO 模塊,再將FIFO 數(shù)據(jù)輸出至數(shù)據(jù)傳輸模塊。具體結(jié)構(gòu)如圖4 所示。
當(dāng)然,F(xiàn)LASH 在擦除、編程和讀取的這一過程里,就是周期地址的不斷編寫;5 個周期地址,2 個周期列地址和3 個周期行地址在FLASH 中的地址定義如表2 所示。
圖4 FLASH 內(nèi)部結(jié)構(gòu)
表2
FLASH 存儲器收到來自FLASH 控制模塊的指令,會根據(jù)優(yōu)先級為擦除、寫入、讀取進行操作[10]。無效塊是存儲器中不能進行操作的。在NANDFLASH 芯片出廠的時候,無效塊的位置就被隨機分布在每個塊第一頁的空閑首字節(jié)上,假如它的地址數(shù)據(jù)為00h,就會認(rèn)定為無效塊。無效塊管理就是要檢測新舊無效塊,保證存儲器正常工作。
為了提高FLASH 寫入的有效速率,縮短等待時間,提高編程的速度,擬采用雙平面交叉編程,結(jié)合流水線操作以便能夠很好的提升設(shè)備存儲速度。存儲芯片K9WBG08U1M 內(nèi)部集成2 個互不干擾的存儲空間,一共8 個plan 分為4 組,為雙平面交叉編程提供基礎(chǔ)。利用芯片內(nèi)部不同平面可以單獨進行操作的特性,連續(xù)循環(huán)對各組進行數(shù)據(jù)加載和頁編程操作,即可大幅度提高存儲速度。雙平面交叉編程操作流程圖,如圖6 所示。
圖5 FLASH 寫入流程圖
圖6 雙平面交叉編程操作流程圖
實驗結(jié)果驗證方面主要考慮實際環(huán)境中可能出現(xiàn)的影響實驗數(shù)據(jù)的各種惡劣條件。使用信號發(fā)生器模擬產(chǎn)生起飛信號、沖擊信號和噪聲信號,對地面的讀數(shù)裝置采取高低溫、振動、老煉等方法進行測試。測量過程中在300 ms 時間內(nèi)讀取了1.8 G 的數(shù)據(jù);存儲數(shù)據(jù)用了59 s。使用HexEdit 軟件進行結(jié)果觀察,如圖7 所示。結(jié)果分析表明,數(shù)據(jù)傳輸完全正確,不存在丟幀或者誤碼的現(xiàn)象。經(jīng)過后續(xù)多次測試,模塊在傳輸過程中出現(xiàn)丟幀現(xiàn)象的幾率非常低,符合規(guī)定的誤差范圍,充分驗證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
圖7 混合編碼的數(shù)據(jù)