책 소개
시리얼 포트는 아직 건재하다! 시리얼 통신 개발자를 위한 완벽 가이드
다양한 용도로 활용할 수 있는 시리얼 통신과 네트워크 구축, 프로그래밍을 위한 지침서. 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 포트를 어떻게 구현하는지 설명한다.
다양한 용도로 활용할 수 있는 시리얼 통신과 네트워크 구축, 프로그래밍을 위한 지침서. 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 포트를 어떻게 구현하는지 설명한다.
목차
목차
- 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 신호 변환
- 드라이버 활성화 제어
- 드라이버 재활성화
- 소프트웨어를 이용한 제어
- 하드웨어 제어 방식
- RS-485 표준
- 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 파일
- 통신 디바이스 클래스
도서 오류 신고
정오표
정오표
[ p18 '이 책의 내용' 절 마지막 2행 삭제 ]
예제가 필요하다면 ~ 찾아보면 된다. → (내용 삭제)
[ 예제파일 다운로드 주소(p20)]
www.Lvr.com → http://janaxelson.com/serport.htm#example_code