2022年,疫情持续,缺芯的现况也持续,国产MCU如雨后春笋般应运而生,各种xx32F103/407xxx等打着兼容stm32的旗帜让人眼花缭乱,不知取舍,看了下WCH的官网突然发现了这颗神芯:CH32F207 / CH32V307:
- USB:一路内置高速PHY,一路OTG FS。
- 以太网:一路千M MAC,一路内置10M PHY。
- CAN:两路CAN 2.0。
- 主频144MHz,256K FLash+64K Sram, 支持用户选择字配置为 192K FLash+128K Sram 、224K FLash+96K Sram 、256K FLash/64K Sram、288K FLash/32K Sram,(神奇的配置,用flash加速实现sram功能??)
- 支持单周期乘法、硬件除法
PS:查了下手册,CH32V307相比F207,有如下不同:
- CH32V307为Risc-V(V4F)核,F207为CortexM3核。
- CH32V307支持硬件浮点(FPU)。
- 其他不同暂未发现 后续补充,V307只能用MounRiver Studio开发??
于是赶紧找WCH的Sale申请了样片,lay板子 …
发现的一些美中不足之处:
- 内置10M以太网PHY如果能换成100M就完美了。
- CAN如果能支持CANFD就perfect了~
- 10M以太网接口与SDIO有两个PIN复用了,不可同时使用,这真是蛋疼的设计~ ~
先使用CH32F207搞起,因为是CM3核支持Keil支持JLink开发,所以作为我的首发,结果发现WCH明显对CH32V307更加偏爱,从放出的例程包可以看出,F207的ETH文件夹为空,没法测试千M网了,连10M也没法测试了。。。
WCH的例程还是非常容易上手的,简单,简洁,尤其是USB的例程,简洁的令人发指~ ,SPI程序完全兼容STM32的配置,直接拿stm32的spi配置程序怼过来,接上tft就跑起来了,于是把最新的lvgl 8.3-dev 给移植过来了,结果发现跑benchmark就卡死在第82项测试上,换上lvgl-8.20 release版本就欢快的跑过了,
LVGL功能越来越丰富,也越来越优秀,SPI 优化对于lvgl的加速还是明显的,尤其是disp_flush函数,不能使用简单的打点,换成窗口模式,只发送,快很多。SPI如果配置成DMA方式应该会加快很多。本想使用USB Host接个鼠标做输入设备,结果Host的例程又是少的可怜,坐等后期WCH更新例程后再行测试。 还有高速USB及以太网的测试,后续更新 敬请期待。