鐵玉峰 吉小軍 吳建銘 練 達 王李寧 王嘉靖 胡雄超
(1.上海交通大學 電子信息與電氣工程學院儀器科學與工程系,上海 200240;2.上海航天控制技術研究所,上海 201109)
系統通過同步測量采集三個傳感器的加速度信號并利用計算機解算得到完整的衛星的振動狀態。
根據測控和處理需求,三個角加速度傳感器由三個支持觸發控制的ADC同步采集,根據傳感器性能指標采樣率設置為2kHz[7]。系統以FPGA為控制中心,進行ADC同步采集控制。1553B總線為星上計算機與所有設備的接口,連接眾多子系統設備,以2kHz采樣率采集的數據不能實時通過總線發送到上位計算機,需要先緩存在本地,根據星載計算機的指令,每隔一定時間間隔將緩存的數據打包通過1553B接口發送給上位機。為提高通信效率,減少對總線的占用時間,設計中利用FPGA控制兩片SRAM作為本地的數據緩存空間,且數據緩存需采用冗余模式設計,以保證數據的安全可靠。1553B總線接口使用BU61580總線橋接芯片進行設計開發,采用適用于大量數據傳輸的循環緩沖模式進行采集數據的上傳。設計的總體方案如圖1所示。

圖1 系統實施的方案框圖
系統設計中AD同步采集由FPGA控制,根據采樣率和帶寬要求,需要ADC具備高采樣率,支持自校準功能,同時具備同步采樣控制功能,因此ADC芯片采用ADI公司電容陣列逐次比較型AD677TD/833,是基于開關電容/電荷再分配架構,使其轉換速率最高達100kSPS,16位串行輸出,片內自動校準功能可對內部非線性進行數字校正,積分非線性(INL)±1LSB,模擬電源與數字電源分離,且提供獨立的模擬地與數字地,以減少數字串擾。ADC的轉換結果暫存于SRAM,根據3通道數據+狀態信息的需求,每個采樣周期的數據為8×16bit,以采樣率2 kHz,讀數周期0.1s來計算,每周數周期內讀取200組數據,緩存空間的最小需求為8×200=1600個地址,即緩存容量需求為1.6k×16bit,基于滿足空間環境工作的性能要求,以及后續冗余設計的需求,SRAM采用3DPLUS公司3D SR16M16CS4512型內存,高速高集成度的SRAM,單5V供電,接口兼容TTL電平,在靜態運行時無需時鐘或刷新支持三態輸出。數據在接到上位機指令后將前一通信周期存儲的數據通過總線傳送給上位機,在這期間要保證數據的連續與可靠。由于采用單端口SRAM,為保證數據快速讀/寫的連續性,采用兩片SRAM通過乒乓操作實現存儲的切換。
乒乓操作作為一種常用的數據處理方法[8],在SRAM接口處設計一個數據寫入選擇器和一個數據讀取選擇器;在第一個周期,采樣數據存儲到RAM1;在第二個周期開始時,切換選擇器,采樣數據存儲到RAM2,從RAM1讀取第一個周期的數據輸出;在第三個周期開始時,切換選擇器,采樣數據存儲到RAM1,從RAM2讀取數第二個周期的數據輸出;連續循環下去。設計操作的核心是通過寫入選擇器與讀取選擇器,根據設定的工作周期切換,將數據進行緩存后,通過總線傳送給上位機進行處理,如圖2所示。

圖2 乒乓操作示意圖
系統服務于在軌衛星,運行時會受到宇宙射線、地球輻射帶、太陽風和極光輻射等,微電子器件在受到輻射后會產生多種輻射效應。對電子系統而言,單粒子翻轉效應(Single Event Upset,SEU)對SRAM影響最大[9]。由于緩存采用SRAM,受單粒子翻轉效應SEU的影響最大;常規基于SRAM架構的現場可編程門陣列(Field Programmable Gate Array,FPGA)對于帶電粒子輻射也特別敏感,因此需要進行抗輻射的針對性設計。一般有效的抗SEU的方法大致可以分為三種:電荷補充技術、EDAC(Error Detection And Correction,錯誤檢測與糾正)技術、冗余技術,電荷補充技術應用相對較少,主要是采用EDAC技術和冗余技術。
EDAC技術[10],寫入數據前在原始數據中按照一定的規則加入不同的冗余碼,再存儲到RAM內,讀取數據的同時識別多余的冗余碼并加以邏輯判斷,以此發現數據錯誤并加以糾正。EDAC有多種編碼方式,但對錯誤的糾正能力不足。例如漢明碼具備糾正一個碼字中的任何一位錯誤的能力,也能檢測出兩位錯誤,但是錯誤位數大于兩位時,則不具有檢錯和糾錯能力。
探索基于微課的計算機課程實踐教學模式,規范和加強實踐教學管理,提高實踐教學質量。著力培養勤于實踐探索、善于反思總結、樂于奉獻的科研型實踐學生,從而提高整體實踐教學水平,推進學校的計算機課程實踐教學改革。
針對此問題,SRAM的抗SEU采用TMR(Triple Modular Redundancy,三模冗余)技術[11],對存入SRAM的數據進行存三取二冗余。這是常見的冗余技術,將所需要容錯的硬件單元增到三倍并將各個單元的輸出連接至一個表決器上,將表決器選擇全部的硬件單元中大多數的輸出值當做整體的輸出值。TMR技術是一個使用很廣泛的SEU容錯技術,其能大幅提高SRAM和FPGA在SEU影響下的可靠性。同時,針對不同可靠性的要求還可以擴充為五模冗余、七模冗余等多模冗余方法,且其可靠性正比于冗余模數。
根據計算,本次設計0.1s通信間隔,緩存數據量1.6k×16bit,總量較小,采用的存儲器可滿足數據三倍存儲所需的容量,因此采用存三取二的冗余設計模式:在寫入數據時,將同一數據復制并存入SRAM的3個不同的BNAK區域,每個BANK存入的數據相同;在讀取數據時,將3個BNAK的數據分別讀出,對讀出的3個數據進行三取二按位比較。經表決判斷后輸出,工作模式如圖3所示。

