在設計載板時添加USB-C - 第2部分
這是我們兩篇博客系列的第二部分。在第一部分中,您學習了 USB-C 引腳、配置通道和電源分配。 讓我們繼續(xù)通過您已經學到的知識分析現實世界的示例,然后我們將以分析USB-C上的數據信號來結尾。
在跳進現實案例之前,讓我們快速回顧一下電阻設置以及DFP設備(主機)在連接不同電阻時檢測CC引腳時可能檢測到的狀態(tài):
USB-C Configuration Channel
CC1 | CC2 | State | Cable Orientation |
Open | Open | Nothing attached | N/A |
Rp | Rp | Another DFP / No action | N/A |
Rd | Open | Sink Attached | Normal |
Open | Rd | Inverted | |
Open | Ra | Powered cable without Sink attached | Normal |
Ra | Open | Inverted | |
Rd | Ra | Powered cable with Sink, VPA* or VPD** | Normal |
Ra | Rd | Inverted | |
Rd | Rd | Debug Accessory Mode Attached | N/A |
Ra | Ra | Audio Adapter Accessory Mode Attached | N/A |
*VPA - Vconn-Powered Accessory | |||
**VPD - Vconn-Powered USB Device |
現在,您可以查看一個真實的工作案例 ,一個雙重角色的 USB-C 端口,可以為連接設備提供電源。
Simple USB-C dual role port
本節(jié)摘自Verdin開發(fā)板,使用了TUSB321芯片來處理配置通道和VBUS中的功率切換芯片。CC連接的芯片檢測線纜的方向和電源輸入設備的存在(請參見上面的表格)。然后,它將檢測到的狀態(tài)告知給Verdin模塊,該模塊控制功率切換芯片。根據引腳狀態(tài),TUSB321可以宣布不同的最大輸出電流級別(0.5 / 0.9A,1.5A和3A)。功率切換芯片(IC4)的電流限制需要相應調整。
The block diagram for the TUSB321
在 TUSB321 中,您可以看到 CC 引腳切換到下拉電阻,并且可配置上拉電阻。這種方式使您的設備可以用于 UFP、DFP 和 DRP 配置 ,由 PORT 引腳控制 ,并可配置以宣布其電源傳遞能力 ,這由 CURRENT_MODE 引腳控制。由于 TUSB321 僅使用上拉電阻來宣布端口的電源能力,因此它只能宣布最大為5V和3A(15W)的電源。對于更高的電壓,需要使用高級電源傳遞配置芯片。
您還會發(fā)現查看電源匯輸入設備示例很有幫助。
USB-C power sink
本節(jié)內容適用于我們的 Dahlia 載板,該板具有一個能夠進行總線通信的芯片(IC23)。因此,這種解決方案可以協(xié)商獲得具有高于5V和大于3A的電流的功率配置。連接到CC引腳的芯片具有內置的EPROM,其中包含三個配置。這些信息通過CC總線進行通信,并由可用匹配配置的電源輸出設備使用。當兩個設備都同意一個相互可用的配置時,VBUS被切換,設備可以從總線上開始消耗電力。
原理圖還提供了一個選配的充電器檢測器芯片(IC22)。通過檢查D+和D-數據信號是否短路在一起,IC22可以檢測到傳統(tǒng)充電器。如果USB電源輸送協(xié)商成功(IC23)或接入USB Type-A充電器(IC22),則啟用總線電源(IC20),并且載板可以開始啟動模塊。如果未檢測到充電器或USB-C電源輸送端口,則系統(tǒng)將不會啟動,因為不被允許從端口吸取超過5V / 100mA的電流。
USB-C 接口相比以前的接口,具有更多的數據信號引腳,這一點值得注意。
兩條 Super-Speed 信號通道——TX 和 RX 對。
對稱的 D+ 和 D- 信號對(只在設備端冗余)。
兩個 Sideband Use(SBU)引腳,用于其他模式下的特殊功能。
USB 2.0的D+/D-引腳在插座上是對稱的,這意味著不需要識別插入的電纜的方向,也不需要多路復用器來切換信號。
為了充分利用USB-C的 Super-Speed 信號功能,必須使用多路復用器以及使用CC引腳進行正確的電纜方向檢測,如第一篇博客所解釋的那樣,以便多路復用器能夠得到正確的控制。這是在使用雙路或單路配置時確保使用正確的通道所必需的。
讓我們看看實際的案例,以了解它們是如何聯系在一起的;
使用USB-C的最簡單的配置是作為上行面向的高速端口設備。
USB-C Client
使用CC引腳的下拉電阻和D+ / D-引腳,所示電路是Micro Type-B連接器的簡單替代品,完全符合USB-C標準。它可以用于鼠標和閃存驅動器等設備。
可以使用下圖所示的配置替換OTG,該配置來自我們的Verdin開發(fā)板,在分析USB-C電源輸出源時曾在本博客文章中出現過。
High-Speed DRD
CC引腳和已經解釋過的檢測過程用于定義設備的角色,即作為DFP或UFP,以及 D+和D-引腳被用作 Data Signals 和之前示例相同。
在這里使用沒有 Super-Speed 引腳的連接器是一個好的做法,否則會可以大大增加引腳密度,增加PCB布線的工作量。
在我們的 Apalis 載板參考設計中,您可以看到USB-C的更高級用途。
USB-C Super-Speed
當向您的USB-C應用添加 Super-Speed 功能時,如前所述,所需的多路復用器用于將 Super-Speed 信號連接到電纜的正確一側,這可以簡單地由同一個 TUSB321芯片控制。
在這個設計中,使用了一個技巧來簡化布線過程:CC引腳被反轉,因此用于控制多路復用器的信號也被反轉,簡化了多路復用器周圍的布線。
現在,讓我們來看一個來自筆記本電腦應用的完整功能示例。
Laptop USB-C implementation Source: https://www.nxp.com/docs/en/data-sheet/PTN5100.pdf
在這個設置中,筆記本可以充電或為UFP設備提供電源,包括通過專用IC(PTN5100)進行電源協(xié)商和可同時使用的顯示端口功能。請注意矩陣切換器IC,它可以連接來自CPU圖形部分的視頻信號和南橋的 Super-Speed 信號。
讓我們更仔細地看一下使用USB-C和顯示端口配置的可能性。您可以在下面的圖像中看到其中一些選項:
Display port configurations
重申一下,DisplayPort最多可以使用4個通道,但也可以使用1個或2個通道。每個用于 super-speed 信號的雙向通道(TX/RX對)可以容納2個DisplayPort通道,因為它的通道是單向的。因此,如果您只使用2個DisplayPort通道,則可以在剩余的雙向通道中與 super-speed 信號結合使用。這也意味著在DisplayPort中使用高分辨率(使用4個通道)時,您只能使用 D+和D-引腳的 USB 2.0。
讓我們看看一些錯誤,這些錯誤可以通過嚴格遵循標準來避免。
Rasp Pi 4 USB-C circuit Source: https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-reduced-schematics.pdf
在樹莓派4的第一個版本中,CC引腳共用了同一個Rd電阻,這導致它們被短接在一起。當使用被動線纜(無標記芯片)連接時,DFP設備只能在一個CC引腳上檢測到Rd,因為只有CC1 在線纜中被連接,這導致UFP設備可以正常工作。對照表格進行查看:
CC1 | CC2 | State | Cable Orientation |
Rd | Open | Sink Attached | Normal |
Open | Rd | Inverted |
然而,讓我們看看當它連接到一個在 CC2 兩端都有Ra電阻的主動USB-C線纜時會發(fā)生什么:
Resultant configuration with marker cable
在DFP設備端,CC2引腳檢測到Ra電阻,CC1引腳檢測到并聯于電纜另一端的Ra電阻,由于Raspberry Pi板上的CC1和CC2引腳短接而引入的Rd電阻。這種并聯配置導致形成了836歐姆的電阻,其在Ra電阻的允許值范圍內。如果你仔細檢查一下表格,你會發(fā)現這導致了檢測到音頻適配器的狀態(tài),使板子無法獲得電源。
CC1 | CC2 | State | Cable Orientation |
Ra | Ra | Audio Adapter Accessory Mode Attached | N/A |
通過介紹基本的USB-C概念,你現在了解了它所帶來的可能性、限制以及使用其資源的基本設置。 更詳細的信息可通過下面的鏈接獲得,如果你需要設計載板方面的幫助,歡迎給我們留言。
Official USB Specifications https://www.usb.org/documents
Wikipedia articles
https://en.wikipedia.org/wiki/USB-C
https://en.wikipedia.org/wiki/USB_3.0
https://en.wikipedia.org/wiki/USB
Short USB-C and Power Delivery Guide https://microchipdeveloper.com/usb:type-c
Easy to read USB 2.0 - the basic about enumeration and the protocol https://www.beyondlogic.org/usbnutshell/usb1.shtml
Toradex Design Guides
https://docs.toradex.cn/108140-verdin-carrier-board-design-guide.pdf
https://docs.toradex.cn/101123-apalis-arm-carrier-board-design-guide.pdf
提交
Verdin AM62 LVGL 移植
基于 NXP iMX8MM 測試 Secure Boot 功能
隆重推出 Aquila - 新一代 Toradex 計算機模塊
Verdin iMX8MP 調試串口更改
NXP iMX8MM Cortex-M4 核心 GPT Capture 測試