加载中…
个人资料
WIZnet
WIZnet 新浪机构认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:145,251
  • 关注人气:72
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

(2018-10-18 15:36:54)
标签:

w5500

rt-threadsalw5500

全硬件tcp/ip协议栈

分类: WIZnet新闻

随着嵌入式系统功能的多样化以及网络在各个领域中的广泛应用,具备网络功能的嵌入式设备拥有更高的使用价值和更强的通用性。我们在嵌入式开发中常用的网络接入方式为软件 TCP/IP 协议栈接入方式,如 lwIP 协议栈。今天,为大家介绍一种全新的网络接入方式,基于 SAL 全硬件TCP/IP 协议栈 接入方式。

SAL 介绍

SAL ,即套接字抽象层,位于网络硬件层于应用层之间,用于抽象、统一多种网络协议栈接口,并向应用层提供标准的BSD Socket APIsSAL 可以让RT-Thread 系统无缝的接入各种网络芯片或模块,提高系统的兼容性。 目前SAL 支持的网络接入方式主要有三种:软件TCP/IP 协议栈(lwIP),自定义串口网络实现(AT Socket),以及下面带来的第三种接入方式,全硬件TCP/IP 协议栈(W5500 )。
RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

W5500 介绍

W5500 WIZnet 推出的高性能以太网接口芯片系列之一,内部实现了全硬件TCP/IP 协议栈+MAC+PHY,芯片有如下几个特点:

·      8 个独立的硬件 Socket,各路通信互不影响

·      32K bytes 片上缓冲用于处理收发数据

·      集成 802.3 以太网MAC

·      主机接口为 SPI 高速串行外设接口(最高 80 Mhz


什么是全硬件TCP/IP 协议栈?

传统的单片机(MCU)实现网络功能,需要连接外设物理层以太网控制芯片(MAC+PHY),还要主控芯片中移植软件TCP/IP 协议代码实现通信及上层应用

RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

所谓全硬件TCP/IP 协议栈是将传统的软件协议TCP/IP 协议栈用硬件化的逻辑门电路来实现。芯片内部完成TCPUDPICMP 等多种应用层协议,以及IP ARP 等网络层协议,并且实现了物理层以太网控制(MAC+PHY)、内存管理等功能,完成了一整套硬件化得以太网解决方案。

 

相比于lwIP 软件协议栈的资源占用(RAM 50K+ROM 80K+),在MCU 上使用硬件协议栈芯片(例如:W5500)的资源占用(RAM 1KROM 20K)得到了很大程度的降低。

另一方面,硬件协议栈芯片将会降低MCU 对于庞大网络数据的负荷,使MCU 可以高效的处理其他业务逻辑。同时也避免了MCU 主程序受到网络攻击的危险,大大优化了MCU 的网络连接功能。

RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

WIZnet 软件包介绍

WIZnet 软件包是RT-Thread 基于WIZnet 官方 ioLibrary_Driver 设备驱动代码库的移植实现,支持W5500 芯片。原官方代码库虽然实现了多种网络协议支持,并且提供自定义Socket 接口用于网络编程,但是其接口并不是标准BSD 接口,这样不利于兼容多种网络软件包,增加了网络开发的难度。

RT-Thread 推出的WIZnet 软件包在原代码库功能的基础上,封装实现一套标准 BSD Socket APIs,并且对接RT-Thread SAL 套接字抽象层,完成SAL 对全硬件协议栈的支持。

WIZnet 软件包特点如下:

 

1、极简的设备接入方式

传统WIZnet 设备接入,需要实现 SPI 设备初始化、网络初始化、寄存器配置、中断处理等多个功能,才能正常连接网络。使用 WIZnet 软件包,只需要在 ENV 中正确配置 SPI 设备名称、复位引脚号和中断引脚号并下载软件包,即可快速初始化设备并接入网络。

2、提供标准网络编程接口

相比于原官方代码库,WIZnet 软件包提供标准 BSD Socket APIs,可以完美的兼容 RT-Thread 系统中多种网络软件包或者网络功能实现,如 MQTTHTTPNTPMbedTLSIperf 等,极大的简化了开发者网络接入和网络协议移植的过程。

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 → IoT - internet of things → WIZnet: WIZnet TCP/IP chips SAL framework implement

 

扫码即可获取软件包在线文档

RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

也可以通过以下链接打开:

https://github.com/RT-Thread-packages/wiznet/blob/master/README.md


原文链接:

https://mp.weixin.qq.com/s/we8GZS-P4_GmqUxL3egfGw


咨询技术问题请进群:595547972

更多讯息可关注WIZnet 官方微信公众号获取:

RT-ThreadSAL+W5500,带你走进全硬件TCP/IP协议栈世界

 



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有