목차
저자 소개 ... 4
옮긴이의 말 ... 5
들어가며 ... 17
1장 옵션과 선택 ... 23
   시리얼 포트 사용 ... 24
      장점 ... 25
      한계 ... 26
   시스템 구성 요소 ... 27
      컴퓨터 시스템 ... 27
      물리적 연결 ... 30
      프로그래밍 ... 30
   애플리케이션 ... 32
      시스템 구성 사례 ... 33
      통신 제어 ... 33
      특별한 용도의 모듈 ... 34
2장 통신 포맷과 프로토콜 ... 35
   시리얼 데이터 전송 ... 35
      비동기 통신과 동기 통신 ... 35
      워드 형식 ... 36
      비트레이트와 보레이트 ... 38
      시스템에서 지원되는 로우레벨 프로토콜 ... 38
   비트 전송 ... 39
      형식 ... 39
      정확한 타이밍의 필요성 ... 40
      비트레이트 자동 감지 ... 42
      COM 포트 자동 감지 ... 43
   데이터 포맷 ... 44
      2진 데이터 ... 44
      텍스트 데이터 ... 45
      아스키 16진수 ... 48
      애플리케이션 고유 프로토콜 ... 50
   데이터 손실 방지 ... 53
      흐름 제어 ... 53
      버퍼 ... 55
      이벤트 처리와 폴링 방식 프로그래밍 ... 56
      응답 신호 ... 57
      에러 체크 ... 57
3장 PC용 COM 포트 ... 61
   포트 구조 ... 61
      장치 관리자 ... 61
      포트 리소스 ... 65
      시리얼 서버 ... 66
   포트 사용 ... 67
      드라이버 ... 67
      포트 구별 ... 68
      COM 포트 GUID ... 69
      COM 포트 번호 ... 70
      INF 파일 ... 70
      애플리케이션 프로그래밍 선택 ... 71
4장 RS-232 구조 ... 73
   하드웨어 연결 ... 73
      시그널 ... 72
      전압 ... 77
      타이밍 제한 ... 78
   전압 변환 ... 79
      인터페이스 칩 ... 81
      단거리 통신 회로 ... 85
   포트 전력 구동 ... 88
      전력 공급용 출력 ... 89
      전압 레귤레이팅 ... 90
   기타 연결 방법 ... 90
      직접 연결 ... 91
      기타 언밸런스드 인터페이스 ... 91
5장 RS-232 연결 ... 93
   커넥터와 어댑터 ... 93
      커넥터 선택 ... 93
      어댑터 ... 95
      마이크로컨트롤러 개발 보드 활용 ... 99
   케이블 ... 100
      한계 길이 ... 100
      써지 보호 ... 102
   신호선 분리 ... 103
      분리 방법 ... 103
      그라운드 ... 104
      전원 그라운드 ... 106
      광 분리 ... 108
   디버깅 툴 ... 110
      브레이크아웃 모듈 ... 110
      테스터 ... 111
      오실로스코프와 로직 애널라이저 ... 112
6장 RS-485 ... 113
   RS-485 표준 ... 113
      밸런스드와 언밸런스드 신호 ... 114
      전압 요구 사양 ... 118
      전류와 전력 ... 120
      통신 속도 ... 123
      내부 보호회로 ... 124
   연결 옵션 ... 125
      통신 칩 ... 126
      PC용 RS-485 포트 ... 127
      3.3/5V 전압 변환 ... 128
      RS-232 신호 변환 ... 130
   드라이버 활성화 제어 ... 134
      드라이버 재활성화 ... 135
      소프트웨어를 이용한 제어 ... 136
      하드웨어 제어 방식 ... 138
7장 RS-485 통신과 네트워크 설계 ... 145
   긴 연결과 짧은 연결 ... 146
      긴 연결의 경우 ... 146
      선로 길이 계산 ... 150
      드라이버 칩 선정 ... 152
   라인 터미네이션 ... 153
      임피던스 특성 ... 154
      터미네이션 추가 ... 155
      터미네이션의 효과 ... 157
      반사 ... 160
      직렬 터미네이터 ... 165
      짧은 통신선의 터미네이터 ... 165
      AC 터미네이션 ... 166
      네트워크 구성 형태 ... 168
   신호 바이어싱 ... 171
      오픈 회로 보호 ... 171
      쇼트 회로 보호 ... 174
   케이블 종류 ... 176
      케이블이 노이즈를 줄이는 방법 ... 177
      트위스트 페어 케이블 ... 178
      케이블 선택 ... 178
   접지와 차동 신호선 ... 180
      공통 접지 유지 ... 180
      분리된 신호선 ... 184
   다중 버스 이용 ... 187
      리피터 추가 ... 187
      별 형태 구성 ... 188
8장 무선 연결 ... 191
   연결 매체와 변조 방식 ... 191
      전송 주파수 ... 192
      확산 스펙트럼 기술 ... 193
      전송 신뢰성 ... 193
   적외선 ... 194
      송신과 수신 ... 194
      IrDA ... 195
   무선 주파수 ... 196
      전파 규정 준수 ... 196
      주파수 선택 ... 196
      연결 구성 ... 198
      기타 RF 표준 ... 199
