USB转I2C转SPI芯片CH341

news2024/11/15 15:35:16

CH340与CH341区别

CH340主要用于将USB转换为各种串口,CH340H和CH340S可以实现USB转并口。
CH341和340的不同之处在于CH341提供I2C和SPI接口,方便连接到I2C或SPI总线操作相关的器件。
CH341主要有6种封装。见表1.
CH341T SSOP-20封装

CH341T SSOP-20封装和丝印

USB 总线转接芯片 CH341 参考版本:3C

1、概述

CH341 是一个 USB 总线的转接芯片,通过 USB 总线提供异步串口、打印口、并口以及常用的 2 线和 4 线等同步串行接口。
在异步串口方式下,CH341 提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的 MODEM 联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到 USB 总线。
在打印口方式下,CH341 提供了兼容 USB 相关规范和 Windows 操作系统的标准 USB 打印口,用于将普通的并口打印机直接升级到 USB 总线。
在并口方式下,CH341 提供了 EPP 方式或 MEM 方式的 8 位并行接口,用于在不需要单片机/DSP/MCU的环境下,直接输入输出数据。
除此之外,CH341B/F/A 芯片还支持一些常用的同步串行接口,例如 2 线接口(SCL 线、SDA 线)和 4 线接口(CS 线、SCK/CLK 线、MISO/SDI/DIN 线、MOSI/SDO/DOUT 线)等。
USB总线转接芯片CH341转换示意图

USB总线转接芯片CH341转换示意图

计算机或者其它USB 主机通过USB D-、D+连接到CH341转接芯片,转换为:异步串口/RS232/RS485/RS422、转换并口打印机为 USB 打印机、EPP 并口和 MEM 并口、常用的 2 线和 4 线同步串口

2、特点

2.1. 概述

全速 USB 设备接口,兼容 USB V2.0,外围元器件只需要电容。
可选:通过外部的低成本串行 EEPROM 定义厂商 ID、产品 ID、序列号等。
支持 5V 电源电压和 3.3V 电源电压。
低成本,直接转换原串口外围设备、原并口打印机、原并口外围设备。
提供 SOP-28、SSOP-20、QFN28 三种无铅封装,兼容 RoHS。
由于是通过 USB 转换的接口,所以只能做到应用层兼容,而无法绝对相同。

2.2. 异步串口

仿真标准串口,用于升级原串口外围设备,或者通过 USB 增加额外串口。
计算机端 Windows 操作系统下的串口应用程序完全兼容,无需修改。
硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps~2Mbps。
支持 5、6、7 或者 8 个数据位,支持奇校验、偶校验、空白、标志以及无校验。
支持串口发送使能、串口接收就绪等传输速率控制信号和 MODEM 联络信号。

通过外加电平转换器件,提供 RS232、RS485、RS422 等接口。
支持以标准的串口通讯方式间接地访问 CH341 外挂的串行 EEPROM 存储器。

2.3. 打印口

标准 USB 打印口,用于升级原并口打印机,兼容相关的 USB 规范。
兼容 Windows 操作系统,在 Windows 2000 和 XP 下无需驱动程序,应用程序完全兼容。
支持各种标准的并口打印机,可选低速打印方式和高速打印方式。
支持 IEEE-1284 规范的双向通讯,支持单向和双向传输打印机。

2.4. 并口

提供两种接口方式:EPP 方式和 MEM 方式。
EPP 方式提供 AS#、DS#、WR#等信号,类似于 EPP V1.7 或 EPP V1.9。
MEM 方式提供 A0、RD#、WR#等信号,类似于存储器读写方式。

2.5. 同步串口

采用 FlexWireTM 技术,通过软件能够实现灵活多样的 2 线到 5 线的同步串口。
作为 Host/Master 主机端,支持 2 线和 4 线等常用的同步串行接口。
2 线接口提供 SCL 和 SDA 两个信号线,支持 4 种传输速度。

3、封装

CH341A、CH341B、CH341C、CH341T、CH341H、CH341F封装示意和引脚定义

CH341A、CH341B、CH341C、CH341T、CH341H、CH341F封装示意和引脚定义

表1

封装形式塑体宽度引脚间距封装说明订货型号
SOP-287.62mm1.27mm标准的 28 脚贴片CH341B
SOP-287.62mm1.27mm标准的 28 脚贴片CH341A
QFN28_4X44*4mm0.4mm方形无引线 28 脚CH341F
SSOP-205.30mm0.65mm缩小型 20 脚贴片CH341C
SSOP-205.30mm0.65mm缩小型 20 脚贴片CH341T
SSOP-205.30mm0.65mm缩小型 20 脚贴片CH341H

注:CH341C/CH341T 仅用于 USB 转串口或者 USB 转 2 线接口
CH341H 仅用于 USB 转 4 线接口等(例如 SPI),新设计不推荐使用,建议用 CH341B 或 CH341F。
CH341A、CH341T 和 CH341H 必须外接晶体及振荡电容。
CH341B、CH341F 和 CH341C 既可以选择外接晶体及电容,也可以选择不外接而直接使用内置时钟。

4、引脚

4.1. 一般说明

CH341 的具体功能由复位后的功能配置决定,同一引脚在不同功能下的定义可能不同。
CH341C/T 和 CH341H 采用 SSOP-20 封装,是 CH341B/A/F 的简装版,三者相同名称的引脚具有相同的功能。CH341C/T 和 CH341H 的多个 VCC 引脚并联后作为 VCC,多个 GND 引脚并联后作为 GND。

4.2. 标准的公共引脚

CH341B、CH341A、CH341F 引脚号CH341C、CH341T 引脚号CH341H引脚号引脚名称类型引脚说明(EB)
2820,1320VCC电源正电源输入端,需要外接 0.1uF 电源退耦电容
12,011,127,18GND电源公共接地端,直接连到 USB 总线的地线
964V3电源在 3.3V 电源电压时连接 VCC 输入外部电源,在 5V 电源电压时外接容量为 0.01uF~0.1uF 退耦电容
1398XI输入晶体振荡的输入端,需要外接晶体及振荡电容。对于 CH341B/F/C 的内置时钟模式,XI 应该接 GND
14109XO输出晶体振荡的反相输出端,需要外接晶体及振荡电容。对于 CH341B/F/C 的内置时钟模式,XO 应该悬空
1075UD+USB 信号直接连到 USB 总线的 D+数据线
1186UD-USB 信号直接连到 USB 总线的 D-数据线
111ACT#输出USB 设备配置完成状态输出,低电平有效
22RSTI输入外部复位输入,高电平有效,内置下拉电阻
2416SCL开漏输出芯片功能配置输出,内置上拉电阻,可以接串行 EEPROM 配置芯片的 SCL 引脚
2315SDA开漏输出及输入芯片功能配置输入,内置上拉电阻,可以接串行 EEPROM 配置芯片的 SDA 引脚

4.3. 异步串口方式的引脚

341B/A/F引脚号341C/T引脚号引脚名称类型引脚说明
53TXD输出串行数据输出
64RXD输入串行数据输入,内置上拉电阻
2719TEN#输入串口发送使能,低电平有效,内置上拉电阻
2517RDY#输出串口接收就绪,低电平有效
2618TNOW输出串口发送正在进行的状态指示,高电平有效
42ROV#三态输出串口接收缓冲区溢出,低电平有效
15CTS#输入MODEM 联络输入信号,清除发送,低有效
16DSR#输入MODEM 联络输入信号,数据装置就绪,低有效
17RI#输入MODEM 联络输入信号,振铃指示,低有效
18DCD#输入MODEM 联络输入信号,载波检测,低有效
20DTR#三态输出MODEM 联络输出信号,数据终端就绪,低有效
21RTS#三态输出MODEM 联络输出信号,请求发送,低有效
19OUT#三态输出自定义通用输出信号,低电平有效
75INT#输入自定义中断请求,上升沿有效,内置上拉电阻
8IN3输入自定义通用输入信号,建议悬空不用
3IN7输入自定义通用输入信号,建议悬空不用
2214SLP#三态输出睡眠状态输出信号,低电平有效

4.4. 打印口方式的引脚

341B/A/F引脚号引脚名称类型引脚说明
22~15D7~D0三态输出8 位并行数据输出,接 DATA7~DATA0
25STB#输出数据选通输出,低电平有效,接 STROBE
4AFD#输出自动换行输出,低电平有效,接 AUTO-FEED
26INI#输出初始化打印机,低电平有效,接 INIT
3SIN#三态输出选中打印机,低电平有效,接 SELECT-IN
5ERR#输入打印机出错,低有效,内置上拉,接 ERROR 或 FAULT
8SLCT输入打印机联机,高有效,内置上拉,接 SELECT 或 SLCT
6PEMP输入打印机缺纸,高有效,内置上拉,接 PEMPTY 或 PERROR
7ACK#输入打印机数据接收应答,上升沿有效,内置上拉,接 ACK
27BUSY输入打印机正忙,高有效,内置上拉,接 BUSY

4.5. 并口方式的引脚

