当前位置: 首页 > news >正文

【项目分享】动手做一个TypeC转TTL模块(附带原理图)

目录

01 项目背景

02 功能说明

03 BOM清单

04 设计思路

05 性能验证与成品展示

06 尾声


01 项目背景

好久不见,我是子正。

最近在做单板调试时,发现自己手头的调试工具接口五花八门,且体积较大,使用起来不太方便;

例如这个小蓝盒多功能转换模块,优点是接口多,缺点体积大,不稳定,容易导致串口工具无响应;

鉴于之前我已经自制了一个TypeC接口的J-Link,以及这次的调试需求是使用TTL协议与MCU直连调试;

于是我想自己做一个轻量级的解决方案:

TypeC转TTL模块,通过 TypeC 接口连接电脑,实现与设备之间的 TTL 串口通信;最终能够适用于各种场景,比如 ESP32、STM32、树莓派等开发板的调试使用。


02 功能说明

该TypeC转TTL模块的主要功能参数如下:

· 使用TypeC接口连接PC端;

· 提供5针TTL接口(Tx、Rx、GND、CTS、RTS);

· 支持3.3V与5V电平可选;

· 使用CH340G串口芯片,兼容Mac、Linux、Windows系统;

· 最高串行通信速率可达6Mbps;


03 BOM清单

本方案物料清单如下:

名称数量备注

CH343G芯片

1个

也可以替换其它芯片

16Pin TypeC接口(公)

1个

最好是SMD

3.3V LDO稳压器

1个

型号AMS1117-3.3V

TVS保护器件

2个

用于保护USB电源

ESD保护器件

2个

保护USB信号与TTL信号

90°折弯插针

1组

5 Pin

LED、电阻、电容

若干

用于状态指示、滤波


04 设计思路

本模块的核心是USB转串口芯片CH343G,选择这个芯片的原因是出货量大,价格便宜,驱动兼容性友好;

围绕着CH343G芯片,实现PC端与各类开发板进行通信连接;

使用TypeC接口,将PC端的USB D+与D-连接到CH343G的数据接口;

最后,使用三针跳线端子实现3.3V与5V电平切换;使用5Pin-90°弯针实现TTL接口,并保留硬件流控制RTS与CTS。


05 性能验证与成品展示

这里使用两个TypeC转TTL模块进行互联,PC端使用串口工具进行通信;

两个模块进行互联,形成通信环路;

可以看到,通信速率可以跑到6Mbps;

同时保留CTS#和RTS#硬件流控制;

成品展示如下,外观采用亚力克面板保护,M3橡胶螺丝固定,防止损坏元件;成品图如下:

整体尺寸,长为52mm,宽32mm,厚9mm,保留余地为后期拓展为其它类型的通信模块。


06 尾声

本项目使用Altium Designer 22进行设计,后续将会以此项目为示例,记录AD22的完整使用流程,从工程创建到Gerber文件的生成。

由于该模块的电路相对简单,所以仅需两层板即可实现。

http://www.lryc.cn/news/593496.html

相关文章:

  • Spring MVC @RequestParam注解全解析
  • 数据库第四次作业
  • 【C++】初识C++(2)
  • 完美解决 Ubuntu 中自定义启动器图标重复的问题(以 MATLAB 为例)
  • nginx.conf模版
  • 基于GEE与哨兵2号的土地覆盖分类方法及实现
  • python网络爬虫之selenium库(二)
  • uview-ui使用u-row+u-avatar居中布局
  • uview-ui使用u-icon文字图标展示
  • react+antd 可拖拽模态框组件
  • Python之--元组
  • RabbitMQ01——基础概念、docker配置rabbitmq、内部执行流程、五种消息类型、测试第一种消息类型
  • Java学习--------消息队列的重复消费、消失与顺序性的深度解析​
  • I/O 多路复用select,poll
  • Java 中的继承与多态
  • 5.组合模式
  • 3.5软件开发活动[2-系统设计]面向对象设计-UML统一开发过程
  • [故障诊断方向]SNNs:针对小样本轴承故障诊断的孪生神经网络模型
  • 在Vscode中使用Kimi K2模型:实践指南,三分钟生成个小游戏
  • 练习三:熟知前端知识
  • 目标检测中的标签分配算法总结
  • MinIO深度解析:从核心特性到Spring Boot实战集成
  • Vue的路由模式的区别和原理
  • 《Qt5串口开发》搭建跨平台通信系统
  • VSCode用Python操作MySQL:环境配置与代码验证
  • 操作系统-分布式同步
  • 实验室危险品智能管控:行为识别算法降低爆炸风险
  • Mybatis学习之简介(一)
  • Vue 3 中封装并使用 IndexedDB 的完整教程(含泛型、模块化、通用 CRUD)
  • Vue Swiper组件