[펌웨어] USART

정재훈·2022년 5월 2일
0

FirmWare

목록 보기
4/7

UART VS USART

UART 핀 3개 : TX,RX,GND
GND는 통신간의 전압 판별을 위해
연결방법 : TX - RX , RX - TX, GND - GND

USART 핀 4개 : UART 핀 + CLK

UART 데이터 프레임을 정확하게 이해하고 있어야 디버깅 작업이 수월하다.

통신 분류

  1. 근거리 통신 vs 원거리 통신 : 거리에 따른 분류 10km 기준
  2. 유선 통신 vs 무선 통신 : 선의 유무
  3. 통신의 방향성 : Simplex, Half Duplex, Full Duplex
  4. 직렬 통신 vs 병렬 통신
  5. 동기 통신 vs 비동기 통신

통신의 방향성

  1. Simplex 단방향 전송방식 : 데이터의 흐름이 한 방향으로만 한정되어 있는 통신방식 , 일방적인 송수신 , 데이터를 수신만 할 수 있다.
    예 ) TV, 라디오 : 수신만 가능 , 송신 불가
  2. Half Duplex 반이중 전송 방식 : 양쪽 방향으로 송수신 가능한 양방향 통신이지만 , 한 번에 하나의 전송만 이루어지도록 설정된다.
    송신하고 있을 때는 수신이 , 수신하고 있을 때는 송신이 되지 않는 전송방식
    예 ) 무전기
  3. Full Duplex 전이중 전송 방식 : 데이터를 양방향으로 동시에 송수신 할 수 있는 방식
    예 ) 전화기

UART : Full Duplex
I2C : Half Duplex

직렬통신 vs 병렬 통신

직렬 통신은 데이터가 1 bit (1 차선 ), 병렬 통신 데이터가 nbit
병렬 통신은 보통 8,16,32 등을 사용
보통 직렬 통신보다 병렬 통신이 빠르지만 , 항상 그런것은 아니다
장거리 및 고속 통신에서는 직렬 >>> 병렬

동기통신 vs 비동기 통신

  1. 동기 통신 : 클럭이 있음 , 비트의 수를 클럭으로 구분한다. 두 디바이스가 약속된 클럭에 맞추어 통신을 한다
    예 ) I2C, SPI, USART
  2. 비동기 통신 : 클럭이 없다, 클럭이 없기 때문에, bps 혹은 baudrate를 통해 양 디바이스간 시간을 맞춘다.
    예 ) UART

데이터 전송

다음 이미지와 같이 IDLEHigh로 셋팅 되어 시작된다.
St는 데이터를 보내는 시작 신호이고, 비트 수, Parity, Stop 순으로 보내진다.
parity : 오류 체크 기능
1. 짝수 parity : 1의 개수를 짝수로 맞춤
2. 홀수 partiy : 1의 개수를 홀수로 맞춤

0010 1100 을 보낸다고 하면 수신자가 받기 편하기 0011 0100 으로 반전시켜 전송한다.
또한 8비트만 보내는게 아닌 St, Parity, Stop bit도 함께 보내게 된다.

profile
여러 방향으로 접근하는 개발자

0개의 댓글