劉旭輝,方蜀州
(北京理工大學(xué)航天學(xué)院,北京 100081)
隨著微型衛(wèi)星的發(fā)展及應(yīng)用,對其高精度的姿態(tài)和軌道控制提出了挑戰(zhàn),需執(zhí)行機構(gòu)質(zhì)量及體積小、集成度高、功耗低、可靠性高,能提供小而精確的沖量,而微型固體推力器陣列,能滿足微型衛(wèi)星姿軌控系統(tǒng)的要求[1]。微型固體推力器陣列可采用MEMS技術(shù),制造出具有高度集成化特征的微型推力器組合,每個推力器單元產(chǎn)生微小的沖量,可實現(xiàn)任意的點火組合方式,這種推力器的突出優(yōu)點就是可用于kg級的皮衛(wèi)星或納衛(wèi)星上,是一種新型的衛(wèi)星控制動力裝置[2-3]。
為了分擔(dān)星載計算機的工作量,微型固體推力器陣列需集成低功耗、高可靠性的尋址點火控制系統(tǒng)和點火電路,文中針對100×100的推力器陣列進行研究。推力器陣列采用三明治結(jié)構(gòu)(噴管陣列層、集成點火電路層、推進劑貯腔陣列層)。文中設(shè)計了尋址控制系統(tǒng)硬件及軟件模塊,研究了點火電路。尋址系統(tǒng)基于FPGA控制芯片,應(yīng)用USB接口進行通信,用VC在PC機上編寫應(yīng)用程序,模擬星載上位機發(fā)送控制指令,使上位機能夠控制陣列中任意一個微型固體推力器點火,或控制任意組合的推力器同時點火。對USB固件程序及FPGA程序進行了仿真,符合設(shè)計要求,為微型衛(wèi)星的姿軌控系統(tǒng)控制策略算法的實現(xiàn)提供了良好的硬件基礎(chǔ)[4]。點火電路分層垂直布置導(dǎo)線,減少了導(dǎo)線數(shù)量,提高了可靠性,并適用于尋址系統(tǒng)行列尋址的控制方式。
對于微型固體推力器陣列的控制,由于需控制的發(fā)動機數(shù)量大,數(shù)目多達(dá)幾萬個,傳輸數(shù)據(jù)量大,并要求系統(tǒng)通信速度快,多個推力器點火的同時性好,故選用FPGA作為主控制芯片[5];USB2.0在高速模式下可達(dá)到480 Mbit/s,完全可滿足傳輸要求,傳輸時間極短,且USB在設(shè)備供電方面具有靈活性,因此使用較為先進的USB2.0[6]實現(xiàn)與上位機的通信。
在皮納衛(wèi)星控制系統(tǒng)中,該系統(tǒng)作為衛(wèi)星姿軌控系統(tǒng)中執(zhí)行機構(gòu)模塊中的尋址點火控制部分,當(dāng)衛(wèi)星在進行穩(wěn)定控制或機動控制時,控制器將需要的沖量或沖量矩以控制信號的形式輸入到執(zhí)行機構(gòu)模塊,根據(jù)點火算法,將所需的推力器坐標(biāo)位置傳輸給尋址點火系中的USB端口緩沖區(qū),FPGA讀取端口數(shù)據(jù),控制點燃所需的推力器;根據(jù)不同任務(wù)需要,尋址系統(tǒng)能夠提供不同的推力器組合,進而實現(xiàn)不同沖量或沖量矩的輸出。硬件系統(tǒng)示意圖如圖1所示。
圖1 硬件系統(tǒng)示意圖Fig.1 Schematic diagram of the hardware system
USB芯片選擇Cypress的CY7C68013A,選擇同步Slave FIFO傳輸,該模式下,FX2作為一個USB 2.0接口,能高速傳輸數(shù)據(jù)。FPGA芯片選擇Altera公司的EP1C20F400C8。FPGA電源需1.5 V和3.3 V供電,電源芯片選擇TPS54313和TPS543136。同步Slave FIFO讀模式下FPGA同USB芯片硬件連接見圖2。
圖2 同步Slave FIFO讀模式下USB與FPGA的連接Fig.2 Inter face pins of synchronous slave FIFO reader
圖2中,IFCLK:FX2輸出的時鐘,可作為通訊的同步時鐘;FLAGB,FLAGC:FX2輸出的FIFO狀態(tài)信息,如滿、空等;SLOE:FIFO輸出使能,外部邏輯控制,當(dāng)SLOE無效時,數(shù)據(jù)線不輸出有效數(shù)據(jù);SLRD:同步讀時,FIFO指針在SLRD有效時的每個IFCLK的上升沿遞增;FD[15∶0]:數(shù)據(jù)線;FIFOADR[1∶0]:選擇4個FIFO端點的地址線,外部邏輯控制[7]。
Cypress公司為其EZ-USB系列USB接口芯片提供了一個完整的開發(fā)包,包括通用驅(qū)動程序。用戶可直接使用其進行開發(fā)。
該驅(qū)動程序采用WDM驅(qū)動模型,兼容USB2.0設(shè)備;支持即插即用和電源管理;支持遠(yuǎn)程喚醒;支持控制傳輸端點、塊傳輸端點、中斷傳輸端點、同步傳輸端點;支持同時連接多個USB設(shè)備;支持用戶自定義GUID,而不用重新編譯驅(qū)動程序;支持高寬帶的USB數(shù)據(jù)傳輸。
驅(qū)動程序包括2個:一個為CyLoad.sys,用于固件程序的下載;另一個為CyUSB.sys,用于主機和固件程序的通信。每個驅(qū)動程序使用INF文件進行引導(dǎo)安裝[7]。
采用Cypress公司提供的固件程序開發(fā)框架,在此框架下加入系統(tǒng)的功能程序,就可完成程序開發(fā),主要進行TD-Init和TD-Poll程序以及自定義請求函數(shù)的編寫[8-9]。
本設(shè)計應(yīng)用同步Slave FIFO模式,進行bulk傳輸數(shù)據(jù),使用16位總線接口;用戶自定義請求,進行握手操作,當(dāng)PA7置1時,開始讀取數(shù)據(jù)。使用內(nèi)部時鐘48 MHz,配置2端點為4緩沖,每個緩沖區(qū)為512字節(jié),FLAGA~FLAGD反映FIFOADR[1∶0]當(dāng)前所指端點的狀態(tài),其中,FLAGA反映“可編程極限”,FLAGB反映“滿”標(biāo)志,FLAGC反映“空”標(biāo)志,FLAGD不存在;2端點選擇自動傳輸方式。
FPGA程序設(shè)計,采用Verilog編寫,本系統(tǒng)進行通信時,當(dāng)上位機發(fā)送請求代碼80,進行握手操作,防止誤發(fā)指令,FPGA檢測到PA7為1時,FPGA開始讀取數(shù)據(jù),否則處于等待狀態(tài);當(dāng)PA7置于0時,停止數(shù)據(jù)發(fā)送。
當(dāng)開始通信時,USB芯片選擇Slave FIFO模式,FPGA實現(xiàn)同步從屬FIFO的讀操作,有限狀態(tài)機的編寫如圖3所示。
圖3 狀態(tài)機Fig.3 State machine
由圖3可知,狀態(tài)機時序如下:
(1)IDLE:對相關(guān)的寄存器進行初始化,然后轉(zhuǎn)入READ-BEGIN狀態(tài),開始讀SLAVE FIFO操作。
(2)READ-BEGIN:指向輸出FIFO(對應(yīng)端點2),然后轉(zhuǎn)入OUT-FIFO狀態(tài)。
(3)OUT-FIFO:判斷u-flagc是否為高,如果為高,則啟動讀過程,把u-sloe置為低,轉(zhuǎn)入DATA-READ狀態(tài);否則說明輸出FIFO中無數(shù)據(jù),等待。
(4)DATA-READ:判斷u-flagc是否為高,如果為高,把u-slrd拉低,繼續(xù)讀取下16 bit數(shù)據(jù)。同時為把上16 bit數(shù)據(jù)寫入寄存器中。轉(zhuǎn)入WAIT狀態(tài),否則轉(zhuǎn)入OUT-FIFO,等待下一次讀取過程。
(5)WAIT:把u-slrd拉高,判斷是否仍然有數(shù)據(jù),如果有,則轉(zhuǎn)入DATA-READ狀態(tài),繼續(xù)讀操作;否則轉(zhuǎn)入READ-END狀態(tài),讀操作結(jié)束。
(6)READ-END:把相關(guān)寄存器置為初始態(tài)。
微型固體推力器陣列多個推力器進行點火時,需具有良好的同時性。因此,設(shè)計FPGA程序在讀完所有的推力器位置坐標(biāo)數(shù)據(jù)后才進行輸出。本設(shè)計控制100×100陣列,橫坐標(biāo)和縱坐標(biāo)只需7位二進制數(shù)即可控制。因此,在讀取到的16 bit數(shù)據(jù)中,使R-ARRAY=data[13∶7]、C-ARRAY=data[6∶0];第15位作為軟復(fù)位,14位作為輸出使能位:soft-rst=data[15]、output-en=data[14]。
點火電路是微型固體推力器中最重要同時也是制備工藝最復(fù)雜、難度最大的組成部分,微推力器能否正常工作也主要取決于點火電路。文中提出了一種適應(yīng)陣列行列尋址的點火電路設(shè)計方式,采用電阻橋絲作為發(fā)熱元件,對點火藥進行加熱,串聯(lián)二極管,保證電流單向性,防止發(fā)生誤點火。
點火電路采用微機電加工技術(shù),在推力器陣列頂層沉結(jié)二極管和電阻,從而構(gòu)成點火電路陣列。點火電路采用如圖4所示的布線方式,以5×5陣列為例,當(dāng)需點燃R1、C2導(dǎo)線交叉點處的推力器,位置編號為(1,2),經(jīng)尋址控制系統(tǒng)和驅(qū)動開關(guān)電路將C2與電源正極相連,R1與負(fù)極相連,其他導(dǎo)線浮空。采用這樣的設(shè)計降低了電路的復(fù)雜程度。如果每個推力器采用獨立點火回路,就需10 000個,布線極為困難。但是采用該陣列形式,只需200條導(dǎo)線,提高了點火的穩(wěn)定性及可靠性。
圖4 點火電路Fig.4 Ignition circuit
固件程序調(diào)試:采用Cypress公司的EZ-USB FX 2LP工具EZ-USB Control Panel軟件測試固件程序。設(shè)置與控制程序相符的請求碼AB80,AB為請求的操作碼,80表示通過該請求發(fā)送給USB固件的數(shù)據(jù),固件程序?qū)⒃摂?shù)據(jù)輸出到端口PA,則PA7置1,FPGA開始讀取數(shù)據(jù)。以點燃坐標(biāo)為(1,1)、(3,3)、(5,5)的推力器為例,在Pipe選擇0:Endpoint 2 OUT,Hex Bytes設(shè)置數(shù)據(jù)為0081018302854000(該數(shù)據(jù)設(shè)置根據(jù)2.3節(jié)內(nèi)容,以(3,3)為例,十六進制0183在二進制為0000000110000011,R-ARRAY=0000011、C-ARRAY=0000011;最后輸出4000,使output-en=1),進行傳輸。經(jīng)過仿真,固件程序能夠達(dá)到設(shè)計要求,仿真結(jié)果如圖5所示。
采用ModelSim進行推力器組合點火仿真,點燃100×100固體推力器陣列位置編號為(1,1)、(3,3)、(5,5)的推力器,仿真時初始化PA7為1,FPGA開始讀取數(shù)據(jù)。以FPGA控制點燃坐標(biāo)為(1,1)推力器為例,說明程序運行過程。初始化u-slrd、u-sloe、u-addr0、u-addr1均置1(u-slrd、u-sloe低電平有效);當(dāng)FPGA讀取到0000000010000001數(shù)據(jù)時(第15位作為軟復(fù)位,14位作為輸出使能位,13~0位為推力器位置坐標(biāo)位),flag-c則置1,根據(jù)狀態(tài)機時序,READ-BEGIN狀態(tài)u-addr0、u-addr1置為0;OUT-FIFO狀態(tài),usloe置0;DATA-READ狀態(tài)u-slrd置0;之后程序在WAIT狀態(tài)和DATA-READ狀態(tài)之間循環(huán),直到數(shù)據(jù)讀完;最后將14位置1進行輸出。c-out[99]、r-out[99]為行坐標(biāo)和列坐標(biāo)10 0位寄存器,仿真波形如圖6所示,符合設(shè)計要求。
圖5 固件程序調(diào)試Fig.5 Firmware debugging
圖6 FPGA程序仿真Fig.6 Simulation of FPGA program
在進行多個推力器組合點火時,要求點火具有同步性。FPGA程序在讀取完所有點火推力器坐標(biāo)數(shù)據(jù)后先將其儲存在c-reg[99]、r-reg[99]寄存器中,如果flag-c為0,表示沒有要讀取的數(shù)據(jù),所有點火坐標(biāo)數(shù)據(jù)已發(fā)送完,通過將第14位置1,將儲存所有需點火的推力器坐標(biāo)的c-reg、r-reg寄存器中數(shù)據(jù)傳輸?shù)絚-out[99]、r-out[99]中,即發(fā)送到輸出管腳上,進行一次性輸出,這樣就保證了點火同時性,使所要點燃的推力器同時點燃,從控制方面上避免了點火不同步。通過波形圖可看到,程序設(shè)計符合要求,仿真結(jié)果見圖7。
當(dāng)皮納衛(wèi)星需進行控制時,控制指令經(jīng)由USB接口傳輸?shù)紽PGA中,FPGA對數(shù)據(jù)進行處理分析,經(jīng)點火電路對點火藥加熱,進而點燃推力器主裝藥。因此,推力響應(yīng)時間主要包括數(shù)據(jù)傳輸時間、FPGA數(shù)據(jù)分析處理時間和點火電路加熱點火藥的時間。
圖7 點火同時性驗證Fig.7 Ignition synchronism o f three thrusters
4.3.1 尋址系統(tǒng)的時間延遲分析
據(jù)陣列結(jié)構(gòu)特點及點火功率限制,每次最多點火推力器數(shù)量設(shè)計為100個,而每個推力器坐標(biāo)由16位數(shù)據(jù)決定。因此,最多傳輸數(shù)據(jù)為200 byte,運用USB2.0高速傳輸,速度為480 Mbit/s。根據(jù)USB2.0協(xié)議,在數(shù)據(jù)傳輸時要進行事務(wù)處理。除了傳輸數(shù)據(jù)包外,還要傳輸同步字段、包標(biāo)識字段、地址字段及循環(huán)冗余校驗等總共83 bit,經(jīng)計算進行1次完整傳輸,時間約為3.5μs。
當(dāng)FPGA接受到數(shù)據(jù)進行處理后,發(fā)送到輸出端口,根據(jù)編寫的程序及有限狀態(tài)機工作特點,接受處理1個推力器指令在FPGA中所要運行的時間為5個周期,FPGA時鐘選用USB內(nèi)部時鐘,工作頻率為48 MHz。因此,點燃1個推力器在FPGA中所需時間約為0.104μs,如果點燃100個推力器,則所需時間為0.104×100=10.4μs。
因為USB接口在進行數(shù)據(jù)傳輸時,FPGA已在進行數(shù)據(jù)分析處理。因此,在點燃100個推力器時,數(shù)據(jù)傳輸和尋址系統(tǒng)所需總時間為兩者中最大值,即約為10.4μs。
4.3.2 點火延遲時間分析
電阻橋絲加熱點火藥產(chǎn)生的點火延遲時間影響因素眾多,如點火電阻的設(shè)計、點火藥的選擇、隔熱結(jié)構(gòu)的設(shè)計及傳熱特性等。
在微推力器單元中,點火藥、薄膜電阻點火橋絲和SiO2層構(gòu)成了三明治結(jié)構(gòu),電阻橋絲是發(fā)熱元件??砂腰c火藥和SiO2層看作2個一維半無界熱傳導(dǎo)體,電阻橋絲的生熱率作為2個物體公共邊界的對流邊界條件。
根據(jù)一維熱傳導(dǎo)模型以及邊界關(guān)系,經(jīng)推導(dǎo)得到點火藥邊界溫度變化函數(shù)[10]:
式中 ap、aSiO2分別為點火藥和SiO2的熱擴散率;λp、λSiO2分別為點火藥和SiO2的熱傳導(dǎo)率。
點火藥發(fā)火溫度為573 K,點火電阻橋絲材料采用Pt,T0=273 K,RS=235Ψ,L=470μm,經(jīng)過計算,當(dāng)點火電壓U=30 V時,點火時間僅為1.7ms,點火延遲時間為ms級。
經(jīng)過分析可知,電阻橋絲點燃點火藥的點火延遲時間是整個推力響應(yīng)的主要影響因素,數(shù)據(jù)傳輸和尋址系統(tǒng)所用時間可忽略不計。因此,對于以微型固體推力器陣列作為執(zhí)行機構(gòu)的皮納衛(wèi)星來說,尋址系統(tǒng)本身對推力響應(yīng)時間影響極小。
如果控制系統(tǒng)需提供大于100個推力器所產(chǎn)生的沖量或沖量矩時,則需進行分批點燃,每批推力器點火數(shù)量少于100個,點火時間間隔由點火延遲時間決定。
(1)運用有限狀態(tài)機設(shè)計了FPGA程序,通過Slave FIFO模式,充分利用了USB2.0高速傳輸特性進行通信,有效解決了對大規(guī)模的微型固體推力器陣列的快速尋址問題。經(jīng)過仿真,能對100×100的推力器陣列中任意一個及多種組合的推力器尋址點火,快速有效,符合設(shè)計要求。
(2)提出了一種適用于大規(guī)模推力器陣列的點火電路設(shè)計思路,提高了點火可靠性,更具實用性。
(3)分析了點火延遲時間,對數(shù)據(jù)傳輸、FPGA程序執(zhí)行以及點火延遲進行了分析。結(jié)果表明,設(shè)計的尋址系統(tǒng)延時很短,基本上可忽略不計。
[1] David H,Lewis Jr,et al.Digitalm icropropu lsion[J].Sensors and Actuators:Physical,2000,80(2):143-156.
[2] 張高飛,尤政,等.基于MEMS的固體推力器陣列[J].清華大學(xué)學(xué)報,2004,44(11):1489-1490.
[3] Mueller J.Thrusteroptions for micros pacecraft:a review and evaluation of existing hardware and emerging technologies[R].AIAA 97-3058.
[4] Georg Grill mayer,Marc H irth.Development of an FPGA based attitude control system for a micro-satellite[R].AIAA 2006-6522.
[5] Fred C Briggs.Field progamm able gate array(FPGA)design strategies and applications[R].AIAA 2007-2958.
[6] Universal serial bus specification revision 2.0(DB/OL)[M].
[7] 薛圓圓.USB應(yīng)用開發(fā)技術(shù)大全[M].北京:人民郵電出版社.
[8] Cypress.CY 7C 68013 data manual[M].2001(DB/OL).
[9] Cypress.CY 7C68013 technical reference manual[M].2001(DB/OL).
[10] 尤政,張高飛,等.MEMS固體化學(xué)推進器設(shè)計與建模研究[J].光學(xué)精密工程,2005,13(2):121-122.