HW, 임베디드

Serial interface (UART, SPI)

CodePoetry 2023. 2. 11. 22:49

UART

일반적으로 TX/RX 2wire이고 hw flow control을 지원하는 경우 4wire이다.

2wire인 경우 start/stop bit를 통해 시작과 끝을 구분하고 baudrate 마다 1bit씩을 읽는다.

4wire의 경우 용어가 무척 헷갈리게 만들어놨는데

  • RTS(Request to Send: 나에게 데이터롤 보내줘 또는 나 받을 준비 됐어)
  • CTS(Clear to Send: 어 알았어. 이제 보낼게)

이다. 순서상 RTS가 active low가 먼저 되어야 CTS가 그에 따라 low가 되고 TX 할 수 있는 상황이다.

두 경우 모두 asynchronous, full duplex 방식이라고 할 수 있다.

 

SPI

  • I2C처럼 slave address가 없는 대신 slave device 갯수만큼 master 쪽에 CS 핀을 연결한다. 한 번에 한 slave 하고만 통신할 수 있는 대신 full duplex 가 가능하다. (주는것 MOSI로만, 받는건 MISO로만 하기 때문)

 

[참고]

https://www.youtube.com/watch?v=0YEu5AmBjwk 

https://www.youtube.com/watch?v=IyGwvGzrqp8