目录
一 、引言
二、方案设计
三、USB TYPE-C介绍
1、TYPE-C接口定义
1、24P全引脚描述
2、Type C 接口 VBUS/GND 作用
3、Type C 接口 D+/D- 作用
1、数据传输:
2、设备识别:
3、充电协议协商:
4、Type C 接口 CC1/CC2 作用
1、主从设备区分
2、设备连接检测
3、正反插确认
4、USB PD 通信
5、Type C 接口 SBU1/SBU2 作用
6、Type C 接口 SSTX/SSRX 作用
2、TYPE-C接口特点
1、24P Type C
2、16P/12P Type C
3、6P Type C
3、TYPE-C引脚总结
四、USB转UART芯片介绍
五、USB转UART电路设计
六、电路完成截图
七、文件下载链接
一 、引言
USB TYPE-C(简称:TYPE-C)是目前主流的连接端口,而在单片机的开发中,TTL信号更是必不可少的通讯方式,目前市场上也有着不少USB转串口的商品设计,低端的价格也相对亲民,而稍微高端的也会价格不菲。
今天,我们来设计一款USB转TTL模块。
二、方案设计
USB TYPE-C端口 + 四路串口输出
三、USB TYPE-C介绍
1、TYPE-C接口定义
按以下视角引出端子定义
USB TYPE-C母口
USB TYPE-C公口
从上图的 Type C 公头和母口的引脚排列可以知道 Type C 的引脚功能是中心对称的,所以公头无论以什么方向接入母口两者的功能引脚都可以完美对接。
1、24P全引脚描述
Pin | 名称 | 功能描述 | Pin | 名称 | 功能描述 |
A1 | GND | 地 | B12 | GND | 地 |
A2 | SSTXp1 | SuperSpeed 差分信号 #1 的发送正端 | B11 | SSRXp1 | SuperSpeed 差分信号 #1 的接收正端 |
A3 | SSTXn1 | SuperSpeed 差分信号 #1 的发送负端 | B10 | SSRXn1 | SuperSpeed 差分信号 #1 的接收负端 |
A4 | VBUS | 总线电源 | B9 | VBUS | 总线电源 |
A5 | CC1 | Configuration Channel 1,即 “配置通道 1” | B8 | SBU2 | Side Band Use 1,即辅助使用2 |
A6 | Dp1 | Data Positive 1,即 USB 2.0 差分信号 1 的正端 | B7 | Dn1 | Data Negative 1,即 USB 2.0 差分信号 1 的负端 |
A7 | Dn1 | Data Negative 1,即 USB 2.0 差分信号 1 的负端 | B6 | Dp1 | Data Positive 1,即 USB 2.0 差分信号 1 的正端 |
A8 | SBU1 | Side Band Use 1,即辅助使用1 | B5 | CC2 | Configuration Channel 2,即 “配置通道 2” |
A9 | VBUS | 总线电源 | B4 | VBUS | 总线电源 |
A10 | SSRXn2 | SuperSpeed 差分信号 #2 的发送正端 | B3 | SSTXn2 | SuperSpeed 差分信号 #2 的接收正端 |
A11 | SSRXp2 | SuperSpeed 差分信号 #2 的发送负端 | B2 | SSTXp2 | SuperSpeed 差分信号 #2 的接收负端 |
A12 | GND | 地 | B1 | GND | 地 |
2、Type C 接口 VBUS/GND 作用
Pin | 名称 | 功能描述 | Pin | 名称 | 功能描述 |
A1 | GND | 地 | B12 | GND | 地 |
A4 | VBUS | 总线电源 | B9 | VBUS | 总线电源 |
A9 | VBUS | 总线电源 | B4 | VBUS | 总线电源 |
A12 | GND | 地 | B1 | GND | 地 |
GND大家都可以理解,而VBUS大家可能不常见,直接理解为电源VCC即可
3、Type C 接口 D+/D- 作用
A6 | Dp1 | Data Positive 1,即 USB 2.0 差分信号 1 的正端 | B7 | Dn1 | Data Negative 1,即 USB 2.0 差分信号 1 的负端 |
A7 | Dn1 | Data Negative 1,即 USB 2.0 差分信号 1 的负端 | B6 | Dp1 | Data Positive 1,即 USB 2.0 差分信号 1 的正端 |
在电子简称中,n是Negative缩写,意为负,p是 Positive的缩写,意为正。
在 Type - C 接口里,D + 和 D - 属于 USB 2.0 的差分数据传输引脚,它们在数据传输和设备识别方面发挥着重要作用。
差分信号传输是 D + 和 D - 的工作基础。差分信号传输是指通过两根信号线(即 D + 和 D - )来传输幅度相同但相位相反的信号。接收端会对这两个信号的差值进行检测,以此来还原原始数据。这种传输方式具备很强的抗干扰能力,能够有效降低外部电磁干扰对信号传输的影响,进而保证数据传输的稳定性和准确性。
主要功能
1、数据传输:
D + 和 D - 主要用于 USB 2.0 协议的数据传输,其最高传输速率可达 480Mbps。在设备进行数据交换时,如电脑与 U 盘、手机与电脑之间传输文件,数据就会通过 D + 和 D - 这一对差分线进行传输。
2、设备识别:
在设备连接的初始阶段,主机通过检测 D + 和 D - 上的电平状态来识别设备的类型和模式。例如,在 USB 通信中,当设备插入主机时,主机通过检测 D + 和 D - 引脚的上拉电阻情况来判断设备是高速设备、全速设备还是低速设备。对于全速设备,D + 上有一个 1.5kΩ 的上拉电阻;而对于低速设备,D - 上有一个 1.5kΩ 的上拉电阻。主机根据检测到的上拉电阻位置来确定设备的速度类型,并相应地调整通信参数。
3、充电协议协商:
某些充电协议也会利用 D + 和 D - 进行通信,以协商充电电压和电流。例如,在一些手机充电过程中,充电器和手机会通过 D + 和 D - 交换信息,以确定合适的充电参数,实现快速充电功能。
典型应用
4、Type C 接口 CC1/CC2 作用
A5 | CC1 | Configuration Channel 1,即 “配置通道 1” | |||
B5 | CC2 | Configuration Channel 2,即 “配置通道 2” |
CC1 是 “Configuration Channel 1” 的缩写,即 “配置通道 1”。在 Type - C 接口中,CC1 引脚与 CC2 引脚共同承担着配置通道的功能,用于主从设备区分(确定数据传输方向)、检测设备连接、设备角色识别以及 USB PD 通信等。
1、主从设备区分
做主机时,CC1、CC2接上拉电阻VBUS。
做从机时,CC1、CC2接5.1K电阻接地。
主设备的 CC 引脚通过上拉电阻 Rp 连接到 VBUS,标识其供电能力。例如,常见的电阻值 56kΩ/22kΩ 可表示不同的电流能力。
从设备的 CC 引脚则通过下拉电阻 Rd 连接到 GND,标识其受电需求,通常下拉电阻 Rd 为 5.1kΩ。
需要说明的一点时,并非所有设备主机、从机设备都是固定的,有一种双角色端口,其 CC 引脚能够动态切换上拉电阻 Rp 和下拉电阻 Rd 的状态。在初始连接时,设备会随机确定一个初始角色(主或从),并通过 CC 引脚的电平状态来告知对方。之后,设备之间可以通过 USB PD 协议进行协商,根据实际需求动态切换主从角色。例如,手机在连接充电器时作为 从设备,接收充电,当手机通过 OTG 线连接 U 盘时,手机可通过 CC 引脚切换为 主设备,为 U 盘供电并读取数据。
2、设备连接检测
以手机及充电器为例:未连接时,充电器的 VBUS 无输出,CC 引脚由于上拉电阻处于高电平。当手机通过 CC 引脚与充电器 连接后,充电器 的 CC 引脚会检测到手机的下拉电阻 Rd,使得 CC 引脚电平被拉低。充电器检测到 CC 引脚电平变化,就知道有设备连接上了,从而打开 Vbus 电源开关,输出电源给手机。
3、正反插确认
在母口的端子中,可以看到引脚是中心对称的,但是对于TYPE-C的公口来说,却不是完全中心对称,少了B6、B7引脚功能,所以实际来说,TYPE-C的公头正插与反插是有区别的。
依旧以手机充电为例,当手机处于充电状态扮演从机角色时,若手机内部 CC 引脚下拉导致充电器的 CC1 引脚被拉低,意味着手机的 Type - C 接口是向上插入;反之,若充电器检测到CC2 引脚被拉低,则表明手机的 Type - C 接口是向下插入。这样可以确定接口插入的方向。
4、USB PD 通信
CC1/CC2 引脚是 USB PD(Power Delivery)协议通信的线路之一,通过该引脚,设备之间可以进行电源相关的信息交互,如协商供电电压、电流等参数,以实现快速充电或其他功率传输功能,实现负载的功能配置。
5、Type C 接口 SBU1/SBU2 作用
B8 | SBU2 | Side Band Use 1,即辅助使用2 | |||
A8 | SBU1 | Side Band Use 1,即辅助使用1 |
SBU1/SBU2 主要用于支持附加功能。
音频信号传输:在模拟音频耳机附件模式下,SBU1 可作为麦克风信号传输通道,将音频信号从设备传输到外部音频设备。在 DP Alt Mode 模式下进行 DP 信号传输时,SBU 引脚可作为音频传输通道,传输音频信号。
视频信号相关:在 DisplayPort 替代模式中,SBU1 和 SBU2 可用于传输 DisplayPort 协议中的辅助信号,如音频信号、热插拔检测信号等,以实现高清视频输出及相关功能的协同工作。
设备连接与配置:SBU1 和 SBU2 在连接 Type - C 设备时参与建立连接,并在设备之间传输信息。例如,SBU1 可发出电压波形,以确定设备的电源和数据协议,SBU2 则用于接收电源和数据协议的信息,使设备能够进行正确的配置。
6、Type C 接口 SSTX/SSRX 作用
A2 | SSTXp1 | SuperSpeed 差分信号 #1 的发送正端 | B11 | SSRXp1 | SuperSpeed 差分信号 #1 的接收正端 |
A3 | SSTXn1 | SuperSpeed 差分信号 #1 的发送负端 | B10 | SSRXn1 | SuperSpeed 差分信号 #1 的接收负端 |
A10 | SSRXn2 | SuperSpeed 差分信号 #2 的发送正端 | B3 | SSTXn2 | SuperSpeed 差分信号 #2 的接收正端 |
A11 | SSRXp2 | SuperSpeed 差分信号 #2 的发送负端 | B2 | SSTXp2 | SuperSpeed 差分信号 #2 的接收负端 |
SSTXp1 是 “SuperSpeed Transmitter Pair 1, Positive” 的缩写,即 “超高速发送器差分信号对 1,正端”。
在数据传输过程中,SSRXp1 和对应的负信号引脚(如 SSRXn1)共同组成差分信号对,它主要用于高速数据传输,在 USB 3.1 及更高版本的协议中发挥着重要作用,负责将设备内部的高速数据以差分信号的形式发送出去,以实现快速的数据传输,比如在连接外部存储设备、显示器或进行大文件传输时,能确保数据的高效、稳定传输。
2、TYPE-C接口特点
Type C 接口实际上为了适应不同的用途,按功能需求进行划分从而拥有多个版本。
1、24P Type C
全功能 USB3.0/3.1、USB2.0、音视频传输,上述我们说的引脚定义 指的就是 24P 全功能 Type C。
2、16P/12P Type C
支持 USB2.0,也能支持 PD 快充、音频设备、HDMI 传输、调试模式等功能,但相比 24P 接口,功能的完整性和性能会受到一定限制。。
TYPE - C 的 16P 和 12P 在本质上没有太大区别,通常可认为是同一种接口的不同称呼。
16P 一般是接口厂家、封装的正式名称。在单排 16P 的 TYPE - C 母座中,头尾开始的 4 引脚 Pin 针分别是两两相连的,从外观上看好像是 12Pin 针,所以日常生活中习惯称呼为 12P。
16P 和 12P 的 TYPE - C 接口都是在 24P 全功能版本的基础上进行了简化。它们移除USB3.0 的 TX1/2、RX1/2 引脚,保留了 SBU1/2、CC1/2、USB2.0 的 D + 和 D - 引脚。这意味着它们支持基本的充电和 USB2.0 数据传输功能,但不支持 USB3.0/3.1 高速数据传输。
3、6P Type C
仅支持充电。
6P 接口仅保留了 Vbus(电源总线)、GND(接地)、CC1(配置通道 1)、CC2(配置通道 2)引脚,主要支持大电流充电,不具备数据传输功能。
支持 PD 快充协议:CC1 和 CC2 引脚用于 PD 设备识别,承载 USB - PD 的通信,以向供电端请求电源供给,可输出电压可调,最大传输 5A - 20V 共 100W 的功率。借助 USB - PD 协议,用电端能方便地从供电端取电。
3、TYPE-C引脚总结
电源引脚:VBUS与GND
VBUS:电源总线引脚,共有两对。用于为设备传输电源,能提供不同的电压等级(如 5V、9V、12V、15V、20V 等),具体取决于所支持的 USB Power Delivery(PD)协议。
GND:接地引脚,同样有两对。
数据传输引脚:USB 2.0 数据引脚与USB 3.1 数据引脚
USB 2.0 数据引脚
D+、D -:这是一对差分信号引脚,用于实现 USB 2.0 协议的数据传输,最高传输速率可达 480Mbps。在一些对数据传输速率要求不高的设备连接中广泛应用,如鼠标、键盘等。
USB 3.1 数据引脚
TX1+、TX1 - 、TX2+、TX2 -:分别为两对发送差分信号引脚,用于高速数据的发送。
RX1+、RX1 - 、RX2+、RX2 -:是两对接收差分信号引脚,用于高速数据的接收。这些引脚共同支持 USB 3.1 Gen 2 协议,最高传输速率可达 10Gbps,满足如移动硬盘、高速闪存等设备的高速数据传输需求。
配置与检测引脚:CC1、CC2与SBU1、SBU2
CC1、CC2:配置通道引脚,主要用于设备的连接检测、正反插识别、功率传输协商以及 USB PD 协议的通信。例如,当设备连接时,通过检测 CC 引脚的电平状态和电阻值,来确定设备的角色(如主机、从机)、支持的功率等级等信息。
SBU1、SBU2:辅助信号引脚,在不同的应用场景下有不同的功能。可用于支持音频、视频等其他功能。
在 Type - C 接口中,D + 和 D - 通常与其他引脚协同工作。
四、USB转UART芯片介绍
我们选用X宝上这款使用的CH348Q芯片,
CH348是一款高速USB总线的转接芯片,实现USB转八个异步串口UART0/1/2/3/4/5/6/7功能,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。
CH348分为CH348Q与CH348L,对应封装分别为LQFP48和LQFP100。
在CH348Q数据手册中,提供了典型电路应用设计图,该电路中,采用6P的USB TYPE-C接口,使用AMS1117 - 3.3 线性稳压器将TYPE-C输入的5V电压转换为CH348Q所需要的3.3V电源电压,并提供了晶振电路,复位电路的设计,最终引出了8个端子,用于8路串口输出。
在这里,我们需要注意的是对于输出串口UART0\1\2\3与输出串口UART4\5\6\7略微有些区别。
对于UART0~UART3,芯片CH348Q分别为串口提供了额外的3个引脚,RTS、CTS、DTR。
RTS(Request To Send)
功能概述:RTS 即请求发送,是一个输出信号引脚。当设备想要向外部发送数据时,会通过将 RTS 引脚置为有效电平(通常为低电平)来向接收方发出请求发送数据的信号。这是一种发送方主动发起的请求机制,用于告知接收方自己有数据准备发送。
应用场景:在串口通信中,当发送设备有数据要发送时,先将 RTS 引脚置为有效,等待接收方的响应信号(CTS),只有在接收到接收方允许发送的信号后,才开始发送数据。这样可以避免接收方因缓冲区已满而无法接收数据,导致数据丢失的情况发生。
CTS(Clear To Send)
功能概述:CTS 即允许发送,是一个输入信号引脚。接收方通过检测 RTS 引脚的状态,当检测到发送方发出的请求发送信号(RTS 有效)时,会检查自身的接收缓冲区是否有足够的空间来接收新的数据。如果有足够的空间,接收方会将 CTS 引脚置为有效电平(通常为低电平),表示允许发送方发送数据。
应用场景:在发送方收到接收方的 CTS 有效信号后,才会开始将数据发送出去。如果接收方的缓冲区已满,CTS 引脚会保持无效状态,发送方则会暂停发送数据,直到接收到有效的 CTS 信号为止。
DTR(Data Terminal Ready)
功能概述:DTR 即数据终端准备好,是一个输出信号引脚。该引脚用于表示设备的数据终端(如计算机)是否已经准备好进行通信。当设备的数据终端准备好时,会将 DTR 引脚置为有效电平(通常为低电平),告知外部设备可以进行数据通信。
应用场景:在一些设备中,DTR 信号可以用于控制外部设备的电源或复位。例如,当计算机通过串口与外部设备通信时,计算机可以通过控制 DTR 引脚的电平来开启或关闭外部设备的电源,或者对外部设备进行复位操作。
RTS/CTS 和 DTR 用于硬件流控制,以确保数据在发送和接收过程中的可靠性。
为了避免各位对这几位引脚产生误解,我们以单片机STM32F103为例对于接线来进行讲解。
首先是电源引脚,VDDA与VSSA是单片机STM32的数字电源供电引脚。
若使用 USART1 进行通信,STM32F103其 TX 引脚为 PA9,RX 引脚为 PA10 ,而大家也都知道,一个设备的发要接另一个设备的收,故此,完成TX与RX的接线。
RTS 是请求发送信号,是输出信号。STM32 的串口有对应的 RTS 引脚,如 USART1 的 RTS 引脚是 PA12 。将外部设备的 CTS 引脚连接到 STM32F103C8T6 的 PA12 引脚。
CTS 是允许发送信号,是输入信号。USART1 的 CTS 引脚是 PA11 。把外部设备的 RTS 引脚连接到 STM32F103C8T6 的 PA11 引脚。
DTR 是数据终端准备好信号,一般作为输出信号。在 STM32 中没有专门的 DTR 硬件引脚,但可以使用一个通用 GPIO 引脚来模拟该功能。例如,选择 PA8作为模拟 DTR 引脚,将其连接到外部设备的 DTR 接收引脚。
至此也以完成一个串口通讯的连接,CH348Q原理图中的UART0、UART1、UART2、UART3便是此种连接方式。
但我想提的是,RTS、CTS、DTR这三种引脚并不是UART0、UART1、UART2、UART3通讯不可或缺的引脚,只有TX、RX引脚,与供电引脚才是必要引脚。
所以在原理图中,UART0、UART1、UART2、UART3是可以像UART4、UART5、UART6、UART7引脚一样,只引出四个引脚一样正常工作,实际上大多数情况下这三种端子也用不到,只是对于已提供了硬件控制流功能的端子,大家可以将端子引出以备用。
接下来,我们对2号引脚CFG进行解释;
CFG是一个配置引脚,用于控制上述中DTR引脚,上述中的DTR引脚在电路图中全称是DTR/TNOW,顾名思义,这类引脚是有两种模式的,一种是DTR模式,一种是TNOW模式。
DTR(Data Terminal Ready,数据终端准备好)引脚,用于表示数据终端设备是否准备好进行数据通信。
TNOW 引脚,支持半双工,可用于控制 RS485 收发切换,也可作为普通 GPIO 引脚使用。
上电期间,CFG引脚接高电平或悬空,则所有DTRx/TNOWx引脚配置成TNOW功能;CFG 引脚接低电平,则所有DTRx/TNOWx引脚默认配置成DTR功能。
接下来,我们对44号引脚TEST进行解释:
内部测试引脚,建议对地接1个下拉电阻 (通常4.7KΩ)或直接接地。
接下来,我们对14号引脚ACT进行解释:
USB 配置完成状态输出,低电平有效。
接下来,我们对7号引脚RESET进行解释:
外部复位输入端,低电平有效,内置上拉电阻
接下来,我们对12、13号引脚XI、XO进行解释:
CH348 芯片内置了电源上电复位电路,芯片正常工作时需要外部向XI引脚提供8MHz时钟信号, 时钟信号可通过CH348内置的反相器通过晶体稳频振荡产生。外围电路需要在XI和XO引脚之间连接 一个8MHz晶体,XI和XO引脚对地接20/22pF左右的振荡电容。
以上完成,我们对电路开始设计。
五、USB转UART电路设计
电源方面,设计了三种方案,
电源模块:可靠省事、价格略贵。
LDO:价格便宜、省事。
BUCK降压:可输出较大功率。
都能正常使用,各有优缺点,各位可以自行选用,本次选用了LDO方案。
在CH348Q芯片附近,主要有复位电路,晶振电路,上述已提,不再赘述。
对于CFG引脚,各位可以直接使用下拉电阻接地,也可以如图上使用2P的排针,若需要接地,可使用跳线帽直接短接,方便。
对于TEST引脚,直接对地接1个下拉电阻。
最后对于输出的串口,并未将8个串口全部引出,看各人需要,本次只引出4个串口。
对于ACT引脚,当USB配置完成后为低电平,此时LED2点亮,其余收发指示灯不再赘述。
六、电路完成截图
七、文件下载链接
上述文件,源文件已导出,上传在本人的资源中,可免费下载
【免费】基于TYPE-C与CH348Q的USB转串口方案:串口一拖四资源-CSDN文库