一种基于以太网的远程非对称端通信方法

文档序号:7984360阅读:226来源:国知局
专利名称:一种基于以太网的远程非对称端通信方法
技术领域
本发明涉及计算机网络技术领域,具体涉及基于以太网的远程非对称端通信方法。
背景技术
基于FPGA的方法开发设计的网络设备受到网络研究者的广泛关注。FPGA逻辑可重构的特性为网络设备原型的快速开发、网络功能的测试和验证等提供了更为灵活的开发设计方法。但是,相对于CPU复杂的运算和控制而言,FPGA只能实现顺序的或基于状态机的逻辑功能,具有弱智能性;另一方面,FPGA受限于片上资源和处理能力,在FPGA中实现复杂的状态控制开销巨大,而网络设备的功能往往是复杂且不确定的,这些都给基于FPGA的开发设计带来了困难。目前,在基于FPGA的网络设备设计中,为了简化FPGA的逻辑复杂度而采取的一种方法是在硬件平台中以FPGA为核心实现网络设备的逻辑功能,利用外部控制器中的CPU来实现对基于FPGA且无CPU的网络设备的管理配置。但是,由于CPU和FPGA 之间的非对称性,两者之间难以实现对等的交互。目前,基于FPGA设计开发的硬件设备与CPU通信有以下几种方式(1)通过局部总线与CPU相连,以本地设备的形式搭载到主机上,通过局部总线与 CPU进行通信。采用此种方法,设备只能以本地设备的形式存在,CPU和FPGA之间的通信需要底层设备驱动的支持,平台相关性强,且主机搭载设备的形式难以在网络中部署;(2)利用CAN、RS232、RS485等串行总线方式与CPU进行轻量级的数据通信。此种方法适用于系统结构和功能简单的设备,传输网络半径和传输性能都非常有限;(3)采用IP软核或硬核的方式实现精简的网络协议栈,与CPU进行网络通信。此种方法需嵌入式处理器支持,成本高,硬件开销大且修改困难。上述方法都不适合基于FPGA且无CPU的弱智能网络设备(以下简称基于FPGA的弱智能网络设备)与外部控制器之间的通信。一方面,网络设备都在网络中部署,需要具备远程管理配置的能力,且对数据传输有一定的性能要求;另一方面,基于FPGA的弱智能网络设备采用FPGA作为处理核心,没有CPU或网络处理器,片上资源和处理能力都有限。为此,我们需要设计一种外部控制器与基于FPGA的弱智能网络设备之间的远程通信方法,实现外部控制器与基于FPGA的弱智能网络设备之间的远程通信。

