출처 - http://www.ni.com/white-paper/2895/ko/#toc4
시리얼은 거의 모든 PC에서 표준으로 사용되는 디바이스 통신 프로토콜입니다. 시리얼의 개념을 USB의 개념과 잘 구분하십시오. 대부분의 컴퓨터에는 2개의 RS232 기반 시리얼 포트가 있습니다. 시리얼은 또한 여러가지 디바이스에서 계측을 위한 일반 통신 프로토콜이며, 여러 GPIB 호환 디바이스에는 RS232 포트가 장착되어 있습니다. 뿐만 아니라, 원격 샘플링 디바이스로 데이터 수집을 하는 경우에도 시리얼 통신을 사용할 수 있습니다.
시리얼 통신의 개념은 간단합니다. 시리얼 포트는 정보의 바이트를 한번에 한 비트씩 순차적으로 송수신합니다. 한번에 전체 바이트를 동시에 전달하는 병렬 통신과 비교하면 시리얼 통신은 속도가 느리지만 훨씬 간단하며 장거리에도 사용할 수 있습니다. 예를 들어, 병렬 통신용 IEEE 488 스펙을 보면 기기간 케이블링은 총 20 m 미만이어야 하며, 두 개의 디바이스간은 2 m 미만이어야 합니다. 반면 시리얼 통신은 최대 1.2 Km의 통신거리를 보장합니다.
통상 엔지니어들은 ASCII 데이터를 전송할 때 시리얼 통신을 사용합니다. 이 때 송신용 (Tx), 수신용 (Rx), 그라운드용 (GND)의 세 가지의 전송 라인을 사용하여 통신합니다. 시리얼은 비동기식이므로 포트는 한 라인에서 데이터를 전송하고 다른 라인에서 데이터를 수신합니다. 핸드쉐이킹용 라인도 사용 가능하지만 필수 요구사항은 아닙니다. 시리얼 통신의 가장 중요한 특징에는 보드 속도 (baud rate), 데이터 비트, 정지 비트, 패리티가 있습니다. 두 개의 포트가 통신하기 위해서는 이러한 파라미터가 반드시 적절하게 맞춰져야 합니다.
패리티는 시리얼 통신에서 에러를 체크하는 데 사용됩니다. 패리티에는 짝수, 홀수, 마크, 스페이스 패리티의 네 가지 형태가 있습니다. "패리티 없음"을 사용할 수도 있습니다. 짝수 및 홀수 패리티를 이용하면, 시리얼 포트는 패리티 비트 (데이터 비트 뒤에 따라옴)를 특정 값으로 설정함으로써 전송에 logic-high bits가 짝수개 또는 홀수개 있음을 나타냅니다. 예를 들어, 데이터가 011이고 짝수 패리티를 선택했다면 logic-high bits가 짝수개 있으면 패리티 비트는 0 입니다. 홀수 패리티를 선택했다면 logic-high bits가 홀수개 (3개)이므로 패리티 비트는 1이 됩니다. 마크 패리티와 스페이스 패리티는 데이터 비트를 체크하는 기능이 없으며 단지 마크 패리티의 경우 패리티를 높게, 스페이스 패리티의 경우 패리티를 낮게 설정합니다. 따라서 수신 디바이스가 비트의 상태를 확인할 수 있게 되므로 소음으로 인한 데이터 방해 여부나 송수신 디바이스 클럭 동기화 여부 등을 알 수 있습니다.
시리얼은 거의 모든 PC에서 표준으로 사용되는 디바이스 통신 프로토콜입니다. 시리얼의 개념을 USB의 개념과 잘 구분하십시오. 대부분의 컴퓨터에는 2개의 RS232 기반 시리얼 포트가 있습니다. 시리얼은 또한 여러가지 디바이스에서 계측을 위한 일반 통신 프로토콜이며, 여러 GPIB 호환 디바이스에는 RS232 포트가 장착되어 있습니다. 뿐만 아니라, 원격 샘플링 디바이스로 데이터 수집을 하는 경우에도 시리얼 통신을 사용할 수 있습니다.
시리얼 통신의 개념은 간단합니다. 시리얼 포트는 정보의 바이트를 한번에 한 비트씩 순차적으로 송수신합니다. 한번에 전체 바이트를 동시에 전달하는 병렬 통신과 비교하면 시리얼 통신은 속도가 느리지만 훨씬 간단하며 장거리에도 사용할 수 있습니다. 예를 들어, 병렬 통신용 IEEE 488 스펙을 보면 기기간 케이블링은 총 20 m 미만이어야 하며, 두 개의 디바이스간은 2 m 미만이어야 합니다. 반면 시리얼 통신은 최대 1.2 Km의 통신거리를 보장합니다.
통상 엔지니어들은 ASCII 데이터를 전송할 때 시리얼 통신을 사용합니다. 이 때 송신용 (Tx), 수신용 (Rx), 그라운드용 (GND)의 세 가지의 전송 라인을 사용하여 통신합니다. 시리얼은 비동기식이므로 포트는 한 라인에서 데이터를 전송하고 다른 라인에서 데이터를 수신합니다. 핸드쉐이킹용 라인도 사용 가능하지만 필수 요구사항은 아닙니다. 시리얼 통신의 가장 중요한 특징에는 보드 속도 (baud rate), 데이터 비트, 정지 비트, 패리티가 있습니다. 두 개의 포트가 통신하기 위해서는 이러한 파라미터가 반드시 적절하게 맞춰져야 합니다.
- 보드 속도는 통신의 속도를 측정하는 수치이며 초당 비트 전송 숫자로 표시됩니다. 예를 들어 300 보드 속도는 초당 300 비트를
의미합니다. 엔지니어들이 흔히 말하는 클럭 주기는 보드 속도를 의미합니다. 따라서 프로토콜에 4800 보드 속도라고 나오는 경우 클럭이 4800
Hz로 작동한다는 뜻입니다. 즉, 시리얼 포트는 4800 Hz로 데이터 라인을 샘플링합니다. 전화선의 일반적인 보드 속도는 14400,
28800 또는 33600입니다. 보다 높은 속도도 가능하지만 그 경우 디바이스를 분리할 수 있는 거리가 줄어들게 됩니다. 따라서 엔지니어들은
디바이스가 같은 장소에 위치해 있는 디바이스 통신에 높은 보드 속도를 사용하게 되며, 그 예로 GPIB 디바이스를 들 수 있습니다.
- 데이터 비트는 전송되는 실제 데이터 비트의 측정값을 의미합니다. 컴퓨터가 정보 패킷을 보낼 때 실제 데이터의 양은 전체 8 비트가 되지
않습니다. 데이터 패킷의 표준 값은 5, 7, 8비트입니다. 어떤 정보를 전송하느냐에 따라 어떤 세팅을 선택할 지를 결정해야 합니다. 예를
들어, 표준 ASCII는 0 ~127 (7 비트)의 값을 가집니다. 확장된 ASCII는 0 ~ 255 (8 비트)를 사용합니다. 전송하려는
데이터가 단순 텍스트 (표준 ASCII)일 경우, 패킷당 7비트의 데이터를 보내면 통신에 무리가 없습니다. 패킷은 단일 바이트 전송을 의미하며,
시작/정지 비트, 데이터 비트, 패리티가 포함됩니다. 실제 비트의 수는 선택된 프로토콜에 따라 달라지므로 모든 경우를 포괄하는 "패킷"이라는
용어를 사용합니다.
- 정지 비트는 단일 패킷에 대한 통신의 종료를 알리는 데 사용됩니다. 일반적인 값은 1, 1.5, 2 비트입니다. 데이터는 모든 라인을 통해 클럭되며 각 디바이스에는 고유의 클럭이 있기 때문에 두 개의 디바이스는 동기화가 되지 않을 가능성이 있습니다. 따라서 정지 비트는 전송의 종료를 알려줄 뿐 아니라 클럭 속도 오류를 방지하기 위한 완충 역할을 합니다. 더욱 많은 비트가 정지 비트에 쓰이면 다른 클럭을 동기화할 수 있지만 데이터 전송 속도는 느려집니다.
패리티는 시리얼 통신에서 에러를 체크하는 데 사용됩니다. 패리티에는 짝수, 홀수, 마크, 스페이스 패리티의 네 가지 형태가 있습니다. "패리티 없음"을 사용할 수도 있습니다. 짝수 및 홀수 패리티를 이용하면, 시리얼 포트는 패리티 비트 (데이터 비트 뒤에 따라옴)를 특정 값으로 설정함으로써 전송에 logic-high bits가 짝수개 또는 홀수개 있음을 나타냅니다. 예를 들어, 데이터가 011이고 짝수 패리티를 선택했다면 logic-high bits가 짝수개 있으면 패리티 비트는 0 입니다. 홀수 패리티를 선택했다면 logic-high bits가 홀수개 (3개)이므로 패리티 비트는 1이 됩니다. 마크 패리티와 스페이스 패리티는 데이터 비트를 체크하는 기능이 없으며 단지 마크 패리티의 경우 패리티를 높게, 스페이스 패리티의 경우 패리티를 낮게 설정합니다. 따라서 수신 디바이스가 비트의 상태를 확인할 수 있게 되므로 소음으로 인한 데이터 방해 여부나 송수신 디바이스 클럭 동기화 여부 등을 알 수 있습니다.
댓글
댓글 쓰기