目錄
一 、引言
二、方案設計
三、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文庫