341B/A/F 引脚号引脚名称类型引脚说明
22~15D7~D0双向三态8 位双向数据总线,内置上拉电阻
25WR#输出EPP 方式:写操作指示,低电平写,高电平读;MEM 方式:写选通输出 WR#,低电平有效
4DS#输出EPP 方式:数据操作选通,低电平有效;MEM 方式:读选通输出 RD#,低电平有效
26RST#输出复位输出,低电平有效
3AS#三态输出EPP 方式:地址操作选通,低电平有效;MEM 方式:地址线输出 ADDR 或者 A0
27WAIT#输入对于 CH341B/F/A 芯片:请求等待,低有效,内置上拉
7INT#输入中断请求输入,上升沿有效,内置上拉电阻
5ERR#输入自定义通用输入,内置上拉电阻
8SLCT输入自定义通用输入,内置上拉电阻
6PEMP输入自定义通用输入,内置上拉电阻

4.6. 同步串口方式的引脚

341B/A/F引脚号341H引脚号引脚名称类型引脚说明
2217DIN输入4 线串口数据输入,别名 MISO 或 SDI,内置上拉电阻
2116DIN2输入5 线串口数据输入 2,内置上拉电阻
2015DOUT三态输出4 线串口数据输出,别名 MOSI 或 SDO
1914DOUT2三态输出5 线串口数据输出 2
1813DCK三态输出4 线/5 线串口时钟输出,别名 SCK
17~1512~10CS2~CS0三态输出4 线串口片选输出 2#~0#
24SCL开漏输出2 线串口的时钟输出,内置上拉电阻
23SDA开漏输出及输入2 线串口的数据输入输出,内置上拉电阻
2619RST#输出复位输出,低电平有效
73INT#输入中断请求输入,上升沿有效,内置上拉电阻
5,8,6输入自定义通用输入,内置上拉电阻

5、功能说明

5.1. 一般说明

本手册中的数据,后缀 B 为二进制数,后缀 H 为十六进制数,否则为十进制数。
CH341 是一个 USB 总线的转接芯片,提供异步串口、标准 USB 打印口、并口以及同步串行接口。
本手册主要提供了异步串口和打印口的说明,有关并口和同步串行接口的说明请参考手册(二)。

5.2. 硬件说明

CH341 芯片的部分引脚具有多个功能,所以在芯片复位期间与复位完成后的正常工作状态下具有不同的特性。所有类型为三态输出的引脚,都内置了上拉电阻,在芯片复位完成运行固件后作为输出引脚,而在芯片复位期间三态输出被禁止,由内置的上拉电阻提供上拉电流。如果必要,外部电路可以在电路中再提供外置的上拉电阻或者下拉电阻,从而设定相关引脚在 CH341 芯片复位期间的默认电平,外置上拉电阻或者下拉电阻的阻值通常在 2KΩ~5KΩ之间。例如,并口方式下的 AS#在芯片复位期间三态输出禁止,仅靠上拉电流维持高电平,为了避免外部电路在此期间受到干扰而误动作,可以加阻值为 3KΩ的上拉电阻,以维持较稳定的高电平。

CH341 芯片的 ACT#引脚用于 USB 设备配置完成状态输出。当 USB 设备尚未配置或者取消配置后,该引脚输出高电平,当 USB 设备配置完成后,该引脚输出低电平。ACT#引脚可以外接串了限流电阻的发光二级管 LED,用于指示 USB 设备的配置完成状态。
CH341 芯片内置了 USB 上拉电阻,UD+和 UD-引脚应该直接连接到 USB 总线上。

CH341 芯片内置了电源上电复位电路。CH341 的 RSTI 引脚用于从外部输入异步复位信号;当 RSTI引脚为高电平时,CH341 芯片被复位;当 RSTI 引脚恢复为低电平后,CH341 会继续延时复位 20mS 左右,然后进入工常工作状态。为了在电源上电期间可靠复位并且减少外部干扰,可以在 RSTI 引脚与VCC 之间跨接一个容量为 0.1uF 左右的电容。

CH341A/T/H 芯片正常工作时需要外部向 XI 引脚提供 12MHz 的时钟信号。一般情况下,时钟信号由 CH341 内置的反相器通过晶体稳频振荡产生。外围电路只需要在 XI 和 XO 引脚之间连接一个 12MHz的晶体,并且分别为 XI 和 XO 引脚对地连接振荡电容。
CH341B/F/C 芯片支持外部时钟和内置时钟两种模式,外部时钟模式参考上述 CH341A 外接 12MHz晶体及电容;内置时钟模式应该将 XI 引脚接 GND,并悬空 XO 引脚,从而节约外部的晶体及振荡电容。

CH341 芯片支持 5V 电源电压或者 3.3V 电源电压。当使用 5V 工作电压时,CH341 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 0.01uF~0.1uF 的电源退耦电容。当使用 3.3V 工作电压时,CH341 芯片的 V3 引脚应该与 VCC 引脚相连接,同时输入外部的 3.3V 电源,并且与 CH341 芯片相连接的其它电路的工作电压不能超过 3.3V。

5.3. 功能配置

CH341 芯片通过 SCL 和 SDA 引脚配置芯片的功能,有两种方式:直接组合配置和外部芯片配置。
直接组合配置是将 SCL 引脚和 SDA 引脚进行连接组合,配置 CH341 的功能。其特点是:无需增加额外成本,但是只能使用默认的厂商 ID 和产品 ID 等信息。在直接组合配置方式下,除了产品 ID 之外,其它信息与外部芯片配置的默认值相同。CH341H 芯片在内部已经将 SDA 接低电平。

SCL 和 SDA 的引脚状态芯片功能默认的产品 ID
SDA 悬空,SCL 悬空USB 转异步串口,仿真计算机串口5523H
SDA 接低电平,SCL 悬空USB 转 EPP/MEM 并口及同步串口5512H
SDA 与 SCL 直接相连转换并口打印机到标准 USB 打印机5584H

外部芯片配置是由 SCL 引脚和 SDA 引脚组成两线同步串口,连接外部的串行 EEPROM 配置芯片,通过 EEPROM 芯片定义芯片功能、厂商 ID、产品 ID 等。配置芯片应该选用 7 位地址的 24CXX 系列芯片,例如:24C01A、24C02、24C04、24C16 等。其特点是:可以灵活地定义芯片功能和 USB 产品的各种常用识别信息。通过 Windows 下的工具软件 CH341CFG.EXE,可以随时在线修改串行 EEPROM 中的数据,重新定义 CH341 的芯片功能和各种识别信息。

一般情况下,复位后 CH341 芯片内置固件首先通过 SCL 和 SDA 引脚查看外部配置芯片中的内容,如果内容无效,那么根据 SCL 和 SDA 的状态使用直接组合配置。为了避免上述配置过程使用 SCL 和SDA 影响 2 线同步串口,可以在配置期间将 CH341 的 ACT#引脚通过 2KΩ的电阻置为低电平,那么 CH341将被强行配置为 EPP/MEM 并口及同步串口,而不会主动查看外部配置芯片。
CH341B 和 CH341F 以及 CH341C 芯片支持批量化功能程序定制以及批量化预置产品 ID 等。
下表是外部串行 EEPROM 配置芯片中的内容。

字节地址简称说明默认值
00HSIG外部配置芯片有效标志,首字节必须是 53H,其它值则配置数据无效,使用直接组合配置53H
01HMODE选择通讯接口:23H=串口,12H=打印口或并口,其它值则配置数据无效,使用直接组合配置23H 或 12H
02HCFG芯片的具体配置,参考下表按位说明FEH
03H(保留单元,必须为 00H 或者 0FFH)00H
05H~04HVIDVendor ID,厂商识别码,高字节在后,任意值1A86H
07H~06HPIDProduct ID,产品识别码,高字节在后,任意值55??H
09H~08HRIDRelease ID,产品版本号,高字节在后,任意值0100H
17H~10HSNSerial Number,产品序列号字符串,长度为 812345678
7FH~20HDID打印口:按照 IEEE-1284 定义的打印机的设备 ID 字符串00H,00H
PIDS串口或者并口:非打印机的产品说明字符串
其它地址(保留单元)00H 或 FFH

下表是 CFG 定义的具体配置,按位说明。

位地址简称说明默认值
7PRT选择通讯接口:对于串口,该值必须为 1。对于非串口选择:0=标准 USB 打印口;1=并口1
6PWRUSB 设备供电方式:0=外部及 USB;1=仅 USB 总线1
5SN-S产品序列号字符串:0=有效;1=无效1
4DID-S打印机的设备 ID 字符串:0=有效;1=无效1
PID-S非打印机的产品说明字符串:0=有效;1=无效1
3SPD打印口的数据传输速度:0=高速;1=低速/标准1
2SUSPUSB 空闲时自动挂起及低功耗:0=禁止;1=允许1
1 ,0PROT定义 USB 设备的配置描述符中的接口协议:对于串口或者并口,有效值是 0 到 3,建议为 0,对于标准 USB 打印口,有效值是 1 和 2,建议为 21,0

5.4. 异步串口

异步串口方式下 CH341 芯片的引脚包括:数据传输引脚、硬件速率控制引脚、工作状态引脚、MODEM联络信号引脚、辅助引脚。
数据传输引脚包括:TXD 引脚和 RXD 引脚。串口空闲时 TXD 和 RXD 应该为高电平。
硬件速率控制引脚包括:TEN#引脚和 RDY#引脚。TEN#是串口发送使能,当其为高电平时,CH341将暂停从串口发送数据,直到 TEN#为低电平才继续发送。RDY#引脚是串口接收就绪,当其为高电平时,说明 CH341 还未准备好接收,暂时不能接收数据,有可能是芯片正在复位、USB 尚未配置或者已经取消配置、或者串口接收缓冲区已满等。

