USB Type-C® Power Delivery using STM32(1) - 개요

안녕하세요. 이번 포스팅에서는 USB Type-C Power Delivery 어플리케이션을 번역해 STM32에서 어떻게 USB PD를 구현할 수 있는지 알아보도록 하겠습니다.

개요

애플리케이션 노트(AN5225) 는 전원 싱크용 TCPP01-M12, 전원 소스용 TCPP02-M18, Dual-Role Power 보호 회로용 TCPP03-M20과 함께 STM32 MCU 및 MPU와 함께 USB Type-C® Power Delivery를 사용하기 위한 어플리케이션 노트입니다. 두 가지 새로운 USB Type-C® 및 USB Power Delivery 표준의 일부 기본 개념도 소개됩니다.

USB Type-C® 기술은 필요한 모든 데이터를 전달하는 단일 플랫폼 커넥터를 제공합니다. 새로운 이 양방향 커넥터는 플러그 삽입을 보다 사용자 친화적으로 만듭니다. Power Delivery 프로토콜을 사용하면 USB 포트에 연결된 장치에 최대 100W의 전력 공급을 협상을 통해 공급하거나 공급 받을 수 있습니다. 이는 케이블과 커넥터의 필요성을 줄이고 범용 충전기의 사용을 용이하게 합니다.

 

USB Type-C® 커넥터는 최대 15W(5V에서 최대 3A)의 기본 지원을 제공하며 옵션 USB Power Delivery 기능을 사용하여 100W(20V에서 최대 5A)까지 확장 가능합니다.

알아두어야 할 약어들

AMS : Atomic message sequence

APDO : Augmented power delivery object

BMC : Bi-phase mark coding

BSP : Board support package

CAD : Cable detection module

DFP : Downstream facing port

DPM : Device policy manager

DRP : Dual-role power

DRS : Data role swap

GP : General purpose

GUI : Graphical user interface

HAL : Hardware abstraction layer

HW : Hardware

LL : Low layer

MSC : Message sequence chart

OVP : Over-voltage protection

PDO : Power delivery object

PE : Policy engine

PRL : Physical protocol layer

PRS : Power role swap

SNK : Power sink

SRC : Power source

UCPD : USB Type-C power delivery

UFP : Upstream facing port

VDM : Vendor defined messages

FWUP : Firmware update

PPS : Programmable power supply

TCPM : Type-C port manager

TCPC : Type-C port controller

TVS : Transient voltage suppression

Reference documents

표 1. STMicroelectronics ecosystem documents

USB Type-C in a nutshell

USB-IF(USB Implementers Forum)는 두 가지 보완 사양을 소개합니다.

• USB Type-C® 케이블 및 커넥터 사양 릴리스 1.3은 Alternate 모드를 지원하는 데 사용할 수 있는 최대 10Gbit/s의 고속 USB2.0 신호 및 2개의 초고속 레인을 기반으로 하는 뒤집을 수 있는 슬림형 커넥터 시스템을 자세히 설명합니다.

• USB Power Delivery(PD) 사양 개정판 2.0 및 3.0은 어떻게 4.5W 전원 공급(VBUS의 900mA@5V)에서 100W 공급 전원 또는 소비 전원(최대 5A@20V)으로 변환할 수 있는지에 대한 방법을 자세히 설명합니다.

새로운 24핀 USB Type-C® 플러그는 어떤 방식으로 삽입하든 무극성이며 뒤집어 삽입할 수 있도록 설계되었습니다.

다음은 Power Delivery에서 제안하는 모든 고급 지원 기능입니다.

• 전원 역할 협상

• 전원 공급 및 소비 레벨 협상

• Active 케이블 식별 수행

• 벤더 지정 사이드밴드 메시징 교환

• Alternate 모드 협상을 수행하여 타사 통신 프로토콜을 USB Type-C® 케이블의 재구성 가능한 핀으로 라우팅

그림 1. USB connectors

다음 사항도 유의해야 합니다.

