데이터계측분석/데이터통신 기술자료

시리얼통신의 동기식/비동기식 프로토콜

에이티에스 2023. 5. 11. 00:16
728x90

직렬 통신은 데이터 처리 장비와 주변 장치 간에 정보를 전송하는 데 가장 널리 사용되는 접근 방식입니다.

일반적으로 의사 소통은 서면 문서, 구두 단어, 오디오 및 비디오 수업을 통해 개인 간의 정보 교환을 의미합니다.

모든 장치는 개인용 컴퓨터 또는 모바일이 직렬 프로토콜에서 실행될 수 있습니다. 프로토콜은 소스 호스트(발신자)와 대상 호스트(수신자)가 처리하는 일련의 규칙을 갖는 안전하고 신뢰할 수 있는 통신 형식입니다. 

 

임베디드 시스템에서 직렬 통신은 직렬 디지털 바이너리 형태로 서로 다른 방법을 사용하여 데이터를 교환하는 방식입니다. 데이터 교환에 사용되는 잘 알려진 인터페이스로는 RS-232, RS-485, I2C, SPI 등이 있습니다.

 

시리얼통신이란?

 

직렬 통신에서 데이터는 이진 펄스의 형태입니다. 즉, 이진 1은 논리 HIGH 또는 5V를 나타내고 0은 논리 LOW 또는 0V를 나타냅니다.
직렬 통신은 전송 모드 및 데이터 전송 유형에 따라 다양한 형태를 취할 수 있습니다. 전송 모드는 Simplex, Half Duplex, Full Duplex로 분류됩니다. 각 전송 모드에는 소스(송신자라고도 함)와 목적지(수신자라고도 함)가 있습니다.

 

전송 모드 – 직렬 통신

 

심플렉스 방법은 단방향 통신 기술입니다. 하나의 클라이언트만(한 번에 발신자 또는 수신자가 활성 상태임) 발신자가 전송하면 수신자는 수락만 할 수 있습니다. 라디오 및 텔레비전 전송은 심플렉스 모드의 예입니다.

반이중 모드에서는 발신자와 수신자가 모두 활성화되지만 한 번에 활성화되지는 않습니다. 즉, 발신자가 전송하는 경우 수신자는 수락할 수 있지만 전송할 수 없으며 그 반대의 경우도 마찬가지입니다. 좋은 예가 인터넷입니다. 클라이언트(랩톱)가 웹 페이지에 대한 요청을 보내면 웹 서버는 응용 프로그램을 처리하고 정보를 다시 보냅니다.

 

전이중 모드는 전 세계적으로 널리 사용되는 통신입니다. 여기서 발신자와 수신자 모두 동시에 송수신할 수 있습니다.

예를 들어 스마트 폰이 있습니다.

전송 모드 외에도 호스트 컴퓨터(발신자 또는 수신자)의 엔디안 및 프로토콜 설계를 고려해야 합니다. 엔디안은 특정 메모리 주소에 데이터를 저장하는 방법입니다. 데이터 정렬에 따라 엔디안은 다음과 같이 분류됩니다.

  • 리틀 엔디안과 빅 엔디안.

엔디언의 개념을 이해하기 위해 이 예를 들어 보겠습니다. 32비트 16진수 데이터 ABCD87E2가 있다고 가정합니다. 이 데이터는 메모리에 어떻게 저장됩니까? 명확한 아이디어를 얻기 위해 리틀 엔디안과 빅 엔디안의 차이점을 설명했습니다.

리틀 엔디안 대 빅 엔디안

 

데이터 전송은 두 가지 방법으로 발생할 수 있습니다. 직렬 통신과 병렬 통신입니다. 직렬 통신은 송신기(송신기)와 수신기와 같은 2선식을 사용하여 비트 단위로 데이터를 전송하는 데 사용되는 기술입니다.

