USB转串口常见芯片方案

FT232, FTDI(英国)

公认稳定可靠, 传输速率3Mbps, 功能最强, 单芯片内置SPI,TWI,JTAG,GPIO等功能. FT232BM为较早型号, FT232RL等为较新的型号, 有多种封装

  • FT232BM LQFP32封装(四方扁平式密脚)
  • FT232BL LQFP32封装(四方扁平式密脚)
  • FT232RL SSOP28封装(双列密脚)
  • FT232RQ QFN32封装(方形扁平无引脚)

具备以下功能:

  1. 芯片整合了EEPROM,可用于IO的配置以及存储USB VID,PID,序列号和产品描述信息
  2. 芯片整合了电平转换器,使得其I/O口电平支持5V-2.8伏的宽范围
  3. I/O管脚驱动能力强,可驱动多个设备或者较长的数据线
  4. 芯片内部整合了上电复位电路
  5. 芯片能自行产生时钟,无需外挂晶振钟振
  6. 内部集成了电源去耦RC电路
  7. 此芯片符合ROHS标准
  8. FT232支持QFN32封装(FT232RQ),SSOP28封装(FT232RL)

CP2102 Silicon Laboratories(美国芯科)

集成度高, 外围最少. 稳定性不错, 生产使用较多, 价格仅次于FT232.

内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线UART,支持调制解调器全功能信号,无需任何外部的USB器件。内置的EEPROM用来定制USB的Vendor ID、Product ID、产品描述、电源描述、设备释放号、设备序列号。特性:

  1. 内含USB收发器
  2. 内含时钟电路
  3. 内含上电复位电路
  4. 片内电压调节可输出3.3V电压
  5. 符合USB2.0规范的要求
  6. SUSPEND引脚支持USB状态挂起
  7. 异步串行数据总线兼容所有握手和调制调节器接口信号
  8. 支持的数据格式为数据位8、停止位1、2和校验位
  9. 内涵512字节接收缓冲器和512字节发送缓冲器
  10. 支持硬件或者X-ON/X-OFF 握手

CH340, CH341 WCH(南京沁恒)

在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。特点

  1. 全速USB设备接口,兼容USB V2.0。
  2. 仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。
  3. 计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。
  4. 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。
  5. 支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS。
  6. 通过外加电平转换器件,提供RS232、RS485、RS422等接口。
  7. CH340R芯片支持IrDA规范SIR红外线通讯,支持波特率2400bps到115200bps。
  8. 内置固件,软件兼容CH341,可以直接使用CH341的VCP驱动程序。
  9. 支持5V电源电压和3.3V电源电压甚至3V电源电压。
  10. CH340C/N/K/E及CH340B内置时钟,无需外部晶振,CH340B还内置EEPROM用于配置序列号等。
  11. 提供SOP-16、SOP-8和SSOP-20以及ESSOP-10、MSOP-10无铅封装,兼容RoHS。

最常见的国产芯片方案

  • CH340是CH341的简化版,不支持并口、打印口、IIC,专为串口应用设计
  • CH340T和CH340G, CH340T是20引脚,CH340G是16引脚, 都需要晶振.
  • 市面上最常见的是 CH340G, 3元左右带晶振的USB2TTL基本上都是这个型号
  • CH340C(16pin) 和 CH340N(8pin) 为内置晶振的型号, 大量使用在新推出的各类开发板中

Prolific(台湾旺玖)的PL2303

PL2303具有多个历史版本,早期的版本是PL2303HX, 近年有PL2303HXA、PL2303HXC、PL2303HXD(D版本)、PL2303SA, D版本不需要外接晶振.

PL2303 曾经是普及率最高的一种方案, 最近因为假货和价格问题已经不及沁恒的CH340

  • HX版本能稳定到4Mbps
  • 在Linux, Win7下无需驱动, 自动识别安装
  • Win10上会被判断为不再支持的硬件, 需要安装更早版本的驱动才能正常使用

USB转TTL模块成品

CH340模块成品一

这是最常见的一种CH340模块了, 芯片为CH340G, PCB板上无3.3V/5V切换, 靠引出脚的短路帽进行切换.

模块的电路图

