一种基于有限状态机和ARINC659总线的接口数据处理系统及方法
技术领域
本发明属于飞机航空电子系统机载计算机设计领域,是一种具有高可靠、高确定性以及高效率的接口数据处理系统及方法。
背景技术
机载计算机接口通过相应处理电路将模拟信号和离散信号变换成计算机的数字信号,由于接口信号的形式及响应速度存在很大差异,不可能依靠机载计算机的主处理器进行数据处理,否则浪费大量的主处理器时间,当前机载计算机接口数据处理通过专用接口管理处理器进行数据处理,接口管理处理器和主处理器的之间通过存储共享交互指令和数据。接口管理处理器的主要目的是接口信号的信息采集,再将采集的数字信息写入共享的存储器,主处理器通过读取共享存储器获取接口信息。
接口数据处理模块在周期任务中,负责每周期采集接口信息并上报主处理器,周期任务管理单一,对于控制的接口资源,如模拟量、离散量等,管理方法简单,这也为本发明的方法提供了设计基础。
使用专门的接口数据处理模块处理接口数据的方法首先在硬件电路上存在处理器及周边存储电路,降低了电路可靠性;其次,通过共享存储,将低了数据的准确性;再次,接口数据处理模块需要编写专用的处理软件,增加了软件配置项。
发明内容
为了解决现有的接口数据处理方式降低可靠性、数据准确性以及增加配置项的技术问题,本发明提供一种基于有限状态机和ARINC659总线的接口数据处理系统及方法,本发明用有限状态机代替接口数据处理模块,使用ARINC659总线同主处理器交互信息,实现了具有高可靠性、高数据完整性和高效率的接口数据处理方法。
本发明的技术解决方案:
一种基于有限状态机和ARINC659总线的接口数据处理系统,其特殊之处在于:包括ADI模块、主处理器模块和ARINC659底板总线,ARINC659底板总线实现ADI模块和主处理器模块之间的相互通信;
所述ADI模块包括AIN接口、DIN接口、AOUT接口、FPGA以及PCI总线桥;
PCI总线桥连接ARINC659底板总线和FPGA;
FPGA包括
初始化配置模块:接收外部发送的复位信号完成PCI总线桥和向ARINC659底板总线的配置;
指令等待模块:接收总线任务表下达的指令,若接收到指令,则从读存储模块中读取数据且在读取完成后,将所读取数据写入DA变换模块;若未接收到指令,则处于等待指令状态;
读存储模块:用于通过PCI总线桥从ARINC659数据缓存区读取数据进行缓存;
DA变换模块:用于将写入的数据进行DA转换后通过AOUT接口输出离散量信号;
AIN采集模块:用于通过AIN接口采集模拟量信号并将采集的模拟量信号写入到写存储模块;
DIN采集模块:用于通过DIN接口采集离散量信号并将采集的离散量信号写入到写存储模块;
写存储模块:用于在模拟量信号和离散量信号写入完成后,通过PCI总线桥将写入的模拟量信号和离散量信号写至ARINC659数据缓存区。
上述FPGA还包括异常处理模块,所述异常处理模块对出现异常不能跳转时进行处理。
上述主处理器模块通过PCI总线接口与ARINC659底板总线连接。
一种基于有限状态机和ARINC659总线的接口数据处理方法,包括以下步骤:
1)初始化配置:
1.1)接收外部发送的复位信号后对PCI总线桥进行配置;
1.2)ARINC659底板总线的加载总线任务表;
2)等待状态:
若总线任务表下达的中断指令,则跳转至读数据状态,执行步骤3)
若未接收到总线任务表下达的中断指令,则处于等待状态;
3)读数据状态:
读存储模块通过PCI总线桥从ARINC659数据缓存区读取数据进行缓存;从读存储模块中读取数据且在读取完成后,将所读取数据写入DA变换模块;
4)跳转至DA变换:
DA变换模块将写入的数据进行DA转换后并通过AOUT接口输出离散量信号;
5)跳转至信号采集状态:
AIN采集模块通过AIN接口采集模拟量信号并将采集的模拟量信号写入到写存储模块;
DIN采集模块通过DIN接口采集离散量信号并将采集的离散量信号写入到写存储模块;
6)采集完毕后跳转至写数据状态:
写存储模块通过PCI总线桥将写入的模拟量信号和离散量信号写至ARINC659数据缓存区;
7)写数据完成后,跳转至步骤2)。
还包括异常处理步骤:在各个状态不能跳转时,对出现的异常情况进行处理。
本发明的优点是:
1、本发明采用有限状态机(FPGA中各个功能模块)取代传统接口数据处理模块,状态机所完成的接口数据处理及采集过程,有效减少了电路器件,减少了软件配置项,提高了硬件可靠性和管理效率。
2、本发明主处理器模块与ADI模块通过底板总线ARINC659进行数据通信,由于ARINC659总线是高数据完整性及强容错性串行底板总线,因而确保了主处理器模块与接口模块通信数据的高完整性。
3、本发明整个系统电路器件种类和数量减少,电路故障模式减少,模块可靠性提高。
附图说明
图1是本发明系统同主处理器交互结构图。
图2是本发明系统方法功能框图。
图3是本发明有限状态机整体状态迁移图。
图4是本发明有限状态机中初始化配置分解及ARINC659总线配置流程。
图5是分别是AIN采集,AOUT输出,DIN采集流程图。
图6是AIN采集模块的采集过程示意图。
图7是DIN采集模块的采集过程示意图。
具体实施方式
下面对本发明做进一步详细说明。
参见图1、图2所示,本发明的接口数据处理方法所涉及的模块包括ADI模块和主处理器模块,主处理器模块与ADI模块通过ARINC659底板总线进行数据通信。ADI模块包括AIN接口、DIN接口、AOUT接口、FPGA以及PCI总线桥;
PCI总线桥连接ARINC659底板总线和FPGA;
FPGA包括
初始化配置模块:接收外部发送的复位信号完成PCI总线桥(先)和向ARINC659底板总线的配置;
指令等待模块:接收总线任务表下达的指令,若接收到指令,则从读存储模块中读取数据且在读取完成后,将所读取数据写入DA变换模块;若未接收到指令,则处于等待指令状态;
读存储模块:用于通过PCI总线桥从ARINC659数据缓存区读取数据进行缓存;
DA变换模块:用于将写入的数据进行DA转换后通过AOUT接口输出离散量信号;
AIN采集模块:用于通过AIN接口采集模拟量信号并将采集的模拟量信号写入到写存储模块;
DIN采集模块:用于通过DIN接口采集离散量信号并将采集的离散量信号写入到写存储模块;
写存储模块:用于在模拟量信号和离散量信号写入完成后,通过PCI总线桥将写入的模拟量信号和离散量信号写至ARINC659数据缓存区;
FPGA还包括异常处理模块,所述异常处理模块对出现异常不能跳转时进行处理。
主处理器模块通过PCI总线接口与ARINC659底板总线连接。
有限状态机通过复位结束信号作为状态机的开始信号,进入初始化状态,完成整个接口资源的初始化以及底板总线的初始化,初始化完成后进入等待状态,当出现ARINC659的中断信号后逐一完成AOUT输出、AIN采集、DIN采集,将采集到的写入ARINC659的发送窗口中,最后使能发送,完成一个周期的数据采集和底板总线发送窗口中数据的更新,回到等待状态等待下一中断信号启动下一周期采集。任何一个状态发生异常,进入故障处理并将错误信息上报主处理器。
如图3所示,有限状态机通过判断ARINC659中断信号决定是否进入周期采集过程,采集完毕等待下一个周期采集,具体为:
1)初始化配置:如图4所示,
1.1)接收外部发送的复位信号后对PCI总线桥进行配置;
1.2)ARINC659底板总线的加载总线任务表;
2)等待状态:
若总线任务表下达的中断指令,则跳转至读数据状态,执行步骤3)
若未接收到总线任务表下达的中断指令,则处于等待状态;
3)读数据状态:
读存储模块通过PCI总线桥从ARINC659数据缓存区读取数据进行缓存;从读存储模块中读取数据且在读取完成后,将所读取数据写入DA变换模块;
4)跳转至DA变换:
DA变换模块将写入的数据进行DA转换后并通过AOUT接口输出离散量信号;具体如图5所示。
5)跳转至信号采集状态:
AIN采集模块通过AIN接口采集模拟量信号并将采集的模拟量信号写入到写存储模块;具体如图6所示。
DIN采集模块通过DIN接口采集离散量信号并将采集的离散量信号写入到写存储模块;具体如图7所示。
6)采集完毕后跳转至写数据状态:
写存储模块通过PCI总线桥将写入的模拟量信号和离散量信号写至ARINC659数据缓存区;
7)写数据完成后,跳转至步骤2)。