시리얼 통신
UART(Universal Asynchronous Receiver / Transmitter) : 비동기식 시리얼 통신
- 병렬 데이터를 직렬 데이터로 바꿔 전송하는 통신
- 1:1
- 전이중(Full Duplex) 통신 : RX, TX 송/수신선 각각 존재
- 송신부와 수신부의 통신속도인 buadrate를 일치시켜서 전송하는 비동기식 통신 방식이다.
SPI(Serial Peripheral Interface) : 동기식 시리얼 통신
- 하나의 마스터가 여러 슬레이브와 연결할 수 있다는 점에서 UART보다는 I2C와 유사하다.
- 1:N
- 전이중(Full Duplex) 통신 : SCK, MOSI, MISO, SS
- SPI는 풀업 저항이 필요 없다.
I2C(Inter-Integrated Circut) : 동기식 시리얼 통신
- 다수의 하드웨어와 연결이 가능하다.
- N:N
- 반이중(Half Duplex) 통신
- 통신 속도가 느리기 때문에 제어 용도로 많이 활용한다.
- 풀업 저항 필요
- SDL, SCL이 Open-Drain
UART , USART 비교
UART
- 범용 비동기화 송수신 (전이중)
- 속도가 빠르지만, 데이터의 시작과 끝을 알기 위해 Start/Stop bit가 필요하다.
- 오류 검출을 위한 Parity bit가 있음.
USART
- 범용 동기/비동기화 송수신 (반이중)
- 동기 모드 USART에서는 데이터 동기화를 위해 별도의 Clock pulse를 전송한다.
- 데이터 송수신 효율이 높다 (데이터를 구분하지 않고 Clock 유무만 확인)
- 데이터와 타이머가 모두 필요하고, 데이터를 고정 속도로 전송한다.
- 데이터를 일반적으로 블록화하여 전송한다.
TCP, UDP 그리고 OSI 7 Layer
TCP (TCP : 패킷 추적 및 관리 / IP : 데이터의 전송 처리)
- 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜
- 3-way handshaking 과정을 통하여 연결 후 통신을 시작한다.
- 흐름 제어와 혼잡 제어를 지원하고 데이터의 순서를 보장한다.
- 흐름 제어 : 보내는 측과 받는 측의 데이터 처리속도 차이를 조절한다.
- 혼잡 제어 : 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지한다.
특징
- 연결형 서비스로 가상 회선 방식을 제공한다.
- 데이터의 전송 순서 보장
- 데이터의 경계를 구분하지 않는다
- 신뢰성 있는 데이터 전송
- UDP보다 전송속도가 느리다
연결 설정(3-way handshaking)과 해제(4-way handshaking)
UDP
- 비연결형 프로토콜
- 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜
- TCP와는 다르게 연결 설정이 없으며, 혼잡 제어를 하지 않기 때문에 TCP보다 전송 속도가 빠르다.
- 데이터 전송에 대한 보장을 하지 않기 때문에 패킷 손실이 발생할 수 있다.
특징
- 비연결형 서비스로 데이터그램 방식을 제공
- 비신뢰성
- 데이터의 경계를 구분
- 패킷 오버해드가 적어 네트워크 부하 감소
- 혼잡 제어를 하지 않기 때문에 TCP보다 빠름
- TCP의 handshaking 같은 연결 설정이 없음
TCP vs UDP
'임베디드' 카테고리의 다른 글
ALSA (0) | 2023.12.21 |
---|---|
Automotive SPICE (업데이트 中) (0) | 2023.06.20 |
CAN (업데이트 中) (0) | 2023.06.20 |
Analog /Digital Signal , Ground (0) | 2023.04.06 |
AUTOSAR 개념 (지속 업데이트) (2) | 2023.01.30 |