对这个模块的说明

  • VCC连接的是CH340G的VCC Pin脚
  • 5V连接的是USB 5V
  • 3V3连接的是CH340G的V3, 关于这个Pin脚, V3引脚是芯片内置3.3V的LDO输出引脚, 芯片内部USB电源均来自于V3引脚, 当VCC=5V供电时, V3输出3.3V电压供芯片使用, 官方答复 点击这里
  • 如果无短路帽, VCC使用的是USB 5V经两颗1N4148后的电压
  • 短路5V和VCC, USB 5V直接加到CH340G的VCC, 两颗1N4148不起作用. 输出的3.3V使用的是CH340G输出的3.3V. 此时CH340工作在5V下
  • 短路3V3和VCC, CH340G的VCC使用的就是5V经两颗1N4148降压后电压, 而5V输出的是USB的5V, 此时CH340工作在3.3V下

使用这个模块存在的问题

  1. 根据前面说明的最后两点, 短路5V和VCC时, 空闲的3.3V输出可以给下位机供电, 但是CH340的TLL电压是5V的, 对浮空的TX进行测量, 可以得到4.8-5V的电压. 这个设计在使用中容易导致各种莫名其妙的问题, 例如连接MCU时, 可能会导致MCU测ADC数值不准, 大部分M0, M0+的MCU都容易受到干扰.
  2. RX脚电流倒灌. 产生的现象就是, CH340还未上电, RX脚的LED灯已经亮了

问题的解决方法

  1. 避免TX的干扰, 最简单直接的, TX断开不连接
  2. 如果必须用TX, 则在TX外串接一个肖特基二极管(例如1N5819), CH340的TX接二极管的负极, 下位机的RX接二极管正极, 这能有效抑制CH340的电压影响
  3. 正规的处理方法: 输出电压直接从短路帽取电,
    • 3.3V的环境短路帽短路3V3和VCC同时输出3.3V. 5V脚留空
    • 5V的环境短路帽短路5V和VCC同时输出5V, 3V3脚留空
  4. RX脚避免倒灌, 则在RX外也要串接一个肖特基二极管, CH340 RX接二极管的正极

CH340模块成品二

俗称土豪金的另一种成品板, 使用的依然是CH340G, 这个板子的改进之处在于, 带独立的LDO, 通过短路帽切换TTL电平电压, 同时输出5V电压和3.3V电压. 在输出脚上的短路帽是用于将rx和tx连成回路作测试用的



CH340模块成品三

也称为土豪金, 但是使用的是CH340E, 不再需要外置晶振, 功能和前一种是一样的



PL2303模块成品一

这是PL2303最常见的一种模块, 不带电压切换.

因为假货或者是电路质量的原因, 这种模块在调试nRF24L01模块中不及CH340稳定. 可以用于普通烧录, 但是不建议用作UART调试

Console线的连线

RJ45到DB9(RS232)

对于下面图示的说明:

  • RJ45公头, 就是一个超五类或六类网线头, Pin 1 就是当你看着它, 线材远离你&头朝你&簧片朝上时, 最左边的那个pin.
  • DB9(RS232)母头俗称COM口, 当你看着它, 线材远离你&头朝你&一行5个孔在上方时, Pin 1 就是右上角的孔, Pin 6 就是右下角的孔.
  • 大多数情况只需要3条线就能使其工作: RD, TD 和 GND, 这三条关键的线由硬件控制, 其他所有的线只是让软件控制数据.

DB9的pin定义

1  CD or DCD  Data Carrier Detect
2 TD or TxD Transmit Data # 注意, 用于电信设备的RS232和电脑的RS232, TX/RX接口位置是相反的
3 RD or RxD Received Data # 相关资料: https://www.cable-tester.com/rs232-pin-out/
4 DTR Data Terminal Ready
5 GND or SG Signal Ground
6 DSR Data Set Ready
7 CTS Clear To Send # 用于电信设备和电脑的RS232, CTS和RTS位置也是相反的
8 RTS Request To Send
9 RI Ring Indicator

RJ45和DB9的接线关系

   RJ-45        DB9(DB9内接线)
  1 RTS       8 CTS Clear To Send
  2 DTR      6 DSR Data Set Ready
  3 TxD      2 TxD Transmit Data
  4 GND      5 GND Ground
  5 GND      5 GND Ground
  6 RxD      3 RxD Received Data
  7 DSR      4 DTR Data Terminal Ready
  8 CTS      7 RTS Request To Send

更直观一点的图



以及

参考

https://www.tronicore.com/downloads/support/db9_rj45_assembeling_guide.pdf

