CN112564950A - 低延时仿真智能适配及长线传输装置 - Google Patents
低延时仿真智能适配及长线传输装置 Download PDFInfo
- Publication number
- CN112564950A CN112564950A CN202011352820.9A CN202011352820A CN112564950A CN 112564950 A CN112564950 A CN 112564950A CN 202011352820 A CN202011352820 A CN 202011352820A CN 112564950 A CN112564950 A CN 112564950A
- Authority
- CN
- China
- Prior art keywords
- data
- serial port
- data information
- simulation
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种低延时仿真智能适配及长线传输装置,包括:反射内存卡(1)、仿真设备接口模块(2)和接口控制器(3);多个所述低延时仿真智能适配及长线传输装置的反射内存卡(1)均连接反射内存交换机,组建反射内存网,每个反射内存卡(1)上写入的数据信息能够自动传输至反射内存网络中其他反射内存卡(1)的板载内存内;所述仿真设备接口模块(2)具有输入/输出通道,能够与仿真被试对象之间进行数据信息交互;本发明使用反射内存网作为远距离传输介质,与使用以太网相比,降低CPU开销,传输延时确定,硬件操作方便,并且独立与操作系统,可以实现异地异构系统间的实时数据传输。针对串口数据传输,采用“边收边发”的方式,有效降低传输延时。
Description
技术领域
本发明涉及实时数据通讯技术领域,具体地,涉及一种低延时仿真智能适配及长线传输装置。
背景技术
随着空中作战环境干扰的复杂化多样化,同时作战对象采用编队协同作战、多方位饱和攻击战术,防空导弹武器装备采用单枚方式已无法适应新作战模式。多弹协同制导/多体协同作战打破传统作战思想,通过数据链实现导弹间互相通信、信息共享,以取得更为高效的整体作战效能,是未来战场的主角之一。
实时仿真技术及应用为复杂武器装备的设计、研制、定型、批产等提供全生命周期的支撑,但当前的半实物仿真仍然以单一导弹制导控制系统仿真为主,无法有效满足复杂装备多弹协同/多体协同/全系统全链路实时仿真的需求。
整合现有仿真资源,利用多套试验系统开展联合仿真试验,完成多弹或武器系统全链路的仿真,是主要解决途径之一。但是多套仿真试验系统,存在异构、异地、实时等约束条件,需要一种高速、低延时、长距离、多信号种类的传输装置,满足系统与系统间、被试对象与被试对象间、仿真系统与被试对象间长距离、实时的数据交互。
现广泛使用的传输方式是本地收集信号后,通过以太网或光纤传至远端,远端设备需额外开辟线程进行数据实时监测、拷贝、网络协议解释,程序设计复杂且CPU开销大;此外以太网传输采用CSMA/CD碰撞检测协议,传输延迟不确定,无法满足实时仿真的需求。同时,串口数据一般采用数据包接收完毕再转送的方式,与被试对象间直接串口通信相比,增加了传输装置接收数据的耗时,该耗时过长会影响被试对象间数据交互的实时性。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种低延时仿真智能适配及长线传输装置。
根据本发明提供的一种低延时仿真智能适配及长线传输装置,包括反射内存卡1、仿真设备接口模块2和接口控制器3;
多个所述低延时仿真智能适配及长线传输装置的反射内存卡1均连接反射内存交换机,组建反射内存网,每个反射内存卡1上写入的数据信息能够自动传输至反射内存网络中其他反射内存卡1的板载内存内;
所述仿真设备接口模块2具有输入/输出通道,能够与仿真被试对象之间进行数据信息交互;
所述接口控制器3通过PCI总线分别连接反射内存卡1和仿真设备接口模块2,接口控制器3能够将仿真设备接口模块2接收到的仿真被试对象输出数据信息写入对应的反射内存卡1上的存储地址,同时从反射内存卡1上读取仿真被试对象所需输入数据信息,经处理后,发送至仿真设备接口模块2对应输出通道。
优选地,所述仿真设备接口模块2包括串口卡21、AD卡22、DA卡23以及DIO卡24,所述串口卡21提供串口通讯接口,所述AD卡22提供模拟量采集接口,所述DA卡23提供模拟量输出接口,所述DIO卡24提供数字量输入/输出接口。
优选地,所述接口控制器3运行RTX实时操作系统,包括数据特征表31、数据分发软件模块32和串口数据处理软件模块33;
所述数据特征表31根据仿真被试对象的输入、输出信息数据整理得到数据的起点、终点、数据类型、数据在反射内存卡1板载内存上的存储地址以及串口数据通讯协议,通过数据特征表31能够实现仿真被试对象智能适配;
所述数据分发软件模块32根据数据特征表31中数据的起点、终点和数据类型,将仿真被试对象的输出数据写入对应的反射内存卡1存储地址,同时将仿真被试对象所需的输入数据发至对应的仿真设备接口模块2数据输出通道;所述数据分发软件模块32包括发送端、接收端;
所述串口数据处理软件模块33根据数据特征表31中的串口数据通讯协议,处理仿真被试对象的串口输出数据,生成被试仿真对象所需的串口输入数据。
优选地,所述数据特征表31按照如下规则编写:
规则1:根据仿真被试对象的输入、输出信息,整理得到数据的起点、终点、数据类型,并自动生成数据及其更新标识在反射内存1中的储存地址相对于基地址的偏移量;
规则2:根据串口数据通讯协议,整理得到串口通道的数据位、停止位、校验位、波特率、帧头、数据长度、数据组包方式的配置情况;
规则3:根据仿真被试对象与仿真设备接口模块2的输入/输出通道的电气连接关系,整理得到数据经过的低延时仿真智能适配及长线传输装置的硬件接口的输入/输出通道,输入/输出通道信息包含所在低延时仿真智能适配及长线传输装置的反射内存卡1节点号、输入/输出通道所在仿真设备接口模块2板卡的设备号、输入/输出通道所用的通道号;
规则4:根据仿真试验工况,整理得到串口数据信息中需监控和修改的参数。
优选地,所述数据分发软件模块32接收来自仿真设备接口模块2的仿真被试对象输出的数据信息,并将数据信息写入对应的反射内存卡1存储地址;
数据分发软件模块32读取反射内存卡1中仿真被试对象所需输入数据信息,若数据信息为非串口数据信息,则直接发送至对应的仿真设备接口模块2输出通道;若数据信息为串口数据信息,则发至串口数据处理软件模块33进行解析、处理后,再发送至对应的仿真设备接口模块2串口输出通道。
优选地,当数据信息为非串口数据信息时,数据信息的接收过程为:
在数据接收端,以系统时钟周期定时中断触发接收数据信息,扫描仿真设备接口模块2中的非串口输入通道,采集仿真被试对象的输出数据信息,再根据数据特征表31中的数据输入通道得到接收到的数据信息对应的反射内存卡1存储地址,将数据信息存至对应的反射内存卡1存储地址,并将反射内存卡1中对应的数据信息更新标识置1;
当数据信息为非串口数据信息时,数据信息的发送过程为:
在数据发送端,以系统时钟周期定时中断触发发送数据信息,根据数据特征表31中的数据输出通道,提取仿真被试对象所需输入数据信息及其更新标志字的反射内存卡1存储地址,循环读取反射内存卡1中所需数据信息更新标识,待数据信息更新标识置1,从对应的反射内卡1存存储地址读取仿真被试对象所需输入数据,将数据发送至仿真设备接口模块2中对应的非串口输出通道,并将反射内存卡1中的数据信息更新标识置0。
优选地,当接收数据信息为串口数据信息时,首先提取数据特征表33中该数据信息的数据长度K,数据存储首地址A,数据更新标识存储地址B,再按如下步骤执行数据信息的接收过程:
步骤S1:在数据接收端,等待串口卡的“接收寄存器可读”中断信号;
步骤S2:当收到串口卡“接收寄存器可读”中断信号后,读取中断来源串口通道的接收寄存器中的数据包;
步骤S3:判断接收数据包中的接收数据信息长度M,若接收数据信息长度M<2,则执行步骤S3.1,若接收数据信息长度M≥2,说明是非帧头数据信息,则执行步骤S4;
步骤S3.1:将接收数据信息与数据特征表31中该串口通道的数据帧头对比,若帧头校验正确,则执行步骤S4,否则置M为0后返回执行步骤S1;
步骤S4:将接收到的串口数据写入对应的反射内存存储地址A+M中;
步骤S5:更新已接收数据长度M为M+1,将更新后的M写入反射内存数据更新标识存储地址B后返回步骤S1;
优选地,串口发送端数据分发流程如下:首先根据数据特征表中的串口通讯协议,智能分配对应串口通道的缓存大小,并设置缓存区首地址为X;若串口数据需修改,且该串口通道所绑定的串口协议中单个参数最多需要N个字节表示,则缓存为N+1字节;若串口数据无需修改则N为1,缓存为2字节;提取该串口输出通道所绑定数据特征表33中的数据长度K,数据存储首地址A,数据更新标识存储地址B,在主线程中按如下步骤执行:
步骤D1:创建信号量Event,并将Event设置为激活状态;
步骤D2:等待信号量Event激活;
步骤D3:信号量Event激活后,冻结信号量Event;
步骤D4:从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
步骤D5:若M<N+1,则返回步骤D4,否则使能对应串口卡21的“发送寄存器空”中断后返回步骤D2;
在“发送寄存器空”中断服务程序中,按如下步骤执行:
步骤E1:等待串口卡“发送寄存器空”中断;
步骤E2:当收到串口卡“发送寄存器空”中断信号后,从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
步骤E3:将反射内存地址A+L至A+M-1中所存储M-L个数据写入缓存地址X至X+M-L-1中;
步骤E4:将缓存数据传给串口数据处理软件模块33进行处理后,得到串口数据处理软件模块33的返回值缓存区已处理数据长度Z;
步骤E5:将缓存地址X至X+Z-1中的Z个字节数据全部写入对应串口卡21的发送寄存器;
步骤E6:更新已发送的数据长度L为L+Z;
步骤E7:L<K,则返回步骤E1继续等待“发送寄存器空”中断,否则禁用“发送寄存器空”中断,已发送的数据长度L重新置为0,已接收的数据长度M重新置为0,激活信号量Event。
优选地,所述串口数据处理软件模块33,根据串口数据帧特征表,定义一指针P指向参数序,初始指向参数序号1,而后按如下步骤完成数据的修改和提取需监控参数;
步骤M1:置缓存中已处理的数据长度Z为0,读取当前数据包已发送数据长度L,已接收数据长度M;
步骤M2:将数据长度K、已发送数据长度L与缓存中已处理的数据长度Z的和做比较,若L+Z<K,则执行步骤M3,否则执行步骤M5;
步骤M3:提取指针P所指向参数的起始字节C和参数长度D;
步骤M4:将已接收数据长度M、指针P所指向参数的起始字节C与参数长度D的和做比较,若M<C+D,表明已发送的数据加上缓存中的数据可完整表达至指针P所指参数的前一个参数,执行步骤M5,否则执行步骤M6;
步骤M5:指针P自减1,指向串口数据帧特征表中的前一个参数,提取前一个参数的起始字节C和参数长度D,得出缓存中已处理的数据字节长度Z=C+D-L,再执行步骤M7;
步骤M6:将Z更新为Z+D后,判断指针P所指参数是否需要修改,若不需要则指针P自加1,指向串口数据帧特征表中的下一个参数,返回步骤M2;若需修改,则将缓存中第Z字节到第Z+D-1字节的数据按照所属参数的数据类型特征和比例因子特征进行解析,而后将解析值与修改因子根据修改方式进行运算后,得到修改后的解析值,将修改后的解析值按照数据类型特征和比例因子特征进行编码,得到修改后的编码值,并更新至缓存中第Z字节到第Z+D-1字节,而后指针P自加1,并返回步骤M2;
步骤M7:将返回值设置为Z,若L+Z≥K,则重置指针P指向序号1参数,否则保持指针P,而后返回数据分发模块32。
根据上述步骤,可以自适应完成参数的解析、修改和编码工作。此外,在处理完当前数据包最后一字节数后,将当前数据包内容根据串口数据特征表完成当前数据包的解析,提取需监控的参数,写入对应的反射内存卡存储地址中,供反射内存网中的仿真计算机使用。
与现有技术相比,本发明具有如下的有益效果:
1、本发明流程构造合理,使用方便,能够克服现有技术的缺陷;
2、本发明使用“边发边收”的方式处理串口数据转发,与传统的“收完再发”的方式相比,降低了数据传输耗时。举个例子,传输50字节数据,波特率460800,1位起始位,8位数据位,1位停止位,1位校验位,串口数据中单个参数最多需要4字节表示,使用传统的“收完再发”的方式,数据从仿真被试对象发出,到数据被完全接收,传输延时至少为传输50*2字节所用的耗时,约2.39ms;使用本发明设计的“边发边收”方式,传输延时至少为传输50+5字节的耗时,约1.31ms。同时单帧数据长度越长,所节省时间的效果越明显;
3、本发明使用数据特征表保存数据的起点、终点、数据类型、经过的输入接口通道、输出接口通道和通讯协议等参数,配合串口数据处理软件模块,可以根据试验实际情况,调整数据特征表内容,无需更改程序,即可完成试验状态的适配。使用串口数据特征表作为串口数据处理的输入,实现串口数据的自适应参数解析、修改和编码;
4、本发明使用反射内存网作为远距离传输介质,与使用以太网相比,降低CPU开销,传输延时确定,硬件操作方便,并且独立与操作系统,可以实现异地异构系统间的实时数据传输。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的低延时仿真适配及长线传输装置组成框示意图。
图2为本发明实施例中的非串口数据分发流程示意图。
图3为本发明实施例中的串口接收通道数据分发流程示意图。
图4为本发明实施例中的串口发送通道数据分发流程示意图。
图5为本发明实施例中的串口数据帧结构示意图。
图6为本发明实施例中的串口数据特征表示意图。
图7为本发明实施例中的串口数据处理软件模块流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
图1是低延时仿真适配及长线传输装置组成框图,参照图1所示,装置主要由反射内存卡(1)、仿真设备接口模块(2)和接口控制器(3)三部分组成。
所述接口控制器(3),一般以工控机作为载体,运行RTX实时操作系统,其主板上的PCI总线插槽安装有所述反射内存卡(1)和所述仿真设备接口模块(2)(包括串口卡(21)、AD卡(22)、DA卡(23)、DIO卡(24));接口控制器(3)将仿真设备接口模块(2)接收到的仿真被试对象输出数据写入对应的反射内存卡(1)上的存储地址,同时从反射内存卡(1)上读取仿真被试对象所需输入数据,经处理后,发至仿真设备接口模块(2)对应输出通道。接口控制器(3)根据功能模块划分为数据特征表(31)、数据分发软件模块(32)和串口数据处理软件模块(33)。
所述数据特征表(31),包含有数据的起点、终点、数据类型、数据在反射内存卡板载内存上的存储地址等信息,以及数据若是串口数据类型时的通讯协议;其按照如下规则编写:
a)根据各仿真被试对象的输入、输出信息,整理得到数据的起点、终点、数据类型,并自动生成数据及其更新标识在反射内存中的储存地址相对于基地址的偏移量;
b)根据串口数据通讯协议,整理得到各串口通道的数据位、停止位、校验位、波特率、帧头、数据长度、数据组包方式的配置情况;
c)根据各仿真被试对象与仿真设备接口模块(2)各板卡输入/输出通道的电气连接关系,整理得到数据经过的装置硬件接口的输入通道和输出通道,输入输出通道信息包含所在装置的反射内存卡(1)节点号、输入输出通道所在仿真设备接口模块(2)板卡的设备号、所用的通道号;
d)根据仿真试验工况,整理得到串口数据中需监控和修改的参数。
所述数据分发软件模块(32),用于数据分发,首先会读取数据特征表(31),根据反射内存节点号,提取所要分发数据的特征信息;将仿真被试对象的输出数据写入对应的反射内存卡(1)上的存储地址,同时将仿真被试对象所需的输入数据发至对应的仿真设备接口模块(2)数据输出通道,按照不同的数据类型,有不同的数据处理流程。
图2是非串口数据分发流程图,参照图2所示,对于模拟量、数字量,以系统时钟周期触发分发程序,并行完成如下分支:
a)在数据接收端,扫描仿真设备接口模块(2)中的AD卡(22)和DIO卡(24)中的DI通道,采样后得到仿真被试对象的输出数据,再根据数据特征表(31)中的数据输入通道得到接收到的数据对应的反射内存存储地址,将数据存至对应的存储地址,并将反射内存中对应的数据更新标识置1;
b)在数据发送端,根据数据特征表(31)的数据输出通道,提取本地仿真被试对象所需输入数据及其更新标志字的存储地址,循环读取反射内存中所需数据的更新标识,待标识置1,从对应的反射内存存储地址读取本地仿真被试对象所需输入数据,将数据写入仿真设备接口模块中的DA卡(23)和DIO卡(24)中的DO通道,而后将反射内存中的存储标识置0。
图3是串口接收端的数据分发流程,参照图3所示,首先提取通道所绑定数据特征表(33)中的数据长度K,数据存储首地址A,数据更新标识存储地址B,再按如下步骤执行:
a)等待串口卡的“接收寄存器可读”中断信号;
b)当收到串口卡“接收寄存器可读”中断信号后,读取中断来源串口通道的接收寄存器中的数据包;
c)判断接收数据包中的接收数据信息长度M,若接收数据信息长度M<2,则执行步骤d,若接收数据信息长度M≥2,说明是非帧头数据信息,则执行步骤e;
d)将接收数据信息与数据特征表(31)中该串口通道的数据帧头对比,若帧头校验正确,则执行步骤e,否则置M为0后返回执行步骤a;
e)将接收到的数据写入对应的反射内存存储地址A+M中;
f)更新已接收数据长度M为M+1,将更新后的M写入反射内存数据更新标识存储地址B后返回步骤a;
图4是串口发送端数据分发流程图,参照图4所示,首先根据数据特征表中的串口通讯协议,智能分配对应串口通道的缓存大小,并设置缓存区首地址为X;若串口数据需修改,且该串口通道所绑定的串口协议中单个参数最多需要N个字节表示,则缓存为N+1字节;若串口数据无需修改则N为1,缓存为2字节;提取该串口输出通道所绑定数据特征表(33)中的数据长度K,数据存储首地址A,数据更新标识存储地址B,在主线程中按如下步骤执行:
a)创建信号量Event,并将Event设置为激活状态;
b)信号量Event激活后,等待信号量Event激活;
c)冻结信号量Event;
d)从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
e)若M<N+1,则返回步骤d,否则使能对应串口卡(21)的“发送寄存器空”中断后返回步骤b;
在“发送寄存器空”中断服务程序中,按如下步骤执行:
a)等待串口卡“发送寄存器空”中断;
b)当收到串口卡“发送寄存器空”中断信号后,从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
c)将反射内存地址A+L至A+M-1中所存储M-L个数据写入缓存地址X至X+M-L-1中;
d)将缓存数据传给串口数据处理软件模块(33)进行处理后,得到串口数据处理软件模块(33)的返回值缓存区已处理数据长度Z;
e)将缓存地址X至X+Z-1中的Z个字节数据全部写入对应串口卡(21)的发送寄存器;
f)更新已发送的数据长度L为L+Z;
g)若L<K,则返回步骤a继续等待“发送寄存器空”中断,否则禁用“发送寄存器空”中断,已发送的数据长度L重新置为0,已接收的数据长度M重新置为0,激活信号量Event。
图5是串口数据帧结构图,参照图5所示,串口数据包含K字节,一般是如下结构方式:
a)第1、2字节为帧头;
b)第3字节为数据包有效数据长度N,可以得到N=K-5;
c)第4至K-2字节为参数区;
d)第K-1、K字节为检验字,一般对3至K-2的数据进行校验,有和校验和CRC校验等方式。
图6是串口数据特征表,参照图6所示,按图5所示的串口数据,可以将其串口协议翻译成图6所示的串口数据帧解析表,其规则包括:
a)序号表示数据帧所含的参数个数,包含帧头、帧长和校验字;
b)起始字节表示参数起始地址相对于串口数据首地址的偏移量;
c)参数长度表示参数所占字节长度;
d)参数类型一般有const(常量)、uchar(无符号字符)、ushort(无符号短整型)、uint(无符号整型)、float(单精度浮点)等;
e)比例因子表示实际值与存储值的比值,若参数为const类型,则比例因子固定为1;
f)修改方式表面参数与修改因子间的运算方式,0表明无需修改,校验字的修改方式为sum表示和校验,crc表示CRC校验;
g)修改因子地址表明修改因子在反射内存中的储存地址。
h)参数储存地址表面修改后的参数在反射内存中的储存地址,0xffffffff表示参数无需存储;
图7为本发明实施例中的串口数据处理软件模块流程示意图,参照图7所示,首先根据串口数据帧特征表,定义一指针P指向参数序号,初始指向参数序号1,而后按如下方式完成数据的修改和提取需监控参数;
a)置缓存中已处理的数据长度Z为0,读取当前数据包已发送数据长度L,已接收数据长度M;
b)将数据长度K、已发送数据长度L与缓存中已处理的数据长度Z的和做比较,若L+Z<K,则执行步骤c,否则执行步骤e;
c)提取指针P所指向参数的起始字节C和参数长度D;
d)将已接收数据长度M、指针P所指向参数的起始字节C与参数长度D的和做比较,若M<C+D,表明已发送的数据加上缓存中的数据可完整表达至指针P所指参数的前一个参数,执行步骤e,否则执行步骤f;
e)指针P自减1,指向串口数据帧特征表中的前一个参数,提取前一个参数的起始字节C和参数长度D,得出缓存中所需处理的数据字节长度Z=C+D-L,再执行步骤g;
f)将Z更新为Z+D后,判断指针P所指参数是否需要修改,若不需要则指针P自加1,指向串口数据帧特征表中的下一个参数,返回步骤b;若需修改,则将缓存中第Z字节到第Z+D-1字节的数据按照所属参数的数据类型特征和比例因子特征进行解析,而后将解析值与修改因子根据修改方式进行运算后,得到修改后的解析值,将修改后的解析值按照数据类型特征和比例因子特征进行编码,得到修改后的编码值,并更新至缓存中第Z字节到第Z+D-1字节,而后指针P自加1,并返回步骤b;
g)将返回值设置为Z,若L+Z≥K,则重置指针P指向序号1参数,否则保持指针P,而后返回数据分发模块(32);
根据上述步骤,可以自适应完成参数的解析、修改和编码工作。此外,在处理完当前数据包最后一字节数后,将当前数据包内容根据串口数据特征表完成当前数据包的解析,提取需监控的参数,写入对应的反射内存卡存储地址中,供反射内存网中的仿真计算机使用。
本发明使用“边发边收”的方式处理串口数据转发,与传统的“收完再发”的方式相比,降低了数据传输耗时。举个例子,传输50字节数据,波特率460800,1位起始位,8位数据位,1位停止位,1位校验位,串口数据中单个参数最多需要4字节表示,使用传统的“收完再发”的方式,数据从仿真被试对象发出,到数据被完全接收,传输延时至少为传输50*2字节所用的耗时,约2.39ms;使用本发明设计的“边发边收”方式,传输延时至少为传输50+5字节的耗时,约1.31ms。同时单帧数据长度越长,所节省时间的效果越明显。
本发明使用数据特征表保存数据的起点、终点、数据类型、经过的输入接口、输出接口和通讯协议等参数,配合串口数据处理软件模块,可以根据试验实际情况,调整数据特征表内容,无需更改程序,即可完成试验状态的适配;使用串口数据特征表作为串口数据处理的输入,实现串口数据的自适应参数解析、修改和编码。
使用反射内存网作为远距离传输介质,与使用以太网相比,降低CPU开销,传输延时确定,硬件操作方便,并且独立与操作系统,可以实现异地异构系统间的实时数据传输。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种低延时仿真智能适配及长线传输装置,其特征在于,包括反射内存卡(1)、仿真设备接口模块(2)和接口控制器(3);
多个所述低延时仿真智能适配及长线传输装置的反射内存卡(1)均连接反射内存交换机,组建反射内存网,每个反射内存卡(1)上写入的数据信息能够自动传输至反射内存网络中其他反射内存卡(1)的板载内存内;
所述仿真设备接口模块(2)具有输入/输出通道,能够与仿真被试对象之间进行数据信息交互;
所述接口控制器(3)通过PCI总线分别连接反射内存卡(1)和仿真设备接口模块(2),接口控制器(3)能够将仿真设备接口模块(2)接收到的仿真被试对象输出数据信息写入对应的反射内存卡(1)上的存储地址,同时从反射内存卡(1)上读取仿真被试对象所需输入数据信息,经处理后,发送至仿真设备接口模块(2)对应输出通道。
2.根据权利要求1所述的低延时仿真智能适配及长线传输装置,其特征在于,所述仿真设备接口模块(2)包括串口卡(21)、AD卡(22)、DA卡(23)以及DIO卡(24),所述串口卡(21)提供串口通讯接口,所述AD卡(22)提供模拟量采集接口,所述DA卡(23)提供模拟量输出接口,所述DIO卡(24)提供数字量输入/输出接口。
3.根据权利要求1所述的低延时仿真智能适配及长线传输装置,其特征在于,所述接口控制器(3)运行RTX实时操作系统,包括数据特征表(31)、数据分发软件模块(32)和串口数据处理软件模块(33);
所述数据特征表(31)根据仿真被试对象的输入、输出信息数据整理得到数据的起点、终点、数据类型、数据在反射内存卡(1)板载内存上的存储地址以及串口数据通讯协议,通过数据特征表(31)能够实现仿真被试对象智能适配;
所述数据分发软件模块(32)根据数据特征表(31)中数据的起点、终点和数据类型,将仿真被试对象的输出数据写入对应的反射内存卡(1)存储地址,同时将仿真被试对象所需的输入数据发至对应的仿真设备接口模块(2)数据输出通道;所述数据分发软件模块(32)包括发送端、接收端;
所述串口数据处理软件模块(33)根据数据特征表(31)中的串口数据通讯协议,处理仿真被试对象的串口输出数据,生成被试仿真对象所需的串口输入数据。
4.根据权利要求3所述的低延时仿真智能适配及长线传输装置,其特征在于,所述数据特征表(31)按照如下规则编写:
规则1:根据仿真被试对象的输入、输出信息,整理得到数据的起点、终点、数据类型,并自动生成数据及其更新标识在反射内存(1)中的储存地址相对于基地址的偏移量;
规则2:根据串口数据通讯协议,整理得到串口通道的数据位、停止位、校验位、波特率、帧头、数据长度、数据组包方式的配置情况;
规则3:根据仿真被试对象与仿真设备接口模块(2)的输入/输出通道的电气连接关系,整理得到数据经过的低延时仿真智能适配及长线传输装置的硬件接口的输入/输出通道,输入/输出通道信息包含所在低延时仿真智能适配及长线传输装置的反射内存卡(1)节点号、输入/输出通道所在仿真设备接口模块(2)板卡的设备号、输入/输出通道所用的通道号;
规则4:根据仿真试验工况,整理得到串口数据信息中需监控和修改的参数。
5.根据权利要求3所述的低延时仿真智能适配及长线传输装置,其特征在于,所述数据分发软件模块(32)接收来自仿真设备接口模块(2)的仿真被试对象输出的数据信息,并将数据信息写入对应的反射内存卡(1)存储地址;
数据分发软件模块(32)读取反射内存卡(1)中仿真被试对象所需输入数据信息,若数据信息为非串口数据信息,则直接发送至对应的仿真设备接口模块(2)输出通道;若数据信息为串口数据信息,则发至串口数据处理软件模块(33)进行解析、处理后,再发送至对应的仿真设备接口模块(2)串口输出通道。
6.根据权利要求5所述的低延时仿真智能适配及长线传输装置,其特征在于,当数据信息为非串口数据信息时,数据信息的接收过程为:
在数据接收端,以系统时钟周期定时中断触发接收数据信息,扫描仿真设备接口模块(2)中的非串口输入通道,采集仿真被试对象的输出数据信息,再根据数据特征表(31)中的数据输入通道得到接收到的数据信息对应的反射内存卡(1)存储地址,将数据信息存至对应的反射内存卡(1)存储地址,并将反射内存卡(1)中对应的数据信息更新标识置1;
当数据信息为非串口数据信息时,数据信息的发送过程为:
在数据发送端,以系统时钟周期定时中断触发发送数据信息,根据数据特征表(31)中的数据输出通道,提取仿真被试对象所需输入数据信息及其更新标志字的反射内存卡(1)存储地址,循环读取反射内存卡(1)中所需数据信息更新标识,待数据信息更新标识置1,从对应的反射内卡(1)存存储地址读取仿真被试对象所需输入数据,将数据发送至仿真设备接口模块(2)中对应的非串口输出通道,并将反射内存卡(1)中的数据信息更新标识置0。
7.根据权利要求5所述的低延时仿真智能适配及长线传输装置,其特征在于,当接收数据信息为串口数据信息时,首先提取数据特征表(33)中该数据信息的数据长度K,数据存储首地址A,数据更新标识存储地址B,再按如下步骤执行数据信息的接收过程:
步骤S1:在数据接收端,等待串口卡的接收寄存器可读中断信号;
步骤S2:当收到串口卡接收寄存器可读中断信号后,读取中断来源串口通道的接收寄存器中的数据包;
步骤S3:判断接收数据包中的接收数据信息长度M,若接收数据信息长度M<2,则执行步骤S3.1,若接收数据信息长度M≥2,说明是非帧头数据信息,则执行步骤S4;
步骤S3.1:将接收数据信息与数据特征表(31)中该串口通道的数据帧头对比,若帧头校验正确,则执行步骤S4,否则置M为0后返回执行步骤S1;
步骤S4:将接收到的串口数据写入对应的反射内存存储地址A+M中;
步骤S5:更新已接收数据长度M为M+1,将更新后的M写入反射内存数据更新标识存储地址B后返回步骤S1。
8.根据权利要求5所述的低延时仿真智能适配及长线传输装置,其特征在于,串口发送端数据分发流程如下:首先根据数据特征表中的串口通讯协议,智能分配对应串口通道的缓存大小,并设置缓存区首地址为X;若串口数据需修改,且该串口通道所绑定的串口协议中单个参数最多需要N个字节表示,则缓存为N+1字节;若串口数据无需修改则N为1,缓存为2字节;提取该串口输出通道所绑定数据特征表(33)中的数据长度K,数据存储首地址A,数据更新标识存储地址B,在主线程中按如下步骤执行:
步骤D1:创建信号量Event,并将Event设置为激活状态;
步骤D2:等待信号量Event激活;
步骤D3:信号量Event激活后,冻结信号量Event;
步骤D4:从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
步骤D5:若M<N+1,则返回步骤D4,否则使能对应串口卡(21)的发送寄存器空中断后返回步骤D2;
在发送寄存器空中断服务程序中,按如下步骤执行:
步骤E1:等待串口卡发送寄存器空中断;
步骤E2:当收到串口卡发送寄存器空中断信号后,从反射内存地址B中读取该串口通道所绑定数据的接收端已接收的数据长度M;
步骤E3:将反射内存地址A+L至A+M-1中所存储M-L个数据写入缓存地址X至X+M-L-1中;
步骤E4:将缓存数据传给串口数据处理软件模块(33)进行处理后,得到串口数据处理软件模块(33)的返回值缓存区已处理数据长度Z;
步骤E5:将缓存地址X至X+Z-1中的Z个字节数据全部写入对应串口卡(21)的发送寄存器;
步骤E6:更新已发送的数据长度L为L+Z;
步骤E7:L<K,则返回步骤E1继续等待发送寄存器空中断,否则禁用发送寄存器空中断,已发送的数据长度L重新置为0,已接收的数据长度M重新置为0,激活信号量Event。
9.根据权利要求1所述的低延时仿真智能适配及长线传输装置,其特征在于,所述串口数据处理软件模块(33),根据串口数据帧特征表,定义一指针P指向参数序号,初始指向参数序号1,而后按如下步骤完成数据的修改和提取需监控参数;
步骤M1:置缓存中已处理的数据长度Z为0,读取当前数据包已发送数据长度L,已接收数据长度M;
步骤M2:将数据长度K、已发送数据长度L与缓存中已处理的数据长度Z的和做比较,若L+Z<K,则执行步骤M3,否则执行步骤M5;
步骤M3:提取指针P所指向参数的起始字节C和参数长度D;
步骤M4:将已接收数据长度M、指针P所指向参数的起始字节C与参数长度D的和做比较,若M<C+D,表明已发送的数据加上缓存中的数据可完整表达至指针P所指参数的前一个参数,执行步骤M5,否则执行步骤M6;
步骤M5:指针P自减1,指向串口数据帧特征表中的前一个参数,提取前一个参数的起始字节C和参数长度D,得出缓存中已处理的数据字节长度Z=C+D-L,再执行步骤M7;
步骤M6:将Z更新为Z+D后,判断指针P所指参数是否需要修改,若不需要则指针P自加1,指向串口数据帧特征表中的下一个参数,返回步骤M2;若需修改,则将缓存中第Z字节到第Z+D-1字节的数据按照所属参数的数据类型特征和比例因子特征进行解析,而后将解析值与修改因子根据修改方式进行运算后,得到修改后的解析值,将修改后的解析值按照数据类型特征和比例因子特征进行编码,得到修改后的编码值,并更新至缓存中第Z字节到第Z+D-1字节,而后指针P自加1,并返回步骤M2;
步骤M7:将返回值设置为Z,若L+Z≥K,则重置指针P指向序号1参数,否则保持指针P,而后返回数据分发模块(32)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011352820.9A CN112564950B (zh) | 2020-11-26 | 2020-11-26 | 低延时仿真智能适配及长线传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011352820.9A CN112564950B (zh) | 2020-11-26 | 2020-11-26 | 低延时仿真智能适配及长线传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112564950A true CN112564950A (zh) | 2021-03-26 |
CN112564950B CN112564950B (zh) | 2023-03-14 |
Family
ID=75046058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011352820.9A Active CN112564950B (zh) | 2020-11-26 | 2020-11-26 | 低延时仿真智能适配及长线传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564950B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375225A (en) * | 1991-12-31 | 1994-12-20 | Sun Microsystems, Inc. | System for emulating I/O device requests through status word locations corresponding to respective device addresses having read/write locations and status information |
CN101482753A (zh) * | 2009-02-11 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种多余度飞控计算机实时仿真装置及系统 |
CN103294632A (zh) * | 2013-06-24 | 2013-09-11 | 北京经纬恒润科技有限公司 | 一种总线载板、数据交互系统、数据处理方法及装置 |
CN108574580A (zh) * | 2017-03-07 | 2018-09-25 | 北京空间技术研制试验中心 | 实时仿真通信系统和方法 |
CN108683488A (zh) * | 2018-04-24 | 2018-10-19 | 北京航天控制仪器研究所 | 一种基于仿真转台的软同步方法 |
-
2020
- 2020-11-26 CN CN202011352820.9A patent/CN112564950B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375225A (en) * | 1991-12-31 | 1994-12-20 | Sun Microsystems, Inc. | System for emulating I/O device requests through status word locations corresponding to respective device addresses having read/write locations and status information |
CN101482753A (zh) * | 2009-02-11 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种多余度飞控计算机实时仿真装置及系统 |
CN103294632A (zh) * | 2013-06-24 | 2013-09-11 | 北京经纬恒润科技有限公司 | 一种总线载板、数据交互系统、数据处理方法及装置 |
CN108574580A (zh) * | 2017-03-07 | 2018-09-25 | 北京空间技术研制试验中心 | 实时仿真通信系统和方法 |
CN108683488A (zh) * | 2018-04-24 | 2018-10-19 | 北京航天控制仪器研究所 | 一种基于仿真转台的软同步方法 |
Non-Patent Citations (1)
Title |
---|
樊智勇等: "大数据量低延时航电中继系统设计与实现", 《计算机应用与软件》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112564950B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850125B2 (en) | System and method to provide non-coherent access to a coherent memory system | |
CN109857685B (zh) | 一种mpu与fpga扩展多串口的实现方法 | |
CN113810791B (zh) | 一种提高智能网卡/dpu网络遥测技术性能的方法 | |
CN112073280B (zh) | 基于Modbus协议的通信方法、装置及通信设备 | |
US9059945B2 (en) | Work request processor | |
CN110244604A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
US20220012194A1 (en) | Apparatus and method for data transmission and readable storage medium | |
CN109359073A (zh) | 一种基于spi总线的设备间通信方法及设备拓扑结构 | |
CN116301627A (zh) | 一种NVMe控制器及其初始化、数据读写方法 | |
CN112564950B (zh) | 低延时仿真智能适配及长线传输装置 | |
CN105915518B (zh) | 一种以太网数据帧实时解析方法及装置 | |
CN104484260B (zh) | 一种基于GJB289总线接口SoC的仿真监控电路 | |
CN102446157B (zh) | 基于阵列结构的处理器核心的通信方法及通信装置 | |
CN115292029A (zh) | 一种基于arm的不定字节串口可靠接收方法 | |
CN115174673A (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 | |
CN115100843B (zh) | 一种智能电能表通信可靠性的测试方法、系统、设备 | |
CN111224877A (zh) | 一种afdx交换机的vl查询方法和装置 | |
CN113485912B (zh) | 一种1553b总线bc芯片通讯功能模拟方法 | |
CN107870885A (zh) | 通信系统、装置及方法 | |
CN110868344B (zh) | 一种仿真mvb的方法、系统、装置和计算机可读介质 | |
CN112306918B (zh) | 数据访问方法、装置、电子设备和计算机存储介质 | |
CN111313997A (zh) | 遥感卫星多优先级非均衡速率载荷数据动态复接器模拟系统 | |
CN118519958B (zh) | 一种多soc视觉系统固件通过网络同步并行升级方法 | |
CN112929282A (zh) | 显示控制卡拓扑关系识别方法和led显示控制系统 | |
CN116263997A (zh) | 用于目标检测的后处理加速装置及方法、数据处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |