MCU

[mcu] UART/USART 통신 개요

mle21 2024. 5. 12. 06:00
반응형

mcu에서 can, i2c 등과 같이 가장 많이 쓰이는 통신방법중의 하나이다.

일반적으로 시리얼(serial) 혹은 RS232통신으로 불리우며 1:1 통신이다.

물론 1:N 통신이 가능한 RS422, RS485통신도 있다.


1. UART vs USART

1) USART(Universal Synchronous/Asynchronous Receiver Transmitter)

    └ 범용 동기/비동기화 송수신 (반이중, 양방향-수신/송신 동시에 불가)

    -. 데이터 동기화를 위해 별도의 clock 신호를 사용한다.

    -. UART에서 사용하는 start & stop bit가 필요없어 전송 효율 좋음

    -. UART에서 필요없는 clock 전송을 위한 추가 배선이 필요

    -. UART에 비해 데이터 전송 속도가 빠르다.

2) UART(Universal Asynchronous Receiver Transmitter)

    └ 범용 비동기화 송수신 (전이중, 양방향-수신/송신 동시에 가능)

    -. 데이터 동기화를 위해 start & stop bit를 사용

    -. 데이터 전송 오류 검출을 위해 parity bit를 사용

    -. 일반적으로 UART는 USART의 비동기 모드에 해당된다. 

 

2. polling vs interrupt vs dma

1) polling (주변장치가 수동적)

    -. MCU에서 주변장치의 상태 변화를 주기적으로 체크하는 방식

    -. 주기적인 상태 확인으로 인해 MCU 성능을 100% 활용하지 못함 

2) interrupt (주변장치가 능동적)

    -. 주변장치에서 상태 변화가 발생하면 MCU로 인터럽트 신호 전송

    -. MCU는 인터럽트 신호가 들어오면 잠시 주변장치와 송수실 실시

    -. 일반적으로 polling 방식에 비해 성능이 좋음

3) dma (Direct Memory Access)

    -. 기본적으로 인터럽트와 비슷하게 동작

    -. dma controller에서 MCU가 할 일을 일부 더 가져와서 수행

       (주변장치와 데이터를 주고 받는 과정 후 인터럽트 신호 전송)

    -. 일반적으로 interrupt 방식에 비해 성능이 좋음


 

반응형

@ 다음은 에 대해서 알아보자


 

728x90

'MCU' 카테고리의 다른 글

[mcu] CAN 통신 개요  (0) 2022.08.23