Exlink嵌入式多功能调试器复刻教程
最近有很多同志成功复刻了我开源的“Exlink嵌入式多功能调试器”,但是也有一些同志在复刻的过程中遇到了一些问题,所以我写了这篇文章对复刻中可能遇到的一些问题进行说明,帮助大家顺利复刻。
文章目录
前言
最近有很多同志成功复刻了我开源的“Exlink嵌入式多功能调试器”,但是也有一些同志在复刻的过程中遇到了一些问题,所以我写了这篇文章对复刻中可能遇到的一些问题进行说明,帮助大家顺利复刻。
附一个有趣的网友复刻版本:
本教程用到的资料地址(包括固件下载、完整bom):
https://pan.baidu.com/s/1CZjAkETy4yvHve3hzQ3aIg?pwd=1234 提取码: 1234
一、硬件部分
1.关于元器件的购买
我的元器件是在某宝购买的,购买清单如下,如果有不确定的元件型号可以参考清单进行购买:
2.关于元器件的几点注意事项
-
对于项目用到的电阻电容,我强烈推荐使用电阻电容样品本,我在大二开始做项目的时候就买了0805、0603、0402封装的电阻电容样品本,使用电阻电容样品本可以避免每次做项目都要重新购买一批电阻电容元件,导致材料浪费的现象,并且阻值容值全面,在电路中的元件参数需要调整的时候也可以灵活替换,
-
在电源输入端和可调电源输出端存在滤波电容,如下图所示:
这些地方的电容由于存在最高12v的电压,所以必须使用耐压为16v的陶瓷电容,负责会对电路的稳定性造成影响,如果发现电路存在电源输入端短路的现象,大概率是输入滤波电容击穿导致的故障。 -
由于输入端保险丝的限流作用,如下图所示,对于电源输出功率较大的场合,可能导致后续电路不能正常启动,可以更换为限流更大的型号(本人使用的是2A 1206),懒人直接一坨锡(不过就失去了限流的功能,不放心的话可以连接USB电流表使用)。
-
MP28167GQ-Z不要购买错型号,MP28167存在很多不同的型号,通过后缀的字母表示相应的功能:MP28167GQ-Z(固定5v输出)、MP28167GQ-A-Z(通过外部fb引脚反馈和外接电阻调整输出电压)、MP28167GQ-A(通过外部fb引脚反馈调整输出电压)、MP28167GQ-B(通过外部fb引脚反馈调整输出电压)、MP28167GQ-N(通过外部fb引脚反馈调整输出电压)。我们使用的是MP28167GQ-Z这个固定输出5v电压的版本(开源的原理图型号有误:MP28167GQ-A应为MP28167GQ-Z)。
-
输出引脚的排针需要买弯排针不是直排针,具体的形状可以对比我实物图片进行购买
-
电池的尺寸不要大于33mm×32mm×5mm,最好在电池底部贴上电工胶带做绝缘处理
3.关于原理图的几点注意事项
在原理图中有一些特殊功能的电路需要选择性的焊接,下面做一个具体的说明
- 符号说明:NC(no connect不连接)、0(短路)短路可以直接一坨锡连接两个焊盘
- 在可调电源的电路中存在几个需要说明的电阻,如下图所示,其中R80和R103是我预留的调试电阻,R80不焊,R103短路,R105和R106是MCP4017的供电电压选择,可以直接短路R105,R106不焊,也就是相当于使用3.3v给MCP4017供电。
- 主控部分存在两种电路的功能选择,如下图所示,这个其实是复用IO2引脚,当需要使用电池电压检测功能时焊接R108和R109,需要使用LED的时候焊接R36和LED3
4.关于焊接的几点注意事项
-
焊接的顺序为控制板电源->控制板单片机->控制板接口电路->信号板电源->信号板单片机->信号板接口电路。
-
首先焊接电源部分,确保可以正确诱骗出12v,输出5v和3.3v,注意如果要诱骗出12v,必须使用支持pd协议的充电器,如果电源工作异常则检查是否存在焊接问题。
-
电源部分检查没有问题之后,可以焊接单片机最小系统电路,焊接完成后下载程序,确保能够正确下载后再焊接接口电路。
-
本项目对于焊接技术和工具的准备均有要求,typec接口、0402贴片阻容、QFN芯片的焊接可能对于部分同学较为困难,强烈建议使用热风枪配合锡膏进行焊接,不推荐完全使用电烙铁或者完全使用加热台焊接。
-
焊接时需要注意热风枪的温度和接触时间,防止一些元器件上的塑料件融化,一个模块焊接完成后要经常使用万用表的蜂鸣档测量元器件的引脚是否有短路的情况。
二、软件部分
1.关于可能出现的报错
- 由于PIO的编译环境版本区别导致的变量类型报错,出现在main.cpp的第633行,如下图所示
pcnt_get_counter_value(PCNT_UNIT, &count);
需要将第40行的变量类型
uint16_t count = 0;
改为
int16_t count = 0;
- 下载程序后屏幕黑屏,esp32s3串口输出报错信息,如下图所示:
这个问题同样是因为编译版本不匹配导致的,需要在platformio.ini文件的第12行增加一个版本限制。
platform = espressif32 @ 6.5.0
- 有的同志发现下载程序后屏幕黑屏,同时串口输出如下报错信息:
这个是由于esp32s3连接的iic设备(如屏幕、ina226、mcp4017)没有检测到导致的,需要检查单片机和相关iic设备的焊接
2.关于固件的下载
2.1 esp32s3固件下载
这里我提供两种方法给大家参考:
- 首先是使用vscode+PIO在工程的编译环境下进行下载程序,安装vscode后点击插件栏搜索platformio点击安装
准备数据线连接电脑和Exlink的电源控制板,之后按住电源控制板上的boot按键插上板子的usbtypec接口,插上后松开boot按键,ESP32S3会加入下载模式,由于拨动开关的push按键也接到了boot上,所以这里也可以按下拨动开关后进行上电,ESP32S3同样可以进入下载模式,此时可以在设备管理器中看到对应的com口。
在vscode中选择对应的com口,点击向右的箭头(编译并下载),此时会自动完成程序的编译和烧录,如果出现报错可以参考上面软件报错的解决方法。
2. 如果使用vscode+PIO的方法下载程序时遇到一些解决不了的玄学问题,可以直接使用flash_download_tool进行下载
(相关的软件资料在开头的网盘里)这个方法可以一步到位下载固件,省去了配置编译环境的麻烦,不过这样就没法修改代码了。
flash_download_tool的2配置如下:
插上Exlink后点击start即可。
2.2 daplink固件下载
将Exlink用数据线连接电脑,打开WCHISPTool,配置如图所示,选择对应的固件点击下载,板子上有一个R60为USB的上拉电阻,在下载daplink固件时需焊上。
板子上的R60为USB的上拉电阻,下载完成后需要拆下才正常使用。
板子上有一个select按键是用来切换调试目标的类型的,按下select重新上电可以进行切换,底下有一个DAP的指示灯,如果此灯亮,则为ARM模式,不亮则为RSICV模式。
2.3 逻辑分析仪固件下载
将Exlink用数据线连接电脑,按住逻辑分析仪上的BOOT键不放(因为信号板的按键位置比较靠里,所以需要使用镊子按),使用开关重新上电,此时电脑会把rp2040识别成一个U盘
打开树莓派识别成的U盘,将逻辑分析仪固件pico_sdk_sigrok.uf2拖进去,树莓派会自动烧录固件,烧录完成后会自动弹出U盘,此时设备管理器会多出一个“Reset”设备。
安装pulseview,打开pulseview的安装目录,接下来需要为逻辑分析仪安装usb驱动,打开pulseview的安装目录下的“zadig.exe”软件。
选择在设备管理器看到的设备名称“Reset”,驱动选默认就好,不是图上的CDC,然后点击“Install Driver”:
安装完成后可以看到设备管理器中出现了一个usb设备
之后打开pulseview软件,按照如下顺序选择对应的选项连接即可。
注意Exlink只保留了八个通道,所以这里要保留D2到D9通道使用。
3.关于蓝牙上位机的使用
- 使用串口助手和无线串口时需要在串口发送端的串口数据末尾加上换行符“/n”。
- 无线串口需要配合手机蓝牙调试器APP使用,用手机显示蓝牙串口信息。
具体方法为:下载蓝牙调试器APP:https://gitee.com/xie-rongji/bt_mcu
打开Exlink的无线串口功能,在蓝牙调试APP中选中Exlink,由于使用的是低功耗蓝牙,所以需要在APP中选择服务的uuid,之后点击连接打开调试界面即可看到串口发送的信息,可以参考蓝牙透传的使用方法使用。
三、外壳和安装
1.使用502胶安装屏幕
2.使用电烙铁安装M2热融螺母
3.在底壳上粘上ipex天线,并将开关摇杆安装在开关上
4.将pcb安装到底壳中
5.合上上盖并拧上螺丝
致谢
本项目参考了很多开源资料,在此表示感谢:
- LVGL:https://github.com/lvgl
- 正点原子LVGL开发指南:http://www.openedv.com/docs/index.html
- RP2040逻辑分析仪项目:https://github.com/gusmanb/logicanalyzer
- 基于CH549的DAPlink项目:https://oshwhub.com/hhh89/wch-link-v2
- ESP32S3的多功能调试器设计:https://github.com/obitvn/felini-firmware
- 稚晖君peak项目:https://github.com/peng-zhihui/Peak
- 显示屏相关设计:https://oshwhub.com/eedadada/monica
- 基于ESP32S3的无线下载器:https://github.com/windowsair/wireless-esp8266-dap
- ESP32S3固件在线烧录:https://yunsi.studio/wireless-proxy/online-flasher
- 蓝牙调试器APP开源:https://gitee.com/xie-rongji/bt_mcu
此外,很多同学也对本项目提出了宝贵的意见,在此也表示感谢:
- 刘文俊同学对电源相关设计提出的意见
- 孟祥钦同学对功能需求提出的意见
- 陈家辉同学对功能需求提出的意见
- 张皓顺同学对无线下载器提出的意见
- 崔骏彦同学提供的测试工具
- B站up主@原型号提供的固件下载方法和bom
更多推荐
所有评论(0)