USB转I2C转SPI芯片CH341

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 的串口,通常应该使用硬件速率控制信号保证数据同步。
串口对连

串口对连

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型基础——从零实现一个Transformer(2)

大模型基础——从零实现一个Transformer(1) 一、引言 上一章主要实现了一下Transformer里面的BPE算法和 Embedding模块定义 本章主要讲一下 Transformer里面的位置编码以及多头注意力 二、位置编码 2.1正弦位置编码(Sinusoidal Position Encoding) 其中: pos&…

【JVM】从编译后的指令集来再次理解++i和i++的执行顺序

JVM为什么要选用基于栈的指令集架构 与基于寄存器的指令集架构相比,基于栈的指令集架构不依赖于硬件,因此可移植性更好,跨平台性更好因为栈结构的特性,永远都是先处理栈顶的第一条指令,因此大部分指令都是零地址指令&…

SpringMVC[从零开始]

SpringMVC SpringMVC简介 1.1什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专…

对猫毛过敏?怎么有效的缓解过敏症状,宠物空气净化器有用吗?

猫过敏是一种常见的过敏反应,由猫的皮屑、唾液或尿液中的蛋白质引起。这些蛋白质被称为过敏原,它们可以通过空气传播,被人体吸入后,会触发免疫系统的过度反应。猫过敏是宠物过敏中最常见的类型之一,对许多人来说&#…

【Java】static 修饰变量

static 一种java内置关键字,静态关键字,可以修饰成员变量、成员方法。 static 成员变量 1.static 成员变量2.类变量图解3.类变量的访问4.类变量的内存原理5.类变量的应用 1.static 成员变量 成员变量按照有无static修饰,可以分为 类变量…

Python学习打卡:day02

day2 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 8、字符串的三种定义方式 字符串在Python中有多种定义形式 单引号定义法: name 黑马程序员双引号定义法: name "黑马程序…

如何为色盲适配图形用户界面

首发日期 2024-05-25, 以下为原文内容: 答案很简单: 把彩色去掉, 测试. 色盲, 正式名称 色觉异常. 众所周知, 色盲分不清颜色. 如果用户界面设计的不合理, 比如不同项目只使用颜色区分, 而没有形状区分, 那么色盲使用起来就会非常难受, 甚至无法使用. 色盲中最严重的情况称为…

2024PTA算法竞赛考试编程题代码

目录 前言 题目和代码 L1-006 连续因子 L1-009 N个数求和 L2-004 这是二叉搜索树吗? L2-006 树的遍历 L2-007 家庭房产 L4-118 均是素数 L4-203 三足鼎立 L2-002 链表去重 L2-003 月饼 L2-026 小字辈 L4-201 出栈序列的合法性 L4-205 浪漫侧影 前言 所…

【数据结构】AVL树(平衡二叉树)

目录 一、AVL树的概念二、AVL树的节点三、AVL树的插入四、AVL树的旋转1.插入在较高左子树的左侧,使用右单旋2.插入在较高右子树的右侧,使用左单旋3.插入较高左子树的右侧,先左单旋再右单旋4.插入较高右子树的左侧,先右单旋再左单旋…

unity基础(五)地形详解

目录 一 创建地形 二 调整地形大小 三 创建相邻地形 四 创建山峰 五 创建树木 七 添加风 八 添加水 简介: Unity 中的基础地形是构建虚拟场景的重要元素之一。 它提供了一种直观且灵活的方式来创建各种地形地貌,如山脉、平原、山谷等。 通过 Unity 的地形…

C51学习归纳9 --- I2C通讯学习(重点)

首先,我自己学习过以后的直观感觉,通信协议是单片机的灵魂之一,只有规定好了通信协议我们才能够正确的接收到信息,才能实现更加深入的研究。所以这一部分是需要好好学习的。 本节借助一个可存储的芯片AT24C02,进行在I2…

开源低代码平台技术为数字化转型赋能!

实现数字化转型升级是很多企业未来的发展趋势,也是企业获得更多发展商机的途径。如何进行数字化转型?如何实现流程化办公?这些都是摆在客户面前的实际问题,借助于开源低代码平台技术的优势特点,可以轻松助力企业降低开…

【设计模式】创建型设计模式之 建造者模式

文章目录 一、介绍定义UML 类图 二、用法1 简化复杂对象具体构建过程省略抽象的 Builder 类省略 Director 类 三、用法2 控制对象构造方法、限制参数关系Guava 中使用建造者模式构建 cache 来进行参数校验 一、介绍 定义 建造者模式,将一个复杂的对象的构建过程与…

互联网应用主流框架整合之SpringMVC初始化及各组件工作原理

Spring MVC的初始化和流程 MVC理念的发展 SpringMVC是Spring提供给Web应用领域的框架设计,MVC分别是Model-View-Controller的缩写,它是一个设计理念,不仅仅存在于Java中,各类语言及开发均可用,其运转流程和各组件的应…

探索OrangePi AIpro:单板计算机的深度体验之旅

准备阶段:环境与资料 在开始我们的探索之旅前,确保您已准备好以下装备: OrangePi AIpro:我们的主角,一台功能强大的单板计算机。Windows 10笔记本电脑:作为我们的辅助工具,用于管理和测试。路…

FastAPI:在大模型中使用fastapi对外提供接口

通过本文你可以了解到: 如何安装fastapi,快速接入如何让大模型对外提供API接口 往期文章回顾: 1.大模型学习资料整理:大模型学习资料整理:如何从0到1学习大模型,搭建个人或企业RAG系统,如何评估…

python ---使用python操作mysql ---> pymysql

本章内容: 1:能够完成从MySQL中读取出数据; [重点] 查询: execute()、fetchall() 2:能够将数据写入MySQL数据库。 [重点] 插入数据: execute() sql insert into xxx [掌握]pymysql模块的安装 目标:了解如何安装pymysql模块? 当要使用Python和M…

操作系统复习-存储管理之虚拟内存

虚拟内存概述 有些进程实际需要的内存很大,超过物理内存的容量。多道程序设计,使得每个进程可用物理内存更加稀缺。不可能无限增加物理内存,物理内存总有不够的时候。虚拟内存是操作系统内存管理的关键技术。使得多道程序运行和大程序运行称…

永久免费的iPhone,iPad,Mac,iWatch锁屏,桌面壁纸样机生成器NO.105

使用这个壁纸样机生成器,生成iPhone,iPad,Mac,iWatch锁屏,桌面壁纸,展示你的壁纸作品,一眼就看出壁纸好不好看,适不适合 资源来源于网络,免费分享仅供学习和测试使用&am…

【C语言初阶】分支语句

🌟博主主页:我是一只海绵派大星 📚专栏分类:C语言 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、什么是语句 二、if语句 悬空else 三、switch语句 default 四、switch语句与if-else语句性能对比如何&#xff1f…