圖3 經表決判斷后輸出的工作模式框圖
為保證系統的容錯性,表決器采用按位表決的模式,16位數據的每一位分開表決。項目實現中為節省FPGA資源,在開發中將存三模塊整合到乒乓操作模塊的數據寫入選擇器,將數據表決器整合到乒乓操作模塊的數據讀取選擇器,這種設計有效減少了占用的FPGA資源,如圖4所示。

圖4 緩存原理框圖
在SRAM上應用TMR,有效解決了EDAC技術不能檢錯和糾錯多位錯誤的能力,但是若在FPGA上應用TMR,需要額外的模塊與布線,會占用龐大的面積開銷,硬件資源消耗大,功耗增加,同時工作速度也受到影響。因此FPGA設計采用原ACTEL公司(已被Microsemi收購)的ProASIC3系列A3P1000-CQ208B型FPGA,該FPGA基于FLASH結構,可重復擦除,無須配置芯片,穩定性高,具有固件免疫能力,且高能量的α粒子和中子和撞擊器件無影響,將SEU對FPGA的影響降到了最低。
采集系統與星上計算機通過MIL-STD-1553總線(簡稱為1553B總線)連接,是飛機內部時分制命令/響應式多路復用數據總線[12]。20世紀70年代由美國公布的一種串行多路數據總線標準,1553B是該總線的第2個版本,已經廣泛地應用于飛機的綜合航電系統及外掛物管理與集成系統,且已逐步拓展到飛控等系統以及航天、坦克、艦船等多個領域。我國也在1987年頒布了相應的軍標。1553B總線的實時性好,完整性高,運行高效,具有命令/響應和“廣播”通訊方式。
主控計算機為BC(主控),采集系統為RT(遠程終端),根據數據緩存采樣幀頭+數據+校驗的需求計算,最高數據量為2k×8×16 bit=0.256 Mb,理論占用總線時間為(0.256 Mb÷1 Mb/s)×(10/8)=32%。
為降低系統的設計工作量,1553B總線協議部分采用專用協議芯片完成,選用美國DDC公司為MIL-STD-1553B標準設計的接口協議芯片BU61580,這是常用的微處理器到1553B總線信號轉換的接口協議芯片,具有BC/RT/MT一體化設計、單電源、電磁兼容性滿足軍標等特點,是當前1553B總線應用系統中流行的器件,內部功能強、接口靈活、便于控制。因數據采集系統的工作特性,除從上位機接收少量的指令信息外,大量數據為上傳模式。因BU61580的中間緩存區有限,因此在接口設計上需使用BU61580的循環緩存模式進行傳送,有效降低了FPGA邏輯的復雜度。
1553B總線的RT子地址由寄存器配置,在啟動/復位后對BU61580配置順序如圖5所示。

圖5 1553B總線配置流程圖
FPGA為采集系統的控制核心,ADC啟動后的校準與信號采集控制、數據讀取,計數/計時,SRAM數據緩存及冗余校驗等功能均由FPGA控制完成;同時為實現通過BU61580經1553B與主控機通信,FPGA還需在采集系統啟動時完成對BU61580的配置以及通信接口控制。
在接口電路FPGA開發過程中,芯片選型為ACTEL公司的A3P1000型FPGA芯片,相應開發軟件選擇ACTEL公司的Libero SoC v11.8,該軟件在Windows 7操作系統環境下運行。在Libero SoC v11.8平臺軟件中,嵌入了邏輯綜合軟件Synplify、邏輯仿真軟件ModelSim,FPGA在完成編譯,在Designer中進行編譯、布局布線,并生成下載文件軟件。采集系統的采樣、存儲、通信由FPGA控制,采用VHDL語言編程設計。
設計中采用的庫如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
FPGA程序設計采用超高速集成電路硬件描述語言VHDL(Very-High-Speed Integrated Circuit Hardware Description Language),根據系統的工作原理梳理功能,結合工作流程進行功能分解,明確邏輯接口,將程序劃分為6個邏輯模塊,各模塊功能如下:主控模塊負責初始化控制,解析上位機指令內容,向各模塊發送工作指令;采集控制模塊根據主控模塊指令控制采樣,并將采集的數據整理后存入SRAM;ADC模塊負責ADC初始化校準控制、采樣轉換控制、AD數據讀取;SRAM模塊負責2片SRAM接口邏輯,讀寫切換,數據校驗;1553B模塊負責BU61580控制,數據收發,從SRAM讀取數據。FPGA內部各邏輯模塊劃分與連接如圖6所示。

