이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
USB 완전정복
임베디드 USB 장치 개발을 위한
Jan Axelson 전준걸 역
에이콘출판사 2006.01.17.
가격
35,000
10 31,500
YES포인트?
350원 (1%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 개정판이 출간 되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

에이콘 임베디드 시스템 프로그래밍 시리즈

책소개

목차

1장 USB의 기초
USB가 할 수 있는 것
사용자 측면의 이점
개발자 측면의 이점
USB는 만능?
인터페이스의 진화
오리지널 USB
USB 2.0
USB On-The-Go
무선 USB
USB 대 IEEE-1394
USB 대 이더넷
Bus 구성요소
토폴로지
용어 정의
작업 분할
호스트의 역할
주변기기의 역할
속도에 관해
디바이스 개발
구성요소
개발 도구
프로젝트 개발 단계
  
2장 USB 전송 세부사항
전송의 기초
이뉴머레이션 통신
애플리케이션 통신
버스 상의 데이터 관리
호스트 스피드와 버스 속도
전송의 구성요소
디바이스 엔드포인트: 데이터를 만들거나 소비하는 곳
파이프: 엔드포인트를 호스트에 연결
전송방식
스트림 파이프와 메시지 파이프
전송 개시
트랜잭션: 전송의 구성요소
트랜잭션 페이즈
전송이 성공했는지 보증
핸드쉐이킹
제어전송 상태 보고
에러확인
  
3장 다양한 용도를 위한 전송 타입
제어 전송
가용성
구조
데이터 크기
속도
에러감지와 에러처리
벌크 전송
이용가능성
구조
데이터 크기
속도
에러검출과 에러처리
인터럽트 전송
이용가능성
구조
데이터 크기
속도
에러검출과 에러처리
등시성 전송
이용가능성
구조
데이터 크기
속도
에러검출과 에러처리
시간이 중요한 전송(time-critical transfers)에 관한 자세한 내용
버스대여폭
디바이스 기능
호스트 기능
호스트 지연
  
4장 이뉴머레이션: 호스트가 디바이스 정보를 가져오는 방법
프로세스
이뉴머레이션 단계
허브를 이뉴머레이션 하기
디바이스 제거
성공적인 이뉴머레이션을 위한 팁
디스크립터
디스크립터 타입
디바이스 디스크립터
디바이스 한정자 디스크립터
컨피규레이션 디스크립터
다른 스피드 컨피규레이션 디스크립터
인터페이스 연관 디스크립터
인터페이스 디스크립터
엔드포인트 디스크립터
문자열 디스크립터
다른 표준 디스크립터
마이크로소프트 OS 디스크립터
2.0 준수 디바이스의 디스크립터
1.x디스크립터가 2.0을 준수하게 만들기
듀얼스피드 디바이스의 속도 알아내기

5장 제어전송: 중요 데이터를 위한 구조화된 리퀘스트
제어전송의 요소
셋업 스테이지
데이터 스테이지
상태스테이지
에러 처리
디바이스 펌웨어
리퀘스트
Get_Status
Clear_Feature
Set_Feature
Set_Address
Get_Descriptor
Set_Descriptor
Get_Configuration
Set_Configuration
Get_Interface
Set_Interface
Synch_Frame
다른 제어리퀘스트
클래스 한정 리퀘스트
제조사 한정 리퀘스트

6장 칩 선택
USB 디바이스 요소
  USB 컨트롤러
  다른 디바이스 요소
디바이스 개발 쉽게 하기
  디바이스 요구사항
  칩 문서
  드라이버 선택
  디버깅 툴
임베디드 CPU가 있는 컨트롤러
  Microchip PIC18F4550
  Cypress EZ-USB
  Cypress enCoRe II
  Freescale MC68HC908JB16
  Freescale MCF5482 ColdFire
외부 CPU와 인터페이스하는 컨트롤러
  National Semiconductor USBN9603
  Philips Semiconductors ISP1181B
  Philips Semiconductors ISP1581
  PLX Technology NET2272
  FTDI Chip FT232BM과 FT245BM

7장 디바이스 클래스
클래스란
디바이스 워킹그룹
클래스 스펙 요소
정의된 클래스
오디오
칩/스마트카드 인터페이스
통신디바이스: 모뎀과 네트워크
컨텐츠 보안
디바이스 펌웨어 업그레이드
휴먼 인터페이스
IrDA 브릿지
대용량 저장장치
프린터
정지이미지 캡쳐: 카메라와 스캐너
시험과 측정
비디오
비표준 기능 구현
표준 또는 맞춤 드라이버?
RS-232로부터 변환
패러렐포트로부터 변환
PC-to-PC 통신
포괄적 드라이버 사용

8장 호스트가 통신하는 방법
디바이스 드라이버의 기초
 애플리케이션을 세부사항에서 분리하기
 애플리케이션을 세부사항에서 분리하기
 애플리케이션을 세부사항에서 분리하기
WDM 드라이버
계층적 드라이버
통신 흐름
추가 예제
맞춤 드라이버 제작
처음부터 드라이버 작성
드라이버 툴킷 사용
GUID 사용
디바이스 셋업 GUID
디바이스 인터페이스 GUID

9장 디바이스에 맞는 드라이버 찾기
장치관리자 사용
디바이스 보기
속성 페이지
레지스트리의 디바이스 정보
하드웨어 키
클래스 키
드라이버 키
서비스 키
INF 파일 내부
문법
섹션
디바이스 식별 문자열 사용
일치하는 것 찾기
INF파일을 제공할 필요가 있는가?
툴과 진단 도구
 INF파일 사용 팁
 사용자가 보는 것

10장 디바이스 발견
API함수 호출에 관한 간략한 가이드
관리된 코드와 관리되지 않은 코드
문서
비주얼C++ .NET 사용
비주얼베이직 .NET 사용
디바이스 찾기
디바이스 인터페이스 GUID 얻기
디바이스 정보 셋에 대한 포인터 요구
디바이스 인터페이스 확인
디바이스 패스명을 가진 구조체 요청
디바이스 패스명 추출
통신 끝내기
핸들 얻기
통신 핸들 요구하기
핸들 닫기
연결과 제거 감지
디바이스 통보에 관해서
디바이스 통보 등록
디바이스 변경 메시지 잡기
디바이스 변경 메시지 읽기
메시지에서 디바이스 패스명 가져오기
디바이스 통보 멈추기

11장 휴먼 인터페이스 디바이스: 제어와 인터럽트전송 사용
HID란?
하드웨어 요구사항
펌웨어 요구사항
HID로 디바이스 식별하기
HID 인터페이스
HID 클래스 디스크립터
리포트 디스크립터
HID한정 리퀘스트
Get_Report
Get_Idle
Get_Protocol
Set_Report
Set_Idle
Set_Protocol
데이터 전송
예제코드에 관해
인터럽트 전송으로 리포트 보내기
인터럽트 전송으로 리포트 받기
제어전송을 사용해 리포트 보내기
제어전송으로 리포트 받기

12장 휴먼 인터페이스 디바이스: 리포트
리포트 구조
HID 디스크립터 툴 사용
컨트롤과 데이터 아이템 값
아이템 타입
메인 아이템 타입
입력, 출력, 특성 아이템
컬렉션과 컬렉션 끝 아이템
전역아이템 타입
리포트 식별
데이터 사용에 관한 설명
단위 변경
원본 데이터 변환
데이터 크기와 포맷 설명
전역아이템 저장과 가져오기
로컬아이템 타입
물리적 디스크립터
패딩

13장 휴먼 인터페이스 디바이스: 호스트 애플리케이션
HID API 함수
HID에 관한 정보 요구
리포트 보내고 받기
리포트 데이터 제공과 사용
HID통신 관리
디바이스 식별
제조사 ID와 제품 ID 읽어오기
디바이스 기능이 있는 버퍼 포인터 가져오기
디바이스 기능 가져오기
버튼과 값 기능 가져오기
리포트 보내고 받기
디바이스로 출력리포트 보내기
디바이스에서 입력리포트 읽기
디바이스로 특성리포트 보내기
디바이스에서 특성리포트 읽기
통신 닫기

14장 벌크전송
두 가지 프로젝트
비동기 시리얼 인터페이스
패러렐 인터페이스
호스트 프로그래밍
D2XX다이렉트 드라이버 사용
드라이버 선택
성능향상을 위한 팁
스피드에 대한 고려사항
지연 최소화
데이터 손실 방지하기
EEPROM 프로그래밍
EEPROM 데이터
데이터 수정

15장 허브: 디바이스와 호스트 사이의 연결
허브의 기초
허브 리피터
트랜잭션 번역기
허브 컨트롤러
스피드
아이들 버스 유지
허브를 직렬로 몇 개까지 연결할 수 있는가?
허브 클래스
허브 디스크립터
허브클래스 리퀘스트
포트 지시자

16장 전원 관리
전원 옵션
전압
어떤 주변기기가 버스전원을 사용할 수 있는가?
필요한 전원
호스트에 알려주기
허브 전원
전원 소스
과전류 보호
전원 스위칭
전원 절약
전체와 선택적 서스펜드
서스펜드 디바이스의 전류제한
통신 재개
윈도우에서 전원 관리

17장 테스트와 디버깅

하드웨어 프로토콜 애널라이저
소프트웨어 프로토콜 애널라이저
트래픽 발생기
테스트
적합성 테스트
WHQL 테스트

18장 시그널과 인코딩
버스 상태
로우스피드와 풀스피드 버스 상태
하이스피드 버스 상태
데이터 인코딩
동기 유지
타이밍 정확도
패킷 포맷
필드
패킷간 지연
테스트 모드
테스트 모드 진입과 빠져나오기
모드

19장 전기적 인터페이스
송수신기와 시그널
케이블 세그먼트
로우/풀스피드 송수신기
하이스피드 송수신기
시그널 전압
로우스피드와 풀스피드
하이스피드
케이블
접점
커넥터
분리 가능 케이블과 캡티브 케이블
케이블 길이
시그널 품질 보장
노이즈 소스
평형 선로
트위스티드 페어
차폐
에지 레이트
분리된 인터페이스
무선 링크
Cypress 무선 USB
무선 USB 이니셔티브
기타 옵션

20장 USB OTG를 이용한 이중 역할 디바이스
디바이스와 호스트가 하나로
기능과 한계
OTG 디바이스 요구사항
OTG 디스크립터
HNP를 위한 기능코드
OTG 컨트롤러 칩
Philips ISP1362
TransDimension TD242LP
Cypress CY7C67200 EZ-OTG
Philips ISP1261 브릿지 컨트롤러

저자 소개

저자 : Jan Axelson (jan@lvr.com)
임베디드 네트워킹(Embedded Ethernet & Internet Complete), Serial Port Complete을 저술했고, Circuit Cellar, EDN, Nuts & Volts 등 기술 간행물에 실린 수많은 기사의 저자이다. PC매거진의 Bill Machone은 Jan의 저술 스타일을 "명확함과 간결함의 모델"이라고 표현했다.
역자 : 전준걸 (nautes@gmail.com)
성균관대학교에서 전자공학을 전공하고 대학원에서 정보공학 석사학위를 취득했다. 졸업 후 LG전자연구소에서 근무하면서 통신과 임베디드 시스템에 관한 실무를 진행했다. UCSB에서 ECE석사학위를 취득하고 현재 UT Dallas에서 네트웍 관련 박사과정을 밟고 있다.
역자 : ㈜하제소프트 www.hajesoft.co.kr
(주)하제소프트(대표 이봉석)는 '모든 하드웨어 디바이스의 제어 통제'라는 비전을 내걸고 1998년 7월에 설립되었다. 그간 국내외의 다양한 디바이스 드라이버 및 보안 솔루션들을 개발해오면서 쌓은 노하우로 세계 디바이스 드라이버 개발 시장에서도 경쟁력을 갖고 겨룰 수 있는 시스템 소프트웨어 기술력을 확보하고 있다. 특히 윈도우와 윈도우 CE 디바이스 드라이버 분야에서는 그 내용과 매출에서 두각을 나타내고 있으며, 2005년 7월 법인화에 즈음해 '(주)하제소프트 부설 시스템 소프트웨어 연구소'를 병설하여 "회사의 모든 경쟁력은 기술에서 나온다"는 기치 아래 미래를 대비할 신제품 및 솔루션 개발에 힘쓰고 있다.주요 제품 및 솔루션으로는 'PC Protected Engine', 'USB! 머하니?', 'MSP(Mobile Solution Package) 시리즈' 등이 있으며 앞으로 Wireless USB 분야의 다양한 솔루션 제품을 개발할 계획이다.

품목정보

발행일
2006년 01월 17일
쪽수, 무게, 크기
600쪽 | 1220g | 크기확인중
ISBN13
9788989975809

책 속으로

USB는 기존 레거시 포트(시리얼, 패러렐, PS/2)의 느린 속도와 제한된 장치 연결에 따른 불편을 해결하기 위한 인터페이스로 만들어 졌습니다. 일부 신형 PC는 레거시 포트를 아예 제거하고 USB만 탑재해 나오기도 하고 매우 다양한 주변기기가 USB를 사용할 정도로 광범위하게 사용되고 있습니다.
하지만 실제 USB를 자신의 제품에 넣기를 원하는 경우 실제 도움이 되는 자료를 구하기는 쉽지가 않습니다. 이 책 『USB 완전정복』은 『USB Complete』이라는 원서명에서도 볼 수 있듯이, USB 스펙을 제외하고 구할 수 있는 자료 중에 가장 광범위한 주제를 다루면서도 실제에서 쉽게 적용할 수 있게 쓰여진 책입니다. 『USB Complete』은 1999년 초판을 찍어낸 이후, 2001년 개정2판, 2005년 개정 3판을 펴내는 등 USB에 관한 한 전세계에서도 유례를 볼 수 없는 독보적인 책이며 이는 여러 전문가들이 격찬을 하는 이유이기도 합니다.
- 전준걸

USB와 관련해 자타 공인 세계 최고의 책이라 일컬을 만한 이 책의 원서 『USB Complete 3rd edition』 표지에는 'Everything You Need to Develop Custom USB Peripherals(맞춤 USB 주변장치를 개발하기 위해 여러분이 알아야 할 모든 것)'이라는 문장이 적혀있다. 이 글귀만큼 이 책을 정확히 설명하는 문장은 더 이상 없을 것 같다. 이렇듯 USB에 관한 모든 내용을 총괄하는 이 멋진 책을 번역하고 감수한 역자의 입장으로서 이 책의 특장점을 몇 가지로 간추리는 것이 더 어렵지만 특별히 두 가지만 꼽아 이야기해보겠다.
첫째, 이 책은 USB에 대한 전반적인 설명과 더불어 MS 윈도우 운영체제에서의 USB 디바이스 드라이버와 관계된 부분에 대해서도 많은 설명을 할애하고 있다. 따라서 독자는 USB는 물론이고 USB 디바이스와 호스트(MS 윈도우)를 포함한 전체 시스템을 이해하는 데 많은 도움을 받을 수 있다. 또한 MS 윈도우가 제공하는 USB 디바이스 드라이버와 관계된 여러 가지 API를 사용한 예제 코드를 비주얼 C++뿐 아니라 비주얼 베이직으로도 제공하고 있어서, 비주얼 베이직 개발자도 드라이버와 통신하는 프로그램을 쉽게 개발할 수 있다.
둘째는 USB와 관련된 로고(logo)에 관한 설명이다. USB 로고에는 Certified USB 로고와 Microsoft Windows 로고가 있다. 이 두 로고는 최종 사용자에게 USB 디바이스를 배포하기 전에 필수적으로 획득해야 하는 것이다. (물론 이 로고가 없어도 최종 사용자에게 판매할 수는 있다. 하지만 최종 사용자는 로고를 획득한 제품을 구매하는 경향이 높다. 또한 해외로 수출할 경우 거의 대부분 로고 획득은 필수적이다). 많은 업체 관계자들이 이런 로고가 있는지조차 모르는 경우가 많아 개발 일정이 지연되는 일이 종종 발생하곤 한다. 그만큼 이 두 로고에 대한 설명이 이 책에 간략하게나마 포함되어 있는 것 또한 큰 장점이라 할 수 있다.
역자가 언급한 이 작은 내용들 외에도 『USB 완전정복』에서는 이 책의 부제처럼 'USB 장치 개발을 위한' 필수적인 많은 내용을 접할 수 있을 것이다. 부디 많은 개발자들에게 도움을 주는 유익한 책이 되기를 바란다.
- ㈜하제소프트

--- 역자서문

전문가 리뷰

성원호
디오이즈(www.dioiz.com) 대표
오늘날 USB는 PC 환경뿐 아니라 디지털 카메라, 전용 프린터, 휴대용 MP3 플레이어, USB 메모리 등 우리가 일상에서 사용하는 가전 제품에서도 흔히 볼 수 있는 데이터 이동 수단으로 자리매김했다. 게다가 조만간 케이블 없이 무선으로 데이터를 전송하는 일까지 가능해질 것이다. 따라서 USB를 사용한 제품과 응용은 앞으로 더 늘어날 것이 분명하다.
이런 USB 장치를 동작하게 하기 위해서는 실제 물리적인 신호를 주고받는 USB 하드웨어는 물론이고 그 하드웨어를 통해 정해진 프로토콜로 데이터를 주고받는 소프트웨어가 필요하다. 문제는 이런 USB 소프트웨어를 작성하는 게 쉽지 않다는 것이다. 물론 PC에서는 윈도우나 리눅스 운영체제가 USB 호스트 역할을 하기 때문에 우리가 신경 쓸 일은 별로 없다. 하지만 임베디드 시스템이 호스트 역할을 해야 할 경우는 문제가 심각하다. 물론 임베디드 시스템에서 사용할 수 있는 상용 USB 소프트웨어 또는 임베디드 리눅스가 있다. 하지만 라이센스 비용, 메모리 크기 등 여러 가지 문제 때문에 여러분의 구미에 딱 맞아 떨어지는 해결책을 찾기란 쉽지가 않다. 상용 소프트웨어 제품을 사용하건 여러분이 직접 개발을 하건, USB에 대한 지식이 많으면 많을수록 더 효율적으로 목적하는 바를 달성할 수 있다.
『USB 완전정복』은 여러분이 USB 개발에 성공적으로 첫 발을 딛게 하는 데 많은 도움을 줄 것이다. 이 책의 저자 Jan Axelson은 USB뿐 아니라 시리얼포트 통신, 병렬포트 통신, TCP-IP 네트워킹 등 임베디드 시스템 분야에서 주로 데이터 통신에 아주 많은 경험이 있으며, 이들 주제를 다룬 세 권의 책도 집필한 바 있다. 이 책 또한 저자의 폭넓은 경험을 토대로 처음 USB에 접근하려는 독자에게 아주 훌륭한 출발점을 제공한다.
저자는 이 책에서 USB-IF가 정의한 분야를 골고루 다루고 있다. 개발자의 입장에서 USB를 설명하고 어떻게 접근해야 할지를 알려주는 책은 세계적으로 이 책 밖에 없다는 점을 강조하고 싶다. 이 책은 여러분이 USB 개발을 위해 기본적으로 무엇을 알아야 하는지, 어디부터 시작해야 하는지, 좀더 심도 있는 관련 정보를 어디에서 찾을 수 있는지, USB 장치 쪽에서는 어떤 것에 중점을 둬야 하는지, PC에서는 어떻게 해야 하는지 등을 모두 알려준다. 모쪼록 『USB 완전정복』이 USB 개발자에게 많은 도움이 되기를 바란다.

추천평

스펙을 다운로드하고 그 위에 이 책을 올려놓아라. 그러면 개발할 준비는 모두 끝난 셈이다.
Paul E. Berg / MCCI 부사장, USB-IF 디바이스 워킹그룹장
Jan Axelson은 복잡한 정보를 읽기 쉽고 흥미있게 만드는 데 탁월한 재주가 있다. 이 책은 USB에 관한 한 최고의 책이다. USB를 개발하려는 당신에게 강력히 추천한다.
Jon Titus / ECN 매거진 선임 기술 에디터
이 책은 지금까지 출판된 USB에 관한 책 중에 최고로 명확한 단일 소스이다. 이렇게 읽기 쉬운 스타일로 실제 내용을 저술한 책을 찾기란 쉽지 않을 것이다.
Lane Hauck, Cypress Semiconductor의 기술 스텝 멤버
Jan Axelson이 다시 한번 해 냈다. '임베디드 USB 장치 개발을 위한 USB 완전정복'이라는 책 제목처럼 충분히 책값만큼의 값어치를 한다. 레퍼토리에 USB를 추가하고 싶은가? 그렇다면 이 책은 바로 당신을 위한 것이다.
Joseph J. Carr / Nuts & Volts사
어려운 주제인 USB 주변기기 개발에 대해 훌륭하게 설명한 책이다.
Karl W. Pfalzer / www.enterprise-zone.com 이주의 북 리뷰 중에서

리뷰/한줄평2

리뷰

8.6 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.