USB OTG 기술자료
 작성자 :  아피스
작성일 :
 2007-05-11 오전 10:49:54
조회수 :
 21884
 첨   부 :   없음
 
 USB(Universal Serial Bus) 인터페이스는 PC와 주변기기간의 연결을 더 빠르고 편리하게, 그리고 더욱 많은 기기를 연결할 수 있도록 만들어 왔다. 현재 주위만 보더라도 많은 장치들이 USB 인터페이스를 가지고 있음을 볼 수 있다. 프린터, 스캐너, 외장형 하드디스크, mp3 플레이어, 디지털 카메라 등의 기기들은 거의 대부분이 USB 인터페이스를 지원하고 있다. 또 480Mbps라는 꽤 괜찮은 속도를 가진 USB 2.0의 등장으로 이런 흐름은 더욱 가속화될 것으로 생각된다.

세계에는 약 13억 개 이상의 USB 장치가 있다고 한다. 그러나 이렇게 널리 쓰이고 있는 USB 기술이라도 취약점이 하나 있는데, 반드시 호스트로 동작하는 PC가 있어야 된다는 점이다. 호스트-주변기기(Host-Peripheral) 개념으로 성립되는 USB 기술은 중심 역할을 하는 PC가 사라져 버린다면 사실상 어떻게 할 수가 없는 것이다.
바로 이러한 약점을 보완하기 위해서 USB On-The-Go(이하 OTG) 기술이 추가되었다. USB OTG 기술의 등장으로 인해 USB 주변기기만으로 서로 연결할 수 있게 되었으며 USB 인터페이스를 더 많은 분야에 적용할 수 있는 가능성이 열리게 된 것이다. 즉 MP3 플레이어와 외장형 하드디스크를 연결해 서로 데이터를 주고받을 수 있으며, 핸드폰과 PDA를 연결해 무선 인터넷을 이용할 수 있게 되며, 디지털 카메라와 포토 프린터를 연결해 찍은 사진을 곧바로 출력할 수 있게 되는 것이다.


OTG의 기술적 개념

이전까지 USB는 PC에 주변기기가 연결되는 호스트-주변기기 개념에서 출발하였다. 새롭고 편리한 인터페이스로서 USB는 활동 범위를 계속 넓혀 나갔고 시간이 갈수록 USB 인터페이스를 채택한 수많은 제품들이 나오게 되었다. 이렇게 USB 인터페이스가 전 세계의 공통적인 인터페이스로 자리 잡아 가면서 USB 주변기기 간의 연결에 대한 필요성이 점점 커지게 되었다.



예를 들어 PDA를 이용할 경우 여러 주변 장치들의 도움을 받고 싶을 때가 있다. 워드 작업을 위해 키보드를 달고 싶을 때도 있을 것이고, 외장형 하드디스크를 달아서 필요한 데이터를 전송하고도 싶을 것이다. 이전까지 이런 경우 각 회사에서는 독자적인 인터페이스를 만들어 이 장치들과 의사소통 할 수 있도록 만들어 주었다. 그렇지만 꼭 동일 회사의 제품만 써야 했으며, 보편적인 USB 인터페이스는 사용하지 못하게 된다.

하지만 대부분의 PDA에 USB 인터페이스를 사용하게 된다면 어떻게 될까? 현재 시중에 나와서 PC에 연결할 수 있는 USB 키보드는 모두 PDA에 연결할 수 있으며, 당연히 외장형 하드디스크도 연결해 데이터를 주고받을 수 있을 것이다. 이러한 일들을 USB OTG 기술이 가능하게 해주는 것이다.

IEEE 1394는 P2P(Peer-to-Peer) 개념에서 성립되었으므로 사실 임베디드 기기간의 연결성에 있어서는 USB보다는 훨씬 더 유리한 위치를 가지고 있다. 홈 네트워킹을 배경으로 IEEE 1394는 더욱 많은 주목을 받게 되었고, 비숙련 사용자라도 편리한 설치와 조작으로 높은 속도의 인터페이스를 사용할 수 있다. 또한 PC 주변기기 인터페이스에서도 IEEE 1394를 지원하는 기기들은 점점 늘어나고 있는 추세이며 USB와 더불어 앞으로의 발전 가능성이 큰 유망한 기대주이다. <표 1>은 두 인터페이스 기술의 차이를 일목요연하게 보여주고 있다.



