嵌入式网络通讯系统的制作方法

文档序号:7664211阅读:225来源:国知局
专利名称:嵌入式网络通讯系统的制作方法
技术领域
本发明是一种功能可配置的嵌入式网络通讯系统的FPGA实现 方法。
背景技术
随着各种电子、机械设备智能化程度越来越高、应用范围越来越 广,对通过网络实现设备间相互通讯、与控制中心间互相通讯的要求 也越来越迫切。当前连接于网络上的各类非PC设备数量已经远远超 过普通PC的数量,连通性、网络功能等将成为各类设备的标准功能, 以扩展、增强设备性能。这些设备对网络功能的需求与普通PC用户
不同,工作环境也具备独特性,普通的网络通讯系统往往不能简单移 植到各类电子、机械设备上。而且由于各种设备互不相同,对网络通 讯的要求也各不相同,难以完全统一,通常需要单独开发嵌入式的网 络通讯系统。
另一方面,随着各类基于网络的应用不断增加,网络的建设呈现 出爆炸性的发展,网络速度不断提高,使得网络协议的处理成为瓶颈。 传统的基于软件的网络协议处理方式也不再适合新的网络传播速度。

发明内容
技术问题为了满足当前网络发展对网络协议处理速度的要求, 满足各类专业设备对网络通讯功能的独特要求,实现高速性、模块化、 高移植能力,本发明提供一套功能可配置的嵌入式网络通讯系统。
技术方案整个嵌入式网络通讯系统分为Ethernet发送模块、 Ethernet接收模块、ARP发送模块、ARP接收模块、IP数据发送模 块、IP数据接收模块、ICMP模块、UDP模块、RAM模块等部分。 通过VHDL语言在FPGA上实现整体系统。
有益技术效果通过VHDL语言和FPGA硬件实现系统功能可配 置性、高移植性,在配套设备升级变化时,可同时实现本发明系统升 级。同时硬件实现的嵌入式网络通讯系统在网络通讯协议处理速度上 也大大优于传统的软件系统。