• USB Type-C® 케이블은 양쪽 끝에 동일한 플러그를 사용합니다.

• USB Type-C®는 드라이버 스택 및 전원 기능을 포함하여 USB2.0의 모든 이전 프로토콜을 지원합니다.

• 새 커넥터는 매우 작습니다(너비 8.4mm, 높이 2.6mm).

그림 1. USB 커넥터에서 볼 수 있듯이 새로운 USB Type-C® 플러그는 이전 플러그가 제공하는 모든 기능을 포함하여 유연성을 보장하고 애플리케이션을 단순화합니다.

USB Type-C® 포트는 호스트 전용, 장치 전용으로 작동하거나 듀얼 기능을 가질 수 있습니다. 데이터 및 전력 역할은 모두 USB Power Delivery 명령을 사용하여 독립적이고 동적으로 교환할 수 있습니다.

USB Type-C® vocabulary

USB Type-C® 시스템에 일반적으로 사용되는 용어는 다음과 같습니다.

• Source: 포트 전원 역할. CC 핀(명령 제어 핀, Section 4 CC 핀 참조)에서 Rp(Pull-up 저항, 그림 3. Pull up/down CC detection 참조)를 노출하고 VBUS(5V ~ 20V, 최대 5A) 가장 일반적으로 호스트 또는 허브 다운스트림 방향 포트(예: 레거시 Type-A 포트)입니다.

• Sink: 포트 전원 역할. CC 핀에서 Rd(Pull-down 저항. 그림 3. Pull up/down CC detection 참조)를 노출하고 VBUS(5V ~ 20V, 최대 5A)에서 전력을 소비하는 포트, 가장 일반적으로 장치(예: 레거시 유형) -B 포트)

• Dual-role 전원(DRP) 포트: 소스 또는 싱크 전원 역할을 동적으로 전환할 수 있는 포트입니다.

• DFP(Downstream-Facing Port): 포트 데이터 역할. USB 호스트 또는 허브 확장과 같은 상위 수준의 USB 트리에 있는 USB 포트.

• UFP(Upstream-Facing Port): 포트 데이터 역할. USB 장치 또는 허브 마스터 포트와 같은 USB 트리의 하위 수준에 있는 USB 포트.

Type-C 및 Power Delivery 사양 내에 정의된 모든 고급 기능을 구현하고 지원하는 것은 의무 사항이 아닙니다.

Minimum mandatory feature set

지원해야 하는 필수 기능은 다음과 같습니다.

• 케이블 연결 및 분리 감지

• 플러그 방향/케이블 꼬임 감지

• USB2.0 연결

Connector pin mapping

24핀 USB Type-C® 커넥터에는 다음이 포함됩니다.

• 대칭 연결:

– USB2.0 차동 쌍(D+/D-)

– 전원 핀: VBUS/GND

• 비대칭(asymmetric) 연결

– USB3.1 데이터 속도를 지원하는 두 세트의 TX/RX 신호 경로

– USB Type-C® Power Delivery 기능의 검색, 구성 및 관리를 처리하는 Configuration Channels(CC 라인)

– 아날로그 오디오 모드 또는 alternate 모드용 2개의 두개의 side-band 사용 신호(SBU 라인)

그림 2. Receptacle pinout

표 2. USB Type-C receptacle pin descriptions

VBUS power options

VBUS는 호스트와 장치 사이, 충전기와 호스트 또는 장치(Device) 사이에 전원을 공급하는 경로를 제공합니다.

USB Type-C® 커넥터가 있는 장치의 관점에서 사용할 수 있는 전원 옵션은 아래와 같이 나열되어 있습니다.

표 3. Power supply options

Note : USB Type-C® to Type-C™ 케이블 조립품은 정격 케이블 전류(3A 또는 5A)에서 20V DC로부터 보호하기 위해 VBUS가 필요합니다.

CC(Configuration Channel) Pin

Type-C 커넥터에는 2개의 CC 핀(CC1 및 CC2)이 있지만 케이블의 각 끝에 있는 케이블 플러그에는 CC 핀이 하나만 있습니다(케이블을 통해 공통으로 연결됨).

CC1과 CC2 모두 Source 에서는 Rp(Pull-up) 저항을 노출해야 하는 반면 Sink는 Rd(Pull-down) 저항을 노출해야 합니다. Electronic 케이블(E-Cable)은 VCONN의 접지에 저항 Ra를 제공해야 합니다.

Source 관점에서 연결된 장치의 상태는 표 4를 참조하여 확인할 수 있습니다.

표 4. Attached device states - source perspective

Plug orientation/cable twist detection

USB Type-C® 케이블 플러그는 어느 방향으로든 콘센트에 삽입할 수 있으므로 먼저 방향을 감지해야 합니다. 감지는 Rp/Rd 저항을 사용하여 CC 라인을 통해 수행됩니다.

처음에 DFP는 CC 핀에 Rp 종단을 제공하고 UFP는 CC 핀에 Rd 종단을 제공합니다. 연결을 감지하기 위해 DFP는 두 CC 핀을 모두 모니터링합니다([17]의 그림 4-30 참조).

그림 3. Pull up/down CC detection

Power capability detection and usage

Type-C는 기본 USB 표준 외에 1.5A 및 3A의 향상된 전류 용량을 제공합니다. 장치에 대한 포트의 전류 공급 기능은 DFP의 Rp Pull-up 저항 값에 따라 다릅니다.

고전류(5A) 성능은 USB Power Delivery 프로토콜을 사용하여 협상됩니다. 표 5는 [17]에 따라 가능한 값을 보여줍니다.

표 5. DFP CC termination (Rp) requirements

1. USB Type-C - USB 3.1 표준 A 케이블 어셈블리, USB Type-C - USB 2.0 표준 A 케이블 어셈블리, USB Type-C - USB 2.0의 USB Type-C 플러그에 구현된 Rp의 경우 Micro-B 리셉터클 어댑터 어셈블리 또는 USB 호스트에 연결된 USB Type-C 캡티브 케이블, 케이블 어셈블리에서 VBUS 및 GND의 IR 드롭에 대한 허용 오차를 제공하기 위해 56kΩ ± 5% 값을 사용해야 합니다.

UFP는 [17]에 따라 감지 시스템을 바이어스하고 전력 싱크로 식별되도록 CC1과 CC2 모두에서 Rd Pull-down 저항을 노출해야 합니다.

표 6. UFP CC termination (Rd) requirements

UFP는 DFP 전력 성능을 결정하기 위해 [17]에 따라 CC 라인 전압을 정확하게 모니터링합니다.

표 7. Voltage on sink CC pins (multiple source current advertisements)

Power profiles

USB Power Delivery 프로토콜은 [16]에 정의되고 다음 그림에 보고된 대로 최대 100W의 전력을 제공하기 위해 고급 전압 및 전류 협상을 가능하게 합니다.

그림 4. Power profile

표 8은 케이블 정격 전류의 함수로서 허용된 전압 소스 및 프로그래밍 가능한 전원 공급 장치(PPS) 선택을 보여줍니다.

표 8. Fixed and programmable power supply current and cabling requirements

추가 정보는 [16] 및 [17]에서 확인할 수 있습니다.(AN5225 참조 문서)

USB Power Delivery 2.0

USB Power Delivery에서 직접 연결된 포트 쌍은 USB 케이블을 통해 전압, 전류 또는 전원 방향 및 데이터 흐름을 협상합니다. CC 와이어는 BMC 코딩 통신 채널로 사용됩니다. 사용되는 메커니즘은 다른 USB 전원 협상 방법과 독립적으로 작동합니다.

Power Delivery signaling

모든 통신은 300Kbit/s의 반이중(Half-duplex) 모드에서 CC 회선을 통해 이루어집니다. 통신은 CC 회선을 통해 BMC 인코딩 32비트 4b/5b 워드를 사용합니다.

