CH32V305+CH394Q


CH32V305 & CH394Q

2025年5月30日,端午节前一天 ~

应朋友之约,完成了CH394Q以太网的测试,测试结果超出我的预期,安利大家一起玩~

我的测试硬件:

CH32V305 + CH394Q Board

CH32V305: 144M的RSIC-V核,64KB SRAM,256KB FLash,高速USB,优点一大堆,可惜今天的主角是CH394Q。先看CH394Q的简单介绍:

CH394 以太网 选型

CH394Q特点:

  • 内部自带以太网介质传输层MAC和物理层收发器PHY
  • 支持10/100M,全双工/半双工自适应,兼容IEEE802.3协议
  • 支持MDI/MDIX线路自动转换
  • I/O口支持3.3V、2.5V、1.8V、1.2V供电,兼容多种电压标准的单片机
  • 内置50Ω阻抗匹配电阻,内置25MHz晶体振荡器所需电容,外围电路精简
  • 内置TCP/IP协议簇,支持IPv4、ARP、ICMP、IGMP、UDP、TCP协议
  • CH394Q支持8个Socket,CH394L支持4个Socket,可以同时进行数据收发
  • 支持MACRAW模式和IPRAW模式(IPRAW模式仅CH394L支持)
  • 提供最高40MHz速度的SPI设备接口(SPI模式0或3),高位在前
  • 支持网络唤醒模式(WOL)和掉电模式
  • 内置32K RAM,可用于以太网数据收发,每个Socket收发缓冲区可以自由配置
  • 提供LQFP48无铅封装

很明显,这是一颗对标Wiznet W5500的芯片,同样的8个Socket,同样的LQFP-48封装,CH394Q原理图及PCB Layout相比来说要轻松的多:

CH394Q 原理图

对比下w5500的sch:省去了50R的匹配电阻,连晶振的负载电容都省了~

W5500 原理图

唯一不爽的是:有16个PIN是NC,这如果删掉这些NC脚,换成LQFP32封装,就完美了~

当然,也可能是为了更好的散热,使用了大封装,这颗芯片全速运行了半个小时左右(收发测试),手摸上去几乎感觉不到热,功耗控制的应该很不错的。

再来看参考例程:

可能是芯片刚推出来的原因,参考例程并不多,并且主控MCU使用的是STM32F103ZE,这让人有点摸不着头脑了,WCH的MCU那么多,居然选择了最通用的STM32F103,相当OPEN!好在WCH的FAE非常给力,也提供了基于CH32V305的例程,稍作修改就可以运行。CH394Q目前官网提供的例程有5个:

  • CH394Q_MACRAW
  • CH394Q_TCP_CLIENT
  • CH394Q_TCP_SERVER
  • CH394Q_UDP
  • CH394Q_UDP_MULTI

参考例程方面可以说W5500完胜:

W5500 Sample Code

当然,他山之石,可以攻玉,这些应用,都是可以相互移植的,相信WCH日后会提供更多更完善的参考例程。

网络测速:

目前使用参考例程,很容易即可实现TCP Client和UDP通信,iperf测试结果:

TCP Client test Speed

TCP Client的测试结果:12616 Kbits/S ~= 1.57MB/S

UDP test Speed

UDP的测试结果:28566 Kbits/S ~= 3.57MB/S

目前测试速度是基于36M SPI时钟,程序还有不少可以优化的空间,后续争取找项目使用上这颗芯片,整体运行下来还是很不错的。

最后非常感谢WCH的Bayern、刘工、卞工,提供了巨大的支持,提供了各种CH394Q的测试模块、工具、开发板,以及提供了测试样片,在此表示衷心的感谢~

国产芯更强!

欢迎大佬们一起交流学习,共同进步~


文章作者: xArm
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xArm !
评论