OTG와 Bluetooth 비교

현재 PDA와 이동형 하드디스크가 블루투스 통신을 이용해 서로 데이터를 주고받는 제품이 소개되었는데, 무선이라는 점에서 블루투tm가 강점으로 작용한다. 그러나 이 제품에 USB OTG를 적용하게 된다면 훨씬 빠르고 싼 값에 제품을 구현할 수 있게 된다. 잘 생각해보면 임베디드 기기가 항상 그렇게 연결될 필요가 있는 것은 별로 없다. 필요할 때 선을 연결해서 자료를 다운로드하고 업로드 하면 되는 것이지 무선을 이용해서 계속 데이터를 주고받을 필요는 없는 것이다.
호환성 문제도 간과할 수 없다. 현재 USB 디바이스에 비해 상대적으로 블루투스 디바이스는 별로 없다. 비록 무선이라 편리하기는 하지만 현재 많은 사람들이 사용하고 있는 13억 개의 디바이스와 통신하려면 어느 것이 좋겠는가? 이런 점에서 볼 때도 USB OTG는 블루투tm보다 임베디드 시스템에 적용하는 데 유리하다.


OTG 특징

USB 커넥터와 케이블에 대한 새로운 표준안

모바일 기기도 호스트의 기능을 가질 수 있기 때문에 USB OTG 포럼에서는 이전의 USB 커넥터에 없었던 A 타입의 작은 플러그를 추가로 채택했다. <그림 2>에서 보는 것처럼 미니(mini)-A 타입인데, 이를 수용하기 위해 미니-A 타입의 리셉터클(receptacle)도 추가됐다.



미니-A 타입의 커넥터는 <그림 3>과 같이 계란형으로, 기존의 사각형이던 미니-B 타입의 커넥터와 구분된다.



이와 함께 호스트와 주변기기의 역할을 서로 바꿀 수 있는 듀얼-롤 디바이스(Dual-role Device) 기능도 추가됐는데, 케이블을 바꿔 끼우지 않아도 HNP(Host Negotiation Protocol)를 이용해 서로의 역할을 바꿀 수 있다. 물론 미니-AB 타입의 리셉터클도 추가됐다. 또한 플러그와 리셉터클 모두 미니-A 타입은 흰색, 미니-B 타입은 검은색, 미니-AB 타입은 회색으로 규정함으로써 사용자가 더 간편하게 사용할 수 있도록 배려하였다.


제한된 호스트 기능의 추가

PC의 주변기기로 작동하던 디바이스가 OTG 기능을 가진다면 그 주변기기가 호스트로서 작동할 수 있는 기회를 가지게 된다. 예를 들면 이전의 MP3 플레이어는 모두 PC와 연결되어 곡을 업로드, 다운로드 할 수 있었다. 하지만 이 MP3 플레이어가 OTG 기능을 가진다면 PC가 아닌 플래시 메모리 카드 리더기 혹은 이동형 하드디스크와 연결돼 곡을 업로드/다운로드 할 수 있는 기능을 지닐 수 있는 것이다.
그렇지만 MP3 플레이어가 이전의 PC와는 다르게 플래시 메모리 카드 리더기 혹은 이동형 하드디스크에 전원을 공급해줄 수 있는 능력은 지니지 못하게 된다. MP3 플레이어 자체도 그 자신만 감당하기 위해 설계된 배터리를 쓰기 때문이고 다른 주변기기까지 전원을 공급해줄 수 있을지는 보장된 것이 아니기 때문이다. 그래서 제한된 호스트의 기능을 가지게 되는데, PC와 호스트 기능을 비교하면 <표2>와 같다.