9장 닷넷 SerialPort 클래스 ... 203
   포트 사용하기 ... 204
      포트 찾기 ... 204
      포트 열기 ... 205
      타임아웃 ... 209
      수신 드레숄드 ... 210
      포트 닫기 ... 211
   데이터 전송 ... 213
      바이트 전송 ... 218
      텍스트 전송 ... 221
   Stream 객체 사용 ... 229
      BinaryReader 클래스와 BinaryWriter ... 229
      StreamReader와 StreamWriter 클래스 ... 236
   포트 설정 저장 ... 240
      애플리케이션 설정 구조 ... 241
      콤보박스 예제 ... 242
10장 닷넷을 활용한 포트 제어와 전송 ... 245
   데이터 수신 ... 246
      타임아웃 설정 ... 246
      수신 데이터 감지 ... 247
      수신 데이터 모으기 ... 254
      효율적인 전송 방법 ... 260
   데이터 전송 ... 261
      타임아웃 방지 ... 261
      애플리케이션 블록킹 없이 전송 ... 262
      버퍼 오버플로우 방지 ... 266
      효율적인 전송 방법 ... 268
   흐름 제어 ... 268
      메소드 선택 ... 268
      흐름 제어 신호 제어와 감시 ... 269
   에러 처리 ... 273
      예외 ... 273
      ErrorReceived 이벤트 ... 274
      수신 데이터 확인 ... 277
   애플리케이션 구조 ... 277
      ComPort 클래스 정의 ... 278
      포트 설정용 콤보박스 ... 281
      애플리케이션 고유 이벤트 ... 285
11장 임베디드 시스템용 포트 ... 289
   마이크로컨트롤러의 시리얼 포트 ... 290
      PIC18F4520 칩 ... 290
      Enhanced UART ... 290
   레지스터 ... 291
      포트 제어와 구동 ... 291
      통신 속도 설정 ... 295
      인터럽트 ... 299
      기본 순서 ... 301
   포트 구동 ... 303
      포트 설정 ... 304
      데이터 전송 ... 306
      데이터 수신 ... 308
      인터럽트 활용 ... 318
      흐름 제어 ... 322
   포트 추가 ... 329
      여러 개의 온칩 UART 사용 ... 329
      펌웨어 UART 사용 ... 329
      외장 UART 칩 사용 ... 330
12장 네트워크 프로그래밍 ... 333
   전송 관리 ... 333
      메시지 전송 순서 ... 334
      프로토콜 ... 335
      다양한 프로토콜 활용 ... 337
      디버깅 팁 ... 338
   주소 ... 339
      주소 할당 ... 339
      주소 감지 ... 340
      주소 값 유보 ... 340
      메시지 형식 선정 ... 341
      9비트 포맷 ... 342
13장 RS-485 네트워크 ... 349
   노드 연결 ... 349
      트랜시버 ... 349
      터미네이팅과 바이어싱 ... 351
      케이블 연결 ... 351
   프로토콜 연습 ... 351
      주소 ... 352
      메시지 포맷 ... 352
   명령 ... 353
      바이트 수신 ... 353
      바이트 쓰기 ... 354
   노드 폴링 ... 355
      드라이버 활성화 신호 설정 ... 356
      명령 전송 ... 357
   폴링 응답 ... 360
      기타 함수 ... 361
      수신 데이터 디코딩 ... 374
14장 USB 구조 ... 387
   호스트와 디바이스 ... 387
      호스트상의 드라이버 설정 ... 388
      요구 사양 ... 389
      호스트의 역할 ... 389
      디바이스의 역할 ... 390
      속도 ... 391
      엔드포인트 ... 391
   USB 전송 ... 392
      전송 방식 ... 392
      트랜잭션 ... 394
      데이터 토글 ... 395
15장 USB 컨트롤러 활용 ... 397
   칩의 내부 구조 ... 397
      시리얼 인터페이스 칩(TF232R) ... 398
      패러렐 인터페이스 칩(FT245R) ... 400
      개발용 모듈 ... 401
   컨트롤러 이용 ... 402
      드라이버 ... 402
      제조사 고유 데이터 추가 ... 403
      가상 COM 포트 구현 ... 403
      RS-232에서 USB로 변환 ... 404
16장 범용 USB 컨트롤러 활용 ... 407
   통신 디바이스 클래스 ... 407
      표준 문서 ... 408
      기본 개념 ... 409
      디바이스 컨트롤러 ... 411
      호스트 드라이버 ... 411
   추상화 제어 모델 사용 ... 412
      POTS 모델 ... 412
      가상 COM 포트 ... 413
      요청 ... 415
      통지 ... 417
      성능 최대화 ... 419
   디스크립터와 INF 파일 ... 420
      디바이스 디스크립터 ... 422
      설정 디스크립터 ... 422
      통신 클래스 인터페이스 디스크립터 ... 427
      데이터 클래스 인터페이스 디스크립터 ... 429
      문자열 디스크립터 ... 432
      INF 파일 ... 432
      복합 디바이스 ... 433
찾아보기 ... 442
닫기