CN107483370B - 一种在fc网络上传输ip和can业务的方法 - Google Patents
一种在fc网络上传输ip和can业务的方法 Download PDFInfo
- Publication number
- CN107483370B CN107483370B CN201710827605.1A CN201710827605A CN107483370B CN 107483370 B CN107483370 B CN 107483370B CN 201710827605 A CN201710827605 A CN 201710827605A CN 107483370 B CN107483370 B CN 107483370B
- Authority
- CN
- China
- Prior art keywords
- frame
- sending
- receiving
- buffer area
- ethernet
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1605—Fixed allocated frame structures
- H04J3/1652—Optical Transport Network [OTN]
- H04J3/1664—Optical Transport Network [OTN] carrying hybrid payloads, e.g. different types of packets or carrying frames and packets in the paylaod
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
Abstract
本发明公开了一种在FC网络上传输IP和CAN业务的方法,涉及FC网络传输领域;其方法步骤包括1)在HBA卡上构建内核模块,内核模块根据配置文件和配置软件初始化得初始化信息;2)FC接口层根据初始化信息将以太网帧或CAN帧封装为FC‑AE‑ASM帧并发送给HBA卡使能发送数据;3)FC接口层接收模块利用数据区别帧类型,将FC‑AE‑ASM帧解封装为以太网帧或CAN帧并送至对应上层协议栈、CAN协议软件;本发明将HBA卡作为物理传输设备,通过设计内核模块、配置软件和FC接口层,实现在FC网络上传输IP和CAN业务,提高了FC‑AE网络数据传输编程接口的易用性,同时扩展了IP业务和CAN业务在高可靠性控制网络中的应用需求;设置调度缓冲机制,利用FC‑AE底层流控机制实现UDP传输零丢包。
Description
技术领域
本发明涉及FC网络传输领域,尤其是一种在FC网络上传输IP和CAN业务的方法。
背景技术
FC(Fiber Channel)是由美国标准化委员会(ANSI)的提出的高速串行传输总线,由于其具备通道和网络双重优势,具备高带宽、高可靠性、高稳定性,抵抗电磁干扰等优点,能够提供非常稳定可靠的光纤连接,容易构建大型的数据传输和通信网络。FC-AE标准是一个FC应用到航空电子环境中的一组协议集,主要用于航空电子环境下各设备之间的数据通信,传输视频、指控、仪器仪表、传感器等数据,目前FC-AE网络在诸多航电网络和军工设备中得到了广泛的应用。
CAN总线的研究和发展已经进入了很成熟的阶段,1986年德国电气商博世公司开发出面向汽车的CAN通信协议,此后,CAN通过ISO11898及ISO11519进行了标准化,在欧洲已是汽车网络的标准协议。CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
以太网标准是一个古老而又充满活力的标准。自从1982年以太网协议被IEEE采纳成为标准以后,已经历了20年的风风雨雨,在这20年中,以太网技术作为局域网链路层标准战胜了令牌总线、令牌环等技术,成为局域网事实标准。以太网技术当前在局域网范围市场占有率超过90%。可以说,在民用网络通信领域,以太网是最重要的一种网络。
随着社会的进步和发展,人们对数据稳定性和可靠性的要求越来越高,以往的以太网也因为自身的缺陷而无法满足日渐增长的需要,人们需要更加稳定可靠的网络来进行数据传输,特别是在舰载,机载等需要可靠高速传输控制指令和数据流的应用场合,FC-AE网络应用广泛,然而FC-AE网络上层应用接口不具有通用性且编程复杂,以及CAN总线和以太网在全球范围内的大规模应用,UDP传输指令和数据业务由于传统的以太网UDP业务数据报可靠性不能满足要求,所以亟待提出一种新技术提高UDP数据报的可靠性;所以需要一种能够在保证数据传输可靠性的基础上将以太网报文和CAN报文无损接入FC-AE网络的技术。
发明内容
本发明的目的在于:本发明提供一种在FC网络上传输IP和CAN业务的方法,通过设计FC接口层发送端完成以太网帧或者CAN帧封装为FC帧,接收端将FC帧解封装为以太网帧或者CAN帧,实现在FC网络上传输IP和CAN业务,提高了FC-AE网络编程接口的易用性,达到了拓宽FC-AE网络的应用范围效果。
本发明采用的技术方案如下:
一种在FC网络上传输IP和CAN业务的方法,包括如下步骤:
步骤1:在HBA卡上构建内核模块,内核模块根据配置文件和配置软件初始化得到初始化信息;
步骤2:FC接口层根据初始化信息完成以太网帧或CAN帧封装为FC-AE-ASM帧并发送给HBA卡使能发送数据;
步骤3:FC接口层接收模块利用接收数据区别帧类型,将FC-AE-ASM帧解封装为以太网帧或CAN帧并送至对应上层协议栈或CAN协议软件。
优选地,所述步骤1包括如下步骤:
步骤1.1:内核模块初始化包括自定义描述符信息;描述符信息包括FC-AE-ASM帧头字段信息以及payload在缓冲区中的地址、长度信息;
步骤1.2:内核模块中加载模块分配以太网帧通道和CAN帧通道的发送和接收DMA缓冲区,根据描述符信息定义发送和接收描述符队列;
步骤1.3:配置软件生成本地FC_ID、本地MAC地址、IP地址与FC_ID映射表和线路速率等配置信息。
优选地,所述步骤2包括如下步骤:
步骤2.1:FC接口层发送模块取得待发送的以太网帧或者CAN帧后,将其复制到发送 DMA缓冲区后根据帧类型填写帧头描述符;
步骤2.2:FC接口层发送模块根据帧类型结合配置信息填写转化后的路由信息;
步骤2.3:FC接口层发送模块根据帧类型填写帧头字段、payload部分等信息和选择封装形式;
步骤2.4:根据以上三个步骤完成以太网帧或者CAN帧封装为FC-AE-ASM帧,填写发送描述符信息和写指针,使能HBA卡发送数据。
优选地,所述步骤3包括如下步骤:
步骤3.1:FC接口层接收模块根据自定义的硬件中断向量号、接收描述符信息从接收 DMA缓冲区中取出FC-AE-ASM帧;
步骤3.2:FC接口层接收模块根据取出的FC-AE-ASM帧的TYPE字段,MessagePayload Length字段判断该帧负载是否为以太网类型,若是,则根据F_CTL、Length字段判断是否为以太网帧?若是,则跳至步骤3.3,若否则跳至步骤3.4;否则进入普通ASM帧的处理;
步骤3.3:根据FC帧头偏移相应字节获得以太网帧并计算帧长,判断以太网帧是否发生错误,若是,进入错误处理;否则接收模块分配skb结构体,将以太网帧复制到skb缓冲区中,传送给上层协议栈完成解封装;
步骤3.4:根据FC帧头偏移相应字节获得CAN帧,将CAN_ID、DLC和数据分离出来,通过系统函数将数据传递给上层CAN协议软件完成解封装。
优选地,其方法还包括如下步骤:
步骤4:在内核模块设置接收端调度缓冲机制控制接收缓冲区不溢出回复RDY给发送端,允许发送节点卡继续发送流量;
步骤5:在内核模块设置发送端调度缓冲机制根据RDY回复数量控制发送缓冲区不溢出实现UDP数据零丢包。
优选地,所述步骤4包括以下步骤:
步骤4.1:接收端内核模块(驱动)调用函数判断接收UDP消息的SK结构体的接收缓冲区是否溢出,若是,则内核模块(驱动)则不再从DMA接收缓冲区中取帧,跳至步骤 4.2;否则不做处理;
步骤4.2:HBA卡(硬件)检测读写指针差值判断DMA接收缓冲区帧数量是否超过阈值?若超过,则HBA卡(硬件)将帧写入DMA接收缓冲区后不回复该帧的RDY给发送端;否则跳至步骤4.3;
步骤4.3:判断DMA接收缓冲区帧数量是否达到低阈值?若是,HBA卡(硬件)则向发送端回复RDY,允许发送节点卡继续发送;否则不做处理。
优选地,所述步骤5包括以下步骤:
步骤5.1:发送端根据接收端回复给节点的RDY数量管理bbcredit值,判断bbcredit 值是否未满?若未满,则HBA卡(硬件)从DMA发送缓冲区中取帧发送,跳至步骤5.2;否则,HBA卡(硬件)不在从DMA发送缓冲区中取帧发送;
步骤5.2:HBA卡(硬件)检测读写指针差值判断DMA发送缓冲区帧数量是否超过阈值?若超过,HBA卡(硬件)则发反压中断,调用函数停止发送,跳至步骤5.3;否则不做处理;
步骤5.3:HBA卡(硬件)判断DMA发送缓冲区帧数量是否达到低阈值?若是,HBA 卡(硬件)则发解除反压中断,调用函数开启发送;否则不做处理。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
(1)本发明将HBA卡作为物理传输设备,通过设计内核模块和配置软件,设计FC接口层,实现发送端完成以太网帧或者CAN帧封装为FC-AE-ASM帧,接收端将FC-AE-ASM 帧解封装为以太网帧或者CAN帧,实现在FC网络上传输IP和CAN业务,提高了FC-AE 网络数据传输编程接口的易用性,同时扩展了IP业务和CAN业务在高可靠性控制网络中的应用需求。
(2)本发明通过设置FC接口层,实现在FC网络上传输IP和CAN业务,同时在发送端和接收端设置调度缓冲机制,解决了在FC网络上传输IP业务直接将数据送至协议栈导致的数据丢包的问题,利用FC-AE底层流控机制实现UDP传输零丢包,扩展了IP业务在高可靠性控制网络中的应用;
(3)本发明支持TCP/IP协议栈和多种传播形式,不仅拓宽了FC-AE网络的应用范围,而且能够实现FC-AE网络与以太网网络的融合;
(4)本发明支持传输IP和CAN业务,避免现有技术传播CAN业务需要部署CAN总线网络带来的昂贵成本的问题,降低成本;
(5)本发明实现传输IP和CAN业务,通过配置软件生成配置信息,实现IP地址或者MAC地址与FC帧的FC_ID之间的映射和转换,实现实时监测、统计网卡状态。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的方法流程图;
图2是本发明的步骤2非普通ASM帧封装方法流程图;
图3是本发明的步骤3解封装方法流程图;
图4是本发明的协议栈结构图;
图5是本发明的内核模块框图;
图6是本发明的以太网帧帧格式图;
图7是本发明的FC-AE-ASM帧帧格式图;
图8是本发明的步骤4流程图;
图9是本发明的步骤5流程图;
图10是本发明的CAN帧传输丢包率数据测试图;
图11是本发明的以太网帧(IP业务)传输丢包率普通网卡和HBA卡对比数据图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1-11对本发明作详细说明。
一种在FC网络上传输IP和CAN业务的方法,具体包括以下步骤:
实施例1
步骤1:在HBA卡上构建内核模块,内核模块和配置软件初始化得到初始化信息;
步骤1.1:内核模块初始化包括自定义描述符信息;描述符信息包括FC-AE-ASM帧头字段信息以及payload在缓冲区中的地址、长度信息;
步骤1.2:内核模块中加载模块分配以太网帧通道和CAN帧通道的发送和接收DMA缓冲区,根据描述符信息定义发送和接收描述符队列;
步骤1.3:配置软件生成本地FC_ID、本地MAC地址、IP地址与FC_ID映射表和线路速率等配置信息
步骤2:FC接口层根据初始化信息完成以太网帧或CAN封装为FC帧并发送给HBA 卡使能发送数据;
步骤2.1:FC接口层发送模块取得待发送的以太网帧或者CAN帧后,将其复制到发送 DMA缓冲区后根据帧类型填写帧头描述符;以太网帧记录TYPE字段和目的IP地址字段并统计帧长;CAN帧记录CAN帧的帧ID和帧长DLC等信息;
步骤2.2:FC接口层发送模块根据帧类型结合配置信息填写转化后的路由信息;以太网帧根据TYPE字段区别ARP帧和非ARP帧的帧结构,单播和组播分别查找映射表来获取D_ID路由信息,广播采用FC广播地址;在CAN帧封装过程中,采用广播形式,使用 FC广播地址;
步骤2.3:FC接口层发送模块根据帧类型填写帧头字段、payload部分等信息和选择封装形式;以太网帧填写FC-AE-ASM帧的帧头字段,字段包括R_CTL(0x04),TYPE(0x49),D_ID,S_ID,F_CTL(0x3A0018),Message Payload Length等字段,其中D_ID根据映射表转换后的值,S_ID为本地FC_ID值,以太网帧作为FC-AE-ASM帧的payload部分,其封装形式为整个以太网帧,不含前导码,含CRC;在CAN帧的封装过程中,填写FC-AE-ASM 帧的帧头字段、D_ID和S_ID,D_ID为FC广播地址,S_ID为本地FC_ID值,CAN帧作为ASM帧的payload部分,其封装形式为CAN_ID+DLC+数据;
步骤2.4:根据以上三个步骤完成以太网帧或者CAN帧或者普通ASM帧封装为FC帧,填写发送描述符信息和写指针,使能HBA卡发送数据。
单播IP地址与FC_ID地址映射表见表1,组播IP地址与FC_ID地址映射表见表2。
表1单播IP地址与FC_ID地址映射表
组播IP地址 | FC_ID |
224.0.0.1 | 030a00 |
224.0.0.2 | 030b00 |
表2组播IP地址与FC_ID地址映射表
步骤3:FC接口层接收模块利用所收数据区别帧类型,将FC帧解封装为以太网帧或CAN帧并送至对应上层协议栈或CAN协议软件。
步骤3.1:FC接口层接收模块根据接收描述符信息从接收DMA缓冲区中取出 FC-AE-ASM帧;
步骤3.2:FC接口层接收模块根据取出的FC-AE-ASM帧的TYPE字段,MessagePayload Length字段判断该帧负载是否为以太网类型,若是,则根据F_CTL、Length字段判断是否为以太网帧?若是,则跳至步骤3.3,若否则跳至步骤3.4;
步骤3.3:根据FC帧头偏移相应字节获得以太网帧并计算帧长,判断以太网帧是否发生错误,若是,进入错误处理;否则接收模块分配skb结构体,将以太网帧复制到skb缓冲区中,传送给上层协议栈完成解封装;
步骤3.4:根据FC帧头偏移相应字节获得CAN帧,将CAN_ID、DLC和数据分离出来,通过系统函数将数据传递给上层CAN协议软件完成解封装。具体实施为:如果接收函数收到了一个CAN帧,则进入CAN接收函数处理,判断该CAN帧是否在匹配过滤表项,如果在过滤表项中,则接受,将其放入CAN接受缓冲区,并将写指针加1,否则则将该帧丢弃;上层应用软件会通过系统函数不断扫描CAN接收描述符队列,如果有帧的话,则将其通过系统内核函数复制到用户空间完成解封装;使用CAN总线传输CAN业务时需要部署CAN总线网络,成本较高;本发明通过设置HBA硬件卡在内核模块增设FC接口层实现 FC网络上的CAN和IP业务的传输,解决了现有FC网络数据传输编程接口不易用的问题。
实施例2
一种在FC网络上传输IP和CAN业务的方法,其方法还包括如下步骤:
步骤4:在内核模块设置接收端调度缓冲机制控制接收缓冲区不溢出回复RDY给发送端,允许发送节点卡继续发送流量;
所述步骤4包括以下步骤:
步骤4.1:接收端内核模块(驱动)调用系统内核函数判断接收UDP消息的SK结构体的接收缓冲区是否溢出,若是,则内核模块(驱动)则不再从DMA接收缓冲区中取帧,跳至步骤4.2;否则不做处理;
步骤4.2:HBA卡(硬件)检测读写指针差值判断DMA接收缓冲区帧数量是否超过阈值?若超过,则HBA卡(硬件)将帧写入DMA接收缓冲区后不回复该帧的RDY给发送端;否则跳至步骤4.3;
步骤4.3:判断DMA接收缓冲区帧数量是否达到低阈值?若是,HBA卡(硬件)则向发送端回复RDY,允许发送节点卡继续发送;否则不做处理。
步骤5:在内核模块设置发送端调度缓冲机制根据RDY回复数量控制发送缓冲区不溢出实现UDP数据零丢包。
所述步骤5包括以下步骤:
步骤5.1:发送端根据接收端回复给节点的RDY数量管理bbcredit值,判断bbcredit 值是否未满?若未满,则HBA卡(硬件)从DMA发送缓冲区中取帧发送,跳至步骤5.2;否则,HBA卡(硬件)不在从DMA发送缓冲区中取帧发送;
步骤5.2:HBA卡(硬件)检测读写指针差值判断DMA发送缓冲区帧数量是否超过阈值?若超过,HBA卡(硬件)则发反压中断,中断下半文处理函数中会调用系统内核函数来停止发送,跳至步骤5.3;否则不做处理;
步骤5.3:HBA卡(硬件)判断DMA发送缓冲区帧数量是否达到低阈值?若是,HBA 卡(硬件)则发解除反压中断,在中断下半文函数中会调用系统内核函数来开启发送;否则不做处理。
发送端调度缓冲机制:HBA卡(硬件)根据接收端回复给节点的RDY数量管理bbcredit 值,判断bbcredit值是否未满?若未满,则硬件从DMA发送缓冲区中取帧发送,在发送过程中,HBA卡(硬件)会不断检测读写指针的差值来分析在发送缓冲区中帧的数量,如果发送缓冲区快溢出了,则HBA卡(硬件)会发一个反压中断,在中断下半文处理函数中会调用系统内核函数来停止发送,如果发送缓冲区中帧的数量达到了低阈值,则HBA卡(硬件)会发一个解除反压中断,在中断下半文函数中会调用系统内核函数来开启发送;保证发送缓冲区不会溢出。
接收端调度缓冲机制:在数据接收过程中,本方案采用了2层调度缓冲机制,第一层是HBA卡(硬件)通过检测读写指针来分析接收缓冲区的溢出情况,第二层是内核模块(驱动)通过调用系统内核函数来分析接收UDP消息的SK结构体的接收缓冲区的溢出情况。具体流程是,当接收到一个ASM帧后,HBA卡(硬件)会将该帧放入接收缓冲区中,把写指针加1,并发一个接收中断,内核模块(驱动)在中断响应的下半文函数中通过对比读写指针来读取接收缓冲区中的帧,并将该帧解封装后送入协议栈处理,如果是一个UDP消息帧的第一个分片,通过帧信息中的源IP地址、源端口、目的IP地址、目的端口作为参数调用系统内核函数来获取UDP消息的SK结构体中接收缓冲区是否溢出,如果出现快溢出了,则内核模块(驱动)则不再从DMA接收缓冲区中取帧,硬件检测读写指针差值判断DMA接收缓冲区帧数量是否超过阈值?若超过,则硬件将帧写入DMA接收缓冲区后不回复该帧的 RDY给发送端;否则判断DMA接收缓冲区帧数量是否达到低阈值?若是,硬件则向发送端回复RDY,允许发送节点卡继续发送;通过底层流控机制将反压信息传送到发送端,进一步实现UDP数据零丢包;在FC网络上传输CAN业务丢包率见图10,实现数据传输零丢包;以太网帧(IP业务)传输丢包率普通网卡和HBA卡对比数据图见图11,使用普通网卡传输 IP业务,丢包率在0.00-0.08区间,在HBA卡上传输IP业务丢包率为0.00;设置调度缓冲机制在数据送至协议层后确保缓冲区数据不溢出解决了现有直接送至协议层导致数据传输丢包率高的问题,实现了UDP数据传输零丢包。本发明将HBA卡作为物理传输设备,通过设计内核模块和配置软件,设计FC接口层,实现发送端完成以太网帧或者CAN帧封装为 FC-AE-ASM帧,接收端将FC-AE-ASM帧解封装为以太网帧或者CAN帧,实现在FC网络上传输IP和CAN业务,提高了FC-AE网络数据传输编程接口的易用性,同时扩展了IP业务和 CAN业务在高可靠性控制网络中的应用需求;同时在发送端和接收端设置调度缓冲机制,利用FC-AE底层流控机制实现UDP传输零丢包,避免在FC网络上传输IP业务直接送至协议层导致的数据丢包问题。
Claims (3)
1.一种在FC网络上传输IP和CAN业务的方法,其特征在于:包括如下步骤:
步骤1:在HBA卡上构建内核模块,内核模块根据配置文件和配置软件初始化得到初始化信息;
所述步骤1包括如下步骤:
步骤1.1:内核模块初始化包括自定义描述符信息;描述符信息包括FC-AE-ASM帧头字段信息以及payload在缓冲区中的地址、长度信息;
步骤1.2:内核模块中加载模块分配以太网帧通道和CAN帧通道的发送和接收DMA缓冲区,根据描述符信息定义发送和接收描述符队列;
步骤1.3:配置软件生成本地FC_ID、本地MAC地址、IP地址与FC_ID映射表和线路速率等配置信息;
步骤2:FC接口层根据初始化信息完成以太网帧或CAN帧封装为FC-AE-ASM帧并使能HBA卡发送数据;
所述步骤2包括如下步骤:
步骤2.1:FC接口层发送模块取得待发送的以太网帧或者CAN帧后,将其复制到发送DMA缓冲区后根据帧类型填写帧头描述符;
步骤2.2:FC接口层发送模块根据帧类型结合配置信息填写转化后的路由信息;
步骤2.3:FC接口层发送模块根据帧类型填写帧头字段、payload部分等信息和选择封装形式;
步骤2.4:根据以上三个步骤完成以太网帧或者CAN帧封装为FC-AE-ASM帧,填写发送描述符信息和写指针,使能HBA卡发送数据;
步骤3:FC接口层接收模块利用所接收数据区别帧类型,将FC-AE-ASM帧解封装为以太网帧或CAN帧并送至对应上层协议栈或CAN协议软件;
所述步骤3包括如下步骤:
步骤3.1:FC接口层接收模块根据接收描述符信息从接收DMA缓冲区中取出FC-AE-ASM帧;
步骤3.2:FC接口层接收模块根据取出的FC-AE-ASM帧的TYPE字段,Message PayloadLength字段判断该帧是否为以太网类型,若是,则根据F_CTL、Length字段判断是否为以太网帧,若是,则跳至步骤3.3,若否则跳至步骤3.4;否则进入普通ASM帧的处理;
步骤3.3:根据FC帧头偏移相应字节获得以太网帧并计算帧长,判断以太网帧是否发生错误,若是,进入错误处理;否则接收模块分配skb结构体,将以太网帧复制到skb缓冲区中,传送给上层协议栈完成解封装;
步骤3.4:根据FC帧头偏移相应字节获得CAN帧,将CAN_ID、DLC和数据分离出来,通过系统函数将数据传递给上层CAN协议软件完成解封装;
步骤4:在内核模块设置接收端调度缓冲机制控制接收缓冲区不溢出回复RDY给发送端,允许发送节点卡继续发送流量;
步骤5:在内核模块设置发送端调度缓冲机制根据RDY回复数量控制发送缓冲区不溢出实现UDP数据零丢包。
2.根据权利要求1所述的一种在FC网络上传输IP和CAN业务的方法,其特征在于:所述步骤4包括以下步骤:
步骤4.1:接收端内核模块调用系统内核函数判断接收skb结构体的接收缓冲区是否溢出,若是,则内核模块则不再从DMA接收缓冲区中取帧,跳至步骤4.2;否则不做处理;
步骤4.2:HBA卡检测读写指针差值判断DMA接收缓冲区帧数量是否超过阈值,若超过,则HBA卡将帧写入DMA接收缓冲区后不回复RDY给发送端;否则跳至步骤4.3;
步骤4.3:判断DMA接收缓冲区帧数量是否达到低阈值,若是,HBA卡则向发送端回复RDY,允许发送节点卡继续发送;否则不做处理。
3.根据权利要求2所述的一种在FC网络上传输IP和CAN业务的方法,其特征在于:所述步骤5包括以下步骤:
步骤5.1:发送端根据接收端回复给节点的RDY数量管理bbcredit值,判断bbcredit值是否未满,若未满,则HBA卡从DMA发送缓冲区中取帧发送,跳至步骤5.2;否则,HBA卡不再从DMA发送缓冲区中取帧发送;
步骤5.2:HBA卡检测读写指针差值判断DMA发送缓冲区帧数量是否超过阈值,若超过,HBA卡则发送反压中断,HBA卡接收到反压中断后会调用相应的中断下半文处理函数停止数据帧向DMA发送缓冲区写入,跳至步骤5.3;否则不做处理;
步骤5.3:HBA卡判断DMA发送缓冲区帧数量是否达到低阈值,若是,HBA卡则发送解除反压中断,HBA卡接收到解除反压中断后会调用相应的中断下半文函数开启数据帧向DMA发送缓冲区写入;否则不做处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710827605.1A CN107483370B (zh) | 2017-09-14 | 2017-09-14 | 一种在fc网络上传输ip和can业务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710827605.1A CN107483370B (zh) | 2017-09-14 | 2017-09-14 | 一种在fc网络上传输ip和can业务的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107483370A CN107483370A (zh) | 2017-12-15 |
CN107483370B true CN107483370B (zh) | 2020-07-03 |
Family
ID=60585457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710827605.1A Active CN107483370B (zh) | 2017-09-14 | 2017-09-14 | 一种在fc网络上传输ip和can业务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107483370B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110212983B (zh) * | 2018-02-28 | 2022-03-08 | 中航光电科技股份有限公司 | 一种fc信号和以太网信号的转换方法及装置 |
CN108828531B (zh) * | 2018-06-27 | 2022-04-05 | 电子科技大学 | 一种在fc总线仿真平台上雷达数据的处理方法 |
CN109600358A (zh) * | 2018-11-06 | 2019-04-09 | 电子科技大学 | 一种uIP协议栈在专用SOC上的移植方法 |
CN109710554B (zh) * | 2018-11-29 | 2021-02-09 | 北京计算机技术及应用研究所 | Fc-ae-1553总线与can总线非透明桥接系统 |
CN109688208B (zh) * | 2018-12-12 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于fc-ae-asm消息的数据加载方法 |
CN109672632A (zh) * | 2018-12-25 | 2019-04-23 | 上海赛治信息技术有限公司 | Fc-ae-asm网络数据通讯方法及系统 |
CN111130703B (zh) * | 2020-01-02 | 2022-07-01 | 上海航天电子通讯设备研究所 | 一种asm信号的相干解调方法及装置 |
CN114667716A (zh) * | 2020-10-19 | 2022-06-24 | 日产自动车株式会社 | 中继装置、通信网络系统以及通信控制方法 |
CN115002233A (zh) * | 2022-04-29 | 2022-09-02 | 中国航空无线电电子研究所 | 一种基于协议的dds中间件的验证系统及设计方法 |
CN115086455B (zh) * | 2022-07-20 | 2023-01-13 | 北京国科天迅科技有限公司 | Ipfc通信节点、系统和方法 |
CN115988108B (zh) * | 2023-03-20 | 2023-06-02 | 浪潮电子信息产业股份有限公司 | 数据包处理方法、系统、存储介质和电子设备 |
CN117041136B (zh) * | 2023-10-10 | 2024-01-23 | 北京国科天迅科技股份有限公司 | 组播管理方法、系统、装置、交换机和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049414A (zh) * | 2012-12-28 | 2013-04-17 | 中国航空工业集团公司第六三一研究所 | Fc总线与can总线间数据的转换及传输方法 |
CN103888293A (zh) * | 2014-02-25 | 2014-06-25 | 电子科技大学 | 多通道fc网络数据仿真系统的数据通道调度方法 |
CN104038327A (zh) * | 2014-06-25 | 2014-09-10 | 电子科技大学 | Fc网络的出错重传方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202650A1 (en) * | 2010-02-12 | 2011-08-18 | Brocade Communications Systems, Inc. | Method and system for monitoring data flows in a network |
US20120106558A1 (en) * | 2010-10-29 | 2012-05-03 | International Business Machines Corporation | Bridge for implementing a converged network protocol to facilitate communication between different communication protocol networks |
CN102185833B (zh) * | 2011-03-30 | 2014-03-12 | 无锡众志和达数据计算股份有限公司 | 一种基于fpga的fc i/o并行处理方法 |
CN103049413B (zh) * | 2012-12-28 | 2015-12-09 | 中国航空工业集团公司第六三一研究所 | 基于FC与Camlink总线的数据转换与传输方法 |
-
2017
- 2017-09-14 CN CN201710827605.1A patent/CN107483370B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049414A (zh) * | 2012-12-28 | 2013-04-17 | 中国航空工业集团公司第六三一研究所 | Fc总线与can总线间数据的转换及传输方法 |
CN103888293A (zh) * | 2014-02-25 | 2014-06-25 | 电子科技大学 | 多通道fc网络数据仿真系统的数据通道调度方法 |
CN104038327A (zh) * | 2014-06-25 | 2014-09-10 | 电子科技大学 | Fc网络的出错重传方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107483370A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107483370B (zh) | 一种在fc网络上传输ip和can业务的方法 | |
US6970419B1 (en) | Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes | |
US20170244792A1 (en) | Power-Line Carrier Terminal Control Apparatus, System, and Method | |
US10511668B2 (en) | Method of transmitting and receiving data in vehicle network and apparatus for the same | |
WO2020150872A1 (en) | Ethernet and controller area network protocol interconversion for in-vehicle networks | |
US20090161600A1 (en) | Wireless slave unit | |
WO2016191990A1 (zh) | 一种报文转换方法及装置 | |
US20210392084A1 (en) | Transmission Of Packets Over A TSN Aware Network | |
CN109905321B (zh) | 一种用于自定义高速接口与以太网交互的路由控制系统 | |
CN113287329B (zh) | 一种数据传输的方法及装置 | |
US10104206B2 (en) | Network module for sending and/or receiving of data packages from a network arrangement and method | |
WO2020259112A1 (zh) | 一种检测传输时延的方法及相关设备 | |
CN101667959B (zh) | 一种物理层数据传输的方法、装置及数据传输的系统 | |
CN111211863A (zh) | Mac发射端、mac接收端及电路、fpga芯片及数据传输系统 | |
CN109951458B (zh) | 一种应用于模拟ICP环境的RapidIO/FC协议转换系统及方法 | |
US8625619B2 (en) | Domain gateway control system and method thereof | |
CN111147175B (zh) | 时间触发以太网数据帧捕获、存储装置及方法 | |
CN108614786B (zh) | 基于消息业务类型的通道管理电路 | |
KR100502270B1 (ko) | 패킷 통신장치 | |
KR20180038960A (ko) | 차량 네트워크에서 데이터의 송수신 방법 및 장치 | |
CN114079675B (zh) | 报文处理方法、装置、终端设备及移动宽带上网设备 | |
US20230319168A1 (en) | Hardware ethernet header verification | |
CN116996592B (zh) | 网卡、数据发送处理方法和数据接收处理方法 | |
US11533277B2 (en) | Method and system for virtual channel remapping | |
US11765102B2 (en) | Network device and conversion apparatus |
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 |