工作状态引脚包括:TNOW 引脚和 ROV#引脚。TNOW 以高电平指示 CH341 正在从串口发送数据,发送完成后为低电平,在半双工串口方式下,TNOW 可以用于指示串口收发切换状态。ROV#以低电平指示 CH341 内置的串口接收缓冲区即将或者已经溢出,后面的数据将有可能被丢弃,正常情况下接收缓冲区不会溢出,所以 ROV#应该为高电平。

MODEM 联络信号引脚包括:CTS#引脚、DSR#引脚、RI#引脚、DCD#引脚、DTR#引脚、RTS#引脚。
所有这些 MODEM 联络信号都是由计算机应用程序控制并定义其用途,而非直接由 CH341 控制,如果需要较快的速率控制信号,可以用硬件速率信号代替。

辅助引脚包括:INT#引脚、OUT#引脚、IN3 引脚和 IN7 引脚。INT#是自定义的中断请求输入,当其检测到上升沿时,计算机端将收到通知;OUT#是通用的低电平有效的输出信号,计算机应用程序可以设定其引脚状态。这些辅助引脚都不是标准的串口信号,用途类似于 MODEM 联络信号。

CH341 内置了独立的收发缓冲区,支持单工、半双工或者全双工异步串行通讯。串行数据包括 1个低电平起始位、5 到 9 个数据位、1 或 2 个高电平停止位,支持奇校验/偶校验/标志校验/空白校验。


CH341 支持常用通讯波特率:50、75、100、110、134.5、150、300、600、900、1200、1800、2400、3600、4800、9600、14400、19200、28800、33600、38400、56000、57600、76800、115200、128000、153600、230400、460800、921600、1500000、2000000 等。外部时钟模式下串口发送信号的波特率误差小于 0.3%,内置时钟模式下串口发送信号的波特率误差小于 1.3%,串口接收信号的允许波特率误差约 2%。

在计算机端的 Windows 操作系统下,CH341 的驱动程序能够仿真标准串口,所以绝大部分原串口应用程序完全兼容,通常不需要作任何修改。除此之外,CH341 还支持以标准的串口通讯方式间接访问 CH341 外挂的串行 EEPROM 存储器。
CH341 可以用于升级原串口外围设备,或者通过 USB 总线为计算机增加额外串口。通过外加电平转换器件,可以进一步提供 RS232、RS485、RS422 等接口。

5.5. 打印口

打印口方式下 CH341 芯片的引脚可以参照标准 Centronic 打印机接口的信号。
CH341 提供了标准的 USB 打印口,兼容 USB 规范和 IEEE-1284 规范以及 Windows 操作系统,在计算机端的 Windows 2000、XP 和 Vista 操作系统下无需驱动程序(实际情况是 Windows 已经自带驱动程序),所有驱动程序和支持打印的应用程序都完全兼容,不需要作任何修改。

CH341 的打印口支持两种 USB 打印机的接口协议,可以在外部 EEPROM 配置芯片中定义,通过 USB设备的配置描述符指明接口协议:PROT=1 为单向传输接口,PROT=2 为双向传输接口。默认情况下,CH341 选择双向传输接口,数据传输效率比单向接口稍高,符合 IEEE-1284 规范。

CH341 的打印口支持两种数据传输速度:低速打印方式(标准打印方式)和高速打印方式。在低速方式下,CH341 需要检测打印机的应答信号 ACK#和忙状态信号 BUSY,并且数据选通脉冲 STB#的有效宽度是 1uS,理想状态下的数据传输速度为 500KB/S。在高速方式下,数据选通脉冲 STB#的有效宽度是 0.5uS,理想状态下的数据传输速度为 800KB/S。
CH341 可以用于将各种标准的原并口打印机转换为 USB 打印机。

6、参数

6.1. 绝对最大值(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)

名称参数说明最小值最大值单位
TA工作时的环境温度, CH341B/F/C/A/T/H 芯片,外部时钟-4085
CH341B/F/C 芯片,内置时钟-2070
TS储存时的环境温度-55100
VCC电源电压(VCC 接电源,GND 接地)-0.56.5V
VIO输入或者输出引脚上的电压-0.5VCC+0.5V

6.2. 电气参数

(测试条件:TA=25℃,VCC=5V,不包括连接 USB 总线的引脚)
(如果电源电压为 3.3V,则表中所有电流参数需要乘以 40%的系数)

名称参数说明最小值典型值最大值单位
VCC电源电压 ,V3 引脚不连 VCC 引脚4.055.5V
V3 引脚连接VCC 引脚,外部时钟3.03.33.6V
CH341B/F/C 内置时钟3.13.33.6V
ICC工作时的总电源电流 , CH341A/T/H 芯片,VCC=5V1230mA
CH341B/F/C 芯片,VCC=5V820
VCC=3.3V615
ISLPUSB 挂起时的总电源电流,VCC=5V0.120.25mA
VCC=3.3V0.040.12mA
VIL低电平输入电压-0.50.7V
VIH高电平输入电压2.0VCC+0.5V
VOL低电平输出电压(5mA 吸入电流)0.5V
VOH高电平输出电压(4mA 输出电流) (芯片复位期间仅 100uA 输出电流)VCC-0.5V
IUPsSCL 和 SDA 引脚的高电平输出电流100200500uA
IUP内置上拉电阻的输入端的输入电流3120250uA
IDN内置下拉电阻的输入端的输入电流-40-100-250uA
VR电源上电复位的电压门限2.12.62.8V

6.3. 基本时序参数(测试条件:TA=25℃,VCC=5V 或者 VCC=V3=3.3V)

名称参数说明最小值典型值最大值单位
FCLKXI 引脚的输入时钟信号的频率11.9812.0012.02MHz
FCLK0CH341B/F/C 内置时钟模式下的内部频率11.7612.0012.24MHz
TPR电源上电的复位时间92040mS
TRI外部复位输入的有效信号宽度100nS
TRD外部复位输入后的复位延时30mS

6.4. 打印口时序参数(测试条件:TA=25℃,VCC=5V 或者 VCC=V3=3.3V,参考附图)

名称参数说明最小值典型值最大值单位
TWPRT数据选通 STB#的低电平有效宽度, 低速80084010000nS
高速40042010000nS
TSPRT数据选通 STB#的高电平间隔宽度,低速800nS
高速560nS
TDSSTB#有效前的数据建立时间240nS
TDHSTB#有效后的数据保持时间240nS
TBZ忙状态 BUSY 低电平到 STB#有效160nS
TWA接收应答 ACK#的低电平有效宽度100nS
TAK接收应答 ACK#上升沿到 STB#有效160nS

CH341时序图

CH341时序图

7、应用

7.1. CH341基本连接采用外部时钟(下图)

CH341基本连接采用外部时钟

CH341基本连接采用外部时钟

P3 是 USB 端口,USB 总线包括一对 5V 电源线和一对数据信号线,通常,+5V 电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB 总线提供的电源电流通常可以达到 500mA,一般情况下,CH341 芯片和低功耗的 USB 产品可以直接使用 USB 总线提供的 5V 电源。如果 USB 产品通过其它供电方式提供常备电源,那么 CH341 也应该使用该常备电源,如果需要同时使用 USB 总线的电源,那么可以通过阻值约为 1Ω 的电阻连接 USB 总线的 5V 电源线与 USB 产品的 5V 常备电源,并且两者的接地线直接相连接。
C13 和 C14 是独石或高频瓷片电容,C13 容量为 0.01μF 到 0.1μF,用于 CH341 内部电源节点退耦,C14 容量为 0.1μF,用于外部电源退耦。

晶体 X3、电容 C11 和 C12 用于时钟振荡电路。X3 的频率是 12MHz,C11 和 C12 是容量为 15pF~30pF 的独石或高频瓷片电容。
现有的按 CH341A/T 芯片设计的成品板,如果用内置时钟的 CH341B/C 芯片替换 CH341A/T,那么可以去掉 X3 和 C11,并将 C12 短路或者换成 0Ω 电阻。

如果 USB 产品使用 USB 总线的电源,并且在 VCC 与 GND 之间并联了较大的电容 C15,使得电源上电过程较慢并且电源断电后不能及时放电,那么 CH341 将不能可靠复位。可以在 RSTI 引脚与 VCC 之间跨接一个容量为 0.1μF 或者 0.47μF 的电容 C26 延长复位时间。
发光二极管 L1 和限流电阻 R1 是可选器件,通常被省去。外部串行 EEPROM 配置芯片 U3 是可选器件,当 U3 被省去时,可以通过 SCL 和 SDA 引脚连接组合选择芯片功能。

在设计印刷线路板 PCB 时,需要注意:退耦电容 C13 和 C14 尽量靠近 CH341 的相连引脚;使 D+和 D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短 XI和 XO 引脚相关信号线的长度,为了减少高频干扰,可以在相关元器件周边环绕地线或者覆铜。

7.2. 简化的基本连接采用内部时钟(下图)

如果使用内置时钟的 CH341B/F/C 芯片,那么可以免去外部晶体及振荡电容,电路更简洁。
退耦电容 C13 和 C14 是必要的,设计 PCB 时应该尽量靠近 CH341 的相连引脚。
简化的基本连接采用内部时钟

简化的基本连接采用内部时钟

7.3. 转换并口打印机(下图)

