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로만 하기 때문)
[참고]