【项目分享】动手做一个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文件的生成。
由于该模块的电路相对简单,所以仅需两层板即可实现。