以太网接入方案

对于无操作系统要求的单片机,我们可以按 TCP/IP 协议栈 分为2大类:

第一类:传统的软件TCP/IP协议栈方案。
第二类:最新的硬件TCP/IP协议栈方案。
MAC + PHY 方案
所谓的 TCP/IP 协议栈是一系列网络协议的统称。不仅包括我们熟悉的 TCP协议 和 IP协议 ,还有网络层的 ICMP(Internet 控制报文)协议,IGMP(Internet 组管理)协议、ARP(IP与MAC地址解析)协议,传输层的 UDP(用户数据包) 协议,应用层的 HTTP(超文本传输)协议、DNS协议(域名解析)协议、FTP(文件传输)协议、SMTP(简单邮件管理)协议等等。

传统的以太网接入方案如下图所示:


由MCU + MAC + PHY 再加入网络接口实现以太网的物理连接。通过在主控芯片中植入 TCP/IP协议代码实现通信以及上层应用。

 应用这种软件TCP/IP协议栈实现的方式比较成熟方案有: ENC28J60(芯片自带MAC+PHY,通过SPI通信)、DM9000 (芯片自带MAC+PHY,通过FSMC通信)。当然,也有类似STM32F407这类(内部自带MAC) + PHY等方案,如:DP83848 (PHY + MII / RMII接口通信)、 LAN8720(PHY + RMII接口通信)。

由于软件协议栈操作需要主控MCU 不断地响应中断,这在很大程度上占用了MCU 的运算/时钟资源。经过测试发现,单线程操作的情况下,MCU 的运行速度和数据的处理速度仅能满足需要,但随着线程增多,MCU 的工作效率直线下降,会严重影响通信质量。

代码量方面,即便是采用轻量级的TCP/IP 协议栈LWIP 协议,也会为主控芯片带来超过40KB 的代码量,这对于本身内存资源匮乏的单片机来说负荷过重。

因此,如果需要使用软件协议栈,基本上都是需要带操作系统,任务优先级设置为最高,以快速响应。

硬件协议栈芯片方案
硬件协议栈芯片方案如下图所示。由 MCU + 硬件协议栈芯片(内含MAC 和PHY)直接加网络接口,便可方便的实现单片机联网,所有的处理TCP/IP 协议的工作都是通过这位MCU 的“小秘书”——硬件协议栈芯片来完成。

 

这套方案是由 WIZnet 首次提出,并成功推出以太网系列芯片:W5100,W5200,W5300和W5500等。

所谓硬件协议栈是指通过将传统的软件TCP/IP 协议栈用硬件化的逻辑门电路来实现,如下图所示。

 

以太网芯片的内核由传输层的TCP、UDP、ICMP、IGMP 等协议、网络层的IP、ARP、PPPoE 等协议以及链路层的MAC 构成,再加上物理层的PHY 和外围的寄存器、内存、SPI 接口组成了这一整套硬件化的以太网解决方案。

这套硬件TCP/IP 协议栈代替了以往的MCU 来处理这些中断请求,即MCU 只需要处理面向用户的应用层数据即可,传输层、网络层、链路层及物理层全部由外围WIZnet 的芯片完成。这套方案从硬件开销和软件开发两个方面来简化前面所述的五层网络模型,简化产品开发方案。这样一来,工程师们就不必再面对繁琐的通信协议代码,只需要了解简单的寄存器功能以及Socket 编程便能完成产品开发工作的的网络功能开发部分。
 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值