图中将 SDA 引脚连接到 SCL 引脚,从而使 CH341 配置为标准 USB 打印口,用于将并口打印机转换为 USB 打印机。图中右边的信号线对应于 IEEE-1284 规范或标准 Centronic 打印机接口的信号线。
实际应用中,考虑到阻抗匹配,建议参考 IEEE-1284 规范中的要求,为打印口的各信号线加上阻值约为 2KΩ~5KΩ的上拉电阻,并为打印口的各信号线串接阻值约为 20Ω~40Ω的电阻后再与原并口打印机相连接。
转换并口打印机

转换并口打印机

7.4. USB转TTL异步串口(下图)

图中将 SDA 引脚和 SCL 引脚悬空,从而使 CH341 配置为异步串口。图中右边上半部的信号线对应于常用的串口信号及 MODEM 信号,通过 MC1488/MC1489、MAX232/ICL232 或者 MAX213/ADM213/SP213将 TTL 电平转换为 RS232 电平后,可以进一步转换为 RS232C 串口。
图中右边的信号线可以只连接 RXD、TXD、TEN#以及公共地线,其它信号线根据需要选用,不需要时都可以悬空。由于 TEN#引脚为低电平时 CH341 才能发送,所以 TEN#应该接低电平或 GND。
USB转TTL异步串口

USB转TTL异步串口

7.5. USB转3线RS232串口(下图)

图中是 USB 转 RS232 串口,P6 是 DB9 插针,这种 3 线制串口是最基本也最常用的异步串口。
USB转3线RS232串口

USB转3线RS232串口

7.6. USB转RS485接口(下图)

晶体、振荡电容、电源退耦电容可以参考基本连接图。TEN#直接接地所以一直允许 CH341 通过串口发送,TNOW 用于控制 RS485 总线半双工收发器 U5 的收发状态。
USB转RS485接口

USB转RS485接口

7.7. 连接单片机串口(下图)

图中是单片机/MCU 通过串口连接 CH341,实现单片机与计算机之间的 USB 通讯。
如果串口通讯波特率较高或者单片机来不及接收,那么可以用单片机的任意一个输出引脚控制CH341 的 TEN#引脚,当单片机空闲而可以接收串口数据时置 TEN#为低电平,当单片机较忙或者不便于接收串口数据时置 TEN#为高电平,使 CH341 暂停发送下一个字节,实现速率控制。
连接单片机串口

连接单片机串口

7.8. 串口对连(下图)

己方的 RDY#引脚连接对方的 TEN#引脚,只有己方准备好了接收,对方才能发送,所以无论串口通讯速率多高,双方都能保持数据同步,不会丢失数据。如果串口通讯速率较高,或者双方速度不匹配,或者低速单片机连接 CH341 的串口,通常应该使用硬件速率控制信号保证数据同步。
串口对连

串口对连

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

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

相关文章

【PostgreSQL 小课】日志及审计 01:日志

日志及审计 01:日志 以下内容是来自于我的知识星球:《PostgreSQL 小课》专栏,有需要可以关注一下 PostgreSQL 提供了非常丰富的日志基础设施。能够检查日志是每个 DBA 的关键技能——日志提供了关于集群过去的操作、当前正在进行的操作以及发…

免费,C++蓝桥杯等级考试真题--第11级(含答案解析和代码)

C蓝桥杯等级考试真题--第11级 答案:D 解析: A. a b; b a; 这种方式会导致a和b最终都等于b原来的值,因为a的原始值在被b覆盖前没有保存。 B. swap(a,b); 如果没有自定义swap函数或者没有包含相应的库,这个选项会编…

电容十大品牌供应商

十大电容器品牌,电解电容-陶瓷电容-超级电容器品牌排行榜-Maigoo品牌榜

Node安装配置

一、下载 Node官网下载地址:https://nodejs.org/en/ 二、安装 双击上面的msi扩展安装包开始安装,基本一路Next就行了 推荐安装目录自定义,最好不要放在C盘 检查安装是否成功 Win R 快捷键,输入 cmd 打开命令窗口输…

如何画系统架构图学习

原文链接:https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E4%BB%8E%200%20%E5%BC%80%E5%A7%8B%E5%AD%A6%E6%9E%B6%E6%9E%84/51%20%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE%EF…

C++ 命名空间|缺省参数|函数重载

一、命名空间 1.什么是命名空间 命名空间&#xff08;namespace&#xff09;是C中的一种机制&#xff0c;用来解决不同代码库之间的命名冲突问题。 先来看一个例子&#xff1a; #include <iostream>void print() {std::cout << "Hello from print()"…

黑马es学习

es 0. 基础概念0.1 倒排索引0.2 文档、索引0.3 与mysql对比 1 基本操作1.1 mapping 索引库操作1.2 单个文档CRUD 3. DSL查询3.1 查询所有3.2 全文检索3.3 精确查询3.4 复合查询-相关性得分3.5 分页3.6 高亮3.7 总结 2. RestClient4. aggs聚合4.1 bucket&#xff08;分桶&#x…