圖6 FPGA邏輯設計框圖
基于在Libero SoC v11.8平臺軟件中采用VHDL語言完成FPGA程序設計,包括采集系統的采樣、存儲、通信由FPGA控制。在Designer中完成綜合與布局布線,經仿真驗證確認功能正常后進行集成測試。系統仿真結果如圖7所示,在上電復位后,完成了1553B總線初始化,從1553B總線接到指令后,進行了1次數據采集并將SRAM中的數據通過1553B總發發送到上位機。

圖7 FPGA程序仿真圖
為驗證SRAM的TMR冗余設計有效性,模擬故障注入進行仿真,在SRAM讀操作的3個數據中加入了錯誤數據,讀取的3個數據中有1個數據與另外2個不同。經仿真驗證,TMR表決器可有效糾正數據錯誤,輸出正確的數據,保證系統可靠運行。如圖8所示,截取了仿真中的1次數據讀取過程,從SRAM地址0x497B讀取數據,依次從SRAM的3個數據塊中讀出數據為0xB749、0xB649、0xB749,對數據進行3取2處理,表決器輸出數據為0xB749。

圖8 TMR數據校正功能仿真圖
為驗證采集系統的設計及期功能和性能滿足在星載系統中的需求,在設計完成后,制造了一套采集系統的樣機電路如圖9所示。

圖9 采集系統樣機電路實物圖
基于此樣機,驗證采集系統的功能、性能,為此搭建了一套測試環境模擬工作狀態:在星載主控計算機的控制下,同步采集角加速度傳感器的信號,并通過1553B總線上傳到星載計算機,所使用的角隨機顫振傳感器原理樣機如圖10所示[7]。

圖10 角隨機顫振傳感器原理樣機實物圖
測試環境配置包括:1套測試計算機并安裝星載主控計算機環境,用于模擬星載計算機主控;3支MHD角隨機顫振傳感器,信號接入采集系統;1套基于BU67210F2的BusTrACEr總線監視器,進行1553B總線通信的測試與監測;計算機、采集系統及總線監視器接入1553B總線。測試方案如圖11所示,全面驗證了傳感器信號采集、緩存及1553B總線數據通信。

圖11 測試環境方案框圖
通過計算機控制采集系統,數據格式見表1。模擬正常2kHz采樣率對3個傳感器通道的信號進行同步采集,并通過1553B總線每間隔0.1s獲取采

表1 采集系統數據格式Tab.1 Data format of the acquisition system數據類型上位機地址數據原始數據磁流體數據幀頭TMK2703113904-73磁流體第1組時基脈沖計數TMK2705178406-F8磁流體第1組時測量沖計數(高字)TMK27071100-0B磁流體第1組時測量沖計數(低字)TMK2709157473D-83磁流體第1組通道1采樣數據TMK2711100-01磁流體第1組通道2采樣數據TMK2713-14FF-F2磁流體第1組通道3采樣數據TMK2715-5FF-FB磁流體第1組數據狀態TMK271788303-73
集的振動信號數據,同時通過總線監視器檢查1553B總線的數據。通過對采集的傳感器數據進行讀取,所得數據格式見,證明驗采集功能及數據通信正常;為驗證采集系統性能是否達到采樣率2kHz,精度達到0.05%的性能需求,對數據進行整理,確認采樣率、數據精度達標,截取數據如圖12所示,橫坐標為采樣時間,縱坐標為誤差。經驗證,確認采集系統的功能與性能滿足設計需求。

圖12 采集傳感器數據圖
通常通過輻射實驗或故障注入的手段來實現抗SEU措施有效性的驗證。因輻射實驗成本較高,周期較長,且目前國內能實現模擬單粒子轟擊的平臺數量較少;而故障注入方式的成本低、周期短,且可測試性高,成為了評估SEU緩解措施有效性的重要手段。在FPGA仿真數據中,進行了專門的故障注入仿真,SRAM讀操作的3個數據中有1個錯誤數據與另2個數據不同,根據仿真結果,可以有效剔除錯誤數據,保證系統可靠運行。
本文基于FPGA和1553B總線的架構,設計了用于在軌衛星高精度角顫振測量信息的數據采集系統,針對測量信息的采集處理需求以及星載設備在軌應用環境的要求,通過SRAM的TMR冗余,規避SRAM型FPGA的使用提高了系統可靠性,并通過樣機及試驗驗證了系統的功能。