오늘날 USB는 PC 환경뿐 아니라 디지털 카메라, 전용 프린터, 휴대용 MP3 플레이어, USB 메모리 등 우리가 일상에서 사용하는 가전제품에서도 흔히 볼 수 있는 데이터 이동 수단으로 자리매김했다. USB 메모리 한 개쯤 항상 휴대하고 다니는 사람을 주변에서 흔히 볼 수 있는 것은 이런 사실을 방증한다. 조만간 USB 3.0을 지원하는 PC와 USB 주변 장치도 대중화될 것이며, 기존 USB 메모리와 가격이 비슷한 USB 3.0 지원 메모리가 이미 시장에 출시되고 있는 상황이다.
한편 자동차 인포테인먼트 시스템에서의 USB 사용은 앞으로 괄목할 만한 성장을 이룰 것이다. 작년부터 본격적으로 시작된 아이폰, 안드로이드폰 등 스마트폰의 열풍은 누구라도 인정하는 사실이다. 자동차에 장착된 AVN(Audio, Video, Navigation) 시스템에 이런 스마트폰을 연결해서 그 안에 저장된 각종 멀티미디어 파일과 정보를 AVN 시스템의 큰 LCD상에서 활용할 수 있게 하려는 시도는 자동차 업계와 휴대폰 업계의 중요한 현안이다. 즉, 스마트폰에 저장된 멀티미디어를 AVN 시스템상에서 재생하고, 심지어 애플리케이션까지 AVN 시스템상에서 실행할 수 있는 시대가 곧 현실화될 전망이다.
이와 같은 AVN 시스템과 스마트폰 사이의 데이터 통신 수단으로 가장 이상적인 매체가 바로 USB다. USB는 데이터 전송률이 높고 사용 중에 스마트폰을 충전할 수 있다는 큰 장점이 있기 때문이다.
USB 디바이스를 동작하게 하려면 실제 물리적인 신호를 주고받는 USB 하드웨어는 물론이고 그 하드웨어를 통해 정해진 프로토콜로 데이터를 주고받는 소프트웨어가 필요하다. 문제는 이런 USB 소프트웨어를 작성하는 일이 쉽지만은 않다는 사실이다. 물론 PC에서는 윈도우나 리눅스 운영체제가 USB 호스트 역할을 하기 때문에 우리가 신경 쓸 일이 별로 없다. 하지만 임베디드 시스템이 호스트 역할을 해야 할 경우는 문제가 심각하다. 물론 임베디드 시스템에서 사용할 수 있는 상용 USB 소프트웨어나 임베디드 리눅스가 있다. 하지만 라이선스 비용, 메모리 크기 등 여러 가지 문제로 인해 구미에 딱 맞아 떨어지는 해결책을 찾기란 쉽지가 않다. 상용 소프트웨어 제품을 사용하건 직접 개발을 하건 USB에 대한 지식이 많으면 많을수록 더 효율적으로 목적하는 바를 달성할 수 있다.
이 책은 여러분이 USB 개발에 성공적으로 첫 발을 딛게 하는 데 많은 도움을 줄 것이다. 이 책의 저자 Jan Axelson은 USB뿐 아니라 시리얼 포트 통신, 병렬 포트 통신, TCP-IP 네트워킹 등 임베디드 시스템 분야에서 주로 데이터 통신에 아주 많은 경험이 있으며, 이들 주제를 다룬 몇 권의 책도 집필한 바 있다. 이 책 또한 저자의 폭넓은 경험을 토대로 처음 USB에 접근하려는 독자에게 아주 훌륭한 출발점을 제공한다.
저자는 이 책에서 USB-IF가 정의한 분야를 골고루 다룬다. 개발자의 입장에서 USB를 설명하고 어떻게 접근해야 할지를 알려주는 책은 세계적으로 이 책밖에 없다는 점을 강조하고 싶다. 이 책은 여러분이 USB 개발을 위해 기본적으로 무엇을 알아야 하는지, 어디부터 시작해야 하는지, 좀 더 심도 있는 관련 정보를 어디에서 찾을 수 있는지, USB 장치 쪽에서는 어떤 것에 중점을 둬야 하는지, PC에서는 어떻게 해야 하는지 등을 모두 알려준다. 모쪼록 이 책이 USB 개발자에게 많은 도움이 되기를 바란다.