国产arm芯片厂家越来越多,这里介绍南京沁恒(就是大家熟知的ch340usb转换芯片那家)推出的国产arm芯片CH32F103芯片,对标stm32F103系列芯片,管脚全部兼容,寄存器全部兼容,但增强了USB功能,有2个usb,一个host,一个device,功能更强,成本更低。但flash下载算法和内部BootLoader和st公司的兼容性有差别。为让大家了解,专门开篇介绍开发和下载的过程。
1.STlink(SW等仿真工具)下载
1.1开发板连接STlink
如下图所示,接法完全如同st芯片。
1.2 在keil工程中下载
注意:开发代码以及驱动可参考官方EVT包
这里也能下载:
这里举例GPIO_PC13LED工程,
(1)安装器件库,在开发包中找到器件库文件(必须安装才能找到器件) Keil.WCH32F1xx_DFP.1.0.0.pack,打开并安装。
(2)打开GPIO_PC13LED工程文件
(3)打开工程文件后,如下图选择器件,这里选择103C8。
(4)连接STlink后,再配置选项中的Debug项选择仿真下载器,如图:
选择好SW后,能够看到内核数值,表示硬件连接正确,否则需要检查硬件连接。
(6)添加算法文件,在上图中选择flash download选项页,在该页面内选择add,增加算法,算法选择CH32F1xx Flash。然后确定。
(7)下载
程序编译成功后,点击工具栏的load工具,即可完成下载。
如果下载成功,在输出栏会有下载完成提示。
2.串口下载
2.1硬件连接:
如下图:
Rx—>A9
Tx---->A10
GND–>G
VCC–>3.3
跳线boot0设置为高电平
2.1软件配置:
(1)安装软件:
使用串口下载时要安装官方的专用下载软件WCHISPTool(软件可在软件包中找到WCHISPTool_Setup.exe),注意ST公司的下载软件不能使用,因为内部BootLoader目前不兼容。安装后打开如图所示:
(2)配置过程
①选择串口–>②如果usb有上拉电阻可去掉此处------>③选择下载串口号------>④选择要下载的HEX或者bin文件------->⑤下载
(3)下载成功后:
4.USB下载
4.1 USB连接方式如图
CH32F103有2个USB口,一个是主机usb,一个是设备usb。分别对应的管脚为:
HUSB: PB7------>D+
PB6------>D-
USB: PA12----->D+
PA11----->D-
跳线boot0设置为高电平
软件默认下载使用HUSB,因此可以用一个usb转dip的小模块和开发板连接。
4.2 软件设置
(1)软件设置过程
①选择USB端口–>②解除读保护------>③看到usb设备------>④选择要下载的HEX或者bin文件------->⑤下载
(2)下载成功后:
5.总结
CH32F103芯片基本使用上和ST的一样,兼容性也比较好。但在flash算法上兼容性不一致。因此,不能使用ST的下载软件,但官方提供的软件下载也十分方便,可以用串口和USB两种方式,USB方式速度更快,不需要开发额外的BootLoader。另外,更突出的是,它是所有国产芯片中价格相对最低的。