发明内容
本发明要解决的技术问题是提供一种基于以太网的远程非对称端通信方法,实现外部控制器与基于FPGA且无CPU的弱智能网络设备之间的远程通信。该方法提出一种外部控制器与基于FPGA的弱智能网络设备之间的基于以太网的通信框架,定义外部控制器与基于FPGA的弱智能网络设备进行交互的通信协议,定义交互命令格式、类型和报文封装等,实现外部控制器与基于FPGA的弱智能网络设备之间的远程通信。通过本方法,用户可以在网络中部署基于FPGA的弱智能网络设备,利用外部控制器实现对基于FPGA的弱智能网络设备的远程管理配置,对基于FPGA的网络开发应用有重要意义。本发明采用如下技术方案一种基于以太网的远程非对称端通信方法,包括1、外部控制器与基于FPGA的弱智能网络设备进行交互的通信框架。基于FPGA的弱智能网络设备的FPGA芯片中设管理模块,管理模块配置静态MAC 地址和IP地址,外部控制器与FPGA管理模块进行通信,FPGA管理模块完成报文的接收和发送、报文解析、命令解析和报文生成等功能。外部控制器向基于FPGA的弱智能网络设备发送管理配置消息时,首先将管理配置消息转化为对FPGA中寄存器、FPGA内部存储单元和FPGA外部存储单元的读写操作等命令,按照非对称端通信协议规定的命令格式对命令进行报文封装并发送报文到FPGA管理模块;FPGA管理模块收到报文后,在MAC层控制模块中检查以太网帧头部信息,在报文解析模块中检查IP头部信息,若为管理配置报文,则将管理配置命令送命令解析模块,命令解析模块解析命令,将时序信号发送到局部总线进行相应的处理;命令执行完成后,返回结果通过局部总线发送到命令解析模块,报文生成模块按照命令格式对返回结果进行报文封装,在MAC层控制模块中生成CRC后发送报文到外部控制器。2、外部控制器与基于FPGA的弱智能网络设备进行交互的非对称端通信协议。非对称端通信协议运行于IP层之上,包括握手协议和访问控制命令,命令定义如表1所示。其中,握手协议包括连接建立和连接释放,访问控制命令包括单个地址和连续地址的读请求、单个地址和连续地址的写请求、读响应、写响应和中断。表1非对称通信协议命令定义
权利要求
1.一种基于以太网的远程非对称端通信方法,其特征在于,该方法包括(1)外部控制器与基于FPGA的弱智能网络设备进行交互的通信框架;(2)外部控制器与基于FPGA的弱智能网络设备进行交互的非对称端通信协议;(3)非对称端通信协议的命令格式定义以及命令的报文封装格式。
2.根据权利要求1所述的一种基于以太网的远程非对称端通信方法,其特征在于,基于FPGA的弱智能网络设备的FPGA芯片中设管理模块,管理模块配置静态MAC地址和IP地址,外部控制器与FPGA管理模块进行通信,FPGA管理模块完成报文的接收和发送、报文解析、命令解析和报文生成等功能。
3.根据权利要求1所述的一种基于以太网的远程非对称端通信方法,其特征在于,外部控制器向基于FPGA的弱智能网络设备发送管理配置消息时,首先将管理配置消息转化为对FPGA中寄存器、FPGA内部存储和FPGA外部存储单元的读写操作命令,按照非对称端通信协议规定的命令格式对命令进行报文封装并发送报文到FPGA管理模块;FPGA管理模块收到报文后,在MAC层控制模块中检查以太网帧头部信息,在报文解析模块中检查IP头部信息,若为管理配置报文,则将管理配置命令送命令解析模块,命令解析模块解析命令, 将时序信号发送到局部总线进行相应的处理;命令执行完成后,返回结果通过局部总线发送到命令解析模块,报文生成模块按照命令格式对返回结果进行报文封装,在MAC层控制模块中生成CRC后发送报文到外部控制器。
4.根据权利要求1所述的一种基于以太网的远程非对称端通信方法,其特征在于,非对称端通信协议运行于IP层之上,包括握手协议和访问控制命令,其中,握手协议包括连接建立和连接释放,访问控制命令包括单个地址和连续地址的读请求、单个地址和连续地址的写请求、读响应、写响应和中断。
5.根据权利要求1所述的一种基于以太网的远程非对称端通信方法,其特征在于,命令格式定义如下(1)连接建立命令格式(0x01);(2)连接释放命令格式(0x02);(3)读请求命令格式(0x03);(4)写请求命令格式(0x04);(5)读响应命令格式(0x05);(6)写响应命令格式(0x06);(7)中断命令格式(0x07)。
6.根据权利要求1所述的一种基于以太网的远程非对称端通信方法,其特征在于,外部控制器主动向FPGA管理模块发起连接建立请求,通过三次握手建立连接;第一次握手外部控制器发送连接请求报文到FPGA管理模块,初始化报文序列号Req_ kq,将Parameter字段置0x0001,即同步标识位syn_flag置1,表示建立连接请求;第二次握手FPGA管理模块收到外部控制器的连接请求报文后,若同意建立连接,则返回一个请求确认报文,将连接请求报文中的报文序列号作为报文确认序列号ACKJieq,将 Parameter字段置0x0001,即同步标识位syn_flag置1,表示接受连接请求;第三次握手外部控制器收到FPGA管理模块的请求确认报文后,返回一个连接确认报文给FPGA管理模块,将Parameter字段置0x0000,即同步标识位syn_f lag置0 ;FPGA管理模块收到连接确认报文,连接建立完成,准备好数据传输。
全文摘要
本发明公开了一种基于以太网的远程非对称端通信方法,要解决的技术问题是提供一种基于以太网的非对称端通信方法,实现外部控制器与基于FPGA且无CPU的弱智能网络设备之间的远程通信。该方法提出一种外部控制器与基于FPGA且无CPU的弱智能网络设备之间的基于以太网的通信框架,定义外部控制器与基于FPGA且无CPU的弱智能网络设备进行交互的通信协议,定义交互命令类型、格式和报文封装等,实现外部控制器与基于FPGA且无CPU的弱智能网络设备之间的远程通信。通过本方法,用户可以在网络中部署基于FPGA且无CPU的弱智能网络设备,利用外部控制器实现对基于FPGA且无CPU的弱智能网络设备的远程管理配置,对基于FPGA的网络开发应用有重要意义。
文档编号H04L29/12GK102377778SQ20111031520
公开日2012年3月14日 申请日期2011年10月17日 优先权日2011年10月17日
发明者卢泽新, 孙志刚, 崔向东, 李韬, 毛席龙, 苏琪, 赵国鸿, 陈一骄 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1