임베디드 용어설명

USB C 커넥터를 사용한 USB 2.0 OTG 구현회로 (DFP, UFP 란?)

젊은우산 2023. 8. 4. 22:01
반응형

https://www.usb.org/sites/default/files/USB%20Type-C%20Spec%20R2.0%20-%20August%202019.pdf

참조 문서 : USB C Cable and Connctor Specification

 

개념부터 정리하고 가야 설계하기가 편하다.

USB Type C Connect

  • Female, Recepter, 리셉터, 보드에 장착되는 부분

  • Male, Plug, 플러그, C타입 케이블 꽂는 부분

  • USB C 리셉터와 플러그가 서로 연결되면 전력 및 데이터 이동이 생긴다.

 

USB OTG 리셉터

  • USB 2.0 에서 OTG기능은 보통의 경우 USB Type B (리셉터+플러그) 를 사용한다.
  • OTG 케이블의 배선
    • 아래는 보통의 USB 케이블(위)과 OTG케이블(아래)을 도식화한 것이다.
    • OTG Cable의 4번 핀이 GND와 쇼트되어 있기에 USB HOST는 연결된 장치를 OTG기능이 있다고 인식한다.

 

USB Type B for OTG.

  • Type B Cable은 OTG기능을 위한 케이블이다.
  • USB 2.0에서 OTG를 사용하기위해 USB type B 커넥터를 사용하는게 원칙이다. (또는 USB type mini B )
  • USB Host에 Host를 연결할 때 사용된다. type B쪽 Vbus로 5v가 공급되지 않고 반대쪽 USB A가 연결된 Host에서 전원이 공급된다.
  • OTG라는 것이 Host와 Host의 연결을 말하는 것이다. 두개의 전원 소스가 충돌하면 안되기때문에(보드 전원IC 고장의 원인), 전원을 공급하는 Host, 공급받는 Host가 생기는 것이다.
  • USB Type B

  • USB Type B mini

 

 

 

USB OTG Controller IC를 이용한 방법

우리는 USB Type B가 아니더라도 OTG기능을 하는 USB 포트들을 많이 보아왔다. 어떻게 구현하는 것일까? 먼저 USB Controller IC를 사용 하는 방식이 있다.

  • Power Mode 를 선택하여 저속 데이터통신 또는 고속 데이터통신, 충전모드 등을 선택할 수 있게 한다.
  • I2C 또는 UART 통신을 사용하여 USB 전원 설정을 변경할 수 있다.
  • PHY, 오디오, USB On The Go 기능을 다양하게 구성할 수 있다.
  • 보다 안정적인 전원공급과 시퀀스를 가질 수 있어 설계에 용이하다.

USB VBus Power IC를 이용한 방법

  • USB 가 OTG로 인식되었을 경우, Power IC를 통해 VBUS에 전원을 공급해 줄 수 있다.
  • 아래의 회로를 구성하였을 경우, 장점은 USB Host 에 Host가 연결 되었을 때, 전원 끼리의 충돌을 방지 함이 그 역할이다.
  • STM32F411 시리즈의 MCU에서 D+,D-가 각각 PA11과 PA12에 연결되어 있고, GPIO를 통하여 POWER IC에게 ENable신호를 전송한다. POWER IC는 VBUS에 5V의 VDD를 Vout으로 공급한다.
  • 허용전류보다 더많이 소모하여 고장나는 것을 방지하기 위하여 POWER IC의 Overcurrent핀이 Overcurrent가 발생할 경우 STM32F411의 GPIO+IRQ Input핀으로 1의 신호를 준다.
  • IRQ 신호를 받으면 GPIO ENable 을 0으로 만드는 함수를 실행하여 Vbus 의 전원 출력을 중지한다.
  • 물리적으로 연결상태를 파악하여 펌웨어적으로 전원 공급을 구현한다.

USB Type C 에서의 OTG모드 구현

이 글을 쓰게된 이야기의 꽃이다.

USB type B 또는 USB mini B 가 아니라면, OTG는 USB C 에서 어떻게 구현되는 것일까?

  • C 타입 케이블은 양쪽이 같은 모양이 같다.
  • HOST는 내부 cc핀의 저항값과 C케이블의 cc핀이 연결 될 때 전압차이를 이용하여 OTG기기가 연결되었는지 파악한다.
  • OTG기능을 하기위해서는 HOST의 cc핀이 5.1k옴의 저항이 cc1 또는 cc2 핀에 연결된다.
  • 이 때, OTG기능이 없는 케이블을 연결한다면, 데이터 교환이나 전원 공급을 한다.
  • OTG 기능이 있는 케이블을 연결하면 Vbus를 끊고, 다른 HOST로부터 전원을 공급 받는다.
  • USB type C의 OTG기능은 HOST의 cc1 또는 cc2의 5.1k옴과 USB C OTG케이블의 cc핀에 연결된 5.1k옴의 사용이 동시에 충족되어야 완성된다.

 

 

 

USB C 에서 OTG와 전원공급 모두할 수 있도록 Controller IC를 사용하는게 마음이 편하다.

전원 공급과 OTG기능을 모두할 수 있도록 최근에는 USB 3.0 controller IC가 많이 생겨났다.

추후 CC1, CC2 핀과 USB PD 조건에 대한 글을 쓰도록하겠다.

 

 

DFP (Downstream Facing Port)

DFP는 전압이 하위 연결된 장치로 흐르는 포트를 뜻한다. USB 독 허브 라고 생각하면 이해가 쉽다. Host 포트라고도 하며, DFP는 Host에서 하위 디바이스 사이의 전력을 공급한다.

UFP (Upstream Facing Port)

UFP는 하위 디바이스로부터 전원 및 데이터를 수신하는 포트이다. 이때 하위디바이스가 Host가 되는 역흐름 발생하고 Host와 Host의 연결이 이루어진다. 연결된 허브는 OTG기능을 수행한다고 생각하면 쉽다.

  • "Type-A" 포트는 다운스트림 페이싱 포트(DFP)가 됨
  • "Type-B" 포트는 업스트림 페이싱 포트(UFP)가 됨

전력 흐름에 따라 싱크, 소스, DRP로

USB 연결 할 때 전력의 흐름에 싱크(sink), 소스(source), DRP(dual role power)라는 용어가 사용된다.

  1. 싱크는 연결되었을 때 Vbus에서 전력을 소모하는 포트를 말하며 대게 디바이스이다. 예시로는 USB 구동 조명이나 FAN같은 USB장치를 들 수 있다.
  2. 소스는 Vbus를 통해서 전력을 공급하는 포트이다. 주로 호스트나 허브 DFP이다. 소스의 예시로는 Type C 충전기를 들 수 있다.
  3. DRP 포트는 싱크로도 작동하고 소스로도 작동하는 두 상태 사이를 전환할 수 있는 포트이다. DRP가 처음 소스로 동작하면 이 포트는 DFP의 데이터 역할을 취한다. DRP가 처음 싱크로 작동하면 이 포트는 UFP의 데이터 역할을 취한다.

싱크 소스DRP
왼쪽: 싱크,    중간: 소스,    오른쪽: DRP

 

 

 

 

 

 

 

 

 

 

 

 

반응형