CN107329920B - 一种反射内存的公共接口框架设计方法 - Google Patents
一种反射内存的公共接口框架设计方法 Download PDFInfo
- Publication number
- CN107329920B CN107329920B CN201710546360.5A CN201710546360A CN107329920B CN 107329920 B CN107329920 B CN 107329920B CN 201710546360 A CN201710546360 A CN 201710546360A CN 107329920 B CN107329920 B CN 107329920B
- Authority
- CN
- China
- Prior art keywords
- data
- cia
- defining
- format
- block
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种反射内存的公共接口框架设设计方法,涉及航电***技术领域。所述反射内存的公共接口框架设计方法包含以下步骤:步骤一,定义框架中数据传输的格式;步骤二,将定义的消息格式以配置文件的格式确定下来,具体的配置文件格式如下,定义节点,所述节点包含节点的标识、名称、含数据块的数量、传输方式;定义数据块,所述数据块包含编号、名称、大小、深度、传输方式及属性;步骤三,将建立框架所用到的所有数据按照配置文件的格式定义成数据表,将所述数据表发放至平台中的所有节点,形成分布式框架。本发明的优点在于:结构简单、便于配置,能够快速实现基于反射内存的分布式***的构建,大大提高分布式***的构建和调试应用。
Description
技术领域
本发明涉及航电***技术领域,具体涉及一种反射内存的公共接口框架设计方法。
背景技术
由于航电测试验证***要覆盖从单设备到多***集成测试的要求,接口复杂且规模较大,同时要求具备配置运行管理、监视、分析、存储等大量功能组件,***结构较为复杂,分布式航电***验证平台建设周期长,集成难度高。
发明内容
本发明的目的是提供一种反射内存的公共结构框架设计方法,面对背景技术中的复杂***,希望提供一种简单、便捷的使用环境,能够方便的操纵所有***资源,完成测试任务,以解决或至少减轻背景技术中所存在的至少一处的问题。
根据上述需求,设计CIA(Common Interfacce Architecture)公共接口框架。CIA是航电测试验证***的核心,所有组件都是建立在CIA的基础上,所有组件间的过程数据通过CIA进行交换。通过CIA,实现了所有功能部件的解耦,简化了部件间通信的复杂度,并使得***易于扩展。
在每个计算机节点中,CIA体现为一组后台任务,进行数据传输管理。对每个应用,CIA体现为一组应用接口,供应用调用,实现数据访问。
CIA(Common Interface Architecture)定义了一套全局数据访问及控制管理协议,支持多处理器节点、多个应用程序之间进行数据互操作及协同控制。其关键特点如下:
支持分布式多节点的全局数据访问;
提供多节点***的运行控制接口;
各节点可通过以太网及反射内存两种形式接入CIA网络;
通过配置文件,定义每个CIA节点的发布订阅数据关系;
CIA数据对象属性与SID数据库关联,单一来源,全局一致;
具备确保数据完整性的机制;
具备确保数据连续性的机制;
支持采样及队列两种模式。
为了实现上述目的,本发明采用的技术方案是:一种反射内存的公共接口框架设计方法,所述公共接口框架用于飞机航电***验证平台,所述反射内存的公共接口框架设计方法包含以下步骤:
步骤一,定义框架中数据传输的格式,具体为消息编号+数据段+校验和+消息名称+时间戳;
步骤二,将定义的消息格式以配置文件的格式确定下来,具体的配置文件格式如下,定义节点,所述节点包含节点的标识、名称、含数据块的数量、传输方式;定义数据块,所述数据块包含编号、名称、大小、深度、传输方式及属性;
步骤三,将建立框架所用到的所有数据按照配置文件的格式定义成数据表,将所述数据表发放至平台中的所有节点,形成分布式框架。
优选的,在所述步骤一中,每个数据设置独立的编号,多个数据之间的编号递加,且所述编号与FIFO数据设置对应关系,即读写位置为编号取FIFO深度的模。
优选的,每个FIFO附加一个地址,记录写应用最新写入数据的编号及校验值。
优选的,所述步骤二中进一步包含定义CIA传输层常量表,所述CIA传输层常量表包含常量的名称、数值、备注含义及范围。
优选的,所述CIA传输层具有5个接口,分别用于初始化CIA传输层、获得Block句柄、读取Block数据、写入Block数据及关闭CIA传输层。
优选的,每个数据包含以下部分:4字节数据编号、4字节编号校验和、8字节时戳、X长度的数据、4字节的数据校验和。
本发明的有益效果在于:
本发明提出的反射内存的公共接口框架设计方法结构简单、便于配置,能够快速实现基于反射内存的分布式***的构建,大大提高分布式***的构建和调试应用;有效的解决分布式航电***验证平台建设周期长、集成难度高等一些列难题。
附图说明
图1是本发明一实施例的反射内存的公共接口框架设计方法的流程图。
图2是CIA传输层接口的使用流程图。
图3是本发明的反射内存公共接口框架设计方法的结构示意图。
图4是CIA的功能组件互联示意图。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
如图1所示,一种反射内存的公共接口框架设计方法,所述公共接口框架用于飞机航电***验证平台,所述反射内存的公共接口框架设计方法包含以下步骤:
步骤一,定义框架中数据传输的格式,具体为消息编号+数据段+校验和+消息名称+时间戳。
采用消息编号的优点在于,消息编号是消息的唯一标示,用于区分消息,所有消息顺序编号。
校验和用于确保数据段的数据为有效数据,对数据段按位计数,将计数存储在校验和里,使用方根据校验和对接收的数据段的数据进行校验。例如,在一实施例中,某数据段有64位,其中为1的位数是34,则校验和即为34。在数据尾部添加校验和可以保证数据的完整性。
消息名称为一段字符串,其优点在于:接收方可以明确知道该数据的含义;可以理解的是,所述消息名称所采用的字符串可以根据实际用途设定,例如,在本实施例中,消息名称所采用的字符串根据消息的实际含义设定,方便接收方知道该数据的含义;在另一备选实施例中,为了确保数据的保密性,消息名称所采用的字符串为没有实际意义的代码,接收方根据代码查找该信息的含义,其优点在于,有利于提高消息的保密性。
时间戳,用于标识消息写入的具体时间,精确到毫秒级,其优点在于:对所有消息以时间进行排序。
在本实施例中,每个数据设置独立的编号,多个数据之间的编号递加,且所述编号与FIFO数据设置对应关系,即读写位置为编号取FIFO深度的模。每个FIFO附加一个地址,记录写应用最新写入数据的编号及校验值。FIFO操作是对循环缓冲队列的操作,另为循环缓冲队列开辟一个位置,存储数据最新写入的数据和校验和。
步骤二,将定义的消息格式以配置文件的格式确定下来,具体的配置文件格式如下,定义节点,所述节点包含节点的标识、名称、含数据块的数量、传输方式;其优点在于,可以明确***中有多少节点,节点的种类,方便数据的层次化管理;通过定义节点可以明确数据块所属的***,可以分级管理数据,节点为一级,数据块为一级。
在本实施例中,所述节点的标示为一个数字编号,唯一确定一条消息的来源。节点的名称是字符串。传输介质0代表DDS,1代表RFM。
定义数据块,所述数据块包含编号、名称、大小、深度、传输方式及属性;所述数据块的大小是指数据块中包含多少数据;所述数据块的深度是指数据块的组数,数值越大保存的数据越多,如果写入块,接收慢,不会导致数据被覆盖,其作用是用于数据缓冲,防止数据被覆盖。传输介质是反射内存,定义FIFO在反射内存的偏移;属性即读写属性,0代表只读,1代表只写,2代表读写。
所述步骤二中进一步包含定义CIA传输层常量表,所述CIA传输层常量表包含常量的名称、数值、备注含义及范围。例如,在本实施例中,定义有多个常量,常量名称为CIA_INVALID_PAR,数值为-5,备注参数错误,范围PVT_CIA_ReadBlock;常量名称为CIA_NO_VALID_DATA,数值为-4,备注没有可用数据,范围PVT_CIA_ReadBlock;常量名称为CIA_NO_DATA,数值为-3,备注没有新数据,范围PVT_CIA_ReadBlock;常量名称为CIA_FIFO_OVERFLOW,数值为-2,备注数据发送比接收快,覆盖了没被接收的数据,范围PVT_CIA_ReadBlock;常量名称为CIA_ERROR,数值为-1,备注错误,范围所有接口;常量名称为CIA_OK,数值为0,备注正常,范围所有接口;常量名称为TRUE,数值为1,备注为真,范围所有接口;常量名称为FALSE,数值为0,备注为假,范围所有接口;常量名称为RECV_ALL,数值为0,备注接收所有数据,范围PVT_CIA_ReadBlock;常量名称为SAMPLE,数值为1,备注接收采用率数据,范围PVT_CIA_ReadBlock。
在本实施例中,所述CIA传输层具有5个接口,分别用于初始化CIA传输层、获得Block句柄、读取Block数据、写入Block数据及关闭CIA传输层。
其中:
CIA传输层初始化的函数原型为CIA_STATUS PVT_CIA_Init(char*strConfPath);功能为初始化CIA传输层,读取配置文件,根据配置文件相应配置初始化相应的传输介质;输入,strConfPath:配置文件的路径;输出,CIA_OK:传输层初始化成功,<0:传输层初始化失败;
获得Block句柄的函数原型为CIA_HANDLE PVT_CIA_GetBlock(char*strBlockName);功能为获取指定名字strBlockName的句柄;输入,char*strBlockName:Block的名字;输出,>=0:获取得到Block的句柄,CIA_ERROR:获取Block句柄操作失败;备注,配置文件中必须包含该名字的Block,否则返回失败;
读取Block数据的函数原型为CIA_STATUS PVT_CIA_ReadBlock(CIA_HANDLEhHandle,void*pBuf,ulong uCount,ulong*uGotNum);功能为从hHandle指向的Block FIFO读取uCount个数据到pBuf指向的缓冲区,并将实际读取的uGotNum数据个数返回;输入,hHandle:操作的Block的句柄,pBuf:数据读取后存放的首地址,必须保证存储读取数据的缓冲区足够大,uCount:想要读取的数据个数,不超过Block FIFO的长度,可以指定RECV_ALL或SAMPLE;输出,uGotNum:实际读取道德数据个数,CIA_OK:获取数据正常,CIA_FIFO_OVERFLOW:写比读块,有数据溢出,CIA_NO_DATA:没有数据,CIA_NO_VALID_DATA:没有有效数据,CIA_ERROR:获取数据异常,CIA_INVALID_PAR:输入参数异常;备注,必须保证数据的缓冲区足够大,与配置中该Block的大小匹配;
写入Block数据的函数原型为CIA_STATUS PVT_CIA_WriteBlock(CIA_HANDLEhHandle,void*pBuf);功能为将Buf中的数据发布到CIA上,一次写一个数据;输入,CIA_OK:写入成功,CIA_ERROR:写入失败;备注,一次写入的数据长度,不得超过配置文件中该块的大小。
关闭CIA传输层的你函数原型为CIA_STATUS PVT_CIA_Close(void);功能为关闭传输层,释放资源;备注,普通应用不应在中途调用此函数,如果中途调用,重启,数据将不能正常接收。
如附图2所示,CIA传输层接口的使用流程图,首先对CIA传输层进行初始化,然后获得句柄,然后写数据和读数据,最后关闭CIA。
在本实施例中,每个数据包含以下部分:4字节数据编号、4字节编号校验和、8字节时戳、X长度的数据、4字节的数据校验和。
步骤三,将建立框架所用到的所有数据按照配置文件的格式定义成数据表,将所述数据表发放至平台中的所有节点,形成分布式框架。
如图3所示,基于反射内存公共接口框架设计方法的结构示意图,其中,消息编号为Seq,4字节;数据为DATA,X;校验和为Check,4字节;字符串为Data;时戳高位为StampH,4字节;时戳低位为StampL,4字节。
如图4所示,基于CI阿德功能组件互联示意图,自动测试、总线分析、数据可视化、采集接口控制节点、仿真接口控制节点、模型仿真节点、CIA配置文件、配置运行管理与CIA的全局数据空间均可以有联系。
最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (2)
1.一种反射内存的公共接口框架设计方法,所述公共接口框架用于飞机航电***验证平台,其特征在于,所述反射内存的公共接口框架设计方法包含以下步骤:
步骤一,定义框架中数据传输的格式,所述格式为消息编号+数据段+校验和+消息名称+时间戳,其中,每个数据设置独立的编号,多个数据之间的编号递加,且所述编号与FIFO数据设置对应关系,即读写位置为编号取FIFO深度的模,每个FIFO附加一个地址,记录写应用最新写入数据的编号及校验值;
步骤二,将定义的消息格式以配置文件的格式确定下来,具体的配置文件格式如下,定义节点,所述节点包含节点的标识、名称、含数据块的数量、传输方式;定义数据块,所述数据块包含编号、名称、大小、深度、传输方式及属性;定义CIA传输层常量表,所述CIA传输层常量表包含常量的名称、数值、备注含义及范围,所述CIA传输层具有5个接口,分别用于初始化CIA传输层、获得Block句柄、读取Block数据、写入Block数据及关闭CIA传输层;
步骤三,将建立框架所用到的所有数据按照配置文件的格式定义成数据表,将所述数据表发放至平台中的所有节点,形成分布式框架。
2.如权利要求1所述的反射内存的公共接口框架设计方法,其特征在于,每个数据包含以下部分:4字节数据编号、4字节编号校验和、8字节时戳、X长度的数据、4字节的数据校验和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710546360.5A CN107329920B (zh) | 2017-07-06 | 2017-07-06 | 一种反射内存的公共接口框架设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710546360.5A CN107329920B (zh) | 2017-07-06 | 2017-07-06 | 一种反射内存的公共接口框架设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107329920A CN107329920A (zh) | 2017-11-07 |
CN107329920B true CN107329920B (zh) | 2020-09-18 |
Family
ID=60196180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710546360.5A Active CN107329920B (zh) | 2017-07-06 | 2017-07-06 | 一种反射内存的公共接口框架设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107329920B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726022B (zh) * | 2018-12-04 | 2020-12-22 | 中电科航空电子有限公司 | 一种自定义可变长的上下链消息收发实现方法 |
CN109582479B (zh) * | 2018-12-05 | 2021-11-09 | 上海航天计算机技术研究所 | 一种基于反射内存卡的OpenDDS分布式通信方法 |
CN109639665B (zh) * | 2018-12-06 | 2020-11-24 | 上海航天计算机技术研究所 | 基于多通信介质扩展发布订阅***传输协议的方法 |
CN113965468B (zh) * | 2021-09-15 | 2024-01-30 | 中国航空工业集团公司西安飞机设计研究所 | 一种公共框架网络设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640245B1 (en) * | 1996-12-03 | 2003-10-28 | Mitsubishi Electric Research Laboratories, Inc. | Real-time channel-based reflective memory based upon timeliness requirements |
CN103338112A (zh) * | 2013-07-15 | 2013-10-02 | 中国科学院信息工程研究所 | 一种数据单向导入方法及*** |
CN103678001A (zh) * | 2013-11-18 | 2014-03-26 | 中国空间技术研究院 | 一种基于反射内存网的多节点内存自动分配方法 |
CN104331446A (zh) * | 2014-10-28 | 2015-02-04 | 北京临近空间飞行器***工程研究所 | 一种基于内存映射的海量数据预处理方法 |
CN105608088A (zh) * | 2014-11-19 | 2016-05-25 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于配置文件的数据库自动创建与数据动态记录方法 |
CN106066830A (zh) * | 2016-05-31 | 2016-11-02 | 中国航空工业集团公司西安飞机设计研究所 | 一种内存管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941396B1 (en) * | 2003-02-19 | 2005-09-06 | Istor Networks, Inc. | Storage controller redundancy using bi-directional reflective memory channel |
-
2017
- 2017-07-06 CN CN201710546360.5A patent/CN107329920B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640245B1 (en) * | 1996-12-03 | 2003-10-28 | Mitsubishi Electric Research Laboratories, Inc. | Real-time channel-based reflective memory based upon timeliness requirements |
CN103338112A (zh) * | 2013-07-15 | 2013-10-02 | 中国科学院信息工程研究所 | 一种数据单向导入方法及*** |
CN103678001A (zh) * | 2013-11-18 | 2014-03-26 | 中国空间技术研究院 | 一种基于反射内存网的多节点内存自动分配方法 |
CN104331446A (zh) * | 2014-10-28 | 2015-02-04 | 北京临近空间飞行器***工程研究所 | 一种基于内存映射的海量数据预处理方法 |
CN105608088A (zh) * | 2014-11-19 | 2016-05-25 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于配置文件的数据库自动创建与数据动态记录方法 |
CN106066830A (zh) * | 2016-05-31 | 2016-11-02 | 中国航空工业集团公司西安飞机设计研究所 | 一种内存管理方法 |
Non-Patent Citations (1)
Title |
---|
"基于统一架构的航电***仿真平台的设计与实现";郭文杰 等;《面向航空试验测试技术——2013年航空试验测试技术峰会暨学术交流会论文集》;20130820;第150页,图1-3 * |
Also Published As
Publication number | Publication date |
---|---|
CN107329920A (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329920B (zh) | 一种反射内存的公共接口框架设计方法 | |
US11620254B2 (en) | Remote direct memory access for container-enabled networks | |
CN110109872B (zh) | 一种遥感卫星异构数据统一存储管理装置 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN111427707A (zh) | 一种基于共享内存池的ipc通信方法 | |
Tsai et al. | A fast linear shape from shading | |
CN108139961A (zh) | 遥测定义*** | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
CN111556074A (zh) | 基于opc ua的通信协议配置方法及装置 | |
CN103077147A (zh) | 一种基于链表的全功能1553b总线ip核 | |
US10938622B2 (en) | Interconnection network for integrated circuit with fault detection circuitry provided locally to an upstream location | |
EP2743830A1 (en) | Flexible data communication among partitions in integrated modular avionics | |
CN115269221A (zh) | 基于共享内存机制的fpga硬件抽象层设计方法、*** | |
JPH11127149A (ja) | 蓄積交換型電子会議システムにおけるオブジェクトの移動処理装置及び方法並びに移動処理プログラムを記録した媒体 | |
CN107391672A (zh) | 数据的读写方法及消息化的分布式文件*** | |
CN110121712B (zh) | 一种日志管理方法、服务器和数据库*** | |
CN107145399A (zh) | 一种共享内存管理方法及共享内存管理设备 | |
CN115840788B (zh) | 一种MySql数据同步到ES的方法、装置、终端及存储介质 | |
US9338219B2 (en) | Direct push operations and gather operations | |
US11611529B1 (en) | Network address allocation management using prefix allocation trees with asynchronous workflows | |
US20050281202A1 (en) | Monitoring instructions queueing messages | |
CN114372051A (zh) | 一种数据处理***、基于区块链的数据处理方法及设备 | |
WO2017151138A1 (en) | Atomic memory operation | |
KR20080022140A (ko) | 데이터 파이프라인 관리 시스템, 데이터 파이프라인 관리시스템을 이용하기 위한 방법, 컴퓨터 프로그램, 컴퓨터장치 및 컴퓨터 판독가능 매체 | |
CN113609124B (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 |