您的位置 首页 动态

浅谈单片机以太网接入计划

单片机的种类繁多,从低端到高端,有以51单片机为代表的8位单片机和以ARM为代表的32位单片机,不同档次的单片机实现网络接口的方法不同。对

单片机的品种繁复,从低端到高端,有以51单片机为代表的8位单片机和以ARM为代表的32位单片机,不同层次的单片机完结网络接口的办法不同。关于像ARM等高端处理器一般都可以运转嵌入式操作体系,例如嵌入式Linux。关于无操作体系要求的单片机怎么完结网络接入,我下面将这些计划按TCP/IP协议栈的不同归结为两大类:第一类是传统的软件TCP/IP协议栈计划;第二类是最新的硬件TCP/IP协议栈计划。下面我就这两类计划的完结方法进行剖析。

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等计划。

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

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

再从安全性的视点,设备并入互联网之后有必要考虑网络安全问题,这种软件协议栈的方法体系一旦遭到杂乱的歹意进犯,单片机很有或许瘫痪掉,这对体系便是致命性冲击,尽管现在网络技能不断发展,各类新的加密技能企图让通讯变得愈加安全,可是还会呈现各式各样的缝隙。

2. 硬件协议栈芯片计划

硬件协议栈芯片计划如下图所示。由MCU+硬件协议栈芯片(内含MAC和PHY)直接加网络接口,便可便利的完结单片机联网,一切的处理TCP/IP协议的作业都是经过这位MCU的“小秘书”——硬件协议栈芯片来完结。

图3-2-1硬件协议栈芯片计划

这套计划是由WIZnet初次提出,并成功推出以太网系列芯片:W5100、W5200、W5300和W5500。

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

图3-2-2 TCP/IP硬件协议栈内核原理简图

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

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

由于硬件协议栈的参加帮忙单片机处理了简直一切的TCP/IP协议作业,不只极大地减少了单片机的中止次数,让单片机腾出更多资源去完结其他作业,并且硬件化的电路处理协议会愈加快速、安稳。经实验测验,单线程下,该计划的通讯速度是软件协议计划的10倍左右;跟着线程的添加,由于硬件协议栈是经过独立的Socket进行通讯,因而通讯速度完结累加,并且单片机作业效率仍然会维持在高位。

代码量方面,由于这套计划主要是完结对Socket的编程以及寄存器的调用,因而仅有10K左右的代码量,远小于软件协议计划,对51以及STM32等内存很有限的单片机来说十分适用。

从本钱视点来讲,硬件协议栈芯片的价格跟用MAC+PHY比起来根本差不多。而前者简略易用,用很短时刻便能完结产品的开发进程。别的,官方例程库及上位机程序丰厚,也缩短了测验进程,后期根本免于保护。

最终安全性方面,硬件化的逻辑门电路来处理TCP/IP协议是不行进犯的,也便是说网络进犯和病毒对它无效,这也充沛弥补了网络协议安全性缺乏的短板。也正是由于这一优势,硬件协议栈技能在未来物联网以及智能家居范畴有着广泛的发展前景,让人们纵情享用现代科技带来的趣味的一起,免受安全问题的困扰。

当然,不行避免的硬件化的协议栈相对来说失去了软件协议栈那样的灵活性。现在只支撑4个/8个Socket,不能随时敞开更多Socket。可是,在嵌入式使用中8个Socket现已满足应对超越大部分的使用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/258713.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部