Top

시리얼 포트 완전정복 [임베디드 개발자를 위한 시리얼 통신 프로그래밍의 모든 것]

  • 원서명Serial Port Complete: COM Ports, USB Virtual COM Ports, and Ports for Embedded Systems (ISBN 9781931448062)
  • 지은이Jan Axelson
  • 옮긴이박상진
  • ISBN : 9788960771536
  • 30,000원
  • 2010년 09월 30일 펴냄
  • 페이퍼백 | 464쪽 | 188*240mm
  • 시리즈 : 임베디드 시스템

책 소개

시리얼 포트는 아직 건재하다! 시리얼 통신 개발자를 위한 완벽 가이드

다양한 용도로 활용할 수 있는 시리얼 통신과 네트워크 구축, 프로그래밍을 위한 지침서. PC용 COM 포트와 USB 가상 COM 포트 시리얼 통신 기술. 임베디드 시스템과 PC 간, 임베디드 시스템 간의 데이터 송수신을 위한 시리얼 포트 활용 방법


[ 이 책에서 다루는 내용 ]

■ PC에서 COM 포트 통신을 위한 닷넷 SerialPort 클래스 활용 방법
■ PC에서 가상 COM 포트 형식의 USB 디바이스 설계와 프로그래밍
■ 임베디드 시스템에서 사용되는 마이크로컨트롤러용 시리얼 포트 통신 프로그래밍
■ 요구 사항에 적합한 하드웨어 인터페이스 선택 방법
■ PC의 소프트웨어나 장치의 펌웨어 변경 없이 RS-232를 USB로 변환하는 방법
■ 1.2km까지 시리얼 통신이 가능한 RS-485 시리얼 네트워크 구축 방법
■ 시리얼 통신에서의 무선 통신 기술 활용 방법


[ 이 책의 대상 독자 ]

하드웨어에 관심이 있건, 소프트웨어에 관심이 있건, PC 관련 업무를 하건, 임베디드 시스템 관련 업무를 하건, 또는 둘 다와 관련된 일을 하는 경우 등 해당 분야에 종사하는 사람들이라면 이 책에서 도움이 될 만한 내용을 많이 발견할 것이다.

■ 프로그래머: USB 가상 COM 포트를 포함한 다양한 시리얼 포트를 통해 PC와 임베디드 시스템에서 어떻게 통신이 이루어지는지 배울 수 있다. 베이직과 C/C#로 준비된 PC와 마이크로컨트롤러용 예제는 간단하고 빠르게 다양한 애플리케이션에 적용할 수 있다.

■ 회로 설계자: RS-232, RS-485 컨버터와 3V/5V 논리 레벨 컨버터 등의 다양한 애플리케이션의 디자인을 발견할 것이다. 에러 방지 회로, 노이즈 방지와 저전력 설계에 대한 내용도 들어있다.

■ 취미나 발명가: 새로운 개발에 대한 영감과 정보를 얻는 데 도움이 될 것이다.

■ 교육자나 학생: 시리얼 포트를 공부하고 이 책의 예제를 사용하면 개념을 이해하는 데 도움이 될 것이다.

이 책은 독자가 기본적인 전자 공학, 베이직/비주얼 베이직, C/C# 프로그래밍을 이해하고 있다고 전제한다. 그리고 시리얼 포트 하드웨어와 프로그래밍에 대한 지식과 경험은 전혀 없다는 가정하에 내용을 설명할 것이다.


[ 이 책의 구성 ]

이 책은 하드웨어와 소프트웨어를 포함한 PC와 임베디드 시스템의 포트, RS-232, RS-485, 무선(Wireless) 인터페이스까지 폭넓고 다양한 분야를 다룬다. 처음부터 차례로 읽기를 원하지 않는다면 앞부분은 건너뛰고 관심 있는 특정 부분만 찾아 읽어도 될 것이다.

첫 장은 하드웨어와 인터페이스에 초점을 맞췄다. 1장과 2장은 시동기 시리얼 통신(asynchronous serial communications)을 소개한다. 3장은 PC의 시리얼 포트를 다루며, 4장부터 8장까지는 RS-232, RS-485, 무선 통신 기술 등 인터페이스 전반을 다룬다.

그 다음은 프로그래밍에 대한 내용들이다. 9장과 10장은 PC에서 비주얼 베이직 닷넷과 C# 닷넷을 이용한 시리얼 포트 프로그래밍을 어떻게 하는지 보여준다.

11장에서는 microEngineering Labs 사의 PICBASIC PRO 컴파일러와 Microchip Technology 사의 MPLAB® C18 C 컴파일러를 이용한 예제를 통해 어떻게 임베디드 시스템용 시리얼 포트 프로그램을 작성하는지 보여준다.

