一种多功能调试工具设计方案开源

一种多功能调试工具设计方案开源

  • 设计初衷
  • 设计方案
  • 具体实现
    • HUB芯片采用沁恒微CH339W。
      • TF卡功能
      • 网口功能
      • SPI功能
      • IIC功能
      • JTAG功能
      • 下行USB接口
    • 安路FPGA烧录器功能
    • Xilinx FPGA烧录器功能
    • Jlink OB功能
    • 串口功能
      • RS232串口
      • RS485和RS422串口自适应接口
    • CAN功能
    • 烧录器功能
  • 目前进度
  • 后续计划

设计初衷

工作中由于用到的调试工具比较多,很多时候会发现接口不够用,所以设计综合多种工具,做了一个多功能的调试工具。

设计方案

实现框图如下所示。
在这里插入图片描述
实现的具体功能如下

1.支持Type-C和Type-B输入;
2. 支持安路CPLD、FPGA等器件烧录,JTAG接口支持外部输入或内部3.3V电压;
3. 支持ARM-Cortex M系列ARM芯片烧录,Jlink接口电压支持外部输入或内部3.3V电压;
4. 支持Xilinx、复旦微、高云、Lattice、Intel等FPGA芯片烧录,JTAG接口电压支持外部输入或内部3.3V电压;
5. 支持CAN 2.0B;
6. 支持RS422和RS485自适应;
7. 支持3路RS232接口;
8. 支持1路LVTTL(3.3)UART;
9. 支持1路可变电平UART;
10. 支持烧录SPI Flash和EEPROM;
11. 支持TF卡读卡器动能;
12. 支持1路100M以太网接口;
13. 支持一路可变电平的IIC、SPI和JTAG接口;
14. 支持1路下行USB接口;

具体实现

HUB芯片采用沁恒微CH339W。

CH339 是符合USB2.0协议规范的7端口多功能USB HUB控制器芯片,单芯片集成7口USB HUB、USB 百兆以太网、USB高速SD读卡器、USB PD和USB转SPI、USB转JTAG、USB转UART、USB转I2C接口等功能。CH339上行端口支持USB2.0高速和全速,下行端口支持USB2.0高速480Mbps、全速12Mbps和低速1.5Mbps,另有USB网卡、USB高速读卡器、USB转JTAG等多个内部直达通道。CH339支持高性能的并发处理MTT模式,采用工业级设计,外围精简,可应用于计算机和工控机主板、扩展坞、外设、嵌入式系统等场景。
在这里插入图片描述

TF卡功能

采用TF卡接口,可以直接进行TF卡的读写,采用TF卡转eMMC工装,可以直接烧录eMMC芯片。

网口功能

百兆网口,支持指示灯功能。

SPI功能

可变电平,电压支持外部输入或内部3.3V。

IIC功能

可变电平,电压支持外部输入或内部3.3V。

JTAG功能

可变电平,电压支持外部输入或内部3.3V。

下行USB接口

一路下行USB接口。

安路FPGA烧录器功能

具体实现参考安路开发板的图纸,具体采用一颗STM32F103C8T6实现JTAG功能,在此不详细描述。

具体电路参考安路开发板

Xilinx FPGA烧录器功能

采用FT2232H方案,也属于市面上比较常见的方案,通过烧录不同的固件,可以实现Xilinx、Intel、复旦微、lattice等FPGA的程序烧录。
其中A路实现JTAG功能,B路实现可变电平的串口功能,串口电平可以由外部电压输入。

Jlink OB功能

Jlink OB功能参考Segger官网的Jlink OB的参考图纸,固件已经烂大街了,自行搜索。

串口功能

串口芯片采用沁恒的CH344Q,CH344 是一款USB总线的转接芯片,实现USB转四个异步串口UART0/1/2/3功能,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。
在这里插入图片描述
CH344Q特点

 CH344Q为480Mbps高速USB设备接口,CH344L为12Mbps全速USB设备接口。
 内置固件,仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。 
 计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。
 支持免安装的操作系统内置CDC类驱动程序或者多功能高速率的VCP厂商驱动程序。  
 硬件全双工串口,内置独立的收发缓冲区。
 CH344Q支持通讯波特率1200bps~6Mbps,CH344L支持1200bps~2Mbps。
 串口支持8个数据位,支持奇校验、偶校验以及无校验。 
 每个串口内置2048字节的接收FIFO,1024字节的发送FIFO。
 支持常用的MODEM联络信号。  l 支持CTS和RTS硬件自动流控。
 支持半双工,提供串口正在发送状态指示TNOW,可用于控制RS485收发切换。  
 支持最多16路GPIO输入输出功能。 
 通过外加电平转换器件,支持RS232、RS485、RS422等接口。
 内置EEPROM,可配置芯片VID、PID、最大电流值、厂商和产品信息字符串等参数。  
 单一3.3V供电。
 提供LQFP48无铅封装,兼容RoHS。

