USB转串口芯片CH340的使用

目前供电部分已经设计完成,而对于数据的处理还未结束。通过Type-C的数据是USB传输协议的。与MCU使用的TTL通信协议不同。所以需要通过一颗USB转串口芯片进行转换。

通常使用CH340和CP2102。这里选择CH340。

      

 1.CH340系列芯片的选择

打开CH340的数据手册,发现该芯片有很多的型号,那应该如何选择呢?

区别:

最显著的区别是引脚数量: 

G/C/B:16个引脚。          T:20个引脚。            K/E/X:10个引脚。            N:8个引脚。

G型号推出时间最早,不内置时钟;C型号兼容G,内置时钟;N/K/E/B也内置时钟;B型号兼容G,内置EPROM用于配置序列号;E型号使用MSOP微小外形封装;K型号内置三只二极管用于防止独立供电时 MCU 通过 I/O 引脚对 CH340 电流倒灌,K有个0引脚,它是GND,是可选连接;T型号带有USB状态指示引脚ACT和串口发送指示引脚TNOW;N型号引脚最少,可节约PCB使用面积。

常用型号:

因为之前并未做过CH340的设计,通过一些模块设计发现CH340C和CH340N的使用很多。

这两款芯片都不需要外接时钟晶振。C比N多了8个引脚。分别是:7引脚NC、8引脚OUT#/DTR#、15引脚R232、13引脚DTR#、12引脚DCD#、11引脚RI#、10引脚DSR#、9印尼叫CTS#。

查阅数据手册,多出来的9~13这6个引脚是和一个叫MODEM联络的有关。7引脚是空脚,必须悬空。8引脚是MODEM 通用输出信号,软件定义, 低有效。部分批次 CH340C 可选切换为第二 DTR#,即批号 4 开头且末 3 位大于 B40,则可为 8#引脚加 4.7KΩ 下拉电阻将其改为 DTR#。

这时发现它俩的主要差别在于MODEM联络。

MODEM:

 调制解调器(英语:Modem,modulator-demodulator的英文缩写)是一个将数字信号调变模拟信号上进行传输,并解调收到的模拟信号以得到数字信号的电子设备。它的目标是产生能够方便传输的模拟信号并且能够通过解码还原原来的数字信号。根据不同的应用场合,调制解调器可以使用不同的手段来传送模拟信号,比如使用光纤射频无线电或电话线等。

2、CH340C的使用

                         

引脚功能
VCC正电源输入端,支持3.3V和5V。需要外接 0.1uF 电源退耦电容
GND公共地
V3在3.3V 电源电压时连接VCC输入外部电源,在5V电源电压时外接容量为0.1uF退耦电容
UD+和UD-分别连接USB的D+和D-
TXD串行数据输出端
RXD串行数据输入端
R232用于辅助RS232使能,高电平有效。R232 为高电平时 RXD 引脚输入自动反相
RTS#MODEM 联络输出信号,请求发送,低(高)有效
DTR#MODEM 联络输出信号,数据终端就绪,低(高)有效
DCD#MODEM 联络输入信号,载波检测,低(高)有效
RI# MODEM 联络输入信号,振铃指示,低(高)有效
DSR#MODEM 联络输入信号,数据装置就绪,低(高)有效
CTS#MODEM 联络输入信号,清除发送,低(高)有效

OUT#

MODEM 通用输出信号,软件定义,低有效。部分批次 CH340C 可选切换为第二 DTR#

NCno connect,空脚

注意:

DTR和RTS这两个MODEM联络信号是由计算机应用程序控制并定义其用途的,在软件下发点击下载按钮后,通常会给DTR拉低、RTS拉高,然后延时一段时间后,拉高DTR#,RTS#恢复到低电平。

TXD输出电平电压和RXD的电平电压与VDD供电电压一致。

3、电路设计

前面文章中,已经将5V降压为3.3V。而后面的MCU我选的是ESP8266,他的供电电压为3.3V。所以这里的VCC为3.3V。

D1与R2的作用(我把D1换成R10了,省元器件。都一样,要保险上D1)

注意这里TXD和RXD接了二极管和电阻。他们的作用是什么呢?

在实际应用中,当CH340与MCU一同使用时,如果串口直连的双方器件有一方不需要供电工作时,要注意电流倒灌导致未供电的芯片继续工作的情况。或者是在串口下载时,当MCU需要复位以实现下载时,发现复位不成功,可能也是由于该原因造成的。

