APP下载

微型固体推力器阵列寻址点火控制系统研究①

2010-01-26刘旭辉方蜀州

固体火箭技术 2010年6期
关键词:推力器固件端点

刘旭辉,方蜀州

(北京理工大学航天学院,北京 100081)

0 引言

随着微型卫星的发展及应用,对其高精度的姿态和轨道控制提出了挑战,需执行机构质量及体积小、集成度高、功耗低、可靠性高,能提供小而精确的冲量,而微型固体推力器阵列,能满足微型卫星姿轨控系统的要求[1]。微型固体推力器阵列可采用MEMS技术,制造出具有高度集成化特征的微型推力器组合,每个推力器单元产生微小的冲量,可实现任意的点火组合方式,这种推力器的突出优点就是可用于kg级的皮卫星或纳卫星上,是一种新型的卫星控制动力装置[2-3]。

为了分担星载计算机的工作量,微型固体推力器阵列需集成低功耗、高可靠性的寻址点火控制系统和点火电路,文中针对100×100的推力器阵列进行研究。推力器阵列采用三明治结构(喷管阵列层、集成点火电路层、推进剂贮腔阵列层)。文中设计了寻址控制系统硬件及软件模块,研究了点火电路。寻址系统基于FPGA控制芯片,应用USB接口进行通信,用VC在PC机上编写应用程序,模拟星载上位机发送控制指令,使上位机能够控制阵列中任意一个微型固体推力器点火,或控制任意组合的推力器同时点火。对USB固件程序及FPGA程序进行了仿真,符合设计要求,为微型卫星的姿轨控系统控制策略算法的实现提供了良好的硬件基础[4]。点火电路分层垂直布置导线,减少了导线数量,提高了可靠性,并适用于寻址系统行列寻址的控制方式。

1 寻址控制系统硬件设计

对于微型固体推力器阵列的控制,由于需控制的发动机数量大,数目多达几万个,传输数据量大,并要求系统通信速度快,多个推力器点火的同时性好,故选用FPGA作为主控制芯片[5];USB2.0在高速模式下可达到480 Mbit/s,完全可满足传输要求,传输时间极短,且USB在设备供电方面具有灵活性,因此使用较为先进的USB2.0[6]实现与上位机的通信。

在皮纳卫星控制系统中,该系统作为卫星姿轨控系统中执行机构模块中的寻址点火控制部分,当卫星在进行稳定控制或机动控制时,控制器将需要的冲量或冲量矩以控制信号的形式输入到执行机构模块,根据点火算法,将所需的推力器坐标位置传输给寻址点火系中的USB端口缓冲区,FPGA读取端口数据,控制点燃所需的推力器;根据不同任务需要,寻址系统能够提供不同的推力器组合,进而实现不同冲量或冲量矩的输出。硬件系统示意图如图1所示。

图1 硬件系统示意图Fig.1 Schematic diagram of the hardware system

USB芯片选择Cypress的CY7C68013A,选择同步Slave FIFO传输,该模式下,FX2作为一个USB 2.0接口,能高速传输数据。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状态信息,如满、空等;SLOE:FIFO输出使能,外部逻辑控制,当SLOE无效时,数据线不输出有效数据;SLRD:同步读时,FIFO指针在SLRD有效时的每个IFCLK的上升沿递增;FD[15∶0]:数据线;FIFOADR[1∶0]:选择4个FIFO端点的地址线,外部逻辑控制[7]。

2 寻址控制系统软件设计

2.1 USB驱动程序设计

Cypress公司为其EZ-USB系列USB接口芯片提供了一个完整的开发包,包括通用驱动程序。用户可直接使用其进行开发。

该驱动程序采用WDM驱动模型,兼容USB2.0设备;支持即插即用和电源管理;支持远程唤醒;支持控制传输端点、块传输端点、中断传输端点、同步传输端点;支持同时连接多个USB设备;支持用户自定义GUID,而不用重新编译驱动程序;支持高宽带的USB数据传输。

驱动程序包括2个:一个为CyLoad.sys,用于固件程序的下载;另一个为CyUSB.sys,用于主机和固件程序的通信。每个驱动程序使用INF文件进行引导安装[7]。

2.2 USB固件程序设计

采用Cypress公司提供的固件程序开发框架,在此框架下加入系统的功能程序,就可完成程序开发,主要进行TD-Init和TD-Poll程序以及自定义请求函数的编写[8-9]。

本设计应用同步Slave FIFO模式,进行bulk传输数据,使用16位总线接口;用户自定义请求,进行握手操作,当PA7置1时,开始读取数据。使用内部时钟48 MHz,配置2端点为4缓冲,每个缓冲区为512字节,FLAGA~FLAGD反映FIFOADR[1∶0]当前所指端点的状态,其中,FLAGA反映“可编程极限”,FLAGB反映“满”标志,FLAGC反映“空”标志,FLAGD不存在;2端点选择自动传输方式。

2.3 FPGA程序设计