RS232串口

CH344Q的A、B和C实现3路RS232串口。

RS485和RS422串口自适应接口

CH344Q的D实现RS422和RS485自适应接口。

CAN功能

采用开源方案,支持CAN2.0B,波特率支持最大1Mbps。

烧录器功能

采用CH341A方案,也是开源的方案,不详细描述。

目前进度

目前已经完成图纸绘制及PCB绘制,BOM整理及外壳设计,可以投板了。
在这里插入图片描述

安装外壳之后的形态在这里插入图片描述

如果有朋友对这个工具感兴趣,可私信我哦。

后续计划

设想中的这个工具应该是无线的方式,USB线缆也不再需要,可通过WIFI连接这个设备,那么此时这个工具就需要增加电池、无线等功能啦,有想法的朋友可以私信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/928427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】深入优化计算题目分析与实现

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯第一题:圆的计算我的代码实现代码分析改进建议改进代码 老师的代码实现代码分析可以改进的地方改进代码 💯第二题:对齐输出我的代码实现…

动手学深度学习10.5. 多头注意力-笔记练习(PyTorch)

本节课程地址:多头注意力代码_哔哩哔哩_bilibili 本节教材地址:10.5. 多头注意力 — 动手学深度学习 2.0.0 documentation 本节开源代码:...>d2l-zh>pytorch>chapter_multilayer-perceptrons>multihead-attention.ipynb 多头注…

大R玩家流失预测在休闲社交游戏中的应用

摘要 预测玩家何时会离开游戏为延长玩家生命周期和增加收入贡献创造了独特的机会。玩家可以被激励留下来,战略性地与公司组合中的其他游戏交叉链接,或者作为最后的手段,通过游戏内广告传递给其他公司。本文重点预测休闲社交游戏中高价值玩家…

软件质量保证——单元测试之白盒技术

笔记内容及图片整理自XJTUSE “软件质量保证” 课程ppt,仅供学习交流使用,谢谢。 程序图 程序图定义 程序图P(V,E),V是节点的集合(节点是程序中的语句或语句片段),E是有向边的集合…

Node.js:开发和生产之间的区别

Node.js 中的开发和生产没有区别,即,你无需应用任何特定设置即可使 Node.js 在生产配置中工作。但是,npm 注册表中的一些库会识别使用 NODE_ENV 变量并将其默认为 development 设置。始终在设置了 NODE_ENVproduction 的情况下运行 Node.js。…

Zookeeper的通知机制是什么?

大家好,我是锋哥。今天分享关于【Zookeeper的通知机制是什么?】面试题。希望对大家有帮助; Zookeeper的通知机制是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper的通知机制主要通过Watcher实现,它是Zookeeper客…

Request method ‘POST‘ not supported(500)

