RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界
(2018-10-18 15:36:54)
标签:
w5500rt-threadsalw5500全硬件tcp/ip协议栈 |
分类: WIZnet新闻 |
随着嵌入式系统功能的多样化以及网络在各个领域中的广泛应用,具备网络功能的嵌入式设备拥有更高的使用价值和更强的通用性。我们在嵌入式开发中常用的网络接入方式为软件
TCP/IP 协议栈接入方式,如
lwIP
协议栈。今天,为大家介绍一种全新的网络接入方式,基于 SAL 的
SAL 介绍
SAL ,即套接字抽象层,位于网络硬件层于应用层之间,用于抽象、统一多种网络协议栈接口,并向应用层提供标准的BSD Socket APIs。SAL 可以让RT-Thread 系统无缝的接入各种网络芯片或模块,提高系统的兼容性。 目前SAL 支持的网络接入方式主要有三种:软件TCP/IP 协议栈(lwIP),自定义串口网络实现(AT Socket),以及下面带来的第三种接入方式,全硬件TCP/IP 协议栈(W5500 )。W5500 介绍
W5500 是WIZnet 推出的高性能以太网接口芯片系列之一,内部实现了全硬件TCP/IP 协议栈+MAC+PHY,芯片有如下几个特点:
·
·
·
·
什么是全硬件TCP/IP 协议栈?
传统的单片机(MCU)实现网络功能,需要连接外设物理层以太网控制芯片(MAC+PHY),还要主控芯片中移植软件TCP/IP 协议代码实现通信及上层应用 。
所谓全硬件TCP/IP 协议栈是将传统的软件协议TCP/IP 协议栈用硬件化的逻辑门电路来实现。芯片内部完成TCP、UDP、ICMP 等多种应用层协议,以及IP 、ARP 等网络层协议,并且实现了物理层以太网控制(MAC+PHY)、内存管理等功能,完成了一整套硬件化得以太网解决方案。
相比于lwIP 软件协议栈的资源占用(RAM 50K+,ROM 80K+),在MCU 上使用硬件协议栈芯片(例如:W5500)的资源占用(RAM 1K,ROM 20K)得到了很大程度的降低。
另一方面,硬件协议栈芯片将会降低MCU 对于庞大网络数据的负荷,使MCU 可以高效的处理其他业务逻辑。同时也避免了MCU 主程序受到网络攻击的危险,大大优化了MCU 的网络连接功能。
WIZnet 软件包介绍
WIZnet 软件包是RT-Thread 基于WIZnet 官方
RT-Thread 推出的WIZnet 软件包在原代码库功能的基础上,封装实现一套标准 BSD Socket APIs,并且对接RT-Thread SAL 套接字抽象层,完成SAL 对全硬件协议栈的支持。
WIZnet 软件包特点如下:
1、极简的设备接入方式
传统WIZnet 设备接入,需要实现 SPI 设备初始化、网络初始化、寄存器配置、中断处理等多个功能,才能正常连接网络。使用 WIZnet 软件包,只需要在 ENV 中正确配置 SPI 设备名称、复位引脚号和中断引脚号并下载软件包,即可快速初始化设备并接入网络。
2、提供标准网络编程接口
相比于原官方代码库,WIZnet 软件包提供标准 BSD Socket APIs,可以完美的兼容 RT-Thread 系统中多种网络软件包或者网络功能实现,如 MQTT、HTTP、NTP、MbedTLS、Iperf 等,极大的简化了开发者网络接入和网络协议移植的过程。
3、自定义网络接入参数设置
软件包提供动态和静态两种获取 IP 地址的方式,静态模式下可以在 ENV 中自定义配置设备 IP 地址、网关、子网掩码等网络参数。对于 MAC 地址,软件包提供设置 MAC 地址接口,用于设置设备唯一的 MAC 地址,防止网络冲突。
4、提供网络状态查询方式
软件包提供wiz_ifconfig 命令用于查询当前网络参数,提供 wiz_ping 命令用于查询网络连接状态。
WIZnet 软件包的推出,使得RT-Thread SAL 支持的更加全面,这也进一步提升了RT-Thread 系统在IoT 领域对于不同网络软硬件的兼容性,简化了用户网络接入的流程。当前WIZnet 软件包已经完成对W5500 的移植,其他热门WIZnet 设备,RT-Thread 将会根据用户反馈优先选择支持。
WIZnet 软件包获取
使用WIZnet 软件包需要在RT-Thread 的包管理中选中它,具体路径如下 :RT-Thread online packages
扫码即可获取软件包在线文档
也可以通过以下链接打开:
https://github.com/RT-Thread-packages/wiznet/blob/master/README.md
原文链接:
https://mp.weixin.qq.com/s/we8GZS-P4_GmqUxL3egfGw
咨询技术问题请进群:595547972
更多讯息可关注WIZnet 官方微信公众号获取: