avatar

Catalog
Serial 통신

시리얼이란?
시리얼은 거의 모든 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이 됩니다. 마크 패리티와 스페이스 패리티는 데이터 비트를 체크하는 기능이 없으며 단지 마크 패리티의 경우 패리티를 높게, 스페이스 패리티의 경우 패리티를 낮게 설정합니다. 따라서 수신 디바이스가 비트의 상태를 확인할 수 있게 되므로 소음으로 인한 데이터 방해 여부나 송수신 디바이스 클럭 동기화 여부 등을 알 수 있습니다.

RS232 개요
RS232는 IBM 호환 PC에서 쓰이는 시리얼 연결입니다. 엔지니어들은 컴퓨터를 센서 또는 모뎀에 연결하거나 계측기 컨트롤 등 여러 용도로 RS232를 사용합니다. RS232 하드웨어는 최장 15 m (50 ft)까지 통신 가능하며, PC 시리얼 포트와 디바이스간 포인트 투 포인트 연결로만 사용이 국한됩니다. 이러한 이유로 인해 추가의 RS232 시리얼 포트가 요구되기도 합니다. 표준 PC RS232 시리얼 포트 및 여러 시리얼 인터페이스 공급업체는 시리얼 통신에서 데이터 송수신에 Win32 API를 사용합니다. Win32 API는 원래 모뎀 통신을 위해 개발되었으며 전체 RS232 프로토콜을 실행하지 않으므로 특정 디바이스와 통신할 수 없습니다.

내쇼날인스트루먼트는 PCI, USB, PCMCIA, ExpressCard, PXI, 이더넷 등 여러 다양한 플랫폼에서 RS232 시리얼 인터페이스를 제공합니다. 플랫폼에 따라 NI Serial 인터페이스는 1, 2, 4, 8 및 16 포트 버전으로 사용 가능합니다. 또한, NI RS232 시리얼 인터페이스는 최고 1 Mb/s의 고속 보드 속도, DMA 전송을 통한 CPU 최소 사용, 최적화된 2000 V 포트간 절연, 구성 가능한 비표준 보드 속도와 같은 향상된 기능을 제공합니다. NI의 모든 시리얼 인터페이스에는 NI-Serial 드라이버 소프트웨어가 포함되므로 전체 RS232 프로토콜을 실행하고, 신속한 어플리케이션 개발을 위한 하이레벨, 사용하기 쉬운 함수를 제공합니다.

라고 합니다 ( 발췌본입니다 )

포장 공정에서 라벨프린터에 PLC랑 I/F를 위한 기반작업중이라 남겨놓습니다.!!

Author: i6020345
Link: http://blog.i6020345.com/2018/10/24/Serial-통신/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