图1为本发明嵌入式网络通讯系统流程图。 具体实施方案
一种嵌入式网络通讯系统的实现方法,包括UDP模块、ICMP 模块、IP数据发送模块、IP数据接收模块、ARP数据发送模块、ARP 数据接收模块、Ethernet数据发送模块、Ethernet数据接收模块、RAM 模块等部分。通过使用VHDL语言在FPGA硬件上实现。
UDP模块用于实现UDP协议(用户数据报协议)。UDP协议是一种无连接协议,不提供可靠性保障。发送端将不接收被发送数据的 反馈信息,也不提供错误恢复功能,这些功能由其他模块的其他协议
实现(具体实现过程将在下面的其他模块说明中详细介绍)。UDP模 块包括UDP数据的发送和接收。当IP数据包通过网络到达接收端, 并且对应协议域设置为UDP类型时,UDP模块将把UDP数据包的 包头移除,并到数据包指定的端口取数据。
ICMP模块负责处理ICMP协议(网间控制报文协议)。ICMP信 息通常用来实现PING功能。 一个有效的PING操作包含0到216个 8字节数据,通常由发送端向其他设备发送,其他设备接收到PING 请求之后返回ICMP反馈信息。如果及时收到反馈信息,说明网络连 接情况良好。反之则说明网络通讯出现问题。当一个IP数据包通过 网络到达接收端,并且对应协议域设置为ICMP类型时,ICMP模块 将把ICMP数据包头剥离,并把剩余信息放入反馈ICMP数据包发送 回数据发送端。
IP数据发送模块负责处理网络协议中最重要的协议之一IP协 议(网际协议)。IP数据发送模块负责对上层UDP模块、ICMP模块 产生的数据包进行打包,增加IP协议所需相关数据包头,并且当数 据长度超过1480个字节时,对数据进行分割操作。IP数据包产生后 将被传递到下层的ARP数据发送模块。当IP数据包在网络中传输所 通过的路由器数目超过发送端的限定后,该IP数据包将被丢弃,并 返回一个ICMP反馈数据包到IP数据发送模块。IP数据发送模块在 打包过程中将对该数据包增加目的IP地址、源IP地址、协议参数、数据长度等内容。
IP数据接收模块同样负责处理IP协议。该模块对下层接收模块 传递上来的数据包进行IP数据包头剥离,计算出下一步需要进行的 操作。如果本次IP数据包包含内容为部分碎片,则把碎片内容存放 在存储区,等待与该碎片相关的其他碎片。并在每接收到一个新的碎 片时,重新计时。如果超过时间限制,存储区内容将被清空。如果在 限定时间内接收到所有碎片内容,则按包头包含信息次序进行重新组 合,恢复后传递给上层接收模块。
ARP数据发送模块负责处理ARP协议(地址解析协议)。ARP 协议负责实现IP地址和物理地址之间的相互转换。IP地址的存在是 为了把五花八门的物理地址统一对应于固定格式的IP地址,以方便 传输、管理和使用。ARP数据发送模块除了完成IP地址和物理地址 的相互转换外,还负责ARP表格的査找、更新、管理。ARP表格用 来存储各个IP地址和物理地址的对应关系。当一个ARP请求数据包 被发送时,计算程序开始运行,如果在21.5秒后还没有收到有效的 ARP反馈数据包,该请求将被标记为无效。
ARP数据接收模块同样负责处理ARP协议。ARP数据接收模块 负责处理接收到的ARP应答信息、ARP请求信息,同时也进行ARP 表格的管理、更新和査询。ARP表格是一个双入口的先进先出表格。 当一个有效的ARP数据包到达时,ARP数据接收模块将在ARP表格 中查找对应的IP地址,如果该IP地址已经存在,则进行下一步操作。 如果该IP地址不存在于ARP表格中,则更新ARP表格,增加对应关系。
Ethernet数据发送模块负责把上层数据打包后通过网络发送到接 收端。Ethernet数据发送模块既可以处理ARP数据包,也可以处理 IP数据包。接收到上层传递的数据包后,增加包头内容(主要包括目 的地址,本地地址、包含的数据包类型等);如果数据包长度不足46 个字节,则自动填充到46个字节;最后在包尾增加4个字节的CRC 码(循环冗余校验码)发送。CRC机制用来检测数据包在网络传输 过程中发生的错误,帮助进行错误恢复,以提高网络通讯的正确率。
Ethernet数据接收模块负责接收通过网络传输过来的有效数据 包,过滤部分包头后传递给上层模块处理。数据包长度大于490字节、 目的地址不等于当前接收端地址或者非广播类数据包、包类型既不是 IP类型也不是ARP类型等情况都将被视为无效数据包而丢弃。数据 包被判断有效后,将继续对CRC部分进行校验,校验结果不正确的 数据包将被丢弃。通过校验的数据被传递到上层模块。
RAM模块用来存放中间数据、备份数据和碎片数据,以提高系 统对网络堵塞、延时、传输错误等情况的适应能力。
权利要求
1、嵌入式网络通讯系统,其特征在于通过VHDL语言和FPGA硬件实现系统功能可配置性、高移植性。
2、 根据权利要求1所述的嵌入式网络通讯系统,其特征在于整个 嵌入式网络通讯系统分为Ethernet发送模块、Ethernet接收模块、 ARP发送模块、ARP接收模块、IP数据发送模块、IP数据接收模块、 ICMP模块、UDP模块、RAM模块等部分。
3、 权利要求1所述的嵌入式网络通讯系统,其特征在于在配套设 备升级变化时,可同时实现本发明系统升级。
4、 根据权利要求1所述的嵌入式网络通讯系统,其特征在于硬件 实现的嵌入式网络通讯系统在网络通讯协议处理速度上也大大优于 传统的软件系统。
全文摘要
本发明介绍的嵌入式网络通讯系统,其特征在于通过UDP模块、ICMP模块、IP数据发送模块、IP数据接收模块、ARP数据发送模块、ARP数据接收模块、Ethernet数据发送模块、Ethernet数据接收模块、RAM模块等部分。通过VHDL语言和FPGA硬件实现系统功能可配置性、高移植性,在配套设备升级变化时,可同时实现本发明系统升级。同时硬件实现的嵌入式网络通讯系统在网络通讯协议处理速度上也大大优于传统的软件系统。
文档编号H04L29/06GK101442517SQ20071017085
公开日2009年5月27日 申请日期2007年11月23日 优先权日2007年11月23日
发明者王铁城 申请人:上海千镭星电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1