郭 濤,石 帥,原景超,張啟威,常鑫釗
(中北大學 電子測試技術國家重點實驗室, 太原 030051)
我國航天技術的飛速發展,數據存儲一直在其中扮演著重要的角色。隨著數字電子技術、計算機技術等相關科技的高速發展,大量、高速信息已經越來越出現在人們的日常生活當中,使得對數據的存儲提出了更高的要求[1]。
彈上傳感器數據存儲的準確性是影響其精度的主要因素之一。為了解決這一難題,本文設計的存儲設備實現對傳感器模擬信號的采集、處理,采用FPAG作為USB和FLASH的控制中心。模擬信號的采集采用AD7091R,通過FPGA存儲至FLASH中,FLASH采用斷電續存技術,使得傳感器即使突然斷電而不丟失數據,USB負責將存儲的數據上傳至上位機,實現對數據的分析和處理[2]。設備設計遵循小型化、標準化,并且能夠承受外界沖擊較大的載荷,同時實現數據高速存儲[3]。設備通過鋰電池供電,使得設備能夠獨立工作。
設備主要實現即使面對突發情況,傳感器數據仍能準確無誤地存儲到設備中。綜合考慮各種因素,將設備做成圓柱體形狀,底面圓半徑為50 mm,高為60 mm。由于外形尺寸的原因,內部電路板必須小于外形,FPGA采用較小的BGA封裝,AD7091R采用MSOP-10小型封裝,升壓芯片考慮到鋰電池的供電以及封裝等問題采用TPS63002。由于FPGA供電有1.2 V和3.3 V,而且整個設備所用的電源也是3.3 V居多,采用TPS70345電源轉換芯片。
調理電路主要實現信號的跟隨、分壓、跟隨,采用封裝較小的AD823。每次上電設備采集2 h,而AD7901R每200 μs采集1次,2 h的數據量為411.987 M,FLASH采用4G的三星公司NAND型FLASH—K9WBG08U1M芯片[4]。設備總體設計原理如圖1所示。

圖1 設備總體設計原理框圖
1) 供電電路設計
系統由供電鋰電池和USB供電,雙模式供電可以提高設備的可靠性,在數據傳輸的過程中不會因為鋰電池出現問題而影響數據的準確性[5]。
D1和D2用來控制L5V和USB5V其中一個供電,當一個二極管接通后,另外一個就相當于斷開,同時也防止后續電壓倒灌。如圖2所示。電壓通過二極管之后低于5 V,不能正常為電路板供電,因此再通過升壓應芯片將電壓升到5 V,具體如圖3所示。隨后5 V通過TPS70345芯片轉換成3.3 V和1.2 V,為FPGA和其他電路提供電源。

圖2 隔離電路圖

圖3 升壓電路圖
2) USB接口電路設計
USB不僅作為數據上傳上位機的關鍵接口,同時也是為電路板供電的重要電源。考慮到數據量和實際要求,芯片選用FT232H[6],該串口的傳輸速度可以達到480 Mb/s。采用USB接口上傳數據節省了電纜,并且更加便利,使整個設備的通用性增強。USB供電同時也節約了資源,其中C40和C41為USB5V過濾其他電壓,使電路板的供電更加穩定。USB具體電路圖如圖4。

圖4 USB硬件電路圖
3) A/D采集調理電路設計
A/D使用1 Mbps、超低功耗、12位采樣率的AD7091R,采集和轉換過程主要利用CONVST控制,完成轉換需要650 ns。使用外部基準電壓源時,AD7091R從省電模式上電需要100 μs,A/D轉換整個過程需要250 μs[7]。具體電路如圖5所示。傳感器模擬信號電壓高于A/D轉換芯片的工作電壓,在進入A/D轉換之前,需要調理。模擬信號的調理應用AD823實現電壓的跟隨、分壓、跟隨,使得信號更加準確。調理電路如圖6所示。
斷電續存技術是指在傳感器存儲設備上電后開始采集數據和存儲數據過程中,如果遇到突發情況設備突然斷電,重啟后再次上電,設備可以從上次采集數據結束的地方再次進行數據存儲,這樣使得設備的可靠性更高,令設備可以在更加復雜的環境中使用。存儲的過程中采用interleave two-plane page program的操作方式[8],使得存儲速度可以匹配A/D采集的速率。

圖5 AD7091R采集電路圖

圖6 調理電路圖
根據FLASH制備的特質,每一個FLASH斷電在斷點出會出現一組FF塊,只需存儲過程中再次檢測到這個FF塊,之后以這個FF塊為開始存儲的地址繼續存儲數據就能夠實現斷電續存的功能,這樣可以確保傳感器數據的完整性。其中檢測FF塊流程如7所示。
先寫入chip1的plane0的block0的第0頁,接著再寫入chip1的plane1的block1的第0頁,當再一次回到chip1的plane0時,已經過了25 ns×4 096×7=716.8 μs,大于tPROG的最大值700 μs,所以不會影響到再一次操作chip1的plane0的block0。這種方式避免了編程時間tPROG對存儲速度的影響,理論上可以達到40 MB/s的寫入速度,足以滿足A/D采集的速度。
設備上電由FPGA控制,FPGA根據傳感器的工作情況進行供電。設備上電之后,首先啟動AD7091R進行A/D轉換。CONVST從高電平變成低電平后,開始啟動A/D轉換。數據在SCLK和CS的控制下輸出器件。DB10到DB0是根據SCLK的下降沿輸出數據,在完成最后一個數據輸出之后,SDO返回高阻態。全部數據輸出之后,SCLK為空閑低電平,確保數據準確性,整個過程需要650 ns。具體邏輯如圖8所示。如果在進行轉換時,再將CONVST拉低,重復上述周期。

圖7 斷電續存流程框圖
設備上電后,開始采集傳感器信號,一段時間之后再斷電。斷電2 min之后再上電,分析采集回的數據,通過判斷幀尾“EB90”和幀計數,確定數據準確無誤,數據如圖9所示。測試設備的存儲速度達到30.72 MB/s,實現了數據的快速存儲和實時存儲。

圖8 AD7091R邏輯示意圖

圖9 采集的數據頁面
設備實現了預期功能,解決了因斷電導致設備采集數據不準確的問題,而且設備存儲速度快,能夠實時存儲數據。同時,設備的整體尺寸特別小,使整個設備更加小型化、集成化。設備可以應用于采集時間長、存儲速度快、數據量大的傳感器采集系統上。