예를 들어, 송신기에서 수신기로 8 비트 바이너리 데이터 11001110 보내고 싶습니다. 그러나 어떤 비트가 먼저 나옵니까? 최상위 비트 – MSB(7일 bit) 또는 최하위 비트-LSB(0일 비트). 

시리얼 통신

 

위의 다이어그램에서 모든 클럭 펄스에 대해; 송신기는 단일 비트의 데이터를 수신기로 보냅니다.

병렬 통신은 한 번에 8, 16 또는 32비트의 데이터를 이동합니다. 프린터와 Xerox 기기는 더 빠른 데이터 전송을 위해 병렬 통신을 사용합니다.

RS232 병렬 통신

 

직렬 통신과 병렬 통신의 차이점

직렬 통신은 한 번에 한 비트만 전송합니다. 따라서 더 적은 수의 I/O(입력-출력) 라인이 필요합니다. 따라서 공간을 덜 차지하고 누화에 더 강합니다. 직렬 통신의 가장 큰 장점은 전체 비용입니다. 

임베디드 시스템 저렴해져, 장거리로 정보를 전송합니다. 직렬 전송은 모뎀과 같은 DCE(데이터 통신 장비) 장치에 사용됩니다.

병렬 통신에서는 한 번에 데이터 청크(8,16비트 또는 32비트)가 전송됩니다. 따라서 각 데이터 비트에는 별도의 물리적 I/O 라인이 필요합니다. 병렬 통신의 장점은 빠르지만 더 많은 수의 I/O(입출력) 라인을 사용한다는 단점이 있습니다. 병렬 전송은 CPU(중앙 처리 장치), RAM(랜덤 액세스 메모리), 모뎀, 오디오, 비디오 및 네트워크 하드웨어를 상호 연결하기 위해 PC(개인용 컴퓨터)에서 사용됩니다.

 

집적 회로 또는 프로세서가 더 적은 양의 입력/출력 핀을 지원하는 경우 직렬 통신을 선택하는 것이 좋습니다

이해를 돕기 위해 직렬 통신과 병렬 통신을 비교한 내용은 다음과 같습니다.

 

클럭 동기화

직렬 장치의 효율적인 작동을 위해 클록이 기본 소스입니다. 시계가 오작동하면 예기치 않은 결과가 발생할 수 있습니다. 클럭 신호는 직렬 장치마다 다르며 동기 프로토콜과 비동기 프로토콜로 분류됩니다.

 

동기식 직렬 인터페이스

동기식 직렬 인터페이스의 모든 장치는 단일 CPU 버스를 사용하여 클럭과 데이터를 모두 공유합니다. 이 때문에 데이터 전송이 더 빠릅니다.

장점은 전송 속도에 불일치가 없다는 것입니다. 또한 구성 요소를 인터페이스하는 데 필요한 I/O(입력-출력) 라인이 더 적습니다. 예를 들어 I2C, SPI 등이 있습니다.

 

비동기식 직렬 인터페이스

비동기 인터페이스에는 외부 클럭 신호가 없으며 다음과 같은 4개의 매개변수에 의존합니다.

  1. 전송 속도 제어
  2. 데이터 흐름 제어
  3. 송수신 제어
  4. 오류 제어.

비동기 프로토콜은 안정적인 통신에 적합합니다. 이들은 장거리 응용 프로그램에 사용됩니다.

비동기 프로토콜의 예는 다음과 같습니다. RS-232, RS-422 및 RS-485.

 

직렬 통신 규칙

 

# 1 전송 속도 Baud Rate

전송 속도는 초당 비트 형태로 송신기에서 수신기로 데이터를 전송하는 속도입니다. 표준 전송 속도 중 일부는 1200, 2400, 4800, 9600, 57600입니다.

 

전송 속도가 높을수록 더 짧은 시간에 더 많은 데이터를 전송할 수 있습니다.

 

# 2 프레이밍

