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

news2024/12/26 18:55:14

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

  • 设计初衷
  • 设计方案
  • 具体实现
    • 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连接这个设备,那么此时这个工具就需要增加电池、无线等功能啦,有想法的朋友可以私信。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浏览器的事件循环机制

浏览器和Node的事件循环机制 引言浏览器的事件循环机制 引言 由于JS是单线程的脚本语言,所以在同一时间只能做一件事情,当遇到多个任务时,我们不可能一直等待任务完成,这会造成巨大的资源浪费。为了协调时间,用户交互…

Zabbix添加防火墙温度监控值实战

我们在Zabbix监控系统会监控诸如Server、network device、application等实例,通常我们在监控某个具体产品时,我们会找到具体的监控模板,在设备添加到平台以后,将模板链接到该设备,但很多时候我们企业内部的设备是没有标…

【k8s】创建基于sa的token的kubeconfig

需求 创建一个基于sa的token的kubeconfig文件,并用这个文件来访问集群。 具体创建sa 和sa的token请参考文章: 【k8s】给ServiceAccount 创建关联的 Secrets-CSDN博客 创建sa apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata:namespace: jtkjdevnam…

Fastapi + vue3 自动化测试平台---移动端App自动化篇

概述 好久写文章了,专注于新框架,新UI界面的实践,废话不多说,开搞 技术架构 后端: Fastapi Airtest multiprocessing 前端: 基于 Vue3、Vite、TypeScript、Pinia、Pinia持久化插件、Unocss 和 Elemen…

Apache Doris 现行版本 Docker-Compose 运行教程

特别注意!Doris On Docker 部署方式仅限于开发环境或者功能测试环境,不建议生产环境部署! 如有生产环境或性能测试集群部署诉求,请使用裸机/虚机部署或K8S Operator部署方案! 原文阅读:Apache Doris 现行版…

Docker的彻底删除与重新安装(ubuntu22.04)

Docker的彻底删除与重新安装(ubuntu22.04) 一、首先我们彻底删除Docker1、删除docker及安装时自动安装的所有包2、删除无用的相关的配置文件3、删除相关插件4、删除docker的相关配置和目录 二、重新安装1、添加 Docker 的官方 GPG 密钥:2、将…

Nginx学习-安装以及基本的使用

一、背景 Nginx是一个很强大的高性能Web和反向代理服务,也是一种轻量级的Web服务器,可以作为独立的服务器部署网站,应用非常广泛,特别是现在前后端分离的情况下。而在开发过程中,我们常常需要在window系统下使用Nginx…

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

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

系统--线程互斥

1、相关背景知识 临界资源多线程、多执行流共享的资源,就叫做临界资源临界区每个线程内部,访问临界资源的代码互斥在任何时刻,保证有且只有一个执行流进入临界区,访问临界资源,对临界资源起到保护作用原子性不会被任何调度机制打断的操作,该操作只有两态,要么完成,要么…

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

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

getchar()

getchar():从计算机终端(一般是键盘)输入一个字符 1、getchar返回的是字符的ASCII码值(整数)。 2、getchar在读取结束或者失败的时候,会返回EOF 输入密码并确认: scanf读取\n之前的内容即12345678 回车符…

linux 获取公网流量 tcpdump + python + C++

前言 需求为,统计linux上得上下行公网流量,常规得命令如iftop 、sar、ifstat、nload等只能获取流量得大小,不能区分公私网,所以需要通过抓取网络包并排除私网段才能拿到公网流量。下面提供了一些有效得解决思路,提供了…

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

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

KAN-Transfomer——基于新型神经网络KAN的时间序列预测

1.数据集介绍 ETT(电变压器温度):由两个小时级数据集(ETTh)和两个 15 分钟级数据集(ETTm)组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) :描…

中安证件OCR识别技术助力鸿蒙生态:智能化证件识别新体验

在数字化和智能化的浪潮中,伴随国产化战略的深入推进,国产操作系统和软件生态的建设逐渐走向成熟。鸿蒙操作系统(HarmonyOS Next)作为华为推出的重要操作系统,凭借其开放、灵活和高效的特点,正在加速在多个…

Java设计模式之状态模式架构高扩展的订单状态管理

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

【排序用法】.NET开源 ORM 框架 SqlSugar 系列

💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…

家政小程序开发,打造便捷家政生活小程序

目前,随着社会人就老龄化和生活压力的加重,家政服务市场的需求正在不断上升,家政市场的规模也正在逐渐扩大,发展前景可观。 在市场快速发展的影响下,越来越多的企业开始进入到市场中,同时家政市场布局也发…

自然语言处理:基于BERT预训练模型的中文命名实体识别(使用PyTorch)

命名实体识别(NER) 命名实体识别(Named Entity Recognition, NER)是自然语言处理(NLP)中的一个关键任务,其目标是从文本中识别出具有特定意义的实体,并将其分类到预定义的类别中。这…

掌握 Spring Boot 中的缓存:技术和最佳实践

缓存是一种用于将经常访问的数据临时存储在更快的存储层(通常在内存中)中的技术,以便可以更快地满足未来对该数据的请求,从而提高应用程序的性能和效率。在 Spring Boot 中,缓存是一种简单而强大的方法,可以…