
开源协议
:GPL 3.0
描述
项目简介
带USB、BLE5.3还有40个IO口的单片机只要3块钱除了SRAM给的少了点其他都挺香。
本项目已经打板验证可以使用。
本项目参照沁恒官方EVT开发版原理图绘制,并进行一些简单调整,引出一路I2C接口用于连接温湿度传感器
温度传感器采用很便宜的AHT20/21温湿度传感器,其他就是风格化了下丝印,加上了我最喜欢的角色之一砂糖酱。如果您不喜欢可以自行修改删掉即可。推荐使用白色板子背面效果会好一些。
天线使用官方提供的天线,也简单做了一下50Ω的阻抗匹配,效果怎么样图一乐。
一定要使用1.2mm板厚的板子
实物展示
正面
反面
白色渲染效果
芯片简介
概述
CH583是集成BLE无线通讯的32位RISC微控制器。片上集成2Mbps低功耗蓝牙BLE 通讯模块、2个全速USB主机和设备控制器及收发器、2个SPI、4个串口、ADC、触摸按键检测模块、RTC等丰富的外设资源。CH582较CH583少了一个SPI1 主机其余都一样
应用框图
产品特点
- 32位RISC处理器青稞V4A
- 支持RV32IMAC指令集,支持硬件乘法和除法
- 32KB SRAM,512KB Flash,支持ICP、ISP和IAP,支持OTA无线升级
- 内置2.4GHz RF收发器和基带及链路控制,支持BLE5.3
- 支持2Mbps、1Mbps、500Kbps、125Kbps
- 接收灵敏度-98dBm,可编程+7dBm发送功率
- 提供协议栈和应用层API
- 内置温度传感器
- 内置RTC,支持定时和触发两种模式
- 提供2组USB2.0 全速Host/Device
- 提供14通道触摸按键
- 提供14通道12位ADC
- 提供4组UART,2组SPI,12路PWM,1路IIC
- 40个GPIO,其中4个支持5V信号输入
- 最低支持1.7V电源电压
- 内置AES-128加解密单元,芯片唯一ID
- 封装:QFN48
更多资料参见 沁恒官网
开发指导
结合本人最近对这个芯片搜集的相关资料的一些经验分享给大家。
-
沁恒芯片可以使用官方推荐IDE MounRiver Studio 可惜不支持Mac OS我就用不了。
-
可以使用vscode配合platformIO进行开发 支持arduino框架 arduino-wch58x,
-
也可以自己编写cmake构建编译脚本。例如 https://github.com/mo10/ch58x-cmake-template ,然后配合使用openocd进行仿真调试。
不过需要注意的是虽然使用的两线仿真接口看似和ARM Cortex-M 系列的长得一样但是通用的调试器例如 JLINK 、 STLINK、DAP-LINK是无法使用的。需要购买专用的调试器WCH-Link
这个WCH-Link
还分很多种选择时需要注意。这里推荐wch-linkE
,有关更多调试器的介绍可以参考官网 https://www.wch.cn/products/WCH-Link.html。此外,每次调试都需要手动使用ISP工具打开调试模式很不方便。 -
下载程序可以使用usb和串口下载USB下载比较方便。下载工具需要使用wchISPtool附件中可以下载到或者去官网下载。WCHISPTool不过只有window版本。如果是linux或者Mac OS可以使用第三方的工具 https://github.com/ch32-rs/wchisp 不想编译可以直接在项目的release中下载对应系统的包运行即可。
-
关于硬件调试
** 淘宝上有些店卖的芯片是假的买来焊接上ISP工具无法识别,官方又没有芯片卖。
使用USB烧录时让ISP工具能够识别芯片的操作是按住评估板上的“Download”按键,或者将PB22短接到GND,同时给板子上电。若是第一次拿到芯片,codeflash中是空的,不用按住“Download”按键也可以被ISP工具识别。
如果碰到USB烧录异常的问题,先排查一下烧录的环境是否正常:
①检查焊接是否正常,芯片GND脚上有没有注意加锡吹焊,PB10、PB11有没有虚焊漏焊。
②检查电源是否正常,57x、58x芯片的VINTA引脚上的电压是否在1.05±0.015v范围内,208的VINTA在1.2v左右。
③检查32M晶振是否起振,32M晶振正常工作是芯片各模块正常工作的必要条件。
④检查USB线材有没有问题,用测试线材能不能给评估板或者其他确定正常的板子成功烧录。有些线材不带D+ D-信号线,不要用这样的线材。
⑤检查有没有引出PB22作为下载配置脚,上电的同时需要PB22接地才能进boot loader。
⑥检查一下有没有打开多个ISP工具,可能芯片已在其他窗口被识别。
⑦检查下载配置脚有没有被改到PB11。如果误修改到了PB11,需要将PB11接到v33,上电之后再快速断开PB11与v33的连接就可以再次进入boot loader修改下载配置脚。
如果经常需要在PB22与PB11之间切换,或者项目本身就用到USB1接口作为下载口且需要PB11作为下载配置脚,可以在v33接一个大于等于1.5K的比如说10K的上拉电阻以及一个按键,按下按键就接通这个上拉电阻到PB11,这样USB接口内置的1.5K下拉电阻相对较强,不会影响到上电boot识别之后的USB通信,节省下PB22一个GPIO。
烧录环境没有问题的话,观察一下板子通过USB连接到电脑时,电脑是否有弹出提示。
①电脑弹出提示电流过大:排查板子上USB口的的GND、VCC是否画颠倒了,板子上是否有走线短路,是否有元器件损坏。
②电脑弹出提示无法识别:排查PB10、PB11是否接反,是否有干扰或者短路到其他引脚,是否加了不需要的强上拉下拉电阻或者电容。针对USB烧录问题,先两脚悬空进行测试,如有特殊需要再自行加电路看看是否兼容。如果工程用到了USB1,注意断开其他主机/设备在USB1口的连接。
③电脑没有弹出提示:排查PB10、PB11两者是否短路。通常线材是两端公头,可以将板子上的USB母口接出来到A口母口,检查一下A口母口上的D+D-两线有没有短路。
⚠️需要注意的是淘宝有些店铺买的芯片是假的这个需要自己去辨别。如果感兴趣可以去官方申请开发板,能不能通过需要看运气。
如果想做产品的话可以去淘宝买那种销量高的评论多的。
参考和感谢
- 沁恒蓝牙系列芯片USB烧录故障排查 https://www.cnblogs.com/JayWellsBlog/p/16934725.html
- wchisp https://github.com/ch32-rs/wchisp
- arduino-wch58x https://github.com/ElectronicCats/arduino-wch58x
- ch58x-cmake-template https://github.com/mo10/ch58x-cmake-template
- CH573 CH579 CH582程序烧录讲解 https://www.cnblogs.com/risc5-ble/p/16865626.html
设计图

BOM


评论