12장과 13장은 RS-485 시리얼 네트워크용 하드웨어와 프로그래밍에 대한 내용이다. 14장부터 16장까지는 일반 USB 컨트롤러와 전용 컨트롤러를 이용한 USB 가상 COM 포트를 어떻게 구현하는지 설명한다.

저자/역자 소개

[ 저자 서문 ]

내가 이 책의 초판을 쓸 때만 해도 RS-232 시리얼 포트가 PC 인터페이스의 가장 핵심적인 역할을 담당했었다. 모뎀과 그 외 PC와 연결되는 주변기기들은 대부분 시리얼 포트를 통해 연결됐고, 시리얼 포트는 거의 모든 PC에서 볼 수 있었다.

1990년대 후반에 USB(Universal Serial Bus)가 보편화되며 수많은 사람이 시리얼 포트는 곧 사라질 것이라 예언했었다. 이전에 시리얼 포트를 사용하던 많은 주변기기도 USB 방식으로 교체됐다. 그러나 일부 디바이스는 USB를 사용할 수 없거나 대부분 임베디드 시스템은 시리얼 포트를 사용하는데, 시리얼 포트는 값이 싸고 USB에 비해 프로그래밍하기 덜 복잡하기 때문이다. 시리얼 포트는 USB보다 더 긴 케이블을 사용할 수도 있다. 그리고 RS-485 시리얼 인터페이스는 네트워크 방식의 연결로 모니터링이나 제어 애플리케이션에 사용할 수 있다.

대부분의 PC에 더 이상 시리얼(COM) 포트가 내장돼 있지 않지만 USB 컨버터를 이용해 쉽게 포트를 추가할 수 있다. 컨버터를 이용하면 PC 확장 슬롯 개수와 상관없이 원하는 만큼 시리얼 포트를 시스템에 추가할 수 있다. 마이크로소프트의 닷넷 프레임워크에 포함돼 있는 SerialPort 클래스는 PC 애플리케이션이 어떻게 COM 포트를 찾고 이용하는지 보여준다.


[ 저자 소개 ]

Jan Axelson
『USB 완전정복』, 『USB 대용량 저장장치』, 『임베디드 네트워킹』 등 많은 책을 집필했고, Circuit Cellar, Nuts & Volts, EDN 등의 여러 기술 간행물에 많은 기사를 기고했다.


[ 옮긴이의 말 ]

10년 전 Jan Axelson의 『Serial Port Complete』를 인터넷서점 아마존에서 구입해 처음 읽었을 때의 반가움이 아직도 기억에 생생하다. 정말 황량한 사막에서 맑고 시원하게 샘솟는 오아시스를 발견한 느낌이 그것과 같을 것이다.

시리얼 포트와 관련해 간단한 하드웨어적인 인터페이스 방법이나 단순한 프로그래밍 기술은 대부분의 컴퓨터 인터페이스나 프로그래밍 책에서 다루고 있지만, 내용이 너무 간략하고 단순해 막상 하드웨어나 소프트웨어적인 시리얼 통신 문제가 발생했을 때 문제 해결엔 도움을 받지 못하는 경우가 많았다.

『시리얼 포트 완전정복』은 10년 만에 새로 출간된 개정판인 『Serial Port Complete Second Edition』의 번역서로, 시리얼 포트에 대한 다양한 하드웨어 기술과 프로그래밍 기법을 자세하고 깊이 있게 다루고 코드 예제를 제공한다. 여기엔 RS-232 뿐만 아니라 RS-485, 적외선, USB, 무선 통신 기술을 활용한 시리얼 포트 인터페이스 기술과 PIC 마이크로컨트롤러용 C 코드, 마이크로소프트 닷넷 기반의 VB, C# 코드 예제까지 폭넓은 프로그래밍 코드 예제를 다룬다.

대부분 컴퓨터 인터페이스 기술과 마찬가지로 시리얼 포트 또한 기술에 대한 깊이 있는 이해를 위해선 하드웨어와 소프트웨어 모두를 알아야 하는데, 이 책은 두 분야 모두를 아주 상세히 기초부터 응용까지 설명한다. MAX232 컨버터 IC 칩부터 닷넷 프레임워크의 SerialPort 클래스까지 시리얼 포트 기술에 대한 HW에서 SW까지 모든 부분에 대한 정보를 얻을 수 있을 것이다.

이 책을 읽는 독자라면 최신 무선 통신 기술과 네트워크 기술의 범람에도 왜 아직 시리얼 포트 기술이 필요한지 알고 있거나 이미 문제 해결을 위한 노력을 기울이고 있는 분들일 것이다.

