CN103617132B - 一种基于共享存储的以太网终端发送实现方法及终端装置 - Google Patents
一种基于共享存储的以太网终端发送实现方法及终端装置 Download PDFInfo
- Publication number
- CN103617132B CN103617132B CN201310630065.XA CN201310630065A CN103617132B CN 103617132 B CN103617132 B CN 103617132B CN 201310630065 A CN201310630065 A CN 201310630065A CN 103617132 B CN103617132 B CN 103617132B
- Authority
- CN
- China
- Prior art keywords
- subvl
- data
- write pointer
- buffering
- frame
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于共享存储的以太网终端发送实现方法,包括将待发送数据写入共享存储区,将存储的地址及数据长度写入写指针缓冲区、通过查询写指针缓冲区的内容来实现终端数据的发送。本发明根据协议规定的发送数据包的过程,设计了基于共享存储的终端发送实现方法。在保证ARINC664协议规定的终端发送的性能的同时,通过存储资源的共享,可以大大缩小存储空间的利用,减少设计面积,降低功耗,节省资源。
Description
技术领域
本发明涉及以太网终端设备发送的方法,特别涉及一种基于共享存储的以太网终端发送实现方法。
背景技术
AFDX(Avionics Full Duplex Switched Ethernet)网络作为新兴的航空电子总线标准,以太网终端设备在航电系统中的已被广泛应用,并应用于交换机中以维护交换机。如图1所示,ARINC664协议交换引擎的核心是一个N*N的交换结构,它可以支持N个10M/100M输入端口和N个10M/100M输出端口。数据可以从任意输入端口进入交换引擎,经过交换引擎转发后从任意端口输出。终端用来维护和监测端口数据,如加载交换机配置表,上报交换机状态信息等。如图2所示ARINC664的终端发送流程。终端发送端如果支持n条虚拟链路(VL),且每条VL队列由最多4条子虚拟链路(SubVL)队列组成,那么终端需要有4*n个发送队列和1个发送队列。如果按照常规的发送机制进行设计,每条SubVL需要用一个队列缓冲区来存储发送队列,那么上述发送流程中共需要4*n+1个队列缓冲区,对存储器的资源要求非常大,因此不能支持太多的发送VL。
发明内容
本发明的发明目的在于提供一种基于共享存储的以太网终端发送实现方法,在保证ARINC664协议规定的终端发送的性能的同时,通过存储资源的共享,可以大大缩小存储空间的利用,减少设计面积,降低功耗,节省资源。
本发明的发明目的通过以下技术方案实现:
一种基于共享存储的以太网终端发送实现方法,包括以下步骤:
A、ES CPU将各SubVL的发送的包打包后写入共享存储区中对应的SubVL的帧缓冲区,并将该帧的起始地址和长度写入缓冲区写指针RING BUFFER的对应SubVL的写指针缓存区,同时计数单元中对应的VL缓冲帧数的计数同时累加1;
B、轮询模块先依次轮询缓冲区写指针RING BUFFER的计数单元,查看各写指针缓存区是否有数据要发送,如果有数据,查询发送时间和subVL序号寄存器组中该VL上一帧发送的时间和帧间隔设置以及当前的定时器的时间来判断是否满足帧间隔,如果不满足则跳到下一条VL;如果满足帧间隔,则从上一次发送的SubVL序号开始轮询判断该VL中哪一条SubVL有数据发送;
C、轮询模块将有数据发送的SubVL序号和当前的定时器时间记录在对应的发送时间和SubVL序号寄存器中,并读出该SubVL的写指针缓存区中的数据写入发送指针FIFO中,读的同时将计数单元中对应的VL缓冲帧数的计数同时减1;
D、发送模块读出发送指针FIFO的数据,根据起始地址和长度将共享存储区中对应的数据帧发送出去。
依据上述特征,所述查看各写指针缓存区是否有数据要发送具体为:如果计数单元中对应的VL缓冲帧数的计数为0,表示无待发数据;计数大于0小于该VL对应的subVL的个数,表示有数据要发;计数等于该VL对应的subVL的个数时表示对应的VL缓冲帧数达到缓冲的最大值,则通知ES CPU终止向该VL的发送数据。
本发明的另一目的在于提供一种基于共享存储的以太网终端发送实现方法的终端装置,包含共享存储区、缓冲区写指针RING BUFFER、发送时间和subVL序号寄存器组、轮询模块、发送指针FIFO、发送模块:
所述共享存储区用于存储发送队列,提供一条以上的VL缓冲区,每条VL缓存区包含一条以上的SubVL帧缓冲区;
所述缓冲区写指针RING BUFFER包含一个以上的写指针缓冲区和计数单元,每个写指针缓冲区对应一条SubVL,记录该SubVL的存储发送队列的起始位置及长度,计数单元分别对各个VL缓冲帧数的个数进行统计;
所述发送时间和SubVL序号寄存器组用于在轮询模块向发送指针FIFO写入SubVL的写指针缓冲区的数据时记录该SubVL序号和当前的定时器时间记录;
所述轮询模块用于先依次轮询计数单元查看各VL是否有数据要发送,如果有数据,查询发送时间和subVL序号寄存器组中该VL上一帧发送的时间和帧间隔设置以及当前的定时器的时间来判断是否满足帧间隔,如果满足帧间隔,则从上一次发送的SubVL序号开始轮询判断该VL中哪一条SubVL有数据发送,将有数据发送的SubVL序号和当前的定时器时间记录送至发送时间和subVL序号寄存器组,以及读出SubVL的写指针缓冲区的数据写入发送指针FIFO中;
所述发送指针FIFO按照先入先出的规则将写指针缓冲区中的数据进行排队;
所述发送模块依次读取发送指针FIFO中的数据,并根据该数据读取共享存储器中数据进行发送。
与现有技术相比,本发明设计了一种基于共享存储的终端发送机制,在保证满足ARINC664协议要求的前提下,该设计大大缩小存储空间的利用,减少设计得面积,降低功耗,节省资源。同时该专利的应用独立于硬件平台,适用范围广,具有显著的市场前景和经济效益。
附图说明
图1是ARINC664交换引擎示意图
图2是传统的基于共享存储的终端发送机制的结构
图3是本发明基于共享存储的终端发送机制的结构;
图4是缓冲区写指针RING BUFFER的结构框图。
附图说明
下面结合附图对本发明作一步的详细描述。
如图3所述首先ES CPU将各SubVL的发送的包打包后写入对应的SubVL的帧缓冲区,并将该帧的起始地址和长度写入缓冲区写指针RING BUFFER的对应SubVL的写指针缓冲区,同时将计数单元中对应的VL缓冲帧数的计数累加1。轮询模块先依次轮询计数单元查看各VL是否有数据发送,如果有数据,则根据该VL上一帧发送的时间和帧间隔(BAG)设置以及当前的定时器的时间来判断是否满足BAG,如果不满足则跳到下一条VL。如果满足BAG,则从上一次发送的SubVL序号开始轮询判断看那一条SubVL有数据发送。将有数据发送的SubVL序号和当前的定时器时间记录在对应的发送时间和SubVL序号寄存器中,并读出该SubVL的写指针缓冲的数据写入发送指针FIFO中,读的同时对应计数单元的计数同时减1。发送模块读出发送指针FIFO中的数据,根据起始地址和长度将共享存储区中对应的数据帧发送出去。
其中,写指针缓冲区的环形缓冲区的结构如图4所示,每一条SubVL拥有一个写指针缓冲区,当写入数据到缓冲区写指针RING BUFFER的对应SUBVL的写指针缓冲区,那么计数单元对应VL的缓冲帧数的计数同时累加1。读出该SubVL的写指针缓冲区的数据时,读的同时计数单元对应的VL缓冲帧数的计数同时减1。当计数单元对应的VL缓冲帧数的计数为0时,表示VL缓冲区中没有发送包,计数达到缓冲的最大值时,通知ES.CPU终止向该VL发送发送包。
该方法在帧发送过程中可以实现背靠背发送。
Claims (4)
1.一种基于共享存储的以太网终端发送实现方法,包括以下步骤:
A、ES CPU将各子虚拟链路SubVL的发送的包打包后写入共享存储区中对应的SubVL的帧缓冲区,并将该帧的起始地址和长度写入缓冲区写指针RINGBUFFER的对应SubVL的写指针缓存区,同时计数单元中对应的VL缓冲帧数的计数同时累加1;
B、轮询模块先依次轮询缓冲区写指针RING BUFFER的计数单元,查看各写指针缓存区是否有数据要发送,如果有数据,查询发送时间和subVL序号寄存器组中该VL上一帧发送的时间和帧间隔设置以及当前的定时器的时间来判断是否满足帧间隔,如果不满足则跳到下一条VL;如果满足帧间隔,则从上一次发送的SubVL序号开始轮询判断该VL中哪一条SubVL有数据发送;
C、轮询模块将查询到的SubVL序号和当前的定时器时间记录在对应的发送时间和SubVL序号寄存器中,并读出该SubVL的写指针缓存区中的数据写入发送指针FIFO中,读的同时将计数单元中对应的VL缓冲帧数的计数同时减1;
D、发送模块读出发送指针FIFO的数据,根据起始地址和长度将共享存储区中对应的数据帧发送出去。
2.根据权利要求1所述的一种基于共享存储的以太网终端发送实现方法,其特征在于所述查看各写指针缓存区是否有数据要发送具体为:如果计数单元中对应的VL缓冲帧数的计数为0,表示无待发数据;计数大于0小于该VL对应的subVL的个数,表示有数据要发;计数等于该VL对应的subVL的个数时表示对应的VL缓冲帧数达到缓冲的最大值,则通知ES CPU终止向该VL的发送数据。
3.一种实现权利要求1所述的一种基于共享存储的以太网终端发送实现方法的终端装置,包含共享存储区、缓冲区写指针RING BUFFER、发送时间和subVL序号寄存器组、轮询模块、发送指针FIFO、发送模块,其特征在于:
所述共享存储区用于存储发送队列,提供一条以上的VL缓冲区,每条VL缓存区包含一条以上的SubVL帧缓冲区;
所述缓冲区写指针RING BUFFER包含一个以上的写指针缓冲区和计数单元,每个写指针缓冲区对应一条SubVL,记录该SubVL的存储发送队列的起始位置及长度,计数单元分别对各个VL缓冲帧数的个数进行统计;
所述发送时间和SubVL序号寄存器组用于在轮询模块向发送指针FIFO写入SubVL的写指针缓冲区的数据时记录该SubVL序号和当前的定时器时间记录;
所述轮询模块用于先依次轮询计数单元查看各VL是否有数据要发送,如果有数据,查询发送时间和subVL序号寄存器组中该VL上一帧发送的时间和帧间隔设置以及当前的定时器的时间来判断是否满足帧间隔,如果满足帧间隔,则从上一次发送的SubVL序号开始轮询判断该VL中哪一条SubVL有数据发送,将查询到的SubVL序号和当前的定时器时间记录送至发送时间和subVL序号寄存器组,以及读出SubVL的写指针缓冲区的数据写入发送指针FIFO中;
所述发送指针FIFO按照先入先出的规则将写指针缓冲区中的数据进行排队;
所述发送模块依次读取发送指针FIFO中的数据,并根据该数据读取共享存储器中数据进行发送。
4.根据权利要求3所述的终端装置,其特征在于所述VL缓存区为1至32条,每条VL缓存区的大小为32KB,所述SubVL缓存区为1至4条。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310630065.XA CN103617132B (zh) | 2013-11-29 | 2013-11-29 | 一种基于共享存储的以太网终端发送实现方法及终端装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310630065.XA CN103617132B (zh) | 2013-11-29 | 2013-11-29 | 一种基于共享存储的以太网终端发送实现方法及终端装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103617132A CN103617132A (zh) | 2014-03-05 |
CN103617132B true CN103617132B (zh) | 2016-08-17 |
Family
ID=50167835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310630065.XA Active CN103617132B (zh) | 2013-11-29 | 2013-11-29 | 一种基于共享存储的以太网终端发送实现方法及终端装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617132B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062235B (zh) * | 2016-11-07 | 2021-10-29 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
CN106648461A (zh) * | 2016-11-15 | 2017-05-10 | 努比亚技术有限公司 | 一种内存管理装置和方法 |
CN107423148A (zh) * | 2017-07-26 | 2017-12-01 | 广州路派电子科技有限公司 | 一种适用于多任务调度环境下的双缓冲协议数据分析系统 |
CN110784430A (zh) * | 2018-07-29 | 2020-02-11 | 雅座在线(北京)科技发展有限公司 | 一种具有环状缓冲的非阻塞网络数据处理实现方法 |
CN111555800B (zh) * | 2020-05-15 | 2021-07-20 | 北京光润通科技发展有限公司 | 一种千兆双光口服务器适配器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523132A (zh) * | 2011-12-07 | 2012-06-27 | 中国航空无线电电子研究所 | 支持端口和虚拟链路数据捕获的监控结构及其监控方法 |
CN202940832U (zh) * | 2012-09-07 | 2013-05-15 | 北京旋极信息技术股份有限公司 | 航电全双工实时以太网终端适配卡 |
CN103139101A (zh) * | 2011-11-23 | 2013-06-05 | 中国航空工业集团公司第六三一研究所 | 用于航空专用全双工交换以太网终端系统的队列端口的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2952261B1 (fr) * | 2009-11-05 | 2011-12-23 | Airbus Operations Sas | Systeme de communication dans un aeronef |
-
2013
- 2013-11-29 CN CN201310630065.XA patent/CN103617132B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139101A (zh) * | 2011-11-23 | 2013-06-05 | 中国航空工业集团公司第六三一研究所 | 用于航空专用全双工交换以太网终端系统的队列端口的实现方法 |
CN102523132A (zh) * | 2011-12-07 | 2012-06-27 | 中国航空无线电电子研究所 | 支持端口和虚拟链路数据捕获的监控结构及其监控方法 |
CN202940832U (zh) * | 2012-09-07 | 2013-05-15 | 北京旋极信息技术股份有限公司 | 航电全双工实时以太网终端适配卡 |
Non-Patent Citations (2)
Title |
---|
AFDX网络终端系统的确定性分析与实现;楼晓强等;《计算机技术与发展》;20100831;第20卷(第8期);全文 * |
基于共享内存的AFDX航空网络交换机设计;胡靖飞;《CNKI优秀硕士学位论文全文库》;20130101;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103617132A (zh) | 2014-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617132B (zh) | 一种基于共享存储的以太网终端发送实现方法及终端装置 | |
CN102035719B (zh) | 一种报文处理方法和装置 | |
CN101227402B (zh) | 聚合链路流量分担方法及装置 | |
CN102098216B (zh) | 一种基于共享存储的航空全双工交换式以太网afdx协议交换引擎 | |
CN109587077B (zh) | 用于tte网络的混合调度方法、tte网络终端 | |
CN103647726B (zh) | 一种报文调度方法及装置 | |
CN108366111B (zh) | 一种用于交换设备的数据包低时延缓存装置与方法 | |
JP2009022038A5 (zh) | ||
CN103748845B (zh) | 报文发送方法、接收方法、装置及系统 | |
KR20140046052A (ko) | 패킷 재조립 및 재배열 방법, 장치 및 시스템 | |
US9769092B2 (en) | Packet buffer comprising a data section and a data description section | |
EP2526478B1 (en) | A packet buffer comprising a data section an a data description section | |
CN102811176B (zh) | 一种数据流量控制方法和装置 | |
CN101753584B (zh) | VxWorks系统下提高智能变电站快速报文处理速度的方法 | |
CN104054309A (zh) | 在网络边缘有效使用数据包缓冲和带宽资源的设备 | |
CN101494579A (zh) | 总线调度装置及方法 | |
CN105656807A (zh) | 一种网络芯片多通道数据传输方法及传输装置 | |
CN104009942A (zh) | 一种千兆afdx交换机及其交换方法 | |
CN102882809B (zh) | 一种基于报文缓存的网络限速方法及装置 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN101848162B (zh) | 一种以太网数据发送装置及数据传输方法 | |
CN105245313B (zh) | 无人机多载荷数据动态复接方法 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
US20140105020A1 (en) | Frame transfer apparatus and frame transfer method | |
JPH0783361B2 (ja) | リング状パケット通信網 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |