硬件协议栈和软件协议的区别:
MCU+MAC+PHY方案
传统的以太网接入方案如下图,由 MCU+MAC+PHY 再加入网络接口实现以太网的物理连接,通过在主控芯片中植入TCP/IP 协议代码实现通信及上层应用。
硬件协议栈W5500芯片方案
www.w5500.com文档例程全在里面。
由 MCU+硬件协议栈芯片(内含 MAC和 PHY)直接加网络接口,便可方便的实现单片机联网,所有的处理 TCP/IP 协议的工作都是通过硬件协议栈芯片来完成。
硬件协议栈是指通过将传统的软件 TCP/IP 协议栈用硬件化的逻辑门电路来实现:
两种方案对比
方案分类 |
MCU资源利用 |
代码量 |
安全性 |
灵活型 |
MAC+PHY方案 |
频繁响应中断,占用MCU运算/时钟资源 |
轻量级TCP/IP协议栈,约40KB代码量。 |
软件协议栈容易受到恶意攻击 |
软件协议栈具备灵活性 |
W5500硬件协议栈芯片方案 |
MCU 只需要处理面向用户的应用层数据 |
完成对Socket 的编程以及寄存器的调用,仅有 10K 左右的代码量 |
硬件化的电路处理协议会更加快速、稳定 |
只支持 4 个/8 个 Socket |
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
W5500硬件方案
硬件连接主要如下:
注: 一号片选引荐SCS低电平有效。