FPGA程序设计,采用Verilog编写,本系统进行通信时,当上位机发送请求代码80,进行握手操作,防止误发指令,FPGA检测到PA7为1时,FPGA开始读取数据,否则处于等待状态;当PA7置于0时,停止数据发送。

当开始通信时,USB芯片选择Slave FIFO模式,FPGA实现同步从属FIFO的读操作,有限状态机的编写如图3所示。

图3 状态机Fig.3 State machine

由图3可知,状态机时序如下:

(1)IDLE:对相关的寄存器进行初始化,然后转入READ-BEGIN状态,开始读SLAVE FIFO操作。

(2)READ-BEGIN:指向输出FIFO(对应端点2),然后转入OUT-FIFO状态。

(3)OUT-FIFO:判断u-flagc是否为高,如果为高,则启动读过程,把u-sloe置为低,转入DATA-READ状态;否则说明输出FIFO中无数据,等待。

(4)DATA-READ:判断u-flagc是否为高,如果为高,把u-slrd拉低,继续读取下16 bit数据。同时为把上16 bit数据写入寄存器中。转入WAIT状态,否则转入OUT-FIFO,等待下一次读取过程。

(5)WAIT:把u-slrd拉高,判断是否仍然有数据,如果有,则转入DATA-READ状态,继续读操作;否则转入READ-END状态,读操作结束。

(6)READ-END:把相关寄存器置为初始态。

微型固体推力器阵列多个推力器进行点火时,需具有良好的同时性。因此,设计FPGA程序在读完所有的推力器位置坐标数据后才进行输出。本设计控制100×100阵列,横坐标和纵坐标只需7位二进制数即可控制。因此,在读取到的16 bit数据中,使R-ARRAY=data[13∶7]、C-ARRAY=data[6∶0];第15位作为软复位,14位作为输出使能位:soft-rst=data[15]、output-en=data[14]。

3 点火电路设计

点火电路是微型固体推力器中最重要同时也是制备工艺最复杂、难度最大的组成部分,微推力器能否正常工作也主要取决于点火电路。文中提出了一种适应阵列行列寻址的点火电路设计方式,采用电阻桥丝作为发热元件,对点火药进行加热,串联二极管,保证电流单向性,防止发生误点火。

点火电路采用微机电加工技术,在推力器阵列顶层沉结二极管和电阻,从而构成点火电路阵列。点火电路采用如图4所示的布线方式,以5×5阵列为例,当需点燃R1、C2导线交叉点处的推力器,位置编号为(1,2),经寻址控制系统和驱动开关电路将C2与电源正极相连,R1与负极相连,其他导线浮空。采用这样的设计降低了电路的复杂程度。如果每个推力器采用独立点火回路,就需10 000个,布线极为困难。但是采用该阵列形式,只需200条导线,提高了点火的稳定性及可靠性。

图4 点火电路Fig.4 Ignition circuit

4 设计仿真

4.1 USB实验仿真

固件程序调试:采用Cypress公司的EZ-USB FX 2LP工具EZ-USB Control Panel软件测试固件程序。设置与控制程序相符的请求码AB80,AB为请求的操作码,80表示通过该请求发送给USB固件的数据,固件程序将该数据输出到端口PA,则PA7置1,FPGA开始读取数据。以点燃坐标为(1,1)、(3,3)、(5,5)的推力器为例,在Pipe选择0:Endpoint 2 OUT,Hex Bytes设置数据为0081018302854000(该数据设置根据2.3节内容,以(3,3)为例,十六进制0183在二进制为0000000110000011,R-ARRAY=0000011、C-ARRAY=0000011;最后输出4000,使output-en=1),进行传输。经过仿真,固件程序能够达到设计要求,仿真结果如图5所示。

4.2 FPGA程序仿真

采用ModelSim进行推力器组合点火仿真,点燃100×100固体推力器阵列位置编号为(1,1)、(3,3)、(5,5)的推力器,仿真时初始化PA7为1,FPGA开始读取数据。以FPGA控制点燃坐标为(1,1)推力器为例,说明程序运行过程。初始化u-slrd、u-sloe、u-addr0、u-addr1均置1(u-slrd、u-sloe低电平有效);当FPGA读取到0000000010000001数据时(第15位作为软复位,14位作为输出使能位,13~0位为推力器位置坐标位),flag-c则置1,根据状态机时序,READ-BEGIN状态u-addr0、u-addr1置为0;OUT-FIFO状态,usloe置0;DATA-READ状态u-slrd置0;之后程序在WAIT状态和DATA-READ状态之间循环,直到数据读完;最后将14位置1进行输出。c-out[99]、r-out[99]为行坐标和列坐标10 0位寄存器,仿真波形如图6所示,符合设计要求。

图5 固件程序调试Fig.5 Firmware debugging

图6 FPGA程序仿真Fig.6 Simulation of FPGA program

在进行多个推力器组合点火时,要求点火具有同步性。FPGA程序在读取完所有点火推力器坐标数据后先将其储存在c-reg[99]、r-reg[99]寄存器中,如果flag-c为0,表示没有要读取的数据,所有点火坐标数据已发送完,通过将第14位置1,将储存所有需点火的推力器坐标的c-reg、r-reg寄存器中数据传输到c-out[99]、r-out[99]中,即发送到输出管脚上,进行一次性输出,这样就保证了点火同时性,使所要点燃的推力器同时点燃,从控制方面上避免了点火不同步。通过波形图可看到,程序设计符合要求,仿真结果见图7。

4.3 推力响应分析

当皮纳卫星需进行控制时,控制指令经由USB接口传输到FPGA中,FPGA对数据进行处理分析,经点火电路对点火药加热,进而点燃推力器主装药。因此,推力响应时间主要包括数据传输时间、FPGA数据分析处理时间和点火电路加热点火药的时间。

图7 点火同时性验证Fig.7 Ignition synchronism o f three thrusters

4.3.1 寻址系统的时间延迟分析

据阵列结构特点及点火功率限制,每次最多点火推力器数量设计为100个,而每个推力器坐标由16位数据决定。因此,最多传输数据为200 byte,运用USB2.0高速传输,速度为480 Mbit/s。根据USB2.0协议,在数据传输时要进行事务处理。除了传输数据包外,还要传输同步字段、包标识字段、地址字段及循环冗余校验等总共83 bit,经计算进行1次完整传输,时间约为3.5μs。

当FPGA接受到数据进行处理后,发送到输出端口,根据编写的程序及有限状态机工作特点,接受处理1个推力器指令在FPGA中所要运行的时间为5个周期,FPGA时钟选用USB内部时钟,工作频率为48 MHz。因此,点燃1个推力器在FPGA中所需时间约为0.104μs,如果点燃100个推力器,则所需时间为0.104×100=10.4μs。

因为USB接口在进行数据传输时,FPGA已在进行数据分析处理。因此,在点燃100个推力器时,数据传输和寻址系统所需总时间为两者中最大值,即约为10.4μs。

4.3.2 点火延迟时间分析

电阻桥丝加热点火药产生的点火延迟时间影响因素众多,如点火电阻的设计、点火药的选择、隔热结构的设计及传热特性等。

在微推力器单元中,点火药、薄膜电阻点火桥丝和SiO2层构成了三明治结构,电阻桥丝是发热元件。可把点火药和SiO2层看作2个一维半无界热传导体,电阻桥丝的生热率作为2个物体公共边界的对流边界条件。

根据一维热传导模型以及边界关系,经推导得到点火药边界温度变化函数[10]:

式中 ap、aSiO2分别为点火药和SiO2的热扩散率;λp、λSiO2分别为点火药和SiO2的热传导率。

点火药发火温度为573 K,点火电阻桥丝材料采用Pt,T0=273 K,RS=235Ψ,L=470μm,经过计算,当点火电压U=30 V时,点火时间仅为1.7ms,点火延迟时间为ms级。

经过分析可知,电阻桥丝点燃点火药的点火延迟时间是整个推力响应的主要影响因素,数据传输和寻址系统所用时间可忽略不计。因此,对于以微型固体推力器阵列作为执行机构的皮纳卫星来说,寻址系统本身对推力响应时间影响极小。

如果控制系统需提供大于100个推力器所产生的冲量或冲量矩时,则需进行分批点燃,每批推力器点火数量少于100个,点火时间间隔由点火延迟时间决定。

5 结论

(1)运用有限状态机设计了FPGA程序,通过Slave FIFO模式,充分利用了USB2.0高速传输特性进行通信,有效解决了对大规模的微型固体推力器阵列的快速寻址问题。经过仿真,能对100×100的推力器阵列中任意一个及多种组合的推力器寻址点火,快速有效,符合设计要求。

(2)提出了一种适用于大规模推力器阵列的点火电路设计思路,提高了点火可靠性,更具实用性。

(3)分析了点火延迟时间,对数据传输、FPGA程序执行以及点火延迟进行了分析。结果表明,设计的寻址系统延时很短,基本上可忽略不计。

[1] David H,Lewis Jr,et al.Digitalm icropropu lsion[J].Sensors and Actuators:Physical,2000,80(2):143-156.

[2] 张高飞,尤政,等.基于MEMS的固体推力器阵列[J].清华大学学报,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应用开发技术大全[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固体化学推进器设计与建模研究[J].光学精密工程,2005,13(2):121-122.

猜你喜欢

推力器固件端点
一种控制系统故障处理中的互斥设计方法
大中小功率霍尔推力器以及微阴极电弧推进模块
例谈求解“端点取等”不等式恒成立问题的方法
不等式求解过程中端点的确定
基于固件的远程身份认证
谷歌公司推出计算机固件分析工具帮助用户阻止恶意软件入侵
基丁能虽匹配延拓法LMD端点效应处理
离子推力器和霍尔推力器的异同
英特尔发布免费固件引擎
提取ROM固件中的APP