Packet structure

패킷 형식은 다음과 같습니다.

• 프리앰블: 송신기와 동기화하기 위해 0과 1이 번갈아 나타나는 64비트 시퀀스.

• SOP*: 패킷의 시작. SOP, SOP'(패킷 시퀀스 시작 프라임) 또는 SOP”(패킷 시퀀스 더블 프라임 시작)일 수 있습니다(그림 5. SOP* 신호 참조).

– SOP 패킷은 PD 가능 DFP 및 UFP로만 제한됩니다.

– SOP' 패킷은 DFP에 부착된 케이블 플러그와의 통신에 사용됩니다.

– SOP” 패킷은 UFP에 부착된 케이블 플러그와의 통신에 사용됩니다.

SOP' 또는 SOP" 통신이 가능한 케이블 플러그는 SOP' 또는 SOP"로 시작하는 패킷만 감지하고 통신해야 합니다.

• 패킷의 종류와 데이터의 양을 식별하는 메시지 헤더를 포함한 메시지 데이터

• CRC: 오류 검사

• EOP: 패킷의 끝, 고유 식별자.

그림 5. SOP* signaling

K-codes

K-코드는 4b/5b 코딩에서 제공하는 특수 기호입니다. 하드 리셋, 케이블 리셋 신호를 보내고 패킷 경계를 나타냅니다.

Negotiating power

DFP는 초기에 버스 마스터로 간주됩니다. 프로토콜 계층을 사용하면 전원 구성을 동적으로 수정할 수 있습니다.

전원 역할, 데이터 역할 및 VCONN 스왑은 두 포트가 모두 Dual power role 기능을 지원하는 경우 독립적으로 가능합니다.

VBUS의 기본 전압은 항상 5V이며 최대 20V로 재구성할 수 있습니다. 기본 전류 용량은 초기에 Rp 값으로 정의되며 Electronically marked(E-marked) USB PD Type-C 케이블의 경우 최대 5A로 재구성할 수 있습니다.

이 프로토콜은 각각 인코딩된 기호(Kcode)로 시작하는 SOP(start-of-packet) 통신을 사용합니다. SOP 통신에는 제어 또는 데이터 메시지가 포함됩니다. 제어 메시지는 16비트 고정 크기로 데이터 흐름을 관리합니다. 데이터 메시지 크기는 내용에 따라 다르며 데이터 개체에 대한 정보를 제공합니다.

USB Power Delivery 3.0

파워 관점에서 볼 때 USB PD 2.0과 USB PD 3.0 사이에는 차이가 없습니다. 모든 USB PD 3.0 장치는 USB PD 2.0 장치와 Power Contracts을 협상할 수 있으며 그 반대도 가능합니다. USB PD 3.0에는 다음과 같은 주요 기능이 추가되었습니다.

• 빠른 역할 전환

• 인증

• 펌웨어 업데이트

• Sink에 직접 충전을 지원하는 프로그래밍 가능한 전원 공급 장치(PPS)

다음은 USB PD 3.0과 USB PD 2.0 사양 간의 주요 변경 사항에 대한 요약입니다.

• Revision 2.0 및 Revision 3.0 작업에 대한 지원은 기존 제품과의 하위 호환성을 보장하기 위해 의무화됩니다.

• 프로필은 더 이상 사용되지 않으며 PD 전원 규칙으로 대체됩니다.

• 레거시 케이블, 레거시 커넥터, 레거시 방전 배터리 작동 및 관련 테스트 모드를 포함하여 더 이상 사용되지 않는 BFSK 지원.

• 최대 260바이트의 데이터 페이로드가 있는 확장 메시지가 정의됩니다.

• VCONN 소스만 케이블 플러그와 통신할 수 있습니다.

• Source 또는 Sink가 아토믹 메시지 시퀀스(AMS)를 시작할 수 있도록 하는 Source 조정 충돌 방지 체계.