C++ | Leetcode C++题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; class Solution { public:int candy(vector<int>& ratings) {int n ratings.size();int ret 1;int inc 1, dec 0, pre 1;for (int i 1; i < n; i) {if (ratings[i] > ratings[i - 1]) {dec 0;pre ratings[i] rati…

MySQL-数据处理(1)

029-数据处理函数之获取字符串长度 select length(我是Cupid); select char_length(我是Cupid);concat (concatenate) select concat(cu, pid, so, handsome);030-去除字符串前后空白-trim select trim( a b c );select trim(leading 0 from 000110); select t…

【C语言】指针(4)

一、回顾 在这之前&#xff0c;我们学习了很多关于指针的内容&#xff0c;我们先在这里简单的回顾一下。 1、一级指针 int* p; -- 整形指针-指向整形的指针 char* p; ... void* p;... ... 2、二级指针 int** p; char** p; ... 3、数组指针 -- 指向数组的指针 int (*p)[ ]…

Docker Swarm集群部署管理

Docker Swarm集群管理 文章目录 Docker Swarm集群管理资源列表基础环境一、安装Docker二、部署Docker Swarm集群2.1、创建Docker Swarm集群2.2、添加Worker节点到Swarm集群2.3、查看Swarm集群中Node节点的详细状态信息 三、Docker Swarm管理3.1、案例概述3.2、Docker Swarm中的…

拓扑排序-java

主要通过宽度优先搜索&#xff08;BFS&#xff09;来实现有向无环图的拓扑序列&#xff0c;邻接表存储图。数组模拟单链表、队列&#xff0c;实现BFS基本操作。 文章目录 前言 一、有向图的拓扑序列 二、算法思路 1.拓扑序列 2.算法思路 三、使用步骤 1.代码如下&#xff08;示…

【C++】C++ QT实现Huffman编码器与解码器(源码+课程论文+文件)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【西瓜书】大题

1.线性回归 思路&#xff1a;ywxb&#xff0c;w为一维数组&#xff0c;求均方误差MSE&#xff0c;对w和b分别求偏导为0得到关于w和b的闭式求解。预测第十年的代入ywxb求解即可。 2.查准率、查全率 思路&#xff1a;先计算每个算法测试结果的混淆矩阵&#xff0c;再根据混淆矩阵…

Matlab|混合策略改进的蝴蝶优化算法

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序主要对蝴蝶算法&#xff08;BOA&#xff09;进行改进&#xff0c;参考文献《基于改进蝴蝶优化算法的冗余机器人逆运动学求解》&#xff0c;有如下改进策略&#xff1a; 改进1&#xff1a;采用反向学习策…

RK3568平台(显示篇)FrameBuffer 应用编程

一.FrameBuffer介绍 FrameBuffer&#xff08;帧缓冲器&#xff09;是一种计算机图形学概念&#xff0c;用于在显示器上显示图形和文本。在 计算机显示系统中&#xff0c;FrameBuffer 可以看作是显存的一个抽象概念&#xff0c;用于存储显示屏幕上显示 的像素点的颜色和位置信息…

ElementUi el-tree动态加载节点数据 load方法触发机制

需求背景&#xff1a;需要根据点击后获取的数据动态渲染一个 el-tree&#xff0c;同时渲染出来的 el-tree&#xff0c;需要点击节点时才能获取该节点的层数的获取&#xff0c;如图所示&#xff0c;我需要点击“组”节点才能渲染“设备列表”树&#xff0c;同时“设备列表”树的…

Vue16-绑定class样式

一、vue绑定class样式 1-1、需求一&#xff1a;字符串写法 vue实现class样式绑定 1-2、需求二 点击div&#xff0c;随机切换样式。 math.random()&#xff1a;随机数的范围[0, 1) 1-3、需求三&#xff1a;数组写法 样式的追加 1-4、需求四 &#xff1a;对象写法 二、vue绑定…

浅解Reids持久化

Reids持久化 RDB redis的存储方式&#xff1a; rdb文件都是二进制&#xff0c;很小&#xff0c;里面存的是数据 实现方式 redis-cli链接到redis服务端 使用save命令 注&#xff1a;不推荐 因为save命令是直接写到磁盘里面&#xff0c;速度特别慢&#xff0c;一般都是redis…

MySQl基础----Linux下搭建mysql软件及登录和基本使用(附实操图超简单一看就会)

绪论​ 涓滴之水可磨损大石&#xff0c;不是由于他力量强大&#xff0c;而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力&#xff0c;才能够获得那些技巧。 ——贝多芬。新开MySQL篇章&#xff0c;本章非常基础包括如何在Linux上搭建&#xff08;当然上面的SQL语句你在其他能执行…