USB至串口TTL转接设备及Console线的更多相关文章

  1. USB/232/485/TTL/CMOS(串口通信)⭐⭐⭐

    1.USB:电脑的USB口信号时USB信号,为差分信号,电压范围:+400mV~-400mV间变化:直流电压5V 驱动电流500MA 2.232电平: 逻辑1(MARK)=-3V--15V 逻辑0(S ...

  2. usb口外接了Com设备,U盘识别不了问题

    就如本题,当我usb口外接了Com设备时候,再插入U盘会出现识别不了的问题. 解决方法非常的简单,只要拨出这个com设备的usb就可以使用U盘了^_^

  3. STM32 USB虚拟串口(转)

    源:STM32 USB虚拟串口 串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片 ...

  4. STM32 USB虚拟串口

    串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片上的USB虚拟串口的移植.在官方 ...

  5. Windows下使用console线连接思科交换机

    在XP下可以直接使用内置工具"超级终端",在win7或者更高版本需要下载安装SecureCRT. 本文假设已经下载安装好了SecureCRT. 首先,将电脑连接console线.因 ...

  6. console线和RJ45

    123 前言 一直以为console口和RJ45是同一种接口,but后来我发现我错了~ RJ45 先介绍一下RJ45吧 什么是RJ45? RJ45是一种接口 我们家用的网线的接口 其实就是RJ45 r ...

  7. TTL 机制排毒,线上k8s的Job已经通过API 增加了Job的TTL 时长,且成功响应,为什么系统还是清理了Job?

    TTL 机制排毒,线上k8s的Job已经通过API 增加了Job的TTL 时长,且成功响应,为什么系统还是清理了Job? 面试官:"已完成 Job 的 TTL 机制了解嘛?简单说说TTL存在 ...

  8. 2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC ...

  9. deepin 340 USB转console线驱动安装及使用

    刚换DEEPIN系统, 有个路由器要做调整,的确是没windows友好,查了网上资料,归总一下. zhaodong@zhaodong-PC:sudo find / -name serial 进入 zh ...

  10. usb驱动开发18之设备生命线

    现在已经使用GET_DESCRIPTOR请求取到了包含一个配置里所有相关描述符内容的一堆数据,这些数据是raw的,即原始的,所有数据不管是配置描述符.接口描述符还是端点描述符都挤在一起,所以得想办法将 ...

随机推荐

  1. 【MicroPython】生成QSTR表 - py\makeqstrdata.py

    转义非字母数字的字符,转义结果为预定义字符串codepoint2name[] def qstr_escape(qst): def esc_char(m): c = ord(m.group(0)) tr ...

  2. 单元测试中如何Mock HttpContext

    最近团队有小伙伴问在单元测试中如何Mock HttpContext. 这是一个好问题,整理了一个实现方案分享给大家. 在C#中,尤其是在单元测试场景下,模拟(Mocking)HttpContext 是 ...

  3. [转帖]shell 把以空格分隔的变量 分割后的每个字段赋值给变量

    比如我有一个变量 "123 456 789",要求以空格为分隔符把这个变量分隔,并把分隔后的字段分别赋值给变量,即a=123:b=456:c=789 共有3中方法: 法一:先定义一 ...

  4. [转帖] Linux文本命令技巧(下)

    https://www.cnblogs.com/codelogs/p/16060108.html 简介# 前一篇介绍了Linux中一些基本的文本命令与使用技巧,但是结合场景过少,本篇结合工作中一些常见 ...

  5. 三十分钟入门基础Go(Java小子版)

    作者:京东科技 韩国凯 前言 Go语言定义 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态.强类型.编 ...

  6. ChatGPT背后的AI背景、技术门道和商业应用(万字长文,建议收藏)

    作者:京东科技 李俊兵 各位看官好,我是球神(江湖代号). 自去年11月30日ChatGPT问世以来,迅速爆火出圈. 起初我依然以为这是和当年Transformer, Bert一样的"热点& ...

  7. elementui-自定表头和在input中遇见的问题

    第一个问题:无法关闭 弹出框 <el-table :data="tableData" style="width: 100%"> <el-tab ...

  8. 【JS 逆向百例】建筑市场监管平台企业数据

    声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关. 逆向目标 目标:住房和城乡建设部&全国建筑市场监管公共服务平台的企业数据 主页:http: ...

  9. 驱动开发:应用DeviceIoContro开发模板

    内核中执行代码后需要将结果动态显示给应用层的用户,DeviceIoControl 是直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数,如下代码是一个经典的驱动开发模板框架, ...

  10. 从嘉手札<2023-11-27>

    "我也没做错什么,放它去看海,总比跟着我好" 很多时候,悲伤总是细细的钻进心底 悄悄的生根发芽 待到了时机 它便如同一株参天巨树般郁郁葱葱 郁郁葱葱的令人发疯 人生本就像是做了一场 ...