杜文略 ,張亮紅 ,沈三民 ,劉文怡
(1.中北大學 儀器科學與動態測試教育部重點實驗室,太原 030051;2.中北大學 電子測試技術重點實驗室,太原 030051)
在航空航天領域,遙測系統是航天測控通信系統的重要分系統。遙測系統擔負著“近測遠傳”的任務,即在彈箭、飛船、衛星等飛行器上安裝儀器,就近測量飛行器的相關參數,并通過傳輸媒介將參數傳遞到地面接收站。飛行器的測量參數包括模擬量參數、數字量參數、開關量參數,這3類參數統稱為遙測參數。對于驗證飛行器的設計參數、故障診斷、故障隔離以及飛行器遙控調姿等功能的實現,遙測數據提供了重要的參考依據。
本設計來源于某飛行器“遙測數據存儲設備研制”項目,通過對多路遙測系統參數采集、傳輸、混合編碼、存儲等關鍵技術的研究,設計出一種能夠同步采集3路沖擊信號、1路RS-422 PCM信號以及1路LVDS高速圖像信號的數據記錄器。本數據記錄器的設計原理、設計過程及測試結果對相關設計具有一定參考意義[1]。
數據記錄器由電源板和主控板組成,其結構框圖如圖1所示。其中,+28 V由外部系統提供,電源板將28 V電壓濾波后轉換成5 V電壓提供給主控板;主控板負責具體的參數采集、編碼和存儲任務。

圖1 系統總體結構Fig.1 Overall structure of the system
主控板以FPGA為控制核心,接收LVDS接口傳輸的LVDS圖像數據、RS232傳輸過來的碼同步信號和PCM數據、AD轉換后的3路沖擊信號以及啟動信號、地面命令等數據,再將數據在FPGA內編碼后存入NAND Flash芯片,同時可以將測試數據通過LVDS傳輸接口傳輸到上位機進行分析[2]。
3路沖擊信號為0~5 V的模擬量電壓信號,所以要經過調理及AD采集電路將其轉換為數字信號傳輸給FPGA。要求單路采樣率不小于40 Hz,采樣精度16位。本設計選用TI公司的16位模數轉換芯片ADS8365,它采用單端+5 V供電、6通道同步采樣、差分輸入,具有高性能、低功耗等特點,當參考時鐘最高為5 MHz時,該芯片的轉換時間為3.2 μs,此時的采樣率為最高的250 kHz,完全滿足設計要求。ADS8365的應用電路如圖2所示。

圖2 AD8365采集電路Fig.2 AD8365 acquisition circuit
ADS8365的模擬信號輸入端有2種驅動方式:單端輸入和差分輸入。沖擊信號由OPA4340跟隨調理后,電壓范圍仍為0~5 V,為簡化電路設計,沖擊信號采用單端輸入方式。選用CHB1、CHC0和CHC1這3對管腳作為沖擊信號的輸入端,此時每對管腳負端輸入電壓 (VCHX-)等于共模電壓(VCM)。 輸出參考電壓 REFOUT(Pin61)與輸入參考電壓 REFIN(Pin62)短接,設置輸入端參考電壓為VREF=+2.5 V,此時CHX+的電壓輸入范圍為-VREF+VCM~+VREF+VCM[3]。
數據記錄器接收地面測試設備發送的1路PCM數據,傳輸方式為RS-422差分同步傳輸。DS26C32是低功耗CMOS器件,具有噪聲容限寬、靜態功耗小等特點。在實際電路設計中要注意2個問題:(1)考慮終端阻抗匹配。傳輸線的源端和終端阻抗不匹配會產生反射,引發信號震蕩、階梯效應等問題,影響信號傳輸效果。數據記錄器與地面測試設備之間的傳輸介質為6類雙絞線,根據其阻抗特性,在接收端選用100 Ω電阻作為終端匹配電阻,并以并聯方式接入電路;(2)不用的輸入管腳要接地。DS26C32是CMOS器件,而CMOS器件是電壓控制器件,輸入阻抗高,懸空的管腳易受外界噪聲干擾造成器件邏輯錯誤或者柵極感應靜電擊穿損壞器件。在本設計中,DS26C32的不用的差分輸入管腳通過一個4.7 k下拉電阻接地。PCM碼流接收電路如圖3所示[4]。

