CN105550153B - 一种1394总线多通道流数据并行拆包方法 - Google Patents
一种1394总线多通道流数据并行拆包方法 Download PDFInfo
- Publication number
- CN105550153B CN105550153B CN201510932498.XA CN201510932498A CN105550153B CN 105550153 B CN105550153 B CN 105550153B CN 201510932498 A CN201510932498 A CN 201510932498A CN 105550153 B CN105550153 B CN 105550153B
- Authority
- CN
- China
- Prior art keywords
- flow data
- subpackage
- sent
- data
- sending
- 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
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种1394总线多通道流数据并行拆包方法,给多个通道发送的不同流数据可由硬件逻辑并行完成拆包操作,硬件逻辑从每个发送周期开始调度配置表,若在该条流数据M的某个分包n的发送偏移时刻已将该分包n搬移至硬件逻辑内部的数据发送缓冲(n)中,则硬件逻辑将该分包n数据封装并发送到1394总线上,完成本条流数据分包n的发送,并将本条流数据M分包的发送个数计数器TX Strem split cntM增“1”。本发明在满足SAEAS5643协议对1394总线预分配带宽的基础上,又不额外占用处理器资源,可实现1394总线上流数据包按照配置带宽在不同通道上并行发送。
Description
技术领域
本发明属于计算机硬件技术,涉及一种1394总线多通道流数据并行拆包方法。
背景技术
标准的IEEE1394总线协议对消息的最大负载有限制,不能满足军事航空领域对大数据量网络传输的要求,在标准协议的基础上,定义了流数据用于传输大数据量的网络消息,即在发送方将大数据包拆分为若干个小包(满足1394总线最大负载要求)通过1394总线传输,接受法收到这些小包后再组合成一条完整的消息传递给应用软件。同时为了满足消息的处理效率,要求流数据发送方的组包操作由硬件电路完成,在目前技术中,没有支持此类问题的解决方法和电路。
发明内容
本发明目的是提供的一种1394总线多通道流数据并行拆包方法,给多个通道发送的不同流数据可由硬件逻辑并行完成拆包操作。
本发明的技术解决方案是:
一种1394总线多通道流数据并行拆包方法,包括以下步骤:
步骤1:驱动层软件初始化时配置流数据发送配置表,按照发送目的通道号分配每条流数据在每个发送周期内可发送的分包个数N,以及每个的消息ID号、发送偏移时刻、发送缓冲区首地址信息;
步骤2:驱动层软件将待发送流数据按照发送目的通道号,存入分配的流数据发送缓冲区,并将本条流数据需要拆分的分包总数通知硬件逻辑,启动本条流数据发送;
步骤3:流数据源地址运算单元根据每条流数据M在一个发送周期内可发送的分包0、1、…、n、…、N,其中n代表第n个分包,N代表本条流数据共有N个分包;设计已发送周期个数计数器Strem_STOF_cntM[n],所述已发送周期个数计数器初始值为“1”,每完成一次分包发送该计数器增“1”;
步骤4:流数据源地址运算单元根据“本条流数据发送缓冲区首地址+Strem_STOF_cntM[n]*n*分包负载大小”的计算方法,获取该分包应携带的负载位于主存中的位置,通知主机接口DMA控制接口从该位置取出对应负载信息,并保存至硬件逻辑内部的对应数据发送缓冲区中0、1、…、t、…、T,其中t代表第t个缓冲区,T代表共有T个缓冲区;
步骤5:硬件逻辑从每个发送周期开始调度配置表,若在该条流数据M的某个分包n的发送偏移时刻已将该分包n搬移至硬件逻辑内部的数据发送缓冲t中,则硬件逻辑将该分包n数据封装并发送到1394总线上,完成本条流数据分包n的发送,并将本条流数据M分包的发送个数计数器TX_Strem_split_cntM增“1”,否则继续启动本条流数据M的分包n+1发送,在下个发送周期的分包n的发送偏移时刻再启动分包n发送;
步骤6:判断本条流数据M分包的发送个数计数值与本条流数据需要拆分的分包总数是否相等,如不同则返回步骤4,如相同则转入步骤7;
步骤7:将已发送周期个数计数器Strem_STOF_cntM[n]复位为“1”,该条流数据M发送完成标识置位,通知上层软件本条流数据发送完成。
为了实现并行拆包,上述步骤1中的配置表可配置不同发送目的通道号的流数据;上述不同发送目的通道号的流数据按照步骤2至步骤7的方法并行处理。
本发明的有益效果:
本发明1394总线多通道流数据并行拆包方法,给多个通道发送的不同流数据可由硬件逻辑并行完成拆包操作,使其在满足SAEAS5643协议对1394
总线预分配带宽的基础上,又不额外占用处理器资源,可实现1394总线上流数据包按照配置带宽在不同通道上并行发送。
附图说明
图1为本发明采用的硬件电路框图;
图2为本发明的方法流程图。
具体实施方式
本发明1394总线多通道流数据并行拆包方法,采用硬件电路实现,该硬件电路包括主机接口DMA控制单元、流数据源地址运算单元、流数据发送缓冲区、配置表、配置表调度运算单元、1394链路层发送接口。各单元模块连接关系:主机接口DMA控制单元与流数据源地址运算单元、流数据发送缓冲区连接,流数据源地址运算单元与主机接口DMA控制单元连接,流数据发送缓冲区与主机接口DMA控制单元、1394链路层发送接口连接,配置表与配置表调度运算单元连接,配置表调度运算单元与配置表、流数据源地址运算单元连接,1394链路层发送接口与流数据发送缓冲区连接。
本发明1394总线流数据拆包方法,处理步骤如下:
步骤1:驱动层软件初始化时配置流数据发送配置表,按照发送目的通道号分配每条流数据在每个发送周期内可发送的分包个数,以及每个的消息ID号、发送偏移时刻、发送缓冲区首地址等信息;
步骤2:驱动层软件将待发送流数据按照发送目的通道号,存入分配的流数据发送缓冲区,并将本条流数据需要拆分的分包总数,通知硬件逻辑启动本条流数据发送;
步骤3:流数据源地址运算单元根据每条流数据M在一个发送周期内可发送的分包0、1、…、n、…、N,其中n代表第n个分包,N代表本条流数据共有N个分包;设计已发送周期个数计数器Strem_STOF_cntM[n],所述已发送周期个数计数器初始值为“1”,每完成一次分包发送该计数器增“1”;
步骤4:流数据源地址运算单元根据“本条流数据发送缓冲区首地址+Strem_STOF_cntM[n]*n*分包负载大小”的计算方法,获取该分包应携带的负载位于主存中的位置,通知主机接口DMA控制接口从该位置取出对应负载信息,并保存至硬件逻辑内部的对应数据发送缓冲区中0、1、…、t、…、T,其中t代表第t个缓冲区,T代表共有T个缓冲区;
步骤5:硬件逻辑从每个发送周期开始调度配置表,如在本条流数据M的某个分包n的发送偏移时刻,已将该分包搬移至硬件逻辑内部的数据发送缓冲t中,则硬件逻辑将该分包n数据封装并发送到1394总线上,完成本条流数据分包n的发送,并将本条流数据M分包的发送个数计数器(TX_Strem_split_cntM)增“1”,否则继续启动本条流数据M的分包n+1发送,在下个发送周期的分包n的发送偏移时刻再启动分包(n)发送;
步骤6:判断本条流数据M分包的发送个数计数值(TX_Strem_split_cntM)与本条流数据需要拆分的分包总数是否相等,不相等则返回步骤4,相等则转入步骤7;
步骤7:将已发送周期个数计数器(Strem_STOF_cntM[n])复位为“1”,该条流数据M发送完成标识置位,通知上层软件本条流数据发送完成。
如果要发送并行数据,只需要在配置表中配置不同发送目的通道号的流数据,则不同发送目的通道号的流数据就可按照上述的步骤2至步骤7并行处理。
Claims (2)
1.一种1394总线多通道流数据并行拆包方法,其特征在于,包括以下步骤:
步骤1:驱动层软件初始化时配置流数据发送配置表,按照发送目的通道号分配每条流数据在每个发送周期内可发送的分包个数N,以及每个的消息ID号、发送偏移时刻、发送缓冲区首地址信息;
步骤2:驱动层软件将待发送流数据按照发送目的通道号,存入分配的流数据发送缓冲区,并将本条流数据需要拆分的分包总数通知硬件逻辑,启动本条流数据发送;
步骤3:流数据源地址运算单元根据每条流数据M在一个发送周期内可发送的分包0、1、…、n、…、N,其中n代表第n个分包,N代表本条流数据共有N个分包;设计已发送周期个数计数器Strem_STOF_cntM[n],所述已发送周期个数计数器初始值为“1”,每完成一次分包发送该计数器增“1”;
步骤4:流数据源地址运算单元根据“本条流数据发送缓冲区首地址+Strem_STOF_cntM[n]*n*分包负载大小”的计算方法,获取该分包应携带的负载位于主存中的位置,通知主机接口DMA控制接口从该位置取出对应负载信息,并保存至硬件逻辑内部的对应数据发送缓冲区中0、1、…、t、…、T,其中t代表第t个缓冲区,T代表共有T个缓冲区;
步骤5:硬件逻辑从每个发送周期开始调度配置表,若在该条流数据M的某个分包n的发送偏移时刻已将该分包n搬移至硬件逻辑内部的数据发送缓冲t中,则硬件逻辑将该分包n数据封装并发送到1394总线上,完成本条流数据分包n的发送,并将本条流数据M分包的发送个数计数器TX_Strem_split_cntM增“1”,否则继续启动本条流数据M的分包n+1发送,在下个发送周期的分包n的发送偏移时刻再启动分包n发送;
步骤6:判断本条流数据M分包的发送个数计数值与本条流数据需要拆分的分包总数是否相等,不相等则返回步骤4,相等则转入步骤7;
步骤7:将已发送周期个数计数器Strem_STOF_cntM[n]复位为“1”,该条流数据M发送完成标识置位,通知上层软件本条流数据发送完成。
2.根据权利要求1所述1394总线多通道流数据并行拆包方法,其特征在于:所述步骤1中的配置表可配置不同发送目的通道号的流数据;所述不同发送目的通道号的流数据按照步骤2至步骤7的方法并行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510932498.XA CN105550153B (zh) | 2015-12-12 | 2015-12-12 | 一种1394总线多通道流数据并行拆包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510932498.XA CN105550153B (zh) | 2015-12-12 | 2015-12-12 | 一种1394总线多通道流数据并行拆包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550153A CN105550153A (zh) | 2016-05-04 |
CN105550153B true CN105550153B (zh) | 2018-04-20 |
Family
ID=55829343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510932498.XA Active CN105550153B (zh) | 2015-12-12 | 2015-12-12 | 一种1394总线多通道流数据并行拆包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550153B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234259B (zh) * | 2016-12-12 | 2020-12-29 | 中国航空工业集团公司西安航空计算技术研究所 | 1394总线远程节点余度配置方法 |
CN106713094B (zh) * | 2016-12-26 | 2020-05-08 | 北京旋极信息技术股份有限公司 | 一种1394数据采集模块 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200642360A (en) * | 2005-01-28 | 2006-12-01 | Standard Microsyst Smc | High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces |
CN101222430A (zh) * | 2008-01-24 | 2008-07-16 | 中兴通讯股份有限公司 | 一种高速多协议数据传输系统和方法 |
CN102023947A (zh) * | 2010-12-02 | 2011-04-20 | 西北工业大学 | Ieee1394总线与高速智能统一总线的直接接口方法 |
CN102420763A (zh) * | 2011-12-07 | 2012-04-18 | 中国航空无线电电子研究所 | Dma发送方法 |
-
2015
- 2015-12-12 CN CN201510932498.XA patent/CN105550153B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200642360A (en) * | 2005-01-28 | 2006-12-01 | Standard Microsyst Smc | High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces |
CN101222430A (zh) * | 2008-01-24 | 2008-07-16 | 中兴通讯股份有限公司 | 一种高速多协议数据传输系统和方法 |
CN102023947A (zh) * | 2010-12-02 | 2011-04-20 | 西北工业大学 | Ieee1394总线与高速智能统一总线的直接接口方法 |
CN102420763A (zh) * | 2011-12-07 | 2012-04-18 | 中国航空无线电电子研究所 | Dma发送方法 |
Non-Patent Citations (1)
Title |
---|
基于1394高速图像传输接口的设计;林婷;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)2011年第S1期》;20111215(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105550153A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200218505A1 (en) | Scalable input/output system and techniques to transmit data between domains without a central processor | |
US20190004871A1 (en) | Microservices architecture | |
US11586575B2 (en) | System decoder for training accelerators | |
CN105306241B (zh) | 一种业务部署方法及网络功能加速平台 | |
EP3694159A1 (en) | Network interface card, computing device, and data packet processing method | |
US20190058675A1 (en) | Heterogeneous Packet-Based Transport | |
CN104104620A (zh) | 用于按优先级进行业务流处理的方法和系统 | |
CN105162674A (zh) | 一种物理机访问虚拟网络的方法及网卡 | |
CN106576084A (zh) | 片上数据分组处理系统 | |
CN108228309B (zh) | 基于虚拟机的数据包发送和接收方法及装置 | |
CN102932327A (zh) | 零终端设备与桌面虚拟机之间的通信方法及系统 | |
CN105049464A (zh) | 用于加速网络虚拟化的技术 | |
CN106998347A (zh) | 服务器虚拟化网络共享的装置和方法 | |
CN106302071B (zh) | 一种适配器、网络设备以及端口配置的方法 | |
CN105550153B (zh) | 一种1394总线多通道流数据并行拆包方法 | |
Mariño et al. | The future roadmap of in-vehicle network processing: A HW-centric (R-) evolution | |
US9253121B2 (en) | Universal network interface controller | |
Visconti et al. | FPGA based technical solutions for high throughput data processing and encryption for 5G communication: A review | |
CN109032704A (zh) | 一种数据处理的方法和设备 | |
CN105512079B (zh) | 一种1394总线多通道流数据并行组包方法 | |
CN105245365A (zh) | 一种虚拟网络的参数配置方法、设备和系统 | |
CN102932458B (zh) | 一种ppp协议的硬件加速系统及其实现方法 | |
EP3148209B1 (en) | Data processing method and apparatus | |
CN111448785A (zh) | 车载中继装置 | |
US20130227190A1 (en) | High Data-Rate Processing System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221018 Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075 Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: No. 15, Jinye Second Road, Xi'an, Shaanxi 710065 Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE |
|
TR01 | Transfer of patent right |