前言
现在市面上常用的stm32下载器大概就stlink和cmsis-dap两种,由于cmsis-dap下载器通常使用的是全速的usb hid接口就导致速度无法提高,高速的cmsis-dap虽然速度快一些但是价格也更贵,因此现在最常用的就是stlink下载,不仅下载速度快而且价格也便宜。 这两种常用的的是有线模式,但是很多情况下有线下载的方式非常的不方便,因此我想将他们修改为能够无线下载的方式。而现在无限下载的方式主要有三种:
- stlink下载器代码目前是闭源的,无法自行更改
- 把现在的cmsis-dap下载器使用esp8266或者esp32进行无线数据的传输,但是这样速度会很慢,只有几k的速度,即使是使用高速的usb接口,速度也只能达到30k/s左右。
- 只用一个esp8266或者esp32作为下载器,通过电脑的上位机软件开启一个服务器来连接用来发送和接受数据,这样的方式效果也是比较好的,但是每次使用之前都需要先打开一下上位机软件,优点是只要一个模块就可以实现无线下载的功能。
- 目前的最好的使用最新的daplink,是cmsis-dap的升级版大幅提升了下载的速度,使用高速usb接口的daplink无线下载器是目前最好的选择,有线下载的速度超过stlink,无线下载的速度也接近stlink的速度。
项目说明
本项目使用的是一位大佬的开源项目
高速无线DAP调试器 - 嘉立创EDA开源硬件平台 (oshwhub.com)
这是一套无线调试器分为发送端(Host)和接收端(Slave),两端软硬件完全一致,可以通过按键或上位机进行配对、模式切换、调节参数等操作。与常规DAP一样,支持对ARM单片机(如STM32,GD32等)进行调试(调试器用的CH32V307是RiscV单片机,用来给ARM的单片机调试,是不是也是某种意义上的NTR),支持SWD和JTAG,支持硬件复位和软件复位,也有虚拟串口可以使用。配对之后可以即插即用,无需安装驱动(WIN10及以上)。除了无线模式外,也可以调到有线模式(USB),以方便在无线环境复杂的地方临时使用,性能会比无线模式强。
不同指示灯的颜色代表不同的模式,红色代表有线模式(USB),蓝色代表无线发送端(Host),绿色代表无线接收端(Slave)。正常连接状态下,指示灯为呼吸灯;如果无线的另一端没有就绪(没上电或没配对),指示灯为慢闪。当进行下载调试或虚拟串口有数据时,指示灯为快闪。
本项目是在其基础上在硬件上做了一些修改,主要是发射端去掉下载功能,只保留无线发射和接受数据功能,加上usb接口可以直接插在电脑usb接口上;接收端加上充电管理功能和电池。
成品展示
注:现在接收端功能正常,但是通过电池部分和usb口供电时开关控制逻辑有点问题,以后在修改一下~
制作过程
1.pcb制作
-
发射端
-
接收端
2.固件下载
确认PCBA制作无误后,下载调试器固件。安装并打开附件中的WCHISPTool,按住按键A,同时将调试器用USB线连接电脑,此时WCHISPTool自动识别到芯片CH32V307。选择固件DAP_V04.hex,按照下图标注进行配置,下载。如果想不焊接无线模块,仅作为有线使用,选择DAP_V04_USB_ONLY.hex。如果是旧版本硬件,选择对应的版本号。
3.配对、参数设置
拔下USB线,按住按键B,USB重新连接电脑,此时指示灯为黄色。查看设备管理器中对应的COM口,打开上位机软件,按照下图标注进行配对设置。之后如果需要重新配对等,与这步相同。
除了以下标的参数外,其他都不建议修改!
一定要修改默认的通信频率和同步字,以防和其他人的DAP撞车!
日常使用
1.按键功能
可以免上位机设置DAP的模式。长按按键A,直到指示灯变为黄色。短按按键B,根据指示灯颜色调节为需要的模式。如果需要将配置保存到Flash中,即下次上电保持当前配置,则长按按键A,直到指示灯变为黄色闪烁,再短按按键A退出;如果只是临时使用,不保存配置到Flash,则直接短按按键A退出。
2.接收端
充放电管理模块使用的是IP5306-CK,还有一种是IP5306,两个是pin-to-pin的,主要区别是IP5306可以通过一个引脚控制芯片输出或者关闭电源输出,如果输出端的负载太小,芯片会自动关闭电源的输出,而IP5306-CK在街上电池之后会一直输出。注意两个芯片在第一次街上电池的时候都需要充一下电才能正常工作,如果之后断开电池又重新连接也需要充一下电才可以。
在加上电池之后可以直接通过电池进行供电不需要在连接usb口供电,电池的充电可以通过usb口或者后面的插针进行充电,实测充电电流在1.2A左右,通过开关可以控制对整个模块供电或者通过usb口供电和对电池充电,或者只对电池进行充电。
评论区