圖3 PCM數據接收電路Fig.3 PCM data receiving circuit
LVDS傳輸接口采用低壓差分信號進行傳輸,具有抗干擾能力強、傳輸速度快等優點。根據技術參數要求,數據記錄器采用LVDS解串器SN65LV1224B來進行LVDS圖像數據的接收。SN65LV1224B是一個并行總線10位的LVDS解串器,系統時鐘范圍10 MHz~66 MHz,兼容 DS92LV1023。 設計使用均衡器DS10BR150來改善這些情況。
DS10BR150是TI公司推出的一款單通道、高速LVDS均衡器,輸入兼容LVDS、CML和LVPECL 3種邏輯電平,輸出為LVDS電平,芯片內置了1個100 Ω終端電阻,降低輸入輸出的回波損耗,同時也減小了布板空間。LVDS圖像數據接收電路如圖4所示。

圖4 LVDS圖像數據接收電路Fig.4 LVDS image data receiving circuit
設計選用SAMSUNG公司推出的4 GB NAND Flash存儲芯片K9WBG08U1M。K9WBG08U1M存儲空間為4 GB,內部由2片完全相同的存儲陣列K9KAG08U0M組成,每片2 GB,片選通過片選信號CE1和CE2選定。每片由8192塊組成,每塊包含64頁,每頁存儲空間為4 KB+128 B,其中4 KB用來存放數據,128 B用于存放壞塊標志、ECC碼等狀態信息。
在該存儲芯片內部,塊是按照一定的規律排列的。塊地址映射如圖5所示,從圖中可以看出,存儲芯片中2片K9KAG08U0M具有相同的塊地址映射,因此對這2片K9KAG08U0M中的塊尋址還要使能片選信號CE1或CE2。每一片K9KAG08U0M中有8192個塊,這8192個塊按照地址被分為4個平面(Plane),每個平面有2048個塊,這4個平面又被分為2個組,第0平面和第1平面為一組,第2平面和第3平面為另一組,每個組包括4096個塊[5]。

圖5 K9WBG0U1M塊地址映射Fig.5 K9WBG0U1M block address mapping
表1是存儲芯片的管腳定義,其中I/O 0~I/O 7為命令總線、地址總線和數據總線復用端口,當對芯片進行操作時,需要FPGA設置CLE或ALE信號,才能讓Flash正確識別I/O端口數據屬性。K9KAG08U0M容量為2 GB,尋址空間為13位列地址×19位行地址。列尋址可以確定字節位置,行尋址可以確定頁位置,這個尋址方式可以確定一個字節在整個存儲空間的位置。向Flash寫入地址需要2個寫循環,寫入行地址需要3個寫循環,無論是寫入列地址還是行地址,在最后一個寫循環,有效地址位數總不夠8位,無效的地址位必須為低電平。

表1 K9WBG08U1M引腳功能表Tab.1 K9WBG08U1M pin function table
記錄器的存儲區容量為8 GB,要使用2片K9WBG08U1M存儲芯片。為了節約FPGA管腳資源以及緊湊化設計,設計選用2片4 G存儲芯片串行擴展為8 G存儲器,擴展結構示意如圖6所示。在一片K9WBG08U1M連接到FPGA的基礎上,另一片K9WBG08U1M只把2個片選信號連接到FPGA,其他信號與第一片共用。

圖6 存儲容量擴展示意Fig.6 Expansion of storage capacity
ADS8365有 6個模擬信號輸入通道,分為CH A、CH B和CH C 3組,每組各有1個控制信號HOLDA、HOLDB及HOLDC,控制信號置高時啟動對應組模數轉換。模數轉化值輸出有Address模式、Cycle模式和FIFO模式3種,A2 A1 A0是模式控制管腳。設計采用Cycle輸出模式,即A2 A1 A0=110,此時芯片循環把CH A0到CH C1通道的模數轉換值放到輸出寄存器中以供外部FPGA邏輯讀取。需要注意的是,盡管模擬輸入只占用了3個模擬通道,由于采用Cycle模式,每個循環FPGA邏輯仍需要依次讀取每個通道的模數轉換值。模數轉化時序如圖7所示。