현재 대부분의 PC나 일반 컴퓨팅 장치들에선 시리얼 포트를 보기 힘들어졌지만 그 속을 들여다보면 모든 컴퓨터와 스마트폰, 게임기, 임베디드 시스템들을 구성하는 임베디드 프로세서와 시스템 보드는 아직도 시리얼 포트 기술을 반드시 탑재하고 있다. 그만큼 시리얼 포트는 컴퓨터와 역사를 거의 함께했으며, 결코 미래에도 사라지지 않을 기술이라 믿어 의심치 않는다.


[ 옮긴이 소개 ]

박상진
기계 공학을 전공한 프로그래머로 92년도부터 CAD/CAM 엔지니어 및 프로그래머로 일하고 있다. 인터넷도 없던 시절, PC와 워크스테이션을 다양한 주변기기들과 인터페이스하며 네트워크, 시리얼, 패러럴, SCSI, GPIB 등의 인터페이스 기술에 대한 많은 경험을 쌓았다. 현재 학교에서 임베디드 시스템 하드웨어와 프로그래밍을 가르치며 프리랜서 개발자로 일하고 있다. 최근엔 코코아와 안드로이드 프로그래밍 공부에 푹 빠져있다.

목차

목차
  • 1장 옵션과 선택
    • 시리얼 포트 사용
      • 장점
      • 한계
    • 시스템 구성 요소
      • 컴퓨터 시스템
      • 물리적 연결
      • 프로그래밍
    • 애플리케이션
      • 시스템 구성 사례
      • 통신 제어
      • 특별한 용도의 모듈
  • 2장 통신 포맷과 프로토콜
    • 시리얼 데이터 전송
      • 비동기 통신과 동기 통신
      • 워드 형식
      • 비트레이트와 보레이트
      • 시스템에서 지원되는 로우레벨 프로토콜
    • 비트 전송
      • 형식
      • 정확한 타이밍의 필요성
      • 비트레이트 자동 감지
      • COM 포트 자동 감지
    • 데이터 포맷
      • 2진 데이터
      • 텍스트 데이터
      • 아스키 16진수
      • 애플리케이션 고유 프로토콜
    • 데이터 손실 방지
      • 흐름 제어
      • 버퍼
      • 이벤트 처리와 폴링 방식 프로그래밍
      • 응답 신호
      • 에러 체크
  • 3장 PC용 COM 포트
    • 포트 구조
      • 장치 관리자
      • 포트 리소스
      • 시리얼 서버
    • 포트 사용
      • 드라이버
      • 포트 구별
      • COM 포트 GUID
      • 장치 설정 GUID
      • INF 파일
      • 애플리케이션 프로그래밍 선택
  • 4장 RS-232 구조
    • 하드웨어 연결
      • 시그널
      • 전압
      • 타이밍 제한
    • 전압 변환
      • 인터페이스 칩
      • 단거리 통신 회로
    • 포트 전력 구동
      • 전력 공급용 출력
      • 전압 레귤레이팅
    • 기타 연결 방법
      • 직접 연결
      • 기타 언밸런스드 인터페이스
  • 5장 RS-232 연결
    • 커넥터와 어댑터
      • 커넥터 선택
      • 어댑터
      • 마이크로컨트롤러 개발 보드 활용
    • 케이블
      • 한계 길이
      • 써지 보호
    • 신호선 분리
      • 분리 방법
      • 그라운드
      • 전원 그라운드
      • 광 분리
    • 디버깅 툴
      • 브레이크아웃 모듈
      • 테스터
      • 오실로스코프와 로직 애널라이저
  • 6장 RS-485
    • RS-485 표준
      • 밸런스드와 언밸런스드 신호
      • 전압 요구 사양
      • 전류와 전력
      • 통신속도
      • 내부 보호 회로
    • 연결 옵션
      • 통신 칩
      • PC용 RS-485 포트
      • 3.3/5V 전압 변환
      • RS-232 신호 변환
    • 드라이버 활성화 제어
      • 드라이버 재활성화
      • 소프트웨어를 이용한 제어
      • 하드웨어 제어 방식
  • 7장 RS-485 통신과 네트워크 설계
    • 긴 연결과 짧은 연결
      • 긴 연결의 경우
      • 선로 길이 계산
      • 드라이버 칩 선정
    • 라인 터미네이션
      • 임피던스 특성
      • 터미네이션 추가
      • 터미네이션의 효과
      • 반사
      • 연속 터미네이터
      • 짧은 통신선의 터미네이터
      • AC 터미네이션
      • 네트워크 구성 형태
    • 신호 바이어싱
      • 오픈 회로 보호
      • 쇼트 회로 보호
    • 케이블 종류
      • 케이블이 노이즈를 줄이는 방법
      • 트위스트 페어 케이블
      • 케이블 선택
    • 접지와 차동 신호선
      • 공통 접지 유지
      • 분리된 신호선
    • 다중 버스 이용
      • 리피터 추가
      • 별 형태 구성하기
  • 8장 무선 연결
    • 연결 매체와 변조 방식
      • 전송 주파수
      • 확산 스펙트럼 기술
      • 전송 신뢰성
    • 적외선
      • 송신과 수신
      • IrDA
    • 무선 주파수
      • 전파 규정 준수
      • 주파수 선택
      • 연결 구성
      • 기타 RF 표준
  • 9장 닷넷 SerialPort 클래스
    • 포트 사용하기
      • 포트 찾기
      • 포트 열기
      • 타임아웃
      • 수신 드레숄드
      • 포트 닫기
    • 데이터 전송
      • 바이트 전송
      • 텍스트 전송
    • Stream 객체 사용
      • BinaryReader 클래스와 BinaryWriter
      • StreamReader와 StreamWriter 클래스
    • 포트 설정 저장하기
      • 애플리케이션 설정 구조
      • 콤보박스 예제
  • 10장 닷넷을 활용한 포트 제어와 전송
    • 데이터 수신
      • 타임아웃 설정
      • 수신 데이터 감지
      • 수신 데이터 모으기
      • 효율적인 전송 방법
    • 데이터 전송
      • 타임아웃 방지
      • 애플리케이션 블록킹 없이 전송하기
      • 버퍼 오버플로우 방지
      • 효율적인 전송 방법
    • 흐름 제어
      • 메소드 선택
      • 흐름 제어 신호 제어와 감시
    • 에러 처리
      • 예외
      • ErrorReceived 이벤트
      • 수신 데이터 확인
    • 애플리케이션 구조
      • ComPort 클래스 정의
      • 포트 설정용 콤보 박스
      • 애플리케이션 고유 이벤트
  • 11장 임베디드 시스템용 포트
    • 마이크로컨트롤러의 시리얼 포트
      • PIC18F4520 칩
      • Enhanced UART
    • 레지스터
      • 포트 제어와 구동
      • 통신 속도 설정
      • 인터럽트
      • 기본 순서
    • 포트 구동
      • 포트 설정
      • 데이터 전송
      • 데이터 수신
      • 인터럽트 활용
      • 흐름 제어
    • 포트 추가
      • 여러 개의 온칩 UART 사용
      • 펌웨어 UART 사용
      • 외장 UART 칩 사용
  • 12장 네트워크 프로그래밍
    • 전송 관리
      • 메시지 전송 순서
      • 프로토콜
      • 다양한 프로토콜 활용
      • 디버깅 팁
    • 주소
      • 주소 할당
      • 주소 감지
      • 주소 값 유보
      • 메시지 형식 선정
      • 9비트 포맷
  • 13장 RS-485 네트워크
    • 노드 연결
      • 트랜시버
      • 터미네이팅과 바이어싱
      • 케이블 연결
    • 프로토콜 연습
      • 주소
      • 메시지 포맷
    • 명령
      • 바이트 수신
      • 바이트 쓰기
    • 노드 폴링
      • 드라이버 활성화 신호 설정
      • 명령 전송
    • 폴링 응답
      • 기타 함수
      • 수신 데이터 디코딩
  • 14장 USB 구조
    • 호스트와 디바이스
      • 호스트상의 드라이버 설정
      • 요구 사양
      • 호스트의 역할
      • 디바이스의 역할
      • 속도
      • 엔드포인트
    • USB 전송
      • 전송 방식
      • 트랜잭션
      • 데이터 토글
  • 15장 USB 컨트롤러 활용
    • 칩의 내부 구조
      • 시리얼 인터페이스 칩(TF232R)
      • 패러럴 인터페이스 칩(FT245R)
      • 개발용 모듈
    • 컨트롤러 이용
      • 드라이버
      • 제조사 고유 데이터 추가
      • 가상 COM 포트 구현
      • RS-232에서 USB로 변환
  • 16장 범용 USB 컨트롤러 활용
    • 통신 디바이스 클래스
      • 표준 문서
      • 기본 개념
      • 디바이스 컨트롤러
      • 호스트 드라이버
    • 추상화 제어 모델 사용
      • POTS 모델
      • 가상 COM 포트
      • 요청
      • 통지
      • 성능 최대화
    • 디스크립터와 INF 파일
      • 디바이스 디스크립터
      • 설정 디스크립터
      • 통신 클래스 인터페이스 디스크립터
      • 데이터 클래스 인터페이스 디스크립터
      • 문자열 디스크립터
      • INF 파일

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[ p18 '이 책의 내용' 절 마지막 2행 삭제 ]
예제가 필요하다면 ~ 찾아보면 된다. → (내용 삭제)

[ 예제파일 다운로드 주소(p20)]
www.Lvr.com → http://janaxelson.com/serport.htm#example_code