1월, 2025의 게시물 표시

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 충전기에서 주로 사용 데스크톱, 노트북...

USB 3.x 케이블 무엇을 골라야 하나

3.1? 3.2? 이건 뭐지? Gen 1? Gen 2? 이건 뭐지? USB 케이블이 필요해 인터넷에 검색하면 다양한 케이블이 나온다. 여기서 적당한 케이블을 골라야 하는데 보통은 여기서부터 막막해진다. 3.1과 3.2의 차이는 무엇이고 3.1 Gen 2와 3.2 Gen 2는 무슨 차이가 있을까? 3.2 Gen 1은 3.1 Gen 2보다 좋은 것일까? 사람들에게 혼란을 주는 가장 큰 요인은 USB 3.x의 복잡한 명명 방식이라고 생각한다. USB 3.0, USB 3.1, USB 3.2. 이름만 보면 USB 3.1은 USB 3.0보다 발전됐고, USB 3.2는 USB 3.1보다 발전된 것으로 보인다. 하지만 USB 3.2에서 규정하는 모든 기술이 USB 3.1에서 규정하는 모든 기술보다 발전한 기술은 아니다. 그 이유는 이들 표준이 이전 버전을 포함하는 방식으로 설계됐기 때문이다. 예를 들어, USB 3.1 표준은 USB 3.0 표준 문서에서 정의된 기능과 추가된 기능을 포함하며, USB 3.2 표준은 USB 3.1 표준 문서에서 정의하는 기능과 새로운 기능을 포함하고 있다. 이렇게 포함 구조로 설계된 표준은 표준 문서라는 기술적 측면에서는 합리적인 선택이다. 하지만 이런 이름이 좋은 브랜딩 방식이라고 생각하지 않는다. 예를 들어 이 글에서도 USB 3.x 표준에 기반한 케이블은 정확히 부를 이름이 없어 그냥 USB 3.x라는 이름으로 뭉뜽그려 부르고 있다. 이와 같은 혼란을 해소하기 위해 USB4에서는 모든 표준을 USB4라는 하나의 브랜드로 묶고, 표준 문서에 Version 1과 Version 2라고 버전을 붙이는 방식을 택했다. 이는 소비자들이 버전 간 차이를 명확히 이해할 수 있도록 노력한 것으로 보인다. USB 3.0 우선 USB 3.0이 USB 2.0과 비교해 가지는 가장 큰 장점은 전송속도다. 기존에 사용하던 USB 2.0 케이블은 최대 480 Mbps. 즉, 60 MB/s의 전송 속도를 가졌다. USB 2.0이 도입되던 ...

이 블로그의 인기 게시물

USB 2.0 케이블의 내부 구조

[C++] enum class - 안전하고 쓰기 쉬운 enum

Log Aggregator 비교 - Scribe, Flume, Fluentd, logstash

[Web] SpeechSynthesis - TTS API

터미널 출력 제어를 위한 termios 구조체 이해하기