我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:藏宝阁 > 地址寄存器 >

全硬件TCPIP协议栈学习笔记(第四天:全硬件TCPIP协议模块学习)

归档日期:04-17       文本归类:地址寄存器      文章编辑:爱尚语录

  做了许多天的网络协议学习,懵懵懂懂了解了点,索性打开说明书开始模块的学习

  我们的方案按TCP/IP协议栈的不同归类为两大类,第一类是传统的软件TCP/IP协议栈;第二类是最新的硬件TCP/IP协议栈方案。

  所谓的TCP/IP协议栈是一系列网络协议的统称,不仅包括我们熟知的TCP协议和IP协议,还有网络层的ICMP(Internet控制报文)协议,等....

  传统的以太网接入方案由MCU+MAC+PHY再加入网络接口实现以太网的物理连接,通过主控芯片中植入TCP/IP协议代码实现通信及上层应用。由于软件协议栈操作需要主控MCU不停地响应中断,这需要很大程度上占用运算、时钟资源。而且在安全性上并没有保证。

  所谓的硬件协议栈是将传统的软件TCP/IP协议栈用硬件化的逻辑门电路来实现

  以太网芯片的内核由传输层的TCP、UDP、ICMP、IGMP等协议,网络层的IP,ARP,PPPoE等协议以及链路层的MAC构成,再加上物理层的PHY和外围的寄存器,内存,SPI接口组成了这一套硬件化的以太网解决方案。这套硬件TCP/IP协议栈代替了以往的MCU来处理这些中断请求,即MCU只需要处理面向用户的应用层数据即可,传输层、网络层、链路层以及物理层全部由外围WIZnet的芯片完成。

  本机物理地址寄存器的地址是MAC层的硬件地址,MAC地址可由IEEE指定。

  设置端口TX/RX存储信息,每个端口的基地址和屏蔽地址在这里确定并保存。W5500有一个通用寄存器,8个Socket寄存器去,以及对应每个Socket的收/发缓存区。每一个Socket的发送(接收)缓存区都在一个16KB的物理发送(接收)内存中,初始化分配为2KB。无论给每个Socket分配多大的收/发缓存,都必须在16位的偏移地址范围内(从0x0000到0xFFFF)W5500有一个16KB发送内存用于Socket_n的发送缓存区,以及一个16KB的接收内存用于Socket_n接收缓存区。发送初始缓存被分配给了每个Socket发送缓存(2KB x 8 = 16KB),初始化分配的2KBSocket发送缓存,可以通过使用Socket发送缓存大小寄存器重新分配。一旦所有的Socket发送缓存大小寄存器配置完成,16KB的发送内存就会按照配置分配给每个Socket的发送缓存,并按照从Socket0到7顺序分配。16KB的发送内存中分配了对应的发送缓冲区,用于为来自主机传输的数据做缓存。读取内存同理。

  名校出身与创业成功之间是否有一定关联呢?原来独角兽企业的创始人们毕业于这些高校!

本文链接:http://kuenergyclub.com/dizhijicunqi/7.html