CN115480932A - Srio中间件和裸驱动数据收发共存方法、设备及介质 - Google Patents
Srio中间件和裸驱动数据收发共存方法、设备及介质 Download PDFInfo
- Publication number
- CN115480932A CN115480932A CN202211012214.1A CN202211012214A CN115480932A CN 115480932 A CN115480932 A CN 115480932A CN 202211012214 A CN202211012214 A CN 202211012214A CN 115480932 A CN115480932 A CN 115480932A
- Authority
- CN
- China
- Prior art keywords
- srio
- middleware
- doorbell
- bare
- data
- 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.)
- Pending
Links
Images
Classifications
-
- 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/544—Buffers; Shared memory; Pipes
-
- 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/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种SRIO中间件和裸驱动数据收发共存方法、设备及介质,属于SRIO网络领域,包括步骤:S1,为SRIO中间件规化内存映射地址与收数空间大小;S2,为裸驱动规化内存映射地址与收数空间大小;S3,门铃驱动统一接收门铃信息,并对门铃信息进行分类;S4,SRIO中间件使用分配可使用的门铃信息;S5,为SRIO裸驱动分配可使用的门铃信息。本发明解决了实现SRIO中间件和裸驱动数据收发共存时存在的内存映射地址冲突、门铃信息冲突的问题,可以高速、高效的完成RapidIO数据的收发。
Description
技术领域
本发明涉及SRIO网络领域,更为具体的,涉及一种SRIO中间件和裸驱动数据收发共存方法、设备及介质。
背景技术
RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、低引脚数、基于数据包交换的互联技术。其灵活性强、协议层简单、系统开销小,满足了嵌入式系统的飞速发展。RapidIO技术在芯片之间、模块之间的高速传输使得它在综合化电子信息系统广泛应用。
SRIO中间件将RapidIO逻辑层内存映射机制结合门铃传输机制设计,实现了基于主控节点集中控制的PPC、FPGA、DSP节点,解决了异构设备间的高带宽数据传输。SRIO中间件利用了RIO网络底层硬件通信机制、操作系统资源调度,为RapidIO网络中的SRIO节点分配独立通信的虚通道,将逻辑层单个收发队列复用为多个虚通道,用户则可直接使用虚通道进行通信。
SRIO裸驱动则是指直接利用层内存映射驱动函数进行数据的收发。
目前,综合化电子信息系统主要包括通用数据处理模块(DPM)、通用信号处理模块(SPM)、网络交换模块(RCM)、IO模块等,芯片间及板间采用RapidIO互连总线协议来实现数据的高可靠性传输,不同的RapidIO节点上通过部署SRIO中间件进行通信。由于功能需求,速率需求,部分RapidIO节点上无法部署SRIO中间件,导致部分RapidIO节点上既需要使用SRIO中间件,也需要直接使用RapidIO裸驱动进行数据的收发。SRIO中间件和裸驱动数据收发共存问题有以下几个技术问题需要解决:
(1)SRIO内存映射地址冲突。由于SRIO中间件提前规划了部分内存区域作为通道信息,数据的读取也根据通道中的信息获取,故SRIO裸驱动不能将内存映射接收的数据放在该区域。
(2)SRIO门铃信息冲突。由于SRIO中间件需要使用门铃信息来提醒SRIO中间件从哪个虚通道中收数,故门铃裸驱动不能使用该部分门铃信息。
发明内容
本发明的目的在于克服现有技术的不足,提供一种SRIO中间件和裸驱动数据收发共存方法、设备及介质,解决了实现SRIO中间件和裸驱动数据收发共存时存在的内存映射地址冲突、门铃信息冲突的问题,实现高速、高效的完成RapidIO数据的收发。
本发明的目的是通过以下方案实现的:
一种SRIO中间件和裸驱动数据收发共存方法,包括以下步骤:
S1,为SRIO中间件规化内存映射地址与收数空间大小;
S2,为裸驱动规化内存映射地址与收数空间大小;
S3,门铃驱动统一接收门铃信息,并对门铃信息进行分类;
S4,SRIO中间件使用分配可使用的门铃信息;
S5,为SRIO裸驱动分配可使用的门铃信息。
进一步地,在步骤S1中,所有RIO节点通过中间件收发数,数据都将保存在为SRIO中间件规化的内存映射地址区域内。
进一步地,在步骤S2中,所有RIO节点通过裸驱动收发数,数据都将保存在为裸驱动规化的内存映射地址区域内,且要确保与S1开辟的地址空间不能重合。
进一步地,在步骤S3中,门铃驱动统一接收所有RIO节点的门铃信息,并对门铃信息进行分类。
进一步地,在步骤S4中,若门铃信息在256以内,将此类门铃信息交予SRIO中间件使用。
进一步地,在步骤S5中,若门铃信息大于256,将此类门铃信息交予SRIO裸驱动分配使用。
进一步地,所述将此类门铃信息交予SRIO中间件使用,具体通过回调函数形式传递为SRIO中间件使用。
进一步地,所述将此类门铃信息交予SRIO裸驱动分配使用,具体通过回调函数形式传递为RIO裸驱动使用。
一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载并执行如上任一项所述的方法。
一种可读存储介质,在可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行如上任一项所述的方法。
本发明的有益效果包括:
本发明提供了一种SRIO中间件和裸驱动数据收发共存问题的解决方法,通过对内存映射地址的规划、门铃信息内容的规划,RapidIO网络中的叶子节点既可以使用SRIO中间件收发数据,也可以使用内存映射收发数据。
本发明解决了综合化电子信息系统用户对SRIO数据收发速率的要求,高速、高效的完成RapidIO数据的收发。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为为本发明实施例的国产SRIO交换芯片端口恢复策略示意图;
图2为本发明实施例的方法步骤流程图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
如图1所示,本发明实施例提供一种SRIO中间件和裸驱动数据收发共存方法,包括以下步骤:
S1,为SRIO中间件规化内存映射地址与收数空间大小;
S2,为裸驱动规化内存映射地址与收数空间大小;
S3,门铃驱动统一接收门铃信息,并对门铃信息进行分类;
S4,SRIO中间件使用分配可使用的门铃信息;
S5,为SRIO裸驱动分配可使用的门铃信息。
在可选的方案中,在步骤S1中,为SRIO中间件规划内存映射地址与收数空间大小,即所有RIO节点通过中间件收发数,数据都将保存在此片区域内。
在可选的方案中,在步骤S2中,为裸驱动规划内存映射地址与收数空间大小,即所有RIO节点通过裸驱动收发数,数据都将保存在此片区域内,确保与S1开辟的地址空间不能重合。
在可选的方案中,在步骤S3中,门铃驱动统一接收所有RIO节点的门铃信息,并对门铃信息进行分类;
在可选的方案中,在步骤S4中,门铃信息在256以内,将此类门铃信息交予SRIO中间件使用;
在可选的方案中,在步骤S5中,门铃信息大于256,将此类门铃信息交予SRIO裸驱动分配使用。
如图2所示,在本发明提供的其他实施例中,在SRIO网络中,包括数据处理模块、通用信号处理模块、存储模块。其中数据处理模块中的P2020节点与通用信号处理模块中的DSP节点采用SRIO中间件进行通信,数据处理模块中的P2020节点与存储模块中的FPGA节点进行裸驱动通信。
SS1,为P2020节点规划SRIO中间件可使用的内存映射地址与收数空间大小,0x80000000-0x8fffffff,即SRIO中间件收发数的地址范围;
SS2,为P2020节点规划裸驱动可使用的内存映射地址与收数空间大小,0xa0000000-0xafffffff,即驱动收发数的地址范围。
SS3,P2020节点通过门铃接收驱动接收所有的门铃信息,并对门铃信息内容进行判断;
SS4,若门铃信息为0~256,则通过回调函数形式传递为SRIO中间件使用;
SS5,若门铃信息为256~65536,则通过回调函数形式传递为RIO裸驱动使用。
本发明实施例相比于现有技术具有如下改进效果:
本发明提供了一种SRIO中间件和裸驱动数据收发共存问题的解决方法。本发明通过对内存映射地址的规划,即SRIO中间件收数空间与裸驱动收数空间完全错开,避免了由于数据地址冲突,导致的数据内容异常等问题。门铃信息主要用于提醒用户去对应的内存空间收数,通过对门铃内容的规划,用户能够清楚知道收数的时机及对应的数据地址空间。通过本发明方法,RapidIO网络中的叶子节点既可以使用SRIO中间件收发数据,也可以使用SRIO裸驱动收发数据。
本发明具有高速率的技术效果:本发明提供了一种SRIO中间件和裸驱动数据收发共存问题的解决方法,SRIO中间件收发由于流程以及数据描述符的发送,导致RIO数据收发速率低于裸驱动的数据收发。而在综合化电子信息系统,不同的功能对SRIO数据收发速率要求不一致。速率要求高,则采用裸驱动的数据收发;速率要求不高,则采用SRIO中间件收发数。用户对SRIO数据收发速率的要求,高速、高效的完成RapidIO数据的收发。
实施例1
一种SRIO中间件和裸驱动数据收发共存方法,包括以下步骤:
S1,为SRIO中间件规化内存映射地址与收数空间大小;
S2,为裸驱动规化内存映射地址与收数空间大小;
S3,门铃驱动统一接收门铃信息,并对门铃信息进行分类;
S4,SRIO中间件使用分配可使用的门铃信息;
S5,为SRIO裸驱动分配可使用的门铃信息。
实施例2
在实施例1的基础上,在步骤S1中,所有RIO节点通过中间件收发数,数据都将保存在为SRIO中间件规化的内存映射地址区域内。
实施例3
在实施例1的基础上,在步骤S2中,所有RIO节点通过裸驱动收发数,数据都将保存在为裸驱动规化的内存映射地址区域内,且要确保与S1开辟的地址空间不能重合。
实施例4
在实施例1的基础上,在步骤S3中,门铃驱动统一接收所有RIO节点的门铃信息,并对门铃信息进行分类。
实施例5
在实施例1的基础上,在步骤S4中,若门铃信息在256以内,将此类门铃信息交予SRIO中间件使用。
实施例6
在实施例1的基础上,在步骤S5中,若门铃信息大于256,将此类门铃信息交予SRIO裸驱动分配使用。
实施例7
在实施例5的基础上,所述将此类门铃信息交予SRIO中间件使用,具体通过回调函数形式传递为SRIO中间件使用。
实施例8
在实施例6的基础上,所述将此类门铃信息交予SRIO裸驱动分配使用,具体通过回调函数形式传递为RIO裸驱动使用。
实施例9
一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载并执行如实施例1~实施例8任一项所述的方法。
实施例10
一种可读存储介质,在可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行如实施例1~实施例8任一项所述的方法。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.一种SRIO中间件和裸驱动数据收发共存方法,其特征在于,包括以下步骤:
S1,为SRIO中间件规化内存映射地址与收数空间大小;
S2,为裸驱动规化内存映射地址与收数空间大小;
S3,门铃驱动统一接收门铃信息,并对门铃信息进行分类;
S4,SRIO中间件使用分配可使用的门铃信息;
S5,为SRIO裸驱动分配可使用的门铃信息。
2.根据权利要求1所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,在步骤S1中,所有RIO节点通过中间件收发数,数据都将保存在为SRIO中间件规化的内存映射地址区域内。
3.根据权利要求1所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,在步骤S2中,所有RIO节点通过裸驱动收发数,数据都将保存在为裸驱动规化的内存映射地址区域内,且要确保与S1开辟的地址空间不能重合。
4.根据权利要求1所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,在步骤S3中,门铃驱动统一接收所有RIO节点的门铃信息,并对门铃信息进行分类。
5.根据权利要求1所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,在步骤S4中,若门铃信息在256以内,将此类门铃信息交予SRIO中间件使用。
6.根据权利要求1所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,在步骤S5中,若门铃信息大于256,将此类门铃信息交予SRIO裸驱动分配使用。
7.根据权利要求5所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,所述将此类门铃信息交予SRIO中间件使用,具体通过回调函数形式传递为SRIO中间件使用。
8.根据权利要求6所述的SRIO中间件和裸驱动数据收发共存方法,其特征在于,所述将此类门铃信息交予SRIO裸驱动分配使用,具体通过回调函数形式传递为RIO裸驱动使用。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器加载并执行如权利要求1~8任一项所述的方法。
10.一种可读存储介质,其特征在于,在可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行如权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211012214.1A CN115480932A (zh) | 2022-08-23 | 2022-08-23 | Srio中间件和裸驱动数据收发共存方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211012214.1A CN115480932A (zh) | 2022-08-23 | 2022-08-23 | Srio中间件和裸驱动数据收发共存方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115480932A true CN115480932A (zh) | 2022-12-16 |
Family
ID=84421678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211012214.1A Pending CN115480932A (zh) | 2022-08-23 | 2022-08-23 | Srio中间件和裸驱动数据收发共存方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115480932A (zh) |
-
2022
- 2022-08-23 CN CN202211012214.1A patent/CN115480932A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1689312B (zh) | 用于建立事务的集成电路和方法 | |
US7940788B2 (en) | System for transmitting data within a network between nodes of the network and flow control process for transmitting the data | |
US7594052B2 (en) | Integrated circuit and method of communication service mapping | |
CN105144637A (zh) | 用于交换用户数据的接口装置和方法 | |
CN101223745A (zh) | 用于通信资源分配的电子设备和方法 | |
JP2014519249A (ja) | ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム | |
CN111666242A (zh) | 一种基于飞腾平台lpc总线的多路通信系统 | |
CN102907058A (zh) | 在没有中央控制的全网状网络中利用动态多路径路由的基于单元数据传输 | |
KR100439238B1 (ko) | 전송유니트간 송수신 데이터의 릴라이어블 프로토콜운용방법 | |
CN115269221A (zh) | 基于共享内存机制的fpga硬件抽象层设计方法、系统 | |
CN107172139B (zh) | 一种无线协议栈及其实现方法 | |
CN109600457B (zh) | 一种多至一映射的phy-mac接口控制装置及方法 | |
CN115480932A (zh) | Srio中间件和裸驱动数据收发共存方法、设备及介质 | |
CN102523265B (zh) | 一种过程数据动态分配mvb控制器和处理数据方法 | |
CN101702714B (zh) | 计算机系统中的基于信用的流动控制的方法、系统和设备 | |
CN111756659A (zh) | 一种多主站EtherCAT网络实现方法及采用其的网络系统 | |
CN108521416B (zh) | 一种ecn板卡 | |
CN102170401A (zh) | 一种数据的处理方法和设备 | |
CN108391287A (zh) | 用于传输pdu、用于指示pdu优先级的方法和装置 | |
CN100574243C (zh) | 无线从设备 | |
CN113347188A (zh) | 一种基于pcie及异构处理器的车载网络传输装置 | |
KR0156856B1 (ko) | 다중 메세지 재전송 처리장치 및 방법 | |
CN112511542A (zh) | 在设备内部实现多ip地址网络隔离的系统及应用方法 | |
CN218243548U (zh) | 车辆线束系统及车辆 | |
WO2023035777A1 (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 |