Jooyoung Lee
기록 일지
Jooyoung Lee
  • 분류 전체보기 (27)
    • 임베디드 (9)
    • 딥러닝 (11)
      • ML (3)
      • Notions (4)
      • AI math (4)
      • 강의 리뷰 (0)
    • 논문 리뷰 (1)
    • 알고리즘 스터디 (1)
    • 컴퓨터 비전 (5)

블로그 메뉴

  • About me,
GitHub Contribution
Loading data ...
Jooyoung Lee

기록 일지

시리얼 통신
임베디드

시리얼 통신

2022. 12. 15. 08:23

시리얼 통신

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

'임베디드' 카테고리의 다른 글

SocketCAN  (0) 2024.04.22
ALSA  (0) 2023.12.21
Automotive SPICE (업데이트 中)  (0) 2023.06.20
CAN (업데이트 中)  (0) 2023.06.20
Analog /Digital Signal , Ground  (0) 2023.04.06
    '임베디드' 카테고리의 다른 글
    • ALSA
    • Automotive SPICE (업데이트 中)
    • CAN (업데이트 中)
    • Analog /Digital Signal , Ground
    Jooyoung Lee
    Jooyoung Lee
    Embedded software engineer

    티스토리툴바