또한 OTG 주변기기는 모든 USB 주변기기와의 연결을 지원할 필요는 없다. OTG 제품의 생산자는 그 제품이 어떤 OTG 기기를 지원할 것인지 결정해야 하고 지원되는 USB 주변기기들의 목록을 만들어야 되는데 이를 ‘지원 주변기기 리스트(Targeted Peripheral List)’라고 한다. 여기에는 지원 디바이스의 이름, 생산자, 디바이스의 타입, 모델 넘버 등의 정보가 들어가게 되며, 이 목록으로 어떤 OS가 있는지, 어떤 특정한 제품 군의 USB 기기에 적용할 수 있는지 알 수 있게 된다.


듀얼-롤 디바이스 개념 추가

USB OTG에서는 이전의 주변기기와는 다른 새로운 개념의 디바이스가 등장할 수 있다. 바로 듀얼-롤 디바이스인데, 이는 한 주변기기가 호스트와 주변기기의 역할을 모두 하는 것을 일컫는다. 지금까지 USB 케이블은 신호를 전송하는 D+, D-선과 파워를 전송하는 VBUS, 그리고 접지선인 GND로 구성되어 있었다. 그러나 OTG 기술이 소개되면서 한 가지 문제점이 발생했는데, 두 개의 듀얼-롤 디바이스가 있다면 어느 쪽이 호스트의 역할을 하게 되고, 어느 쪽이 주변기기의 역할을 하게 되는지를 정하는 것이 필요하다. USB OTG에서는 이 역할을 케이블에 맡긴 것이다. 다음의 기능과 특성을 가지고 있는 디바이스를 듀얼-롤 디바이스라고 한다.

◆ 제한된 호스트의 기능
◆ 주변기기로서의 풀 스피드 동작 (하이 스피드 동작은 옵션)
◆ 호스트로서의 풀 스피드 동작 (로우 스피드, 하이 스피드 동작은 옵션)
◆ 지원 주변기기 리스트 소유
◆ SRP
◆ HNP
◆ 오직 하나의 미니-AB 리셉터클 소유
◆ VBUS에 최소 8mA 이상의 전류 공급

현재의 선 구성을 본다면 호스트와 주변기기 역할을 구분하기 위해 ID선이 추가되었는데, 이 선의 상태에 따라 역할이 결정되는 것이다(< 그림 4>).



만일 ID선이 GND와 연결되어 있다면 이 방향의 주변기기는 처음부터 자신을 호스트로 셋팅하게 되고, ID선이 플로팅(floating: 연결되어 있지 않음)되어 있다면 처음부터 자신을 주변기기로 셋팅하게 되는 것이다.
그렇다면 호스트와 주변기기 관계를 바꾸려면 어떻게 해야 할까? 간단히 케이블을 바꿔 끼우면 된다고 말할 것이다. 하지만 게으른(?) USB OTG 개발진들은 케이블을 바꿔 끼우는 수고도 하기 싫은지 HNP를 만들어 굳이 케이블을 바꾸지 않아도 역할 전환을 할 수 있도록 하였다.
HNP는 두 디바이스 중에서 누가 호스트가 되는지 협상을 벌이는 것이다. 이 경우 두 디바이스는 반드시 듀얼-롤 디바이스여야 하며, 각 상태에 따라 결과가 나오는 상태 머신(state machine)으로 동작하게 된다. 각 디바이스는 미니-A 타입의 플러그를 꽂거나 뺀다든지 파워에서 문제가 생긴다든지 하는 이벤트에 따른 상태 변화를 가지게 되는데, A 타입 디바이스(Standard-A 혹은 미니-A 플러그가 디바이스의 리셉터클과 이어져 통신을 할 수 있는 기기)와 B 타입 디바이스(Standard-B 혹은 미니-B 플러그가 디바이스의 리셉터클과 이어져 통신을 할 수 있는 기기)의 상태 변화를 고려해서 HNP를 소프트웨어 또는 하드웨어적으로 구현할 수 있다.


 
 
 
이메일사이트맵