• 외부 전원 공급 장치가 제거될 때 외부 전원 도크 및 허브가 버스 전원으로 신속하게 전환할 수 있도록 정의된 빠른 역할 전환.

• 추가 상태 및 검색:

– 전원 공급 장치 확장 기능 및 상태

– 배터리 기능 및 상태

– 제조업체 정의 정보

• 패시브 케이블, 액티브 케이블 및 구조화된 VDM 버전이 2.0으로 변경됨에 따라 표시되는 AMA VDO의 필드 변경.

• USB 보안 관련 요청 및 응답 지원.

• USB PD 펌웨어 업데이트 요청 및 응답 지원.

시스템 정책은 이제 USBTypeCBridge 1.0을 참조합니다.

Alternate modes

USB Type-C® 콘센트를 사용하는 모든 호스트 및 장치(충전기 제외)는 USB 인터페이스를 노출해야 합니다.

호스트 또는 장치가 선택적으로 Alternate 모드를 지원하는 경우:

• 호스트 및 장치는 Alternate 모드를 활성화하기 위해 USB Power Delivery 구조화된 벤더 정의 메시지(구조화된 VDM)를 사용하여 모드를 검색, 구성 및 시작/종료합니다.

• 최상의 사용자 경험을 위해 장치가 동일한 USB 기능을 제공하는 것이 좋습니다.

• 동등한 USB 기능이 구현되지 않은 경우 장치는 장치를 식별하는 데 필요한 정보를 제공하기 위해 USB 빌보드 장치 클래스를 노출하는 USB 인터페이스를 제공해야 합니다. 비사용자 대면 모드(예: 진단 모드)에 대해 USB 빌보드 장치 클래스를 노출하는 USB 인터페이스를 제공하기 위해 장치가 필요하지 않습니다. Alternate 모드는 USB 허브 토폴로지를 통과하지 않으므로 직접 연결된 호스트와 장치 사이에서만 사용해야 합니다.

Alternate pin re-assignments

그림 6에서 노란색으로 강조 표시된 핀은 완전한 기능을 갖춘 케이블에서 재구성할 수 있는 유일한 핀입니다.

그림 6. Pins available for reconfiguration over the Full Featured Cable

그림 7은 직접 연결 애플리케이션을 위해 재구성할 수 있는 핀을 보여줍니다. 이 구성은 케이블 배선에 의해 제한되지 않기 때문에 그림 6보다 세 개의 핀이 더 있습니다.

그림 7. Pins available for reconfiguration for direct connect applications

Billboard

USB 빌보드 장치 클래스 정의는 장치 컨테이너가 지원하는 대체 모드를 호스트 시스템에 전달하는 데 사용되는 방법을 설명합니다. 여기에는 사람이 읽을 수 있는 형식으로 지원 세부 정보를 제공하는 문자열 설명자가 포함됩니다. 자세한 내용은 [18]을 참조하십시오.

Product offer

STM32 MCU 및 STM32 MPU는 STM32 통합 UCPD(USB Type-C Power Delivery) 주변 장치 또는 범용(GP) 주변 장치 세트를 사용하여 USB Type-C/USB Power Delivery 인터페이스를 처리합니다. USB Type-C 및 Power Delivery 애플리케이션 페이지를 참조하십시오.

그림 8. USB Type-C Power Delivery block diagram

그림 9. STM32G0 Discovery kit USB Type-C analyser

STM32 MPU product specificities

STM32 MPU 제품의 경우 다음 사항을 고려하십시오.

• USB는 Cortex-A7 코어에서만 지원됩니다. Cortex-M4 코어는 지원하지 않습니다.

• Linux 프레임워크와의 호환성을 위해 USB Type-C는 외부 장치에서 관리합니다. STUSB1600 칩셋을 사용한 CN7 구현(ADC를 사용한 CN6 구현과 반대)의 MB1272-DK2-C01 보드 회로도를 참조하십시오. 자세한 내용은 [9]의 USB Type-C® 콘센트를 사용하는 USB 포트 섹션을 참조하십시오.

<계속>