《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于有限状态机的飞行器自毁系统时序控制设计
基于有限状态机的飞行器自毁系统时序控制设计
摘要: 飞行器自毁系统是飞行器的重要组成部分,它的可靠性和稳定性是飞行器可靠工作的基础。分析飞行器自毁系统工作原理,采用复杂可编程逻辑器件(CPLD)实现了飞行器自毁系统设计,结合CPLD的特点,提出一种基于改进型有限状态机的飞行器自毁系统时序控制的设计方法,并在CPLD中予以实现。仿真及实验表明,基于有限状态机的飞行器自毁系统定时精度达到纳秒级,可以有效地控制自毁信号输出并消除毛刺现象,很好地满足系统性能要求。该方法具有结构简单紧凑、成本低、可靠性高、精度高等优点。
Abstract:
Key words :

摘 要:飞行器自毁系统是飞行器的重要组成部分,它的可靠性和稳定性是飞行器可靠工作的基础。分析飞行器自毁系统工作原理,采用复杂可编程逻辑器件(CPLD)实现了飞行器自毁系统设计,结合CPLD的特点,提出一种基于改进型有限状态机" title="有限状态机">有限状态机的飞行器自毁系统时序控制" title="时序控制">时序控制的设计方法,并在CPLD中予以实现。仿真及实验表明,基于有限状态机的飞行器自毁系统定时精度达到纳秒级,可以有效地控制自毁信号输出并消除毛刺现象,很好地满足系统性能要求。该方法具有结构简单紧凑、成本低、可靠性高、精度高等优点。
关键词:飞行器;自毁系统;有限状态机;时序控制


O 引 言
    飞行器自毁系统是飞行器的重要组成部分,它具有非常重要的军事及民用价值。飞行器自毁系统主要是实现飞行器在非正常飞行状态" title="飞行状态">飞行状态时的可靠自毁。飞行器按正常状态飞行,如果出现异常可以通过外部的飞行状态参数传感器及自毁电路控制自身自毁。随着飞行器研制技术的不断发展,对飞行器自毁系统小型化、模块化、通用化的要求越来越迫切,CPLD的出现可以满足这一要求。由于CPLD硬件电路的特点,必须研究适合CPLD硬件架构的设计方法,以达到系统在运行速度与资源消耗上的平衡。有限状态机及其技术是实用数字系统设计中实现高效率高可靠逻辑控制的重要途径,有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。这里针对自毁系统的特点,提出一种符合CPLD结构、基于有限状态机的设计方法。


l 自毁系统硬件设计
    硬件设计采用以高性能CPLD芯片为核心的数字电路和高性能运算放大器及飞行参数传感器组为主要元件的模拟电路相结合的方案。系统主要由系统时钟、CPLD控制芯片、飞行参数传感器组、传感器组输出判断与产生电路、自毁控制逻辑、测试模块和电源等模块组成。该设计使用Altera公司的EPM7064SLC44-10芯片,其内部包含有64个宏单元,1 250个可用的系统门,引脚到引脚的逻辑延迟时间为5.0 ns,计数器工作频率可达175.4 MHz。
    用CPLD实现上述自毁条件的时序控制逻辑的核心电路及其外围电路如图1所示。CPLD芯片为整个系统的核心,它用来实现计时以及整个系统的时序控制。直流电压变换电路用于将输入的直流电压转换成EPM7064S所需的电压,以及外围电路所需的工作电压。系统时钟电路为计时装置提供稳定的时钟信号及后续分频使用的时钟基准;电平转换电路将飞行器上输入信号" title="输入信号">输入信号进行调理后转换为芯片可识别的TTL/CMOS电平标准;复位电路在系统上电后给控制芯片提供复位信号。

    飞行参数传感器组电路用来实时监控飞行器的各项指标,当飞行状态出现异常时则由传感器组产生相应模拟值到由高性能运算放大器及比较器为主要元件的模拟电路。模拟电路对传感器的输入值进行处理后送到CPLD时序控制模块中。可控开关能通过对CPLD编程实现多路转换,从而使被监控的飞行参数传感器改变,进而改变飞行器的自毁条件。通过CPLD进行飞行器内部时序控制,最后输出的自毁指令输入到飞行控制信号模块中,从而改变飞行器的飞行状态,使之自毁。

2 有限状态机模型及选择
2.1 有限状态机模型
    有限状态机(Finite State Machine,FSM)可以用下面包含5种元素的集合来表示{X,Y,S,f,g},这里S={S1,S2,…,Sk}是FSM中状态的集合;X={X1,X2,…,Xn}是FSM中输入的集合;Y={Y1,Y2,…,Ym)是FSM中输出的集合;f为状态转移函数,表示由输入信号变量X和当前状态S决定下一个状态,即:XY;→S;g为输出函数,表示由输入信号变量X和状态S决定状态机的输出变量Y,即:XS→Y。从上面定义可以看出,有限状态机包含5类基本要素:即状态、输入、输出、转移函数及输出函数。它们分别用矢量函数表示如下:

 

   
    不用的分类规则,状态机分类也不同。在实际的应用中,根据有限状态机是否使用输入信号,设计人员经常将其划分为Moore有限状态机和Mealy型有限状态机两种类型。Moore型状态机的输出只与当前的状态有关而与输入无关,而Mealy型状态机的输出不仅与当前状态有关,还与当前的输入有关,它们共同决定Mealy状态机的输出。图2和图3分别表示了Moore,Mealy状态机的结构图。

    有限状态机还有很多分类方法,比如根据复位信号的不同可以分为同步复位状态机和异步复位状态机。根据输出是否寄存分为直接输出、寄存输出、根据状态编码输出等类型。
    对于Moore型有限状态机,输出信号将在时钟信号的触发沿到的几个门时延后得到输出值,同时在该时钟周期" title="时钟周期">时钟周期的剩余时间内保持不变,即使输入信号在该时钟周期内发生变化,输出信号的值也不会改变。由于Moore型有限状态机的输出与当前的输入部分无关,因此当前输入产生的任何效果将会延迟到下一个时钟周期。可见,Moore型状态机的最大优点就是可以将输入部分与输出部分隔离开。
    对于Mealy型有限状态机,由于它的输出是输入信号的函数,因此如果输入信号发生变化,则输出可以在1个时钟周期的中间发生改变。与Moore型有限状态机相比,它对输入信号的变化相应要早1个时钟周期。但它也会将输入端口的噪声传递给输出信号。
    综合以上几点的考虑,该设计采用Moore型有限状态机实现飞行器自毁系统的时序控制。
