본문 바로가기
Communication Interface&Protocol/시리얼 통신

시리얼 통신 (개요)

by 누워있는말티즈 2022. 8. 31.

시리얼 통신(Serial Communication)은 직렬 통신이다. 비트마다 회선을 연결하고 한 번에 모든 비트 정보를 송수신하는 병렬 통신(Parallel Communication)은 케이블이 많이 필요하다는 단점이 존재한다. 8비트의 데이터를 보내고자 할 경우 비트마다 하나씩 총 8개에 common ground 1개 총 9개의 케이블이 필요하게 된다.

시리얼 통신은 이런 회선 문제를 단일 회선만 사용하며 전송하는 정보를 순서대로(serial하게) 전송하는 방식으로 해결한다.

시리얼 통신은 비트 수에 맞는 clock이 필요하므로 병렬 통신에 비해 매우 느리다.(병렬 통신은 각자 회선이 있으므로 1clock에 모든 데이터가 전달된다.) 다만 병렬 통신의 경우 선마다 전달하는 데이터가 정해져 있기에 구별을 할 필요가 없지만 시리얼 통신의 경우 데이터가 구분되는 것을 인식할 필요성이 있다. 이 때 Clock 신호를 사용하는지에 따라 동기(Synchronous)비동기(Asynchronous) 통신으로 구분된다.

Synchronous & Asynchronous Communication

동기 통신(Synchronous)

Sync를 맞추기 위한 Clock 신호가 존재한다. Transmitter와 Receiver는 Clock의 어떤 Edge에서 데이터를 읽어야 하는지에 대한 상호 약속이 필요하다. 추가적으로 clock이 존재하여 통신 속도에 대한 약속을 할 필요는 없지만 송신 속도가 너무 빠를 시 receiver가 제대로 데이터를 읽어들일 수 없기에 최고 속도에 제한은 존재한다. 대표적인 Synchronous 통신 프로토콜은 I2C, SPI 가 있다.

비동기 통신(Asynchronous)

비동기 통신의 경우 Clock 신호가 존재하지 않으므로 한 바이트의 데이터를 전송하기 전에 데이터 전송 시작을 알리는 Start bit와 마지막에 데이터 종단을 알리는 Stop bit를 전송해 데이터의 시작과 끝을 receiver에게 알린다. Start bit는 논리’0’ falling bit이며 Stop bit는 논리 ’1’ rise bit이다.

비동기 통신은 Clock 없이 Star bit, Stop bit으로 시작과 끝을 구분하는데 데이터 한 비트가 어디서 구분되는지도 알릴 필요가 있다. 따라서 데이터 전송 속도를 transmitter와 receiver가 맞춰 주어야 데이터 전송이 가능하다. 이 전송 속도를 Baud Rate라고 부른다. Asynchronous 통신의 대표적인 프로토콜로 RS232, RS422, RS485가 있으며 TTL 레벨의 UART 인터페이스를 사용한다.

반응형

'Communication Interface&Protocol > 시리얼 통신' 카테고리의 다른 글

시리얼 통신 : UART  (0) 2022.11.11
시리얼 통신 : MODBUS  (0) 2022.09.03
시리얼 통신 : UART  (0) 2022.09.02
시리얼 통신 : I2C(IIC)  (0) 2022.09.02

댓글