前端路径检查 查看前端的请求路径地址、请求类型、方法名是否正确,结果没问题 后端服务检查 查看后端的传参uri、传参类型、方法名,结果没问题 nacos服务名检查 检查注册的服务是否对应(我这里是后端的服务名是‘ydlh-gatway’,服务列表走…

ESP32-S3模组上跑通ES8388(13)

接前一篇文章:ESP32-S3模组上跑通ES8388(12) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第6段代码,本回继续往下解析。为了便于理解和回顾,再次贴出es8388_init函数源码,在…

Ubuntu 包管理

APT&dpkg 查看已安装包 查看所有已经安装的包 dpkg -l 查找包 apt search <package_name>搜索软件包列表&#xff0c;找到与搜索关键字匹配的包 dpkg与grep结合查找特定的包 dpkg -s <package>&#xff1a;查看某个安装包的详细信息 安装包 apt安装命令 更新…

泛化调用 :在没有接口的情况下进行RPC调用

什么是泛化调用&#xff1f; 在RPC调用的过程中&#xff0c;调用端向服务端发起请求&#xff0c;首先要通过动态代理&#xff0c;动态代理可以屏蔽RPC处理流程&#xff0c;使得发起远程调用就像调用本地一样。 RPC调用本质&#xff1a;调用端向服务端发送一条请求消息&#x…

开源 - Ideal库 - Excel帮助类,ExcelHelper实现(四)

书接上回&#xff0c;前面章节已经实现Excel帮助类的第一步TableHeper的对象集合与DataTable相互转换功能&#xff0c;今天实现进入其第二步的核心功能ExcelHelper实现。 01、接口设计 下面我们根据第一章中讲解的核心设计思路&#xff0c;先进行接口设计&#xff0c;确定Exce…

Android Studio 右侧工具栏 Gradle 不显示 Task 列表

问题&#xff1a; android studio 4.2.1版本更新以后AS右侧工具栏Gradle Task列表不显示&#xff0c;这里需要手动去设置 解决办法&#xff1a; android studio 2024.2.1 Patch 2版本以前的版本设置&#xff1a;依次打开 File -> Settings -> Experimental 选项&#x…

力扣hot100道【贪心算法后续解题方法心得】(三)

力扣hot100道【贪心算法后续解题方法心得】 十四、贪心算法关键解题思路1、买卖股票的最佳时机2、跳跃游戏3、跳跃游戏 | |4、划分字母区间 十五、动态规划什么是动态规划&#xff1f;关键解题思路和步骤1、打家劫舍2、01背包问题3、完全平方式4、零钱兑换5、单词拆分6、最长递…

计算机网络常见面试题总结(上)

计算机网络基础 网络分层模型 OSI 七层模型是什么&#xff1f;每一层的作用是什么&#xff1f; OSI 七层模型 是国际标准化组织提出的一个网络分层模型&#xff0c;其大体结构以及每一层提供的功能如下图所示&#xff1a; 每一层都专注做一件事情&#xff0c;并且每一层都需…

编译MT7620 OpenWrt的所有机型的固件

前置条件&#xff1a;准备VMware16Ubuntu16.04的编译环境 安装编译需要的插件 sudo apt-get install gcc g binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git-core uuid…

vue2+svg+elementui实现花瓣图自定义el-select回显色卡图片

项目需要实现花瓣图&#xff0c;但是改图表在echarts&#xff0c;highCharts等案例中均未出现&#xff0c;有类似的韦恩图&#xff0c;但是和需求有所差距&#xff1b; 为实现该效果&#xff0c;静态图表上采取svg来手动绘制花瓣&#xff1a; 确定中心点&#xff0c;以该点为中…

释放超凡性能,打造鸿蒙原生游戏卓越体验

11月26日在华为Mate品牌盛典上&#xff0c;全新Mate70系列及多款全场景新品正式亮相。在游戏领域&#xff0c;HarmonyOS NEXT加持下游戏的性能得到充分释放。HarmonyOS SDK为开发者提供了软硬协同的系统级图形加速解决方案——Graphics Accelerate Kit&#xff08;图形加速服务…

Docker应用

一、需要知道什么&#xff08;先去了解一下&#xff09; Docker 概述 Docker 安装&#xff08;配置阿里云镜像加速器&#xff0c;要不 pull 镜像下载的慢&#xff09; portainer 可视化界面 关于镜像、容器、仓库的命令等 数据卷 Docker 网络 DockerFile DockerCompose …

Qt桌面应用开发 第十天(综合项目二 翻金币)

目录 1.主场景搭建 1.1重载绘制事件&#xff0c;绘制背景图和标题图片 1.2设置窗口标题&#xff0c;大小&#xff0c;图片 1.3退出按钮对应关闭窗口&#xff0c;连接信号 2.开始按钮创建 2.1封装MyPushButton类 2.2加载按钮上的图片 3.开始按钮跳跃效果 3.1按钮向上跳…

VScode离线下载扩展安装

在使用VScode下在扩展插件时&#xff0c;返现VScode搜索不到插件&#xff0c;网上搜了好多方法&#xff0c;都不是常规操作&#xff0c;解决起来十分麻烦&#xff0c;可以利用离线下载安装的方式安装插件&#xff01;亲测有效&#xff01;&#xff01;&#xff01; 1.找到VScod…