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

串口对连

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

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

相关文章

【服务实现读写分离】

文章目录 什么是读写分离基于Spring实现实现读写分离项目中常用的数据源切换依赖包 什么是读写分离 服务读写分离(Service Read-Write Splitting)是一种常见的数据库架构设计模式,旨在提高系统的性能和可扩展性。通过将读操作和写操作分离到…

分布式事务AP控制方案(上)

分布式事务控制方案 本篇文章给出一种要求高可用性(AP思想)的分布式事务控制方案 下篇新鲜出炉:点我查看 分布式事务控制方案1、业务背景2、本地消息表的设计3、对消息表的操作4、任务调度5、任务流程控制的抽象类6、课程发布的实现类7、总…

优质免费的 5 款翻译 API 接口推荐

当谈到翻译API时,我们通常指的是一种编程接口,它允许开发者将文本从一种语言翻译成另一种语言。这些API通常由专业的翻译服务提供商提供,如谷歌翻译 API、实时翻译API、腾讯翻译API、DeepL翻译API、Azure翻译API等。 这些API通常提供多种语言…

使用Redis的优势以及会引发的问题

优势 ①使用redis代表着高性能还有高并发,高性能很好理解,redis会缓存我们访问的数据。他是基于内存的,第一次访问数据库我们可能需要800ms,但是访问后如果使用redis进行缓存,第二次乃至后面访问相同的数据就只需要去…

使用opencv在图像上画带刻度线的对角线,以图像中心点为0点

使用OpenCV在图像上绘制带刻度线的对角线,可以通过以下步骤实现。我们将首先找到图像的中心点,然后绘制对角线线,并在这些线的适当位置绘制刻度线。以下是详细的C代码示例: void Draw_diagonal(cv::Mat& mat, double dFactor…

ViT:2 理解CLIP

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技(Mamba,xLSTM,KAN)则提…

《永生之后》读后

文章以2120年背景创作,人类进入永生之年,发现了延长寿命的药物。停滞的死亡,新生的继续造生了人口大爆炸,于是分成两个阵营-长生区(不再繁衍后代)与生死区(不服用药物,仍然生老病死&…

PySpark教程(001):基础准备与数据输入

PySpark 学习目标 了解什么是Spark、PySpark了解为什么学习PySpark了解如何和大数据开发方向进行衔接 Spark是什么? Apache Spark是用于大规模数据处理的统一分析引擎。 简单来说,Spark是一款分布式的计算框架,用于调度成百上千的服务器…

MyBatis总结(2)- MyBatis实现原理(一)

Mybatis实现原理: 概括一句话:约定配置参数mybatis-config.xml,映射关系JavaBean-mapper.xml,用SqlSessionFactoryBuilder构建应用程序运行期间需要的SqlSessionFactory实例对象,当请求或方法需要执行CURD操作时&…

初识volatile

volatile:可见性、不能保证原子性(数据不安全)、禁止指令重排 可见性:多线程修改共享内存的变量的时候,修改后会通知其他线程修改后的值,此时其他线程可以读取到修改后变量的值。 指令重排:源代码的代码顺序与编译后字…

基于STM32开发的智能空气质量监控系统

⬇帮大家整理了单片机的资料 包括stm32的项目合集【源码开发文档】 点击下方蓝字即可领取,感谢支持!⬇ 点击领取更多嵌入式详细资料 问题讨论,stm32的资料领取可以私信! 目录 引言环境准备智能空气质量监控系统基础代码实现&…

三十七篇:大数据架构革命:Lambda与Kappa的深度剖析

大数据架构革命:Lambda与Kappa的深度剖析 1. 引言 在这个数据驱动的时代,我们面临着前所未有的挑战和机遇。随着数据量的爆炸性增长,传统的数据处理方法已无法满足现代业务的需求。大数据处理不仅涉及数据量的增加,还包括数据类型的多样化、数据来源的广泛性以及对实时数据…

Policy-Based Reinforcement Learning(1)

之前提到过Discount Return: Action-value Function : State-value Function: (这里将action A积分掉)这里如果策略函数很好,就会很大;反之策略函数不好,就会很小。 对于离散类型: …

深度学习之文本分类模型-基于transformer

1、transformer transformer就是大名鼎鼎的论文《Attention Is All You Need》[1],其在一些翻译任务上获得了SOTA的效果。其模型整体结构如下图所示 encoder和decoder 其整体结构由encoder和decoder组成,其中encoder由6个相同的block组成,…

【设计模式】结构型-桥接模式

当抽象与实现,各自独立, 桥接模式,如彩虹桥,连接两岸。 文章目录 一、类爆炸与代码重复二、桥接模式三、桥接模式的核心组成四、运用桥接模式五、桥接模式的应用场景六、小结推荐阅读 一、类爆炸与代码重复 场景假设&#xff1a…

单片机嵌入式计算器(带程序EXE)

单片机嵌入式计算器 主要功能:完成PWM占空比计算,T溢出时间(延时); [!NOTE] 两个程序EXE; [!CAUTION] 百度网盘链接:链接:https://pan.baidu.com/s/1VJ0G7W5AEQw8_MiagM7g8A?pwdg8…

代码随想录算法训练营第五十四 | ● 392.判断子序列 ● 115.不同的子序列

392.判断子序列 https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html class Solution { public:bool isSubsequence(string s, string t) {if(s.size()0 )return true;if(t.size()0)return false;vector<vector<int>> dp(s.size(…

为什么选择海外服务器?

如何选择跨境电商服务器&#xff1a;详细指南 选择合适的服务器是跨境电商企业成功的基础。服务器的性能和稳定性直接影响着网站的访问速度、用户体验和安全性&#xff0c;进而影响着企业的销量和利润。那么&#xff0c;跨境电商企业该如何选择服务器呢&#xff1f; ​​​​​…

Jenkins构建 Maven项目(微服务)并自动发布

前面讲了docker 安装Jenkins和gitlab代码管理工具&#xff0c;接下来我们讲一下Jenkins怎么构建 Maven项目。 1. 首先Jenkins配置下面3中工具类 首先是在本地安装三个jenkins自动配置相关的工具 1.1 JDK 由于我们使用docker来启动jenkins&#xff0c;其自带有jdk&#xff0c;…

oracle 12.1 rac to rac adg(maa)搭建保姆级教程

目录 资源配置 一、主库集群操作 1.主库增加standbylog 2.主库开启force logging及归档 3.主库配置参数 4.生成参数文件并将参数文件、密码文件拷贝至备库 4.1参数文件处理 4.2密码文件处理 二、备库操作 1.备库修改参数文件 1.1创建adump目录并在参数文件修改&#…