프레이밍은 호스트 장치에서 수신기로 전송하려는 데이터 비트 수를 보여줍니다. 5, 6, 7 또는 8 비트. 대부분 많은 장치, 8 비트가 선호됩니다. 8비트 데이터 정크를 선택한 후 엔디안은 발신자와 수신자가 동의해야 합니다.

# 3 동기화

송신기는 동기화 비트 (1 시작 비트 및 1 또는 2 정지 비트)를 원래 데이터 프레임에 추가합니다. 동기화 비트는 수신기가 데이터 전송의 시작과 끝을 식별하는 데 도움이 됩니다. 이 프로세스를 비동기 데이터 전송이라고 합니다.

# 4 오류 제어

데이터 손상은 수신기 측의 외부 노이즈로 인해 발생할 수 있습니다. 안정적인 출력을 얻을 수 있는 유일한 해결책은 패리티를 확인하는 것입니다.

이진 데이터에 짝수 1이 포함된 경우 짝수 패리티라고 하며 패리티 비트는 '1'로 설정됩니다. 이진 데이터에 홀수 1이 포함된 경우 이를 홀수 패리티라고 하며 이제 패리티 비트가 '0'으로 설정됩니다.

 

비동기 직렬 프로토콜

작업을 시작할 때 가장 많이 떠오르는 질문은 임베디드 시스템 비동기 프로토콜을 사용하는 이유는 무엇입니까?

  • 더 먼 거리에서 정보 주위를 이동하고
  • 보다 안정적인 데이터 전송을 위해.

비동기 통신 프로토콜 중 일부는 다음과 같습니다.

 

RS-232 프로토콜

  • RS232는 전화 통신용 모뎀 연결에 사용되는 최초의 직렬 프로토콜입니다. RS는 Recommended Standard의 약자로 현재는 EIA(Electronic Industries Alliance)/TIA(Telecommunication Industry Association)로 변경되었습니다.
  • 모뎀, 마우스 및 CNC(계산된 수치 계산) 기계에도 사용됩니다. 단일 송신기만 단일 수신기에 연결할 수 있습니다.
  • 전이중 통신을 지원하며 최대 1Mbps의 전송 속도를 허용합니다.
  • 케이블 길이는 50피트로 제한됩니다.

아시다시피 메모리에 저장된 데이터는 바이트 형식입니다. 바이트 단위 데이터가 이진 비트로 어떻게 변환되는지 의심 스러울 수 있습니다. 정답은 직렬 포트입니다.

직렬 포트에는 내부 칩이 있습니다. UART (영어). UART는 병렬 데이터(바이트)를 비트 직렬 형식으로 변환하는 Universal Asynchronous Receiver Transmitter의 약자입니다.

RS232 시리얼 포트

 

RS-232 배선 연결

 RS232 시리즈 직렬 포트에는 232개의 핀, 남성 또는 여성 유형 모델이 있습니다. RS 232C 직렬 통신 인터페이스는 RS232의 최신 버전입니다.

RS232에 있는 모든 기능은 25개의 핀이 있는 것을 제외하고 RS232C 모델에 있습니다. 우리는 25개 또는 9개의 핀 중 3개의 핀만 단말기 연결에 사용합니다.

RS232 배선 연결

 

RS422 인터페이스

다음을 사용하여 최대 1Mpbs 제한까지만 데이터를 전송할 수 있습니다. RS232 시리즈의 문제를 극복하기 위해 RS422가 등장합니다. RS422는 멀티 드롭 직렬 인터페이스입니다. 단일 버스를 사용하여 한 번에 10개의 송신기를 4000개의 수신기에 연결할 수 있습니다. 두 개의 트위스트 페어 케이블(차동 구성)을 사용하여 데이터를 보냅니다. 케이블 길이는 10피트이며 전송 속도는 10Mbps입니다.

RS 422 배선 연결

RS485 인터페이스

RS485는 업계에서 선호하는 프로토콜입니다. RS422와 달리 32개의 라인 드라이버와 32개의 수신기를 차동 구성으로 연결할 수 있습니다. 송신기는 라인 드라이버라고도 합니다. 그러나 한 번에 하나의 송신기만 활성화됩니다.

