USB를 이용한 전원 공급 (1) - USB BC
USB는 데이터 전송을 목적으로 설계되었지만, 전원 공급 기능도 포함하고 있다. 이는 USB로 연결된 간단한 저전력 기기를 동작시키기 위한 것이다. 그래서 USB 2.0에서는 5V 전압과 0.5A의 전류를, USB 3.2에서는 5V 전압과 0.9A의 전류 공급이 가능하다. 하지만 이 스펙은 어디까지나 USB를 통한 데이터 통신을 하는 데 필요한 디바이스를 동작시키기 위함이지, USB를 전원 공급을 위해 이용하려는 목적은 아니었다. 따라서 저전력 기기가 아닌 외장 하드 같은 디바이스는 별도의 전원 공급을 필요로 했고, USB를 통한 전원 충전은 USB가 본래 의도했던 기능이 아닌 일종의 부작용에 가까운 일이었다.
하지만 iPod을 비롯한 많은 MP3 플레이어나 PMP 플레이어들이 이를 이용한 충전 기능을 가지고 나왔다. 어차피 데이터 통신을 위해 USB 포트가 필요하니 별도의 충전 포트를 만드는 것보다 USB 포트를 재사용하는 것이 기기를 싸고 가볍고 작게 만들 수 있었기 때문이다. 결국 브랜드마다 독자적인 USB를 통한 전원 충전 규격들이 만들어졌. 사람들은 이런 혼란스러운 상황이 해결되기를 원했고, 결국 2007년 USB-IF는 USB Battery Charging(a.k.a. BC)라는 표준을 만들어 USB 충전기를 표준의 영역으로 가지고 왔다.
SDP | DCP | CDP |
---|---|---|
데이터 전송 가능 | 데이터 전송 불가 | 데이터 전송 가능 |
최대 0.5A(USB 2.0) 최대 0.9A(USB3.x) |
최대 1.5A | 최대 1.5A |
별도 핸드셰이크 없음 | D+/D- 쇼트 | D+/D- 라인에 독립적으로 전압을 가해 핸드셰이크 |
데스크톱, 노트북 등에서 사용 | USB 충전기에서 주로 사용 | 데스크톱, 노트북 등에서 사용 |
Standard Downstream Port
USB BC는 충전 포트를 크게 3가지로 분류해 정의한다. 우선 첫 번째 충전 포트는 기존 USB 표준에 따르는 충전 포트다. USB 2.0 표준에 따라 0.5A를, 3.X 케이블에서는 0.9A를 공급하도록 정의하고 있는데, 이와 같은 규격의 포트를 USB BC에서는 Standard Downstream Port(a.k.a. SDP)라고 부른다.
Dedicated Charging Port
대신 전원 공급을 위해 USB BC에서는 최대 1.5A까지 공급할 수 있는 Dedicated Charging Port(a.k.a. DCP)라는 포트를 새로 정의했다. DCP의 목표는 충전기를 만드는 것이다. 따라서 DCP 규격을 만족하는 포트에서는 데이터 통신을 할 수 없다.
DCP에 따라 1.5 A까지 지원할 수 있는 충전 포트는 D+ 라인과 D- 라인을 200 Ω 이하의 저항으로 연결시켜 자신이 DCP에 따라 더 많은 전원을 공급할 수 있다는 사실을 전원을 공급받는 Portable Device(a.k.a. PD)에게 알린다. 그러면 전원 공급을 받기 원하는 디바이스는 저항을 낮춰 더 많은 전류를 공급받는다. USB DCP에서 충전 포트는 언제나 5V의 전압을 유지하고 있기 때문에 저항을 낮추는 것으로 더 많은 전류를 공급받을 수 있다.
Charging Downstream Port
DCP는 충전 전용 포트다. 이는 USB 충전기에서는 유용하지만, 데이터 통신을 필요로 하는 컴퓨터의 포트에서는 일반적인 SDP만 사용해야한다. 이는 스마트폰 같이 충전과 데이터 통신을 동시에 진행해야 할 경우 불편함을 초래한다. 이를 해결하기 위해 나온 것이 Charging Downstream Port(a.k.a. CDP)다. CDP는 데이터 전송도 허용하면서 1.5A의 전류를 공급할 수 있다. CDP를 지원하는 포트는 자신이 CDP를 지원한다는 사실을 D+ 라인과 D- 라인을 이용해 알린다. 구체적인 과정은 다음과 같다.
- 싱크 디바이스가 D+ 라인에 약 0.6 V의 전압을 가한다.
- 충전 포트는 D- 라인에 0.6V의 전압을 가해 응답한다.
- 싱크 디바이스가 D- 라인에 약 0.6V의 전압을 가한다.
- 충전 포트는 D- 라인에 추가적인 전압을 인가하지 않는다.(즉, 약 0.3 V의 전압 유지)
- 싱크 디바이스는 D- 라인의 전압이 0.3V로 유지되는 것을 확인하면 USB 데이터 전송을 시작 + 1.5A 이내의 전류를 공급받을 수 있도록 저항을 낮춤
이 절차가 문제 없이 끝나면 PD는 연결된 포트가 1.5A의 전류를 공급하고 데이터 통신도 허용하는 CDP라는 것을 인지하게 된다. PD는 연결된 포트가 CDP라는 것이 인지되면 DCP에 연결됐을 때와 마찬가지로 1.5A이내에서 원하는 전류를 받을 수 있도록 저항을 조정하여 전력 공급을 조절한다.
Port Detection
USB BC에 따른 PD의 핸드셰이크 |
USB BC를 지원하는 디바이스가 임의의 포트에 처음 연결했을 때 진행하는 핸드쉐이크는 위와 같이 정리할 수 있다. 우선 첫 번째 절차는 연결된 포트가 SDP인지 아닌지 구분하는 것이다. 이를 Primary Detection이라고 부른다. 연결 직후 D+/D- 라인에 아무런 신호를 보내지 않는 SDP와 달리 DCP는 D+ 라인과 D- 라인이 쇼트되어 있기 때문에 같은 전압을 유지하게 되고, CDP를 지원하는 포트는 D+ 라인에 전압이 걸린 것을 확인하면 바로 D- 라인에 전압을 걸기 때문에 SDP와 구분할 수 있다.
그 다음 절차는 DCP와 CDP를 구분하는 절차로 Secondary Detection이라고 부른다. Secondary Detection에서는 PD가 D- 라인에 전압을 가한다. DCP는 앞서 말한 것과 마찬가지로 D+ 라인과 D- 라인이 쇼트되어 있기 때문에 D-에서 가한 전압을 D+에서 확인할 수 있다. 하지만 CDP는 D-에 걸린 전압에 대해 아무런 응답을 하지 않기 때문에 D+ 라인에 전압이 걸리지 않는다.
여기서 확인에 사용하는 0.6V는 USB에서 데이터 통신에서 high voltage로 사용하는 3.3V보다는 낮고, low voltage로 사용하는 0.3 voltage보다는 높기 때문에 데이터 통신과 헷갈릴 일은 없다. 무엇보다 USB는 D+/D- 라인을 이용해 데이터 전송을 할 때 high voltage와 low voltage가 적절히 섞이도록 하는 8b/10b 인코딩을 사용하기 때문에 연속된 D+ 라인이나 D- 라인에 고정된 전압을 가했을 때 이를 데이터 신호로 잘못 해석할 일은 없이 USB BC를 위한 핸드셰이킹이라고 인지할 수 있다.
그리고 행복하게 살았습니다(?)
USB BC는 파편화되어가던 USB 충전기를 하나의 표준으로 통일하기 위한 노력이다. 하지만 USB BC가 나왔어도 여전히 문제는 남아 있었다. 근본적인 원인은 USB BC는 기존에 생산된 포트와 호환성을 유지해야 한다는 것이다.
D+/D-를 쇼트시킨 케이블 |
첫 번째 문제는 충전 포트를 DCP를 지원하는 포트라고 속이는 케이블을 쉽게 만들 수 있다는 것이다. DCP에서 D+ 라인과 D- 라인의 쇼트는 충전 포트에서 이루어져야 한다. 하지만 위 사진 같이 실제로는 VCC와 GND핀만 연결하고 내부적으로 D+ 핀과 D- 핀을 쇼트시킨 케이블이 고속 충전용 케이블이라고 팔리기도 한다. 이런 케이블을 사용하면 디바이스는 충전 포트가 DCP를 지원하는 줄 알고 과한 전류를 요청하기 때문에 충전 포트를 망가트릴 수 있다.
두 번째 문제는 전압이 5V로 고정돼있다는 것이다. 이 때문에 공급받을 수 있는 최대 전력이 7.5W로 제한된다는 것이다. USB BC가 처음 나왔던 시절에는 이정도 전력으로도 큰 문제 없을 것이라 생각했지만, 기술의 발전은 생각보다 빨랐고, 이제 스마트폰 등에서도 7.5W는 급속 충전이라고 부를 수 없는 속도가 됐다. 결국 스마트폰 칩셋 제조사들은 퀄퀌 퀵차지, 미디어텍 펌프 익스프레스, 삼성 AFC 같은 비표준 구현체를 만들어 사용했다. 즉, USB BC는 파편화되던 충전 포트를 통일하고자 하던 기존의 목표 달성은 실패했다고 볼 수 있다.
이런 문제를 해결하기 위해서는 기존과 전혀 다른 구조의 포트를 만들 필요가 있었다. 결국 Type A나 Type B 컨넥터는 이런 문제를 해결할 수 없었고, Type C 컨넥터의 USB Power Delivery라는 새로운 표준이 만들어질 수밖에 없었다.
댓글
댓글 쓰기