一種基于FPGA的遠程加電系統設計與實現
衛星發射基地測控系統在武器試驗及航天器發射任務中主要承擔目標跟蹤、測量、控制任務。隨著近年來試驗任務呈現常態化、高密度的態勢,對測控設備的遠程操控能力及信息化方面均提出了更高的要求,眾多學者也在進行相關研究。文獻論述了我國航天發射任務的組織體制和指揮模式,提出了我國航天發射場組織指揮模式發展需求。文獻通過加強網絡硬件建設、數據標準化建設和數據環境重建,實現了靶場各陣地間信息的互聯互通。文獻探討了新型遠程監控模式,初步設計了物理結構、監控體制和信息交換方式,文獻分析了新一代測控站遠程監控系統應具有的優勢及特點,并探討了適合我國國情的測控站遠程監控技術。
本文引用地址:http://www.j9360.com/article/201610/308360.htm設備遠程加電是實現遠程操控的基本功能之一。本文主要闡述了集串口收發、狀態異常處理、指令代碼處理和時鐘產生功能于一體的加電控制板設計思路及實現方法,以加電控制板為核心設計加電控制終端,并由加電控制終端、加電控制單元和加電控制軟件形成了遠程加電系統。
1 遠程加電系統設計思想
遠程加電系統主要由位于遠程操控機房的遠控計算機、位于測控設備機房內的加電主控機箱及設備各機柜端的加電單元組成。在遠程控制計算機上運行遠程加電應用軟件,遠程控制計算機通過網絡與控制機箱進行命令交互,向控制機箱發送加電及斷電指令,并控制加電單元進行加斷電動作,同時接收控制機箱上報的各加電單元的加電狀態。加電單元繼電器通過控制機箱24 V輸出電壓控制220 V電源的通斷,從而實現機柜的加斷電功能。遠程加電系統的原理如圖1所示。

2 遠程加電系統設計與實現
2.1 加/斷電交互協議設計
控制板通過專用的RS-232接口芯片經NPORT與控制計算機通信,根據收到的加斷電指令輸出相應的“高、低”電平信號,來控制接口板上的繼電器通斷狀態,使接口板輸出24 V直流信號。接口板主要由繼電器驅動電路、狀態檢測接口電路等組成,根據控制板輸送的控制信號狀態,接通或斷開24 V輸出電壓信號,進而控制加電單元的加電狀態,同時根據加電單元反饋的狀態,轉換成控制板可接收處理的電平,并送入控制板處理。
控制計算機發出的加/斷電指令PowerONorOFF分為單個加/斷電指令和選擇加/斷電指令。例如“00000001”表示對第1路繼電器進行加電;“00001000”表示對第4路繼電器進行加電;“00000101”表示連續對第1路和第3路繼電器進行加電;“10001000”表示連續對第4路和第8路繼電器進行加電。一鍵加電/斷電可看做選擇加/斷電的特殊情況,執行此命令時控制板將根據繼電器的地址,由低往高,依次加載指令,每個加載過程之間的相隔時間由控制板來控制,間隔為2 s,共需16 s即可執行完畢。
加/斷電操作時首先由控制計算機軟件按需選擇繼電器,經加電軟件產生相應的指令代碼C1和C2,其中C1是C2的反代碼。然后分別發送C1和C2,其之間需要一定的時間間隔。指令代碼C1取反后再發送的目的是為了提高數據傳輸的可靠性,避免一些線路上的固定故障??刂瓢褰邮盏街噶詈?,對C1和C2進行故障檢驗,若C1是C2的反代碼,則寄存接收指令,更新指令寄存器,否則判定出現異常。在接收指令的同時,控制板將當前的繼電器狀態定時返回至主機,時間間隔為1 s??刂瓢咫娐放c控制計算機的數據交互過程,如圖2所示。

若控制板上報的狀態與指令狀態不符,則有3種故障情況:(1)指令接收有錯。(2)指令接收正確,但繼電器加載失敗。(3)指令接收正確,但繼電器加載成功,狀態上報出現故障。若是第二種故障,則需檢查控制子板與繼電器的運行情況。而其他情況,則可通過重新發送指令進行糾正。
2.2 遠程加電系統控制板設計
2.2.1 硬件設計環境
在對芯片性能充分了解的基礎上,根據項目的實際需求選定X3CS200芯片進行設計。Xilinx公司生產的Spartan 3系列FPGA性價比高、性能穩定,該系列FPGA結構包括可配置邏輯塊、輸入/輸出模塊、BlockRAM模塊、乘法器模塊以及數字時鐘管理模塊,其可廣泛應用于各種電子設計。Xilinx X3CS200擁有20萬門電路、30 kbit的分布式RAM容量、216 kbil,的Block RAM容量。
設計中使用的ISE開發工具為ISE7.1,綜合工具為Synplify/Synplify Pro,利用仿真工具Modelsim進行行為級仿真和時序仿真、調試工具為ChipScope Pro。
2.2.2 遠程加電系統控制板關鍵模塊設計
遠程加電機箱的核心是加電控制板,加電控制板可分為串口收發模塊、狀態異常處理模塊、指令代碼處理模塊、LED顯示模塊、按鍵模塊和時鐘產生模塊,其電路結構如圖3所示。

指令處理模塊主要完成加/斷電指令的識別、延遲和輸出處理等工作。指令輸入Rsin為8 bit,每位對應一路繼電器的加/斷電開關,“1”表示加電,“0”表示斷電。
在接收到指令經判斷指令無誤后,使能信號CheckRight有效,從最低位開始對指令進行掃描加載。首先延遲2 s后,將Rsin(0)輸出到PowerONorOFF(0),然后間隔2 s,輸出Rsin(1)到PowerONorOFF(1),對第二路進行加/斷電操作,依此類推,直到8路繼電器的加/斷電操作完成,輸出掃描結束標示位Smark有效,使指令處理模塊回復等待狀態后,再將清零掃描結束標示位Smark。指令處理模塊的指令處理流程,如圖4所示。

指令處理模塊電路結構中,LSB表示D寄存器輸出的最低位,MSB表示D寄存器輸出的最高位。圖中省略了D寄存器的時鐘信號和復位信號的輸入,信號sel由2 s控制器產生,用于D寄存器的使能信號。其中,2 s控制器是該模塊的核心部分,指令處理模塊電路如圖5所示。

2 s控制器的電路結構如圖6所示,該控制器主要包含計數器和移位寄存器兩部分。計數器的輸入時鐘為1 kHz,計數范圍0~1 999。因此,在使能信號Counter有效的情況下,計數器每隔2 000×0.001=2 s,輸出一個高電平脈沖en2s,脈沖寬度為0.001 s。信號en2s既是清零計數器,又是使能移位寄存器,且還作為選擇信號,控制寫入移位寄存器的值。移位寄存器包含8個1位寄存器,初始值為00h,Smark=0,信號en2s每產生一個高電平脈沖,移位寄存器即移位一次,并寫入1個1。

從時序圖如圖7所示,當移位8次后,移位寄存器的值sel為FFh,信號Smark=1,同時拉低信號counten和checkright,拉高信號Den,在Smark的作用下,移位寄存器依次寫入0,經8個周期后,回復控制器的等待狀態,然后Smark=0。當時鐘頻率為1 kHz時,完成一次加/斷電指令的加載,需8×2+8×0.001≈16 s,在這16 s時間內,指令處理模塊處于忙狀態,不再響應其他請求。

2.3 遠程加電系統軟件設計
采用Visual C++面向對象的方法設計了遠程加電軟件,實現了加電狀態監視和遠程控制功能。遠程加電軟件界面循環刷新并監視人機交互動作,檢測到加電指令后首先判斷對應機柜當前的加/斷電狀態。若已加電則給出了提示信息;若未加電則發送加電指令在2 s后并檢測加電狀態;若仍處于未加電狀態,則循環發送加電指令直至加電成功。斷電指令采取相同的處理策略。
為了避免對設備進行誤動作意外加電或斷電,在加電開關上部有一個加電使能選擇框,選擇后才能進行加電和斷電操作,否則加斷電按鈕不使能。一鍵加斷電命令下達后由控制板控制對所有分機依次加斷電操作。遠程加電控制軟件流程,如圖8所示。

2. 4 系統測試
遠程加電系實現后對其進行了測試,測試環境溫度為20~22 ℃,相對濕度為50%~54%,每套加電系統的8個加電單元功率負載均約8 kW。遠程加電系統每個單元從下達指令至加電單元執行后狀態上報的最大響應時間為2 s,最小響應時間為1.5 s,指令響應平均時間為1.737 s。故滿足響應時間2 s的指標要求。
3 結束語
開發的基于FPGA航天測控設備遠程加電系統設計緊湊、硬件結構簡單可靠。PC機軟件采用Visual C++6.0編制,人機接口友善,且操作方便。因此,本系統具有較強的使用價值,已在部分遙測設備和光測設備上得到了應用。
評論