RS485 배선 연결

 

1-Wire 프로토콜

하나의 와이어는 I2c 프로토콜과 유사합니다. 그러나 차이점은 단일 와이어 프로토콜이 단일 데이터 라인과 접지를 사용한다는 것입니다. 클록 신호가 필요하지 않으며 슬레이브는 내부 수정 발진기를 사용하여 클록됩니다. 반이중 통신을 제공합니다.

하나의 와이어는 64비트 주소 지정 체계를 사용합니다. 단선 인터페이스의 장점은 저렴한 비용으로 장거리 통신을 지원한다는 것입니다. 그러나 단점은 속도가 느리다는 것입니다.

 

비동기식 유선 프로토콜은 장거리 통신에 매우 적합합니다. 그러나 동기식 직렬 인터페이스에 범위를 제공하는 한 가지 단점이 있습니다.

단점은 더 많은 송신기와 수신기를 연결해야 하는 경우 설치 비용이 높다는 것입니다.

 

동기식 시리얼 프로토콜

동기식 통신 프로토콜은 온보드 주변 장치에 가장 적합한 리소스입니다. 장점은 동일한 버스에서 더 많은 장치를 인터페이스할 수 있다는 것입니다. 동기식 프로토콜 중에는 I2C, SPI, CAN 및 LIN이 있습니다.

 

I2C 프로토콜

I2c(Inter-Integrated Circuit)는 동일한 버스에서 서로 다른 장치 간의 데이터 교환에 사용되는 2와이어 양방향 프로토콜입니다. I2c는 7비트 또는 10비트 주소를 사용하여 최대 1024개의 장치를 연결할 수 있습니다. 그러나 시작 및 중지 조건을 생성하기 위해서는 클럭 신호가 필요합니다. 장점은 400kbps의 데이터 전송 속도를 제공한다는 것입니다. 온보드 통신에 적합합니다.

SPI 프로토콜

SPI(직렬 주변 장치 인터페이스) 프로토콜은 중단 없이 연속 스트림으로 데이터를 송수신합니다. 이 프로토콜은 고속 데이터 통신이 필요한 경우에 권장됩니다. 제공할 수 있는 최대 속도는 10Mbps입니다.

i2c와 달리 SPI에는 4개의 와이어가 있습니다. MOSI(Master out slave in), MISO(Master in slave out), Clock 및 Slave Select Signal입니다. 이론적으로 우리는 무제한의 슬레이브를 연결할 수 있으며 실제로 버스의 부하 커패시턴스에 따라 다릅니다.

CAN 프로토콜

이 프로토콜은 차량 시스템 또는 자동차 전용입니다. 구리를 절약하기 위해 다중 전기 배선에 사용되는 메시지 지향 프로토콜입니다. 차량의 자동 시동/정지, 충돌 방지 시스템 등과 같은 애플리케이션에 사용되는 다중 마스터 다중 직렬 버스입니다.

USB

USB 인터페이스는 직렬 또는 병렬 포트를 대체하는 가장 좋은 방법입니다. USB 포트와 관련된 데이터 전송 속도는 직렬 및 병렬 인터페이스보다 상당히 빠릅니다. USB는 1.5Mbps(USB 1.0)에서 4.8Gbps(USB 3.0)까지의 속도를 지원합니다. 오늘날 대부분의 임베디드 장치는 16진수 파일을 마이크로컨트롤러에 덤프하기 위해 USB OTG(On the Go 프로그래밍) 기술을 사용합니다.

마이크로와이어

마이크로와이어는 3선 직렬 통신 프로토콜입니다. 마이크로컨트롤러에는 주변 칩과 인터페이스하기 위한 직렬 I/O 포트가 있습니다. 최대 3Mbps 속도를 지원합니다. i2c 및 SPI 프로토콜의 하위 집합보다 빠릅니다.

 

728x90
반응형
그리드형