圖7 AD轉換時序Fig.7 AD conversion timing diagram
在T1時間里,將HOLDX和CS信號拉低,開始本次數模轉換;T2為數模轉換時間,在T2末期EOC信號出現了3個低電平,表示全部數模轉換完成;外部邏輯在T3時間里,按照Cycle模式要求,在讀時鐘下降沿依次讀取6個通道的電壓值;在T4時間里,對采集到的數據進行編碼,并存入FIFO中。
接收的單幅圖像數據幀格式為320×512,幀速率20 ms/幀,幀數量不大于500幀,SN65LV1224B的同步時鐘為12 MHz,并行10位輸出,圖像數據接收時序如圖8所示。由幀格式可知,20 ms產生一幀圖像數據,大小為160 KB,LVDS接口傳輸160 KB的數據需要時間為16.38 ms,這表明圖像數據不能在整個傳輸過程中一直保持滿負荷傳輸狀態。而在使用LVDS接口進行數據傳輸時,需要實時進行數據同步,因此LVDS數據發送端在圖像數據傳輸的間隙填充了無效數據(0100000000),以滿足對數據同步的要求。

圖8 圖像數據接收時序Fig.8 Time sequence of image data
LVDS圖像數據傳輸的約定為SN65LV1224B輸出的高2位表示狀態信息,低8位是數據。當狀態信息是01、10或者11時,表示當前接收到的是有效圖像數據,并存入對應的FIFO中,如果是00,表示當前接收到的是無效數據,不予處理。
K9WBG08U1M有4種頁編程方法:單平面頁編程、交錯單平面頁編程、雙平面頁編程和交錯雙平面頁編程技術。其中交錯雙平面的頁編程速度最快,理論值達到14.8 MB/s,為提高速率一般采用并行和流水線2種技術。并行技術實現了記錄速度提升,但是增加了不必要的存儲空間和主控芯片的I/O資源,同時也相應增大記錄器體積。因此本設計使用片外流水線存儲技術,利用片選CE信號增加一級流水,實現寫入速度的提高。
片外流水頁編程方式時序和流程分別如圖9和圖10所示。存儲芯片的8個平面分成4個組,當第一組完成數據的加載,進行編程操作時,開始加載第二組數據,以此類推,完成4組數據的加載。后續3個組的加載時間填補了第一組的編程時間,從而提高了寫入速度。

圖9 片外級流水數據時序Fig.9 Time sequence diagram of the off stage flow data

圖10 片外級流水數據流程Fig.10 Flow chart of the outer stage flow

圖11 CE信號Fig.11 CE signal
圖11中信號為CE1信號,低電平寬度表示CE1片選時間tCE1=1.35 ms,由于片選信號在CE1和CE2之間切換,所以高電平時間表示CE2片選時間tCE2=1.35 ms。從片選信號時間角度,一個頁編程循環時間為tWCof 8 pages=tCE1+tCE2=2.7 ms。圖12中上方為RB1信號,下方為RB2信號,以RB1為參考對象,RB1的一個周期代表一個頁編程循環時間,圖中用已經標出一個RB1的周期tRB1of cycle=2.7 ms,因此tWCof 8 pages=tRB1of cycle。從而驗證了流水線存儲技術的正確性。

圖12 RB1/RB2信號Fig.12 RB1/RB2 signal
針對某飛行器遙測系統需求,設計了一種基于NAND Flash的彈載高速大容量數據記錄器。根據技術指標要求,提出了數據記錄器的總體設計方案。數據記錄器以XC3S1400AN作為邏輯控制中心、K9WBG08U1M作為存儲芯片,接收上位機命令,采集3路沖擊信號、1路RS-422 PCM碼流、1路LVDS圖像數據,二次編幀后存入8 GB NAND Flash中,最高存儲速度可達19 MB/s,記錄完畢后,通過LVDS接口將數據回傳給上位機。重點介紹了數據記錄器的硬件電路設計、FPGA控制邏輯設計、片外2級流水交錯雙平面技術及FPGA時序驗證技術。該數據記錄器已成功應用于某航天遙測系統中。
[1]馬志剛,劉文怡,凌偉.基于PCI和LVDS的高速數據存儲系統的設計[J].電子技術應用,2014,40(4):80-84.
[2]丁海飛.基于雙平面技術的固態存儲器的設計與實現[D].太原:中北大學,2012.
[3]范旭東,沈三民,劉建梁,等.基于LVDS和68013A的數據控制傳輸系統設計[J].計算機測量與控制,2014,22(6):1950-1953.
[4]S Gregori,A Cabrini,O Khourietal.On-chip correction techniques for new-generationflash memories[J].Proc.of IEEE,2003,91(4):602-616.
[5] 李進,金龍旭,李國寧,等.ECC嵌入BCH碼的NAND閃存糾錯算法[J].哈爾濱工程大學學報,2012,33(11):83-88.