iEthernet W5200数据手册(版本1.2.4)之:功能说明
15 IPRAW操作流程图
套接字初始化
选择套接字,设置协议号,然后设置Sn_MR(P3:P0)到IPRAW模式,执行"OPEN"命令。如果Sn
_SR在"OPEN"命令之后转化到了SOCK_IPRAW,套接字初始化完成了。
检查接收数据
参考"5.2.2.1单播和广播模式"
接收过程
处理内部接收缓冲区的IPRAW数据。接收到的IPRAW数据的结构如下:
图15 接收IPRAW的数据格式
IPRAW 数据包含了6个字节的包信息和数据包,包信息包含了发送者(IP地址)和数据包的长度。除了处理在UDP套接字信息中关于发送者的端口号外,IPRAW的 数据接收与UDP数据接收基本上一样。参考"5.2.2.1单播和广播模式"。如果所传输的数据比选用套接字的接收缓冲自由字节数大的话,用户不能接收数 据也不能接收数据段。
检查发送数据/发送过程
用户想发送的数据大小不能超过内部发送缓冲大小和缺省的MTU。IPRAW数据的传输同UDP数据传输相比,除了设置"目的端口号"外是一样的。,参考"5.2.2.1单播&广播模式"
完成发送/超时
同UDP一样,请参考"5.2.2UDP"
检查完成/套接字关闭
同UDP一样,请参考"5.2.2UDP"
5.2.4 MACRAW(以MAC层为上限的数据处理模式)
MACRAW通信是基于以太网MAC的,它可以使用户的上层协议灵活地适应主机的需要。
MACRAW模式只能用于只有一个套接字工作的情况下,如果用户使套接字0工作于MACRAW,
套 接字1-7不仅可以用于硬件连接的TCP/IP协议栈,而且它(套接字0)能被用于NIC(网络接口控制器)中。因此,套接字1-7中的任何一个都可以用 于软件TCP/IP协议栈。因为W5200支持硬件TCP/IP协议栈和软件TCP/IP协议栈,它被称做混合TCP/IP协议栈,如果用户除了 W5200支持的8个套接字之外,还需要更多的套接字,在这种情况下,用户需要把硬件TCP/IP协议栈用于高性能需求的应用,其他的应该用MACRAW 模式的软件TCP/IP协议栈来实现。因此它克服了8个套接字的上限,套接字0的MACRAW能处理除了用套接字1-7实现之外的所有协议。因为 MACRAW通信是纯的以太网包通信(没有其他的处理过程),MACRAW数据应该至少包括6字节的源MAC地址,6字节的目的MAC地址和2字节的以太 网类型,这是因为它是基于以太网MAC的。
图 16 MACRAW操作流程
套接字初始化
选 择套接字,设置SN_MR(P3:P0)到MACRAW模式。然后执行"OPEN"命令。"OPEN"命令过后,如果Sn_SR成功地转到 "SOCK_MACRAW",套接字初始化就完成了。因为关于通信的所有信息(源MAC地址,源IP地址,源端口号,目的MAC地址,目的IP地址,目的 设备端口号,协议头等)都在"MACRAW数据"中,没有再多的寄存器设置了。
检查接收数据
参考"5.2.2.1单播和广播模式"
接收过程
处理所用套接字内部接收缓存中MACRAW数据
MACRAW数据的结构如下所示:
图 17 接收MACRAW数据格式
MACRAW 数据包含"包信息","数据包"和4字节的循环校验码。"包信息"是数据包的长度,"数据包"包括6字节的"目的MAC地址",6字节的"源MAC地址" 和2字节的"类型",46-1500字节的实际传输数据。"实际传输数据"包括网络协议,如根据"类型"而定的ARP,IP。关于详细的"类型"信息,清 参考下面网站:
http://www.iana.org/assignments/ethernet-numbers
<注意>
如果内部接收缓存的自由空间比MACRAW数据小的话,存于内部RX缓存中的一些包信息和数
据包会偶然性地出现一些问题。因此出现包信息的分析错误,所以它不能正确地处理
MACRAW数据。越接近内部接收缓存大小,发生错误的概率也大。如果用户可以允许
MACRAW数据有部分丢失,这个问题就不是太敏感了。
解决办法如下:
•尽快地处理内部接收缓存中的数据以避免它接近缓存的上限
•通过例程里面套接字初始化中的MF位,设置只接受MACRAW数据,以减少接收数据的负担
•如果内部接收缓存的自由空间小于‘1528-缺省MTU(1514)+包信息(2)+数据包(8)+CRC(4)’,则关闭套接字,然后处理收到的所有数据。之后再重新打开套接字。关闭套接字之后,从关闭开始起接收到的MACRAW数据将会丢失。
检查发送数据/发送过程
用户想发送的数据的大小不能超过内部发送缓存的大小和缺省MTU。主机产生与"接收过程"的数据包一样格式的MACRAW数据,然后发送它。这个时候,如果产生的数据小于60字节,发送的以太网包在内部会以0填充的方式扩充到60字节,然后发送。
W5200 互联网连接 广播 SHAR TCP 单播 相关文章:
- 特瑞仕推出UHF频带低噪声放大器XC2402(06-13)
- 凌力尔特推出80Msps 模数转换器LTC2259-16(03-03)
- 市场需求促使加州太阳能装机量增长(06-01)
- 基于Blackfin处理器的继电保护完整解决方案解析(02-01)
- 风电要并网,智能电网是关键(08-05)
- 定点处理器VS浮点处理器:如何优化您的选择? (03-24)