2024-10-10 17:58:24 +08:00
2024-10-09 22:07:38 +08:00
2024-10-10 17:38:20 +08:00

声明:请遵守开源协议,禁止商用,转载请注明出处

项目简介:为什么要做这个嵌入式调试器工具?

在本人学习嵌入式和做项目的过程中,一直存在几个痛点:

  • 嵌入式调试工具冗杂,且一般一个模块只能实现一个功能,接线杂乱
  • 笔记本接口普遍较少,不接拓展坞的情况下难以插接多个调试模块
  • 大学生学习嵌入式时难以配齐所有工具,且部分工具价格较高

所以为了解决这些问题我耗时三个月基于ESP32S3和LVGL制作了这款多功能嵌入式调试工具具有DAPlink、逻辑分析仪、串口助手、数控电源、无线下载调试器等十余种不同的功能涵盖了大部分嵌入式的调试场景实测可以有效且优雅地解决以上的痛点最关键的是所有器件均采用容易购买且性价比高的器件制作成本控制在百元以内

产品渲染图

图片描述

产品实物图

硬件说明

系统框图:

图片描述

PCB结构

项目由两块PCB构成电源控制板为四层板信号板为两层板采用分立叠板设计通过1.27mm排针连接

  • 电源控制板:主要负责调试器与电脑的通信、数控电源、简易示波器、屏幕显示、无线下载器等功能
  • 信号板主要负责逻辑分析仪和DAPlink等功能

关于系统电源:

项目的电源输入存在三种情况电脑usb的5v输入、使用pd充电器的12v诱骗电压输入、使用内部电池输入。

首先考虑前两种情况电源由typec接口输入后分为两路一路经由MP28167变换为5v送入ip5306电池充放电管理芯片为3.7v锂电池充电的同时提供5v电压经过SY8120B变换为3.3v为各个芯片供电另一路经由TPS5450提供数控可调电源需要注意的是使用数控电源时需要12v的诱骗电压所以必须要配合支持pd诱骗的充电器使用。

关于数控电源和电压测量:

项目实现数控电源的方法是基于数字电位器和功率监测芯片实现的通过数字电位器作为电源芯片的反馈电阻单片机通过i2c协议控制数字电位器的阻值来控制输出电压INA226将测得的功率数据反馈给单片机。

这里在数控电源的输出控制端采用了双PMOS背靠背连接的电路实现了电源的双向关断所以我们可以通过关闭双PMOS实现外界输入的电压测量打开双PMOS时则是内部的数控电源向外输出。

关于USB

项目采用CH334F将一路usb信号拓展至四路其中ESP32S3、RP2040和CH549G各连接一路另外的一路由一个usbA口引出可以外接usb设备同时为开发板或者手机供电。

关于元件选型:

  • 主控采用ESP32S3主要是看重单片机的无线能力ESP32S3内置有低功耗蓝牙和wifi模块可以实现无线串口和无线下载器的功能240MHz的主频可以实现较快的数据处理。

  • FLASH内存芯片采用W25Q128JVPIQ从ESP32S3的数据手册得知ESP32S3最大支持外挂16MB也就是128Mb的FLASH芯片这里直接上最大的容量SRAM直接使用单片机内部自带的PSRAM空间共8MB。

  • 逻辑分析仪采用的是基于树莓派RP2040的方案支持八通道原方案是24通道本项目引出了八通道最大100MHz采样率外挂FLASH为W25Q16JVSSIQ2MB容量。

  • DAPLink采用的是CH549G的方案支持ARM和RISCV单片机下载调试支持一路usb虚拟串口。理论上DAPLink和逻辑分析仪都可以使用ESP32S3来实现采用分立器件实现这两个功能成本较高但好处是可以通过USBHUB并行使用这些功能。

  • 功率监测芯片采用的是INA226最大支持20v的电压测量我这里使用的采样电阻为0.05欧姆,改变采样电阻会改变采样电流分辨率,同时需要修改电流计算部分的代码。

  • 屏幕采用的是1.69寸的电容触摸屏驱动芯片为ST7789Vspi接口触摸驱动为CST816Ti2c接口采样排线插接的方式安装。

  • 天线采用IPEX座插接的2.4g天线,为了保证信号质量,需要将天线贴在外壳底面,实测无线信号良好,连接稳定。

关于电路防护:

项目所有的外接IO口均使用ESD器件和限流电阻保护防止静电击穿电源供电部分串联自恢复保险丝防止过流。

关于焊接:

软件说明

代码结构

结构说明

Description
Exlink Tool是一款优雅的嵌入式多功能调试器
Readme 55 MiB
Languages
STL 100%