浅谈单片机以太网接入方案
来源:互联网 发布:返利网淘宝登录不上 编辑:程序博客网 时间:2024/06/11 05:05
1. MAC+PHY方案
所谓的TCP/IP协议栈是一系列网络协议的统称,不仅包括我们熟知的TCP协议和IP协议,还有网络层的ICMP(Internet控制报文)协议、IGMP(Internet 组管理)协议、ARP(地址解析)协议,传输层的UDP(用户数据包)协议,应用层的HTTP(超文本传输)协议、DNS(域名解析)协议、FTP(文件传送)协议、SMTP(简单邮件管理)协议等等。
传统的以太网接入方案如下图,由MCU+MAC+PHY再加入网络接口实现以太网的物理连接,通过在主控芯片中植入TCP/IP协议代码实现通信及上层应用。
图3-1-1 MAC+PHY以太网方案
应用这种软件TCP/IP协议栈方式实现的比较成熟方案有ENC28J60, CS8900A,DM9000,当然也有像STM32F107这类(内部自带MAC)+PHY等方案。
代码量方面,即便是采用轻量级的TCP/IP协议栈LWIP协议,也会为主控芯片带来超过40KB的代码量,这对于本身内存资源匮乏的单片机来说负荷过重。
再从安全性的角度,设备并入互联网之后必须考虑网络安全问题,这种软件协议栈的方式系统一旦受到复杂的恶意攻击,单片机很有可能瘫痪掉,这对系统就是致命性打击,虽然目前网络技术不断发展,各类新的加密技术试图让通信变得更加安全,但是还会出现各种各样的漏洞。
2. 硬件协议栈芯片方案
图3-2-1 硬件协议栈芯片方案
图3-2-2 TCP/IP硬件协议栈内核原理简图
以太网芯片的内核由传输层的TCP、UDP、ICMP、IGMP等协议、网络层的IP、ARP、PPPoE等协议以及链路层的MAC构成,再加上物理层的PHY和外围的寄存器、内存、SPI接口组成了这一整套硬件化的以太网解决方案。
这套硬件TCP/IP协议栈代替了以往的MCU来处理这些中断请求,即MCU只需要处理面向用户的应用层数据即可,传输层、网络层、链路层及物理层全部由外围WIZnet的芯片完成。这套方案从硬件开销和软件开发两个方面来简化前面所述的五层网络模型,简化产品开发方案。这样一来,工程师们就不必再面对繁琐的通信协议代码,只需要了解简单的寄存器功能以及Socket编程便能完成产品开发工作的的网络功能开发部分。
当然,不可避免的硬件化的协议栈相对来说失去了软件协议栈那样的灵活性。目前只支持4个/8个Socket,不能随时开启更多Socket。但是,在嵌入式应用中8个Socket已经足够应对超过大部分的应用。
- 浅谈单片机以太网接入方案
- 浅谈单片机以太网接入方案
- 浅谈单片机以太网接入方案
- 基于单片机的嵌入式系统网络接入方案
- 以太网方案
- 以太网方案
- 千兆以太网方案介绍
- 以太网方案(转)
- zigbee以太网网关方案
- 浅谈以太网帧格式
- 浅谈以太网帧格式
- 浅谈以太网帧格式
- 浅谈以太网帧格式
- Cisco ME 2400系列以太网接入交换机
- Cisco ME 3400系列以太网接入交换机
- 统一接入层方案
- 暗网接入方案
- xlog接入方案
- Mysql命令行添加用户,MySQL备份和还原
- 位移枚举
- 判断H264码流的关键帧
- Sublime Text 2使用:如何为它添加编译环境(如Lua编译环境)和代码片段
- 不想被开发一句话呛回?你得知道这3个最基础的APP技术框架
- 浅谈单片机以太网接入方案
- [Leetcode]3Sum Closest
- linux中sysctl.conf文件常用参数中文说明
- jquery Dom操作
- 勿形人短,勿忌人能
- Android中时间日期类使用总结(Calendar和Date)
- AES-256-CBC-PKCS5Padding用c语言实现,并支持Android手机的调用
- android SharedPreferences
- 向ES6靠齐的Class.js