通过反向二极管的原理是:在CH340发送数据时,发送高电平时二极管截止,但是由于对端RXD默认上拉也是高电平不会有采样问题,而发送低电平时二极管导通,对端RXD接收到低电平,因此可以正常通讯。并防止了CH340的TXD发送引脚将电流倒灌到MCU。

通过限流电阻的原理是:倒灌电流让芯片由于引脚电流过大超过了芯片设计时容忍的上限,导致芯片内部电路出现异常。因此加一个限流电阻就可以了。

自动下载电路

RST和IO0与NPN型三极管集电极连接,并通过上拉电阻连接到VCC,这里的上拉电阻和VCC,它们是存在于ESP8266引脚内部的。

这里电阻和三极管的组合可以使用一个集成芯片:UMH3N。图如下。

IO0连接的是ESP8266的GPIO0端口,该引脚功能为烧录固件或者运行模式控制端口。

ESP8266如何进入下载模式呢?概括来说下面两句话:

1.在复位上升沿时,GPIO0为1,则进入FLASH运行模式,此时内部程序正常运行。

2.在复位上升沿时,GPIO0为0,则进入BOOT模式,此时可通过串口下载程序。

分析RTS和DTR是如何影响IO0与RST的:

        RTS=1,DTR=1。Q1截止,Q2截止。IO0、RST悬空,默认高电平。

        RTS=0,DTR=0。Q1截止,Q2截止。IO0、RST悬空,默认高电平。

        RTS=0,DTR=1。Q2导通,Q1截止。RST=0,IO0=1;

        RTS=1,DTR=0。Q1导通,Q2截止。RST=1,IO0=0;

这里需要知道的是RTS和DTR状态可由程序决定。

// 自动下载代码
// 这里用变量Download表明程序下载按钮的状态

if( Download )    //下载动作为真
(
    DTR = 1;
    RTS = 0;  
    // 此时RST = 0,GPIO0 = 1
    // 触发复位

    Delay();

    DTR = 0;
    RTS = 1;
    // 此时RST = 1,GPIO0 = 0
    // RST通常会接电容,他的跳变延迟一会儿,就检测到了GPIO = 0;
    // 即上跳变发生,GPIO = 0进入烧录。
    
    Delay();
    // 延时确保跳变的发生
    
    DTR = 1;
    // RST与GPIO悬空,不受自动下载电路影响
) 
   

DownloadCode();   
 // 向MCU发送烧录程序
 // 下载是否完成,电脑上的软件会提示

补充一下R3与R4,作用是分压与限流。防止三极管烧坏。

CH340 USB串口USB打印口解决方案概述: 该设计方案CH340USB串口USB打印口、USBIrDA的原理图和PCB,串口含DB9的RS232、低成本RS232、TTL的UART等各种版本,打印口含DB36连接器、DB25插孔两种版本,USB红外适配器、USBIrDA含6脚、8脚红外收发器两种,可用于OEM产品制造商。 附件内容截图: CH340简述: CH340是一个USB 总线的芯片,实现USB串口或者USB打印口。在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。有关USB打印口的说明请参考手册(二)CH340DS2。 CH340特 点: > 全速USB 设备接口,兼容USB V2.0。 > 仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。 > 计算机端Windows 操作系统下的串口应用程序完全兼容,无需修改。 > 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。 > 支持常用的MODEM 联络信号RTS、DTR、DCD、RI、DSR、CTS。 > 通过外加电平换器件,提供RS232、RS485、RS422 等接口。 > CH340R 芯片支持IrDA 规范SIR红外线通讯,支持波特率2400bps到115200bps。 > 软件兼容CH341,可以直接使用CH341的驱动程序。 > 支持5V 电源电压和3.3V电源电压甚至3V 电源电压。 > CH340CCH340E 和CH340B 内置时钟,无需外部晶振,CH340B 还内置EEPROM 用于配置序列号等。 > 提供SOP-16 和SSOP-20以及MSOP-10无铅封装,兼容RoHS。 型号区别: CH340CCH340E以及CH340B内置时钟,无需外部晶振。 CH340B还内置EEPROM用于配置序列号,以及部分功能可定制等。 CH340R 内置简易RS232,无需外部RS232芯片,暂无现货。 所有附件内容如下: 技术手册:CH340DS1.PDF; 驱动程序: 1、CH341SER.EXE(Windows系统,包含WIN10 -32/64位); 2、 CH341SER_ANDROID.ZIP(安卓免驱应用库API); 3、 CH341SER_LINUX.ZIP(Liunx系统) 4、 CH341SER_MAC.ZIP (苹果MAC OS) 原理图/PCB: CH340PCB.ZIP
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值