牵制释放仿真数据源系统的制作方法

文档序号:5170400阅读:172来源:国知局

专利名称::牵制释放仿真数据源系统的制作方法
技术领域
:本发明涉及一种牵制释放仿真数据源系统,应用于运载火箭测控等效仿真领域。
背景技术
:牵制释放系统在发动机点火前后,对箭上发动机等关键系统工作状态进行故障检测,在确定被检测系统工作正常后释放火箭。降低由于发动机等关键系统早期故障导致的危害火箭、发射场安全的事故发生的概率,提高火箭发射、飞行安全性及飞行可靠度。牵制释放系统通常分为牵制释放测控系统和牵制释放装置。牵制释放测控系统对被检测对象的参数采集、传输、故障判断、发送指令等功能。牵制释放装置位于火箭与发射台之间,实现火箭与发射台的可靠连接及解除连接、释放火箭。为提高可靠性,牵制释放测控系统采用三冗余设计,从传感器、数据采集和传输、故障判断都采用三冗余设计,控制指令输出根据三冗余故障判断的输出经三取二表决电路发出。牵制释放仿真数据源需要配合三冗余嵌入式计算机完成三路冗余数据的高实时、同步发送。牵制释放系统仿真数据源用于模拟运载火箭的控制、遥测等外系统的输入输出,验证牵制释放系统计算机的故障检测功能。传统仿真数据源一般以下三种方案进行仿真测试(1)采用纯硬件的方法进行设计,具有很强的针对性,但是灵活行差,不易扩展和配置,对于故障注入、数据记录等方面面很难保证,在牵制释放原理试验阶段,验证需求变化可能会导致硬件更改;(2)采用通用平台下软件编程来实现仿真功能的等效系统,显然实时性满足不了要求,Windows操作系统下很难精确的控制同步精度和数据的实时发送;(3)对于仿真数据源采用三冗余硬件系统,一个设备中要包含3路CPU,对立完成个各自的功能,这种方案也存在缺陷,无论是硬件设计还是软件同步设计上复杂性都很高,而且代价昂贵。
发明内容本发明的技术解决问题是克服现有技术的不足,提供一种牵制释放仿真数据源系统,解决了牵制释放三冗余系统的三路仿真数据的同步实时发送问题。本发明的技术解决方案是牵制释放仿真数据源系统,其特征在于包括CPCI数据源设备和后端计算机,CPCI数据源设备从后端计算机接收模拟数据,完成模拟数据的存储,并根据数据请求信号的响应,发送给前端三冗余计算机,CPCI数据源设备从后端计算机接收点火信号指令,并控制点火信号的输出;后端计算机完成模拟数据的上传,点火信号指令的发送控制,并接收显示CPCI数据源设备的反馈信息,CPCI数据源设备的硬件包括电源板、CPU板和模拟源板,电源板用于给整个系统供电,CPU板为数据源设备的主控板,模拟源板实现三路串口信号的发送、一路点火信号的输出、一路数据请求信号的输入;CPCI数据源设备的软件采用VxWorks操作系统,应用软件包括初始化模块、网络模块和串口同步发送模块,初始化模块用于应用软件的初始化,网络模块实现模拟源数据的网络接收、存储和点火信号的接收、控制执行,串口同步发送模块实现数据请求信号的响应,并控制模拟源数据的同步发送,所述的模拟数据由发动机点火前和点火后真实试验数据组成。所述的模拟源板包括CPCI接口芯片、FPGA控制电路、三路隔离电路、三个电平转换电路、三个接口保护电路、晶振、SDRAM、EEPROM、继电器、光电耦合器,其中,EEPR0M存储CPCI接口芯片的配置信息,CPCI接口芯片上电后读取EEPR0M存储CPCI接口芯片的配置信息,CPU板将要发送的并口数据通过CPCI接口芯片写入FPGA控制电路的内部数据缓存中,SDRAM对FPGA控制电路内部数据缓存中的并行数据进行存储,CPU板向FPGA控制电路中的定时器发出使能信号,定时器根据晶振产生的时钟频率开始计时,定时器控制FPGA中的并串转换电路从SDRAM中将并行数据取出进行并串转换形成三路TTL信号,当定时器定时时间到时,定时器控制并串转换电路将转换后的三路TTL信号发送至三个隔离电路进行隔离,经过隔离后的TTL信号进行电平转换,最后通过接口保护电路以串口形式输出;继电器将FPGA控制电路输出的点火信号发送给前端的三冗余嵌入式计算机;三冗余嵌入式计算机发送过来的数据请求信号经过光电耦合器隔离后送入FPGA控制电路。所述的串口同步发送模块采用中断的方式实现数据请求信号响应,数据请求信号响应由以下三部分实现初始化部分将数据请求信号挂接在数据请求中断函数上,然后创建串口同步发送任务,最后将数据请求中断设置为使能状态;数据请求中断函数部分首先将数据请求中断设置为禁止状态,然后清除数据请求中断寄存器,最后释放同步信号量;串口同步发送任务部分等待同步信号量,当有同步信号量时,开始执行模拟源数据的同步发送,发送完毕后,将数据请求中断设置为使能状态,并返回等待状态,等待下一个同步信号量。所述的模拟数据由发动机点火前和点火后真实试验数据组成,串口同步发送模块实现模拟源数据发送的过程如下(1)等待同步信号量,当得到同步信号量时,判断系统当前状态是否为点火前,如果是点火前,则进入下一步,如果是点火后,则直接进入步骤(6);(2)根据当前的指针位置皿m从模拟数据内存区中取出一组点火前数据,并组成串口通信帧;如果是第一次从模拟数据内存中取数据,则指针指向模拟数据内存的首地址,艮卩皿m=0;(3)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(4)皿m=皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址;(5)判断指针位置皿m是否小于n,如果小于n,则返回等待同步信号量状态,如果不小于n,则将指针位置皿m设置为0后,再返回等待同步信号量状态,所述的n为系统提供的点火前数据的总组数;(6)首先判断当前的指针位置皿m是否小于n,如果小于n,则将指针位置皿m设置为n后,进入下一步,如果不小于n,则直接进入下一步;(7)根据当前的指针位置皿m从模拟数据内存区中取出一组点火后数据,并组成串口通信帧;(8)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(9)num=皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址,然后返回等待同步信号量状态。本发明与现有技术相比的优点在于(1)采用通用计算机和前端嵌入式设备结合的仿真结构,在保证了平台可靠性、实时性的同时,也具备很强的灵活性。与用户相关的指令控制、数据转换与上传均由后端计算机完成,而采用VxWorks操作系统的前端嵌入式设备及软件保证了命令执行的可靠和模拟数据的实时发送。通用性强、实时性高,有利于对牵制释放系统故障判别的实时性仿真分析。(2)通过基于FPGA的硬件定时方式实现了三路串口可以同步或异步发送,每路发送的数据和各路之间发送数据的起始时间间隔可以自行设定,同步和异步发送的时间精度达到微秒级;(3)牵制释放仿真数据源系统采用的模拟数据均为真实发动机的试车数据,可根据牵制释放测控系统时序等工作特点,制作并模拟出各种正常、报警、故障等数据文件;用户可根据测试内容,通过后端计算机选择相应的文件上传,灵活性强,增强了测试覆盖范围,方便操作;(4)CPCI仿真数据源系统中的软件采用了内存分区管理,解决测试数据保存和大量模拟数据发送任务冲突造成的数据临时存储可靠性问题,防止因内存分配失败以及产生碎片等原因造成数据丢失;(5)本发明中的串口发送模块采用了串口同步发送任务和数据请求中断处理相结合的机制,不仅保证了3路串口冗余发送的实时响应,更重要的是提高了软件的质量和系统的可靠性。图1为本发明仿真数据源系统示意图;图2为本发明模拟源板结构示意图;图3为本发明FPGA控制电路的组成原理图;图4为由隔离模块、电平转换电路和接口保护电路组成的内部结构5为本发明单路串口信号的波形图;图6为本发明网络多任务通信结构图;图7为本发明串口发送模块实现数据请求响应流程图;图8为本发明串口发送模块实现模拟数据发送流程图。具体实施例方式如图1所示,为本发明仿真数据源系统示意图,包括CPCI数据源设备和后端计算机,CPCI数据源设备从后端计算机接收模拟数据,完成模拟数据的存储,并根据数据请求信号的响应,发送给前端三冗余计算机,CPCI数据源设备从后端计算机接收点火信号指令,并控制点火信号的输出;后端计算机完成模拟数据的上传,点火信号指令的发送控制,并接收显示CPCI数据源设备的反馈信息。CPCI数据源设备采用标准CPCI总线的形式,以达到系统的可靠性和通用性要求,CPCI数据源设备的硬件包括电源板、CPU板和模拟源板,电源板用于给整个系统供电,CPU板为数据源设备的主控板,模拟源板实现三路串口信号的发送、一路点火信号的输出、一路数据请求信号的输入。CPU板为牵制释放前端测试及模拟设备的主控板,具有1路以太网口,可接收后端计算机的控制指令,并将状态数据实时传入监控计算机;处理器选择PowerPC系列,主频不低于800MHz,CPU板可选用GE-CV1(6U)高性能CPCI主控板卡,主芯片为飞思卡尔公司的MPC7447AG4处理器,它能提供1GHz的工作主频,带有256MBDDRSDRAM和128MBFlash、1路PMC接口、2路千兆以太网接口、RS-232接口和10路GPIO接口,完全能够满足本系统的性能需求,并且可提供很大的功能升级空间。电源板可采用双冗余备份方案,可自动切换;输入电压200V-240VAC;输出功率不小于200W。如图2所示,为模拟源板结构示意图,包括CPCI接口芯片、FPGA控制电路、三路隔离电路、三个电平转换电路、三个接口保护电路、晶振、SDRAM、EEPR0M、继电器、光电耦合器,EEPROM存储CPCI接口芯片的配置信息,CPCI接口芯片上电后读取EEPROM存储CPCI接口芯片的配置信息,CPU板将要发送的并口数据通过CPCI接口芯片写入FPGA控制电路的内部数据缓存中,SDRAM对FPGA控制电路内部数据缓存中的并行数据进行存储,CPU板向FPGA控制电路中的定时器发出使能信号,定时器根据晶振产生的时钟频率开始计时,定时器控制FPGA中的并串转换电路从SDRAM中将并行数据取出进行并串转换形成三路TTL信号,当定时器定时时间到时,定时器控制并串转换电路将转换后的三路TTL信号发送至三个隔离电路进行隔离,经过隔离后的TTL信号进行电平转换,最后通过接口保护电路以串口形式输出。继电器将FPGA控制电路输出的点火信号发送给前端的三冗余嵌入式计算机;三冗余嵌入式计算机发送过来的数据请求信号经过光电耦合器隔离后送入FPGA控制电路。如图3所示,FPGA控制电路包括三个定时器、三个并串转换电路、三个写入缓存区和三个读取缓存区,由CPCI接口芯片写入的并行数据写入三个写入缓存区中,SDRAM对三个写入缓存区中的并行数据进行存储,三个定时器同时或分别接收CPU板发出的使能信号,当接收到使能信号后三个定时器根据晶振产生的时钟频率分别计时,三个并串转换电路从SDRAM中将并行数据取出至三个读取缓存区中,三个定时器控制三个并串转换电路对三个读取缓存区中的并行数据进行并串转换形成三路TTL信号,当三个定时器的定时时间到时,三个定时器控制并串转换电路将转换后的三路TTL信号同步或异步输出。如图4所示,隔离电路采用光电耦合器进行光电隔离;电平转换电路将TTL信号转换成差分的串口信号;接口保护电路采用四个稳压二极管组成,每两个稳压二极管的正极对接,负极一端接地,另一端接一路差分串口信号。CPCICPU板与CPCI接口芯片之间以并行方式交换数据,CPCI接口芯片构成总线接口电路,转化CPCI总线提供的信号时序以及地址和数据分时复用信号,便于后端设备直接使用,完成FPGA与CPCI总线的数据通信。串口数据发送时,CPU板将要发送的数据通过CPCI接口芯片写入FPGA内部缓存,可通过使能控制3路同步发送。可设定发送的波特率、奇偶校验位和停止位。FPGA输出的TTL信号经过光电隔离和电平转换,以串口(如RS-422)形式输出。串口数据接收时,输入的串口信号经电平转换芯片转换为TTL信号,通过光电隔离,由FPGA负责接收和处理,使用大容量SDRAM对接收到的数据进行缓存,CPU板可通过CPCI接口芯片读取接收到的数据。通过FPGA实现多路串口精确定时发送关键是构建多个可同步控制的硬件定时器,若实现微秒级的同步精度,FPGA晶振的频率要在1M以上,本发明选用了24M晶振,理论同步精度可达到42ns。硬件定时器的定时时间可进行动态配置,实现3路串口同步发送需要3个硬件定时器,由1个使能控制器统一控制,这里选用了3个25位定时器,其每路之间的发送时间差异可达到1.4s。UART串行接口美国电子工业协会(EIA)制定的通信标准,目前常用的串行接口主要有RS-232、RS-422、RS-485接口,不同接口的物理层电气特性不同,但他们链路层的数据帧格式是完全相同的,均由l位起始位(逻辑0表示)、58位数据位(低位在前)、1为校验位、12位停止位组成。并行数据是采用高位在前的字节方式存储,并_串转换和串-并转换的实现方式类似,只是操作过程相反。并串转换的过程为计数器计数开始,并串转换电路对三个读取缓存区中的并行数据电平进行检测,以保证该帧的每位数据检测都发生在数据位时间中部,减小检测误码率;数据移位通过移位方式将并行数据由低位到高位转换成串行数据,存入临时变量中;奇偶校验对移位后的数据根据奇偶校验的设置进行奇偶校验,当定时器定时时间到将数据发出。在FPGA芯片中可以通过程序构建FIFO的方式实现高速缓存,但构建FIFO需要占用大量片上资源,一般不能做的很大,无法实现大容量的高速缓存。而SDRAM可以实现几十M甚至上百M的存储容量,但它的存取速度相对较慢,本文通过片内FIFO与SDRAM相结合的方式实现了多路串口的高速缓存。SDRAM具有空间存储量大、读写速度快、价格相对便宜的特点。但其控制逻辑复杂,需要周期性刷新操作、行列管理、不同延时和命令序列等。SDRAM的存储地址分为页(bank)地址,行(row)地址和歹lj(column)地址。例如一个8MByte的SDRAM,被分为4个bank,即1个bank为2Mbyte,每个bank包括12行8列。SDRAM的一系列指令如表1所示,每个指令最终都是通过控制RAS、CAS、WE信号来实现,通常对SDRAM的操作过程如表1。表lSDRAM操作命令<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>对SDRAM进行访问的最主要操作就是读RD和写WR操作。SDRAM在进行读写操作时,必须要先进行页激活ACT操作,以保证存储单元是打开的,以便从中读取地址或者写入地址,关闭存储单元通过预充电PHC命令实现。在进行写操作时,内部的列地址和数据就会被寄存;进行读操作时,内部地址被寄存,等待CAS延迟时间(通常为13个时钟周期)后,读出的数据出现在数据总线上,具体时序详见SDRAM数据手册,此处不再赘述。本发明为了简便起见,将SDRAM划分为3固定长度的空间,分别存储3路串口接收到的数据,FPGA内部构建3路写入FIFO和3路读取FIFO,并行数据首先保存在写入FIFO中,FPGA在每个时钟周期检测输入FIFO,发现其中有数据就将数据转移至SDRAM中,再检测读取FIFO是否为满,不满则将SDRAM数据转移至读取FIFO中,供主控程序读取。CPCI接口卡选用PLX公司的PCI9030,该芯片采用3.3V核心电压,兼容5V信号电平,功耗低,配置灵活简单,易于完成FPGA与CPCI总线的数据通信;FPGA选用Xilinx公司Spartan3系列中的XC3S400PQ208-4I芯片,该芯片包含400K的GATES,344K的RAM和141个可用的I/O管脚,能够满足系统的功能需求。全双工串口电平转换芯片选用MAX485芯片,其最高通信速率为lOMbps,具有2KV的ESD保护特性。接口保护芯片选用ProTekDevices公司的PSM712,该芯片是RS-422/485接口常用的TVS阵列,可有效保护接口芯片。串口信号采用光电隔离,选用FAIRCHILD公司的HCPL0631,该芯片为10Mbps的高速光电耦合器件,可满足系统速度需求。试验的操作系统使用Windows操作系统,采用Driverstudio软件编制了板卡的驱动程序,用串口卡自身各路之间数据相互收发的方式测试串口的发送和接收功能,使用示波器查看串口发送数据的电平特性和同步精度。经测试,每路串口均可正常收发数据,三路串口的同步精度误差达到100ns以下,能够满足系统的同步精度需求,单路串口的波形如图5所示。CPCI数据源设备的软件采用VxWorks操作系统,应用软件包括初始化模块、网络模块和串口同步发送模块,初始化模块用于应用软件的初始化,网络模块实现模拟源数据的网络接收、存储和点火信号的接收、控制执行,串口同步发送模块实现数据请求信号的响应,并控制模拟源数据的同步发送。初始化模块完成串口发送模块和网络模块的初始化工作,主要包括配置串口参数(如波特率、停止位校验方式等)、初始化网络通信套接字、设置系统时间、设置串口同步时间、开辟模拟数据内存区。网络模块牵制释放仿真模拟源软件采用了TCP应用服务,做为服务器的概念存在,等待后端计算机的连接。由于VxWorks采用默认的阻塞型socket,采用单任务模式并不合适,因此在网络模块中采用多任务方式来完成测试数据的网络传输、存储与功能控制,其结构如图6所示。(1)网络初始化任务tNetlnit:非周期任务,完成初始化建立连接的工作。同时,本任务作为网络通信的根任务,一旦客户端有连接请求,就需要发起各种子任务网络发送任务、网络接收任务、信息处理任务、网络监控任务;(2)网络接收任务tNetRecv:周期性任务,阻塞在VxWorks系统的recv()函数上的,它的主要作用是接收数据(模拟数据帧、点火信号),然后将所有数据传给信息处理任务进行具体的分类处理;(3)信息处理任务tNetProc:周期性任务,优先级较低,对已经接收到的数据进行解析,解析出数据的类别,如果是模拟数据帧,则进行存储处理,如果是点火信号,则控制模拟源板输出点火信号,最后组成确认帧传送给网络发送任务;(4)网络发送任务tNetSend:周期性任务,主要用于向后端计算机发送确认帧,如已接收完模拟数据、收到点火信号等。由于优先级设置较高,当得到信号量后,立即取出确认帧内容发送给后端计算机。(5)网络监控任务tNetCheck:非周期任务,优先级设置在其他网络任务之上。此任务和信息接收任务、信息发送任务间使用二进制型信号量同步。一旦网络出错,得到二进制信号量后便发起网络关闭任务tNetClose;(6)网络关闭任务tNetClose:单周期任务,负责删除网络发送任务、网络接收任务、信息处理任务,然后重新初始化网络,即再次发起网络初始化任务。牵制释放CPCI仿真数据源设备接收到"数据请求"信号后,需要立即向3路串口发送模拟数据,要求应用软件具有强实时性,因此CPCI仿真数据源软件采用采用了实时性强、可靠性高的Vxworks作为软件操作系统。另外多次无效的查询必然会降低软件的执行效率,因此响应"数据请求"信号并没有采用轮询的方式,而是采用中断的方式完成,但是VxWorks下中断也有自己的弊端,不允许调用会导致阻塞的函数且函数格式必须固定,因此为了保障软件运行的实时性,可靠性,把串口发送的处理过程放在一个高优先级的任务来进行处理,也就是说没有在中断的级别处理。其基本原理这有点类似VxWorks中对异常处理的方式中断服务程序只是执行最基本的中断处理,例如禁止中断、判断中断类型、清除硬件相关寄存器等等,而绝大部分程序的处理,特别是会造成阻塞的程序,都放到串口发送任务中执行。串口同步发送任务完成数据的提取、打包和向3个串口发送处理。串口发送任务获得同步信号量后,分为"点火前"和"点火后"两个分支进行,两个分支流程基本类似,由于"点火"前模拟数据只有n组(如100组,1组80个浮点数据),因此,"点火"前需要循环发送这100组;当"点火"之后,从第100组开始,依次发送后面的模拟数据。如图7和图8所示,为本发明串口发送模块实现流程图。数据请求信号响应由以下三部分实现初始化部分将数据请求信号挂接在数据请求中断函数上(实现挂接的函数由VxWorks操作系统提供),然后创建串口同步发送任务,最后将数据请求中断设置为使能状态;数据请求中断函数部分首先将数据请求中断设置为禁止状态,然后清除数据请求中断寄存器,最后释放同步信号量(让串口发送任务得以向下运行);串口同步发送任务部分等待同步信号量,当有同步信号量时,开始执行模拟源数据的同步发送,发送完毕后,将数据请求中断设置为使能状态,并返回等待状态,等待下一个同步信号量。串口同步发送模块实现模拟源数据发送的过程如下(1)等待同步信号量,当得到同步信号量时,判断系统当前状态是否为点火前,如果是点火前,则进入下一步,如果是点火后,则直接进入步骤(6);(2)根据当前的指针位置皿m从模拟数据内存区中取出一组点火前数据,并组成串口通信帧;如果是第一次从模拟数据内存中取数据,则指针指向模拟数据内存的首地址,艮卩皿m=0;(3)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(4)皿m=皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址;(5)判断指针位置皿m是否小于n,如果小于n,则返回等待同步信号量状态,如果不小于n,则将指针位置皿m设置为0后,再返回等待同步信号量状态,所述的n为系统提供的点火前数据的总组数;(6)首先判断当前的指针位置皿m是否小于n,如果小于n,则将指针位置皿m设置为n后,进入下一步,如果不小于n,则直接进入下一步;(7)根据当前的指针位置皿m从模拟数据内存区中取出一组点火后数据,并组成串口通信帧;(8)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(9)num=皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址,然后返回等待同步信号量状态。下面以某型号的实际应用为例,对本发明进行进一步阐述1、数据源的选取和处理选取模拟数据要求的5个发动机的80组数据均由YF-100发动机和YF-77发送机的2组真实试车数据文件组成。两个发动机试车数据的文件格式为EXCEL,数据周期为10ms,根据牵制释放系统工作周期为20ms,每个周期测试和处理一组数据的需求,在EXCEL采用文件中选用偶数行去掉奇数行方法,即处理成每20ms—个数据,最终使牵制释放测控组合每20ms得到发动机的一组试车数据。牵制释放系统点火前测试时间较长且未知,而且点火前的数据基本上均是初始值(0)且无变化。如果点火前每一个20ms工作周期对应一组模拟数据,数据量太大,前端模拟源设备内存无法满足要求。因此牵制释放仿真数据源采用点火前和点火后采用不同的方法处理和发送数据只挑出IOO组数据制作为点火前的模拟数据,在点火前牵制释放仿真数据源将循环发送这100组数据;由于牵制释放系统的生命周期为点火后20秒,因此需要再挑出1000(20*50)组"点火"后的数据,共1100组模拟试车数据组成最终的模拟源数据文件,最后将EXCEL数据文件格式直接另存为txt文本文件,提供给后端计算机使用。2、模拟数据的处理及上传牵制释放仿真数据源系统需要以20ms的周期向牵制释放测控组合发送一组模拟数据,为了保证测试过程的实时性,采用如下方案模拟源系统后端计算机和CPCI仿真数据源建立起网络连接后,后端计算机将全部的模拟数据一次性传给前端CPCI仿真数据源,完成模拟数据上传的过程,而之后的工作完全交给前端CPCI仿真数据源完成。牵制释放后端计算机开发平台为VC6.O,采用Windows平台的面向对象语言开发其用户界面,实现模拟数据文件的读取及发送,以及发送点火控制信号等,采用常用的现有技术即可实现,由于模拟源数据为普通txt文本格式的浮点字符串,因此需要后端计算机完成转换处理,形成二进制源码数据后,再利用socket通过网络发送给CPCI仿真数据源软件。3、前端设备是数据处理及发送a)数据的存储由于CPCI仿真数据源软件的内存中即要存储数据(模拟数据)和程序代码,为了提高软件的可靠性和安全性,软件设计采用自己内存分区管理方法,将代码区和数据区严格分开,首先先利用malloc()和memPartCreate()函数在系统内存分区(MemoryPartition)上建立自己的数据存储区,其次调用memPartAlloc()在这个新的分区上根据需要实现自己的内存管理,分配模拟数据大小内存池,最后当牵制释放那个任务结束后掉用memPartFree()释放掉内存。根据系统要求,牵制释放CPCI仿真数据源软件还需要在Flash中存储上传的来的模拟数据,为事后判读提供依据。由于Flash写和擦除都需要较复杂的步骤才能完成,且寿命有限,因此软件选择TFFS文件系统来维护对存储数据的存储操作,采用读写函数为标准的文件系统接口,在操作方便的同时,延长了Flash使用寿命,提高数据掉电存储的可靠性。b)三冗余同步发送当运载火箭转电后,牵制释放测控组合开始以20ms为周期向外系统发出"数据请求"信号,开始接收数据并进行故障检测判断,因此牵制释放仿真数据源系统需要通过3路冗余485串口,同步发送出一组相同的模拟数据。冗余同步功能要求较高,精度不低于lOus,因此主要由硬件设计保证,并向上层应用软件提供时间同步接口。前文提到CPCI仿真数据源设备内存中保留的模拟数据只有前100组是"点火"前的试车数据,因此需要循环发送这些数据,而当用户通过后端计算机发出"点火"的指令后(模拟外系统开始进入点火后状态),CPCI仿真数据源软件应该立即从第101组开始向后依次发送"点火"后的模拟数据。本发明未详细描述内容为本领域技术人员公知技术。权利要求牵制释放仿真数据源系统,其特征在于包括CPCI数据源设备和后端计算机,CPCI数据源设备从后端计算机接收模拟数据,完成模拟数据的存储,并根据数据请求信号的响应,发送给前端三冗余计算机,CPCI数据源设备从后端计算机接收点火信号指令,并控制点火信号的输出;后端计算机完成模拟数据的上传,点火信号指令的发送控制,并接收显示CPCI数据源设备的反馈信息,CPCI数据源设备的硬件包括电源板、CPU板和模拟源板,电源板用于给整个系统供电,CPU板为数据源设备的主控板,模拟源板实现三路串口信号的发送、一路点火信号的输出、一路数据请求信号的输入;CPCI数据源设备的软件采用VxWorks操作系统,应用软件包括初始化模块、网络模块和串口同步发送模块,初始化模块用于应用软件的初始化,网络模块实现模拟源数据的网络接收、存储和点火信号的接收、控制执行,串口同步发送模块实现数据请求信号的响应,并控制模拟源数据的同步发送,所述的模拟数据由发动机点火前和点火后真实试验数据组成。2.根据权利要求1所述的牵制释放仿真数据源系统,其特征在于所述的模拟源板包括CPCI接口芯片、FPGA控制电路、三路隔离电路、三个电平转换电路、三个接口保护电路、晶振、SDRAM、EEPROM、继电器、光电耦合器,其中,EEPR0M存储CPCI接口芯片的配置信息,CPCI接口芯片上电后读取EEPROM存储CPCI接口芯片的配置信息,CPU板将要发送的并口数据通过CPCI接口芯片写入FPGA控制电路的内部数据缓存中,SDRAM对FPGA控制电路内部数据缓存中的并行数据进行存储,CPU板向FPGA控制电路中的定时器发出使能信号,定时器根据晶振产生的时钟频率开始计时,定时器控制FPGA中的并串转换电路从SDRAM中将并行数据取出进行并串转换形成三路TTL信号,当定时器定时时间到时,定时器控制并串转换电路将转换后的三路TTL信号发送至三个隔离电路进行隔离,经过隔离后的TTL信号进行电平转换,最后通过接口保护电路以串口形式输出;继电器将FPGA控制电路输出的点火信号发送给前端的三冗余嵌入式计算机;三冗余嵌入式计算机发送过来的数据请求信号经过光电耦合器隔离后送入FPGA控制电路。3.根据权利要求1所述的牵制释放仿真数据源系统,其特征在于所述的串口同步发送模块采用中断的方式实现数据请求信号响应,数据请求信号响应由以下三部分实现初始化部分将数据请求信号挂接在数据请求中断函数上,然后创建串口同步发送任务,最后将数据请求中断设置为使能状态;数据请求中断函数部分首先将数据请求中断设置为禁止状态,然后清除数据请求中断寄存器,最后释放同步信号量;串口同步发送任务部分等待同步信号量,当有同步信号量时,开始执行模拟源数据的同步发送,发送完毕后,将数据请求中断设置为使能状态,并返回等待状态,等待下一个同步信号量。4.根据权利要求1或3所述的牵制释放仿真数据源系统,其特征在于所述的模拟数据由发动机点火前和点火后真实试验数据组成,串口同步发送模块实现模拟源数据发送的过程如下(1)等待同步信号量,当得到同步信号量时,判断系统当前状态是否为点火前,如果是点火前,则进入下一步,如果是点火后,则直接进入步骤(6);(2)根据当前的指针位置皿m从模拟数据内存区中取出一组点火前数据,并组成串口通信帧;如果是第一次从模拟数据内存中取数据,则指针指向模拟数据内存的首地址,即皿m=0j(3)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(4)皿m=皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址;(5)判断指针位置皿m是否小于n,如果小于n,则返回等待同步信号量状态,如果不小于n,则将指针位置皿m设置为0后,再返回等待同步信号量状态,所述的n为系统提供的点火前数据的总组数;(6)首先判断当前的指针位置皿m是否小于n,如果小于n,则将指针位置皿m设置为n后,进入下一步,如果不小于n,则直接进入下一步;(7)根据当前的指针位置皿m从模拟数据内存区中取出一组点火后数据,并组成串口通信帧;(8)将通信帧分别填充到模拟源板的3个串口的FIFO中;然后启动模拟源板的3个串口进行同步发送,将三路数据发送给前端的三冗余计算机;(9)皿m二皿m+l,即指针位置指向要取出的下一组模拟数据的内存地址,然后返回等待同步信号量状态。全文摘要牵制释放仿真数据源系统,包括CPCI数据源设备和后端计算机,CPCI数据源设备的硬件包括电源板、CPU板和模拟源板,电源板用于给整个系统供电,CPU板为数据源设备的主控板,模拟源板实现三路串口信号的发送、一路点火信号的输出、一路数据请求信号的输入;CPCI数据源设备的软件采用VxWorks操作系统,应用软件包括初始化模块、网络模块和串口同步发送模块,初始化模块用于应用软件的初始化,网络模块实现模拟源数据的网络接收、存储和点火信号的接收、控制执行,串口同步发送模块实现数据请求信号的响应,并控制模拟源数据的同步发送。解决了牵制释放三冗余系统的三路仿真数据的同步实时发送问题。文档编号F02K9/95GK101776028SQ20091024328公开日2010年7月14日申请日期2009年12月30日优先权日2009年12月30日发明者宋永生,张学英,沈海阔,罗一丹,韩亮申请人:北京宇航系统工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1