그라운드 임베디드 유튜브 구독

노트 / 통신 프로토콜

직렬통신 기초: 동기, 비동기, 이중, 차동

통신 이름을 외우기 전에 네 가지 기준을 잡으면 UART, SPI, I2C, CAN이 한 표에 정리됩니다.

GROUND EMBEDDED · 정리 노트통신 01직렬통신 기초기준갈래의미클럭동기 / 비동기클럭선을 함께 보내나, …방향전이중 / 반이중동시에 주고받나, 번갈아…

네 가지 기준

기준 갈래 의미
클럭 동기 / 비동기 클럭선을 함께 보내나, 속도를 미리 약속하나
방향 전이중 / 반이중 동시에 주고받나, 번갈아 주고받나
신호 단일 / 차동 그라운드 기준 한 선인가, 두 선의 차이인가
구성 1:1 / 버스 둘만 연결하나, 여럿이 한 선을 공유하나

한 표로 보기

통신 클럭 방향 신호 구성
UART 비동기 전이중 단일 1:1
SPI 동기 전이중 단일 1:N (CS로 선택)
I2C 동기 반이중 단일 (오픈드레인) 버스 (주소)
RS-485 비동기 반이중 차동 버스
CAN 비동기 반이중 차동 버스 (ID 중재)

왜 직렬인가

여러 비트를 한꺼번에 보내는 병렬 통신은 선이 많고, 빠르면 선마다 도착 시간이 달라지는 문제가 생깁니다. 선 몇 가닥으로 비트를 하나씩 보내는 직렬 통신이 보드 사이, 칩 사이 연결의 표준이 되었습니다.

차동 신호

두 선에 반대 신호를 보내고 차이만 읽습니다. 외부 노이즈는 두 선에 똑같이 들어와 차이에서 사라집니다. 그래서 차량과 공장처럼 노이즈가 많고 거리가 먼 곳은 CAN, RS-485 같은 차동 통신을 씁니다.