前言
W5500是一款集成了TCP/IP协议栈的以太网控制器,广泛用于嵌入式系统中,以实现网络通信功能。它通过SPI接口与微控制器(如STM32)进行通信,支持TCP、UDP、ICMP、IPv4、ARP、IGMP和PPPoE等多种网络协议 。
在使用的过程中,发现W5500发热量很大,价格也不便宜,封装尺寸也比较大。由于网络上并没有太多相关替代产品的信息,个人在购买了DM9051和CH390h的模块并测试后,发现CH390h应该是更好的国产替代产品。
一、实际产品对比照片
可以看到W5500的外围电路复杂度远远比CH390h的要大,并且由于 w5500的尺寸比CH390h要大得多。
二、传输速率对比
由于个人比较懒,没有直接用esp32测试w5500的带宽速率,在wiznet官网上可以查到w5500的性能测试数据,数据截图如下。
可以看到在使用STM32F103芯片,36Mhz的SPI情况下,最高速率在3.63Mbps (官方文章地址https://docs.wiznet.io/Product/iEthernet/W5500/Application/spi-performance)
而CH390h的测试速率如下,测试条件 :主控esp32c6,SPI速率40Mhz,最高速率21.6Mbps,也就是7.7MBytes
虽然两者测试平台和方法有所不同,但是也可以看出CH390的性能已经比W5500要强。
通过搜索esp32 + W5500的iperf性能测试,也可以发现W5500的性能并未超越CH390,具体文章地址(https://forum.arduino.cc/t/spi-ethernet-iperf-speed-on-mega-and-esp32-wifi-and-lan8720/530429/2)
同时网络上也广泛流传有Wiznet的设备选型指南,W5500的最高速率是15Mbps ,参考文章地址(http://www.hschip.com/solution_view.aspx?typeid=63&id=412&fid=t25:63:25)
三、CH390H的最大socket连接数量
W5500的最大socket连接数量是8个,我这边最经常使用的就是esp32的websocket,但是由于 esp32的http server默认最大连接数是7个,只能测试是否达到7个。根据我的实际测试,确实可以同时打开7个websocket连接,第8个就连不上了。websocket是一种长连接协议,有延迟低和占用资源少的优点。
四、运行温度
由于我手上并没有红外测温仪,只能通过手摸来体验,三种芯片在接入网络的5小时后,温度体验如下:CH390H微温(比小孩发烧体温低),DM9051接近小孩发烧体温,W5500发烫(不能将手指长时间触摸)
五、价格
在价格方面,CH930h的淘宝价格4.9元(已购买模块和芯片,芯片与测试模块的外观一致),DM9051的零星采购价格12.7元,W5500的采购价格10.1元(淘宝优信)
总结
无论是从价格、性能、发热量、外围电路的对比,CH390H都是非常适合替代W5500的国产产品。至于CH390H是否能满足工业长期运行、稳定性如何 ,还需要进行长期测试才知道。WCH长期深耕各种转换芯片,以太网控制器也做了很多产品。在短暂的两天功能测试的过程中,静态IP,DHCP动态获取IP,插拔网线重新获取IP上线,性能测试和socket测试等等,都未发现有什么问题,接下来如果这个芯片在使用过程中遇到什么问题,会继续发帖分享。