一種基于FPGA的遠(yuǎn)程加電系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
衛(wèi)星發(fā)射基地測(cè)控系統(tǒng)在武器試驗(yàn)及航天器發(fā)射任務(wù)中主要承擔(dān)目標(biāo)跟蹤、測(cè)量、控制任務(wù)。隨著近年來試驗(yàn)任務(wù)呈現(xiàn)常態(tài)化、高密度的態(tài)勢(shì),對(duì)測(cè)控設(shè)備的遠(yuǎn)程操控能力及信息化方面均提出了更高的要求,眾多學(xué)者也在進(jìn)行相關(guān)研究。文獻(xiàn)論述了我國(guó)航天發(fā)射任務(wù)的組織體制和指揮模式,提出了我國(guó)航天發(fā)射場(chǎng)組織指揮模式發(fā)展需求。文獻(xiàn)通過加強(qiáng)網(wǎng)絡(luò)硬件建設(shè)、數(shù)據(jù)標(biāo)準(zhǔn)化建設(shè)和數(shù)據(jù)環(huán)境重建,實(shí)現(xiàn)了靶場(chǎng)各陣地間信息的互聯(lián)互通。文獻(xiàn)探討了新型遠(yuǎn)程監(jiān)控模式,初步設(shè)計(jì)了物理結(jié)構(gòu)、監(jiān)控體制和信息交換方式,文獻(xiàn)分析了新一代測(cè)控站遠(yuǎn)程監(jiān)控系統(tǒng)應(yīng)具有的優(yōu)勢(shì)及特點(diǎn),并探討了適合我國(guó)國(guó)情的測(cè)控站遠(yuǎn)程監(jiān)控技術(shù)。
本文引用地址:http://www.ex-cimer.com/article/201610/308360.htm設(shè)備遠(yuǎn)程加電是實(shí)現(xiàn)遠(yuǎn)程操控的基本功能之一。本文主要闡述了集串口收發(fā)、狀態(tài)異常處理、指令代碼處理和時(shí)鐘產(chǎn)生功能于一體的加電控制板設(shè)計(jì)思路及實(shí)現(xiàn)方法,以加電控制板為核心設(shè)計(jì)加電控制終端,并由加電控制終端、加電控制單元和加電控制軟件形成了遠(yuǎn)程加電系統(tǒng)。
1 遠(yuǎn)程加電系統(tǒng)設(shè)計(jì)思想
遠(yuǎn)程加電系統(tǒng)主要由位于遠(yuǎn)程操控機(jī)房的遠(yuǎn)控計(jì)算機(jī)、位于測(cè)控設(shè)備機(jī)房?jī)?nèi)的加電主控機(jī)箱及設(shè)備各機(jī)柜端的加電單元組成。在遠(yuǎn)程控制計(jì)算機(jī)上運(yùn)行遠(yuǎn)程加電應(yīng)用軟件,遠(yuǎn)程控制計(jì)算機(jī)通過網(wǎng)絡(luò)與控制機(jī)箱進(jìn)行命令交互,向控制機(jī)箱發(fā)送加電及斷電指令,并控制加電單元進(jìn)行加斷電動(dòng)作,同時(shí)接收控制機(jī)箱上報(bào)的各加電單元的加電狀態(tài)。加電單元繼電器通過控制機(jī)箱24 V輸出電壓控制220 V電源的通斷,從而實(shí)現(xiàn)機(jī)柜的加斷電功能。遠(yuǎn)程加電系統(tǒng)的原理如圖1所示。
2 遠(yuǎn)程加電系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 加/斷電交互協(xié)議設(shè)計(jì)
控制板通過專用的RS-232接口芯片經(jīng)NPORT與控制計(jì)算機(jī)通信,根據(jù)收到的加斷電指令輸出相應(yīng)的“高、低”電平信號(hào),來控制接口板上的繼電器通斷狀態(tài),使接口板輸出24 V直流信號(hào)。接口板主要由繼電器驅(qū)動(dòng)電路、狀態(tài)檢測(cè)接口電路等組成,根據(jù)控制板輸送的控制信號(hào)狀態(tài),接通或斷開24 V輸出電壓信號(hào),進(jìn)而控制加電單元的加電狀態(tài),同時(shí)根據(jù)加電單元反饋的狀態(tài),轉(zhuǎn)換成控制板可接收處理的電平,并送入控制板處理。
控制計(jì)算機(jī)發(fā)出的加/斷電指令PowerONorOFF分為單個(gè)加/斷電指令和選擇加/斷電指令。例如“00000001”表示對(duì)第1路繼電器進(jìn)行加電;“00001000”表示對(duì)第4路繼電器進(jìn)行加電;“00000101”表示連續(xù)對(duì)第1路和第3路繼電器進(jìn)行加電;“10001000”表示連續(xù)對(duì)第4路和第8路繼電器進(jìn)行加電。一鍵加電/斷電可看做選擇加/斷電的特殊情況,執(zhí)行此命令時(shí)控制板將根據(jù)繼電器的地址,由低往高,依次加載指令,每個(gè)加載過程之間的相隔時(shí)間由控制板來控制,間隔為2 s,共需16 s即可執(zhí)行完畢。
加/斷電操作時(shí)首先由控制計(jì)算機(jī)軟件按需選擇繼電器,經(jīng)加電軟件產(chǎn)生相應(yīng)的指令代碼C1和C2,其中C1是C2的反代碼。然后分別發(fā)送C1和C2,其之間需要一定的時(shí)間間隔。指令代碼C1取反后再發(fā)送的目的是為了提高數(shù)據(jù)傳輸?shù)目煽啃裕苊庖恍┚€路上的固定故障??刂瓢褰邮盏街噶詈螅瑢?duì)C1和C2進(jìn)行故障檢驗(yàn),若C1是C2的反代碼,則寄存接收指令,更新指令寄存器,否則判定出現(xiàn)異常。在接收指令的同時(shí),控制板將當(dāng)前的繼電器狀態(tài)定時(shí)返回至主機(jī),時(shí)間間隔為1 s。控制板電路與控制計(jì)算機(jī)的數(shù)據(jù)交互過程,如圖2所示。
若控制板上報(bào)的狀態(tài)與指令狀態(tài)不符,則有3種故障情況:(1)指令接收有錯(cuò)。(2)指令接收正確,但繼電器加載失敗。(3)指令接收正確,但繼電器加載成功,狀態(tài)上報(bào)出現(xiàn)故障。若是第二種故障,則需檢查控制子板與繼電器的運(yùn)行情況。而其他情況,則可通過重新發(fā)送指令進(jìn)行糾正。
2.2 遠(yuǎn)程加電系統(tǒng)控制板設(shè)計(jì)
2.2.1 硬件設(shè)計(jì)環(huán)境
在對(duì)芯片性能充分了解的基礎(chǔ)上,根據(jù)項(xiàng)目的實(shí)際需求選定X3CS200芯片進(jìn)行設(shè)計(jì)。Xilinx公司生產(chǎn)的Spartan 3系列FPGA性價(jià)比高、性能穩(wěn)定,該系列FPGA結(jié)構(gòu)包括可配置邏輯塊、輸入/輸出模塊、BlockRAM模塊、乘法器模塊以及數(shù)字時(shí)鐘管理模塊,其可廣泛應(yīng)用于各種電子設(shè)計(jì)。Xilinx X3CS200擁有20萬門電路、30 kbit的分布式RAM容量、216 kbil,的Block RAM容量。
設(shè)計(jì)中使用的ISE開發(fā)工具為ISE7.1,綜合工具為Synplify/Synplify Pro,利用仿真工具M(jìn)odelsim進(jìn)行行為級(jí)仿真和時(shí)序仿真、調(diào)試工具為ChipScope Pro。
2.2.2 遠(yuǎn)程加電系統(tǒng)控制板關(guān)鍵模塊設(shè)計(jì)
遠(yuǎn)程加電機(jī)箱的核心是加電控制板,加電控制板可分為串口收發(fā)模塊、狀態(tài)異常處理模塊、指令代碼處理模塊、LED顯示模塊、按鍵模塊和時(shí)鐘產(chǎn)生模塊,其電路結(jié)構(gòu)如圖3所示。
指令處理模塊主要完成加/斷電指令的識(shí)別、延遲和輸出處理等工作。指令輸入Rsin為8 bit,每位對(duì)應(yīng)一路繼電器的加/斷電開關(guān),“1”表示加電,“0”表示斷電。
在接收到指令經(jīng)判斷指令無誤后,使能信號(hào)CheckRight有效,從最低位開始對(duì)指令進(jìn)行掃描加載。首先延遲2 s后,將Rsin(0)輸出到PowerONorOFF(0),然后間隔2 s,輸出Rsin(1)到PowerONorOFF(1),對(duì)第二路進(jìn)行加/斷電操作,依此類推,直到8路繼電器的加/斷電操作完成,輸出掃描結(jié)束標(biāo)示位Smark有效,使指令處理模塊回復(fù)等待狀態(tài)后,再將清零掃描結(jié)束標(biāo)示位Smark。指令處理模塊的指令處理流程,如圖4所示。
指令處理模塊電路結(jié)構(gòu)中,LSB表示D寄存器輸出的最低位,MSB表示D寄存器輸出的最高位。圖中省略了D寄存器的時(shí)鐘信號(hào)和復(fù)位信號(hào)的輸入,信號(hào)sel由2 s控制器產(chǎn)生,用于D寄存器的使能信號(hào)。其中,2 s控制器是該模塊的核心部分,指令處理模塊電路如圖5所示。
2 s控制器的電路結(jié)構(gòu)如圖6所示,該控制器主要包含計(jì)數(shù)器和移位寄存器兩部分。計(jì)數(shù)器的輸入時(shí)鐘為1 kHz,計(jì)數(shù)范圍0~1 999。因此,在使能信號(hào)Counter有效的情況下,計(jì)數(shù)器每隔2 000×0.001=2 s,輸出一個(gè)高電平脈沖en2s,脈沖寬度為0.001 s。信號(hào)en2s既是清零計(jì)數(shù)器,又是使能移位寄存器,且還作為選擇信號(hào),控制寫入移位寄存器的值。移位寄存器包含8個(gè)1位寄存器,初始值為00h,Smark=0,信號(hào)en2s每產(chǎn)生一個(gè)高電平脈沖,移位寄存器即移位一次,并寫入1個(gè)1。
從時(shí)序圖如圖7所示,當(dāng)移位8次后,移位寄存器的值sel為FFh,信號(hào)Smark=1,同時(shí)拉低信號(hào)counten和checkright,拉高信號(hào)Den,在Smark的作用下,移位寄存器依次寫入0,經(jīng)8個(gè)周期后,回復(fù)控制器的等待狀態(tài),然后Smark=0。當(dāng)時(shí)鐘頻率為1 kHz時(shí),完成一次加/斷電指令的加載,需8×2+8×0.001≈16 s,在這16 s時(shí)間內(nèi),指令處理模塊處于忙狀態(tài),不再響應(yīng)其他請(qǐng)求。
2.3 遠(yuǎn)程加電系統(tǒng)軟件設(shè)計(jì)
采用Visual C++面向?qū)ο蟮姆椒ㄔO(shè)計(jì)了遠(yuǎn)程加電軟件,實(shí)現(xiàn)了加電狀態(tài)監(jiān)視和遠(yuǎn)程控制功能。遠(yuǎn)程加電軟件界面循環(huán)刷新并監(jiān)視人機(jī)交互動(dòng)作,檢測(cè)到加電指令后首先判斷對(duì)應(yīng)機(jī)柜當(dāng)前的加/斷電狀態(tài)。若已加電則給出了提示信息;若未加電則發(fā)送加電指令在2 s后并檢測(cè)加電狀態(tài);若仍處于未加電狀態(tài),則循環(huán)發(fā)送加電指令直至加電成功。斷電指令采取相同的處理策略。
為了避免對(duì)設(shè)備進(jìn)行誤動(dòng)作意外加電或斷電,在加電開關(guān)上部有一個(gè)加電使能選擇框,選擇后才能進(jìn)行加電和斷電操作,否則加斷電按鈕不使能。一鍵加斷電命令下達(dá)后由控制板控制對(duì)所有分機(jī)依次加斷電操作。遠(yuǎn)程加電控制軟件流程,如圖8所示。
2. 4 系統(tǒng)測(cè)試
遠(yuǎn)程加電系實(shí)現(xiàn)后對(duì)其進(jìn)行了測(cè)試,測(cè)試環(huán)境溫度為20~22 ℃,相對(duì)濕度為50%~54%,每套加電系統(tǒng)的8個(gè)加電單元功率負(fù)載均約8 kW。遠(yuǎn)程加電系統(tǒng)每個(gè)單元從下達(dá)指令至加電單元執(zhí)行后狀態(tài)上報(bào)的最大響應(yīng)時(shí)間為2 s,最小響應(yīng)時(shí)間為1.5 s,指令響應(yīng)平均時(shí)間為1.737 s。故滿足響應(yīng)時(shí)間2 s的指標(biāo)要求。
3 結(jié)束語
開發(fā)的基于FPGA航天測(cè)控設(shè)備遠(yuǎn)程加電系統(tǒng)設(shè)計(jì)緊湊、硬件結(jié)構(gòu)簡(jiǎn)單可靠。PC機(jī)軟件采用Visual C++6.0編制,人機(jī)接口友善,且操作方便。因此,本系統(tǒng)具有較強(qiáng)的使用價(jià)值,已在部分遙測(cè)設(shè)備和光測(cè)設(shè)備上得到了應(yīng)用。
評(píng)論