2.2 毛刺和信号时延处理
    Moore型有限状态由于有组合逻辑进程的存在,状态机输出信号会出现毛刺(竞争冒险现象);另一方面,如果状态信号是多位值的,则在电路中对应了多条信号线。由于存在传输延迟,各信号线上的值发生改变的时间则存在先后,从而使得状态迁移时在初始状态和目的状态之间出现临时状态,因此出现毛刺。
    参考各方面文献,现在消除输出信号的“毛刺”一般可采用3种方案:一是调整状态编码,使相邻状态间只有1位信号改变,从而消除竞争冒险的发生条件,避免了毛刺的产生。这种方案适用于顺序迁移的状态机;二是在有限状态机的基础上采用时钟同步信号,即把时钟信号引入组合进程。状态机每一个输出信号都经过附加的输出寄存器,并由时钟信号同步,因而保证了输出信号没有毛刺。这种方法存在一些弊端;由于增加了输出寄存器,硬件开销增大,这对于一些寄存器资源较少的芯片是不利的;从状态机的状态位到达输出需要经过两级组合逻辑,这就限制了系统时钟的最高工作频率;由于时钟信号将输出加载到附加的寄存器上,所以在输出端得到信号值的时间比状态的变化延时1个时钟周期;三是直接把状态机的状态码作为输出信号,即采用状态码直接输出型状态机,使状态和输出信号一致,使得输出译码电路被优化掉了,因此不会出现竞争冒险。这种方案,占用芯片资源少,信号与状态变化同步,因此速度快。


    因此该设计采用状态作为输出信号且带有复位信号的Moore型有限状态机。其结构框图如图4所示。

 

3 QuartusⅡ环境下有限状态机的设计
3.1 系统总体结构
    飞行器自毁系统在飞行器起飞后开始工作,并实时监控飞行参数传感器组及计时模块产生的控制信号。图5给出了自毁控制电路的硬件实现方案。在CPLD中实现系统的总体结构如图5所示。CPLD外围的高性能运算放大器为主要元件的模拟电路以及传感器组用来产生时序控制信号(c1,c2,c3,c4,c5),并输入到输入信号处理模块。时钟分频用来产生各个模块工作所需的时钟。计时模块用来产生飞行总时间(tmax)。时序控制模块用来产生自毁输出信号(Output),它是整个系统的控制核心,它的可靠性和稳定性是飞行器能否实现可靠自毁的基础。这里采用状态作为输出信号且带有复位信号的Moore型有限状态机设计时序控制模块实现飞行器可靠自毁。

3.2 改进型有限状态机实现时序控制
    飞行器自毁时序控制流程图如图6所示。飞行器自毁系统的时序状态变化由各个传感器的输入及CPLD计时器状态决定。飞行参数传感器组输入不同的状态指令,时序控制系统就可以在不同的状态间变化,其中ST5状态是整个自毁系统的控制输出。根据图6可以得到5个状态触发器的激励方程:

   

  采用VHDL语言描述这种改进的Moore型有限状态机之前,首先要对Moore型有限状态机的状态进行编码操作。如表1所示,由于有限状态机的输出只有Output,为了在综合时更好地识别这5个不同的状态,需要添加状态位。在表2中添加两个冗余的状态位a,b来区分STl,ST2,ST3,ST4。

 

3.3 VHDL编程注意事项
    本设计采用单进程描述方式,也可以采用两进程描述。用两进程时最好把转移条件判断逻辑和输出逻辑分开,这样有利于综合器优化代码,利于用户添加合适的时序约束,利于布局布线。状态机要有默认状态,这是从状态机的安全性方面考虑的。在状态机的设计中,一般要包含一个初始状态,当芯片上电复位时,状态机能够进入到初始状态。这需要在状态机设计中加入复位信号。


4 电路仿真
    在QuartusⅡ环境下,将VHDL文本程序保存为工程,工程文件经编译后即可进行电路仿真。仿真波形如图7所示,从波形结果可以看出,复位信号(reset)有效,使状态机恢复到初始状态,飞行器起飞(off)有效开始,时序控制系统经历了飞行过程中5个不同的状态,如图7中state变量所示。并最终输出自毁指令(Output),VHDL程序设计符合要求。整个时序控制可靠,消除了毛刺现象。在QuartusⅡ环境下,只需要1根下载编程电缆,通过PC机的并行口连接到目标板的JTAG口,将下载信息下载到目标器件中。

5 结 语
    仿真及实验结果证明,采用上述的有限状态机思想进行飞行器自毁系统时序控制设计,不但可以减小占用CPLD资源,降低成本,方便测试,并且可以有很好的系统性能。基于有限状态机的飞行器自毁系统定时精度达到纳秒级,可以有效可靠地控制自毁信号输出,有效消除毛刺现象,提高了飞行器自毁系统的稳定性、可靠性。

此内容为AET网站原创,未经授权禁止转载。