UART/USART ์ค๋ช
๐ 1. UART (Universal Asynchronous Receiver/Transmitter) ๋?
UART๋ Universal Asynchronous Receiver/Transmitter์ ์ฝ์๋ก, ์ง๋ ฌ ํต์ ์ ์ํ ํ๋์จ์ด ํ๋กํ ์ฝ์ด๋ค. UART๋ ๋ฐ์ดํฐ๋ฅผ ๋ ๊ฐ์ ํ, ์ก์ (Tx)๊ณผ ์์ (Rx)์ ํตํด ๋น๋๊ธฐ์ ์ผ๋ก ์ ์กํ๋ค. ๋น๋๊ธฐ์ ํต์ ์ด๋ ์ก์ ์ธก๊ณผ ์์ ์ธก ๊ฐ์ ๋๊ธฐํ๋ฅผ ์ํด ๋ณ๋์ ํด๋ญ ์ ํธ๊ฐ ํ์ํ์ง ์์ ํต์ ๋ฐฉ์์ ์๋ฏธํ๋ค. ๋ณดํต ๊ธฐ๋ณธ C์ธ์ด์์ printf๋ฅผ ๊ตฌํํ ๋ ๋ง์ด๋ค ์๊ฐํ๋ฏ๋ก ๊ธฐ๋ณธ์ ์ธ ๋์์ ์์๋๋ฉด ์ข๋ค.
๐ 2. UART์ ๊ธฐ๋ณธ ์๋ ์๋ฆฌ
- ๋น๋๊ธฐ ํต์ : ๋ณ๋์ ํด๋ญ ์ ํธ ์์ด ์ก์ ๊ธฐ์ ์์ ๊ธฐ๊ฐ ๋์ผํ ์ ์ก ์๋(baud rate)๋ก ์ค์ ๋์ด์ผ ํ๋ค.
- ์ ์ก ์๋(Baud Rate): ์ผ๋ฐ์ ์ผ๋ก 9600, 19200, 38400, 57600, 115200 baud ๋ฑ์ด ์ฌ์ฉ๋๋ค.
- ๋จ๋ฐฉํฅ ๋๋ ์๋ฐฉํฅ ํต์ : UART๋ ๋ฐ์ด์ค(half-duplex) ๋๋ ์ ์ด์ค(full-duplex) ํต์ ์ ์ง์ํ๋ค.
- ๋จ์ํ ๋ฐฐ์ : ๋ฐ์ดํฐ ์ ์ก์ ์ํด ๋ ๊ฐ์ ํ๋ง ํ์ํ๋ค.
๐ 3. ๋ณด์ ๊ณ ๋ ค์ฌํญ
๋ง์ ์ฐ์ ์ฉ ์์คํ ์์ UART ํฌํธ๋ ๋๋ฒ๊น ๋ฐ ์ ์ง๋ณด์๋ฅผ ์ํด ์ฌ์ฉ๋์ง๋ง, ๋ณด์ ์ทจ์ฝ์ ์ ๋ง๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์กฐ์น๋ฅผ ์ทจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ๋๋ฒ๊น ํฌํธ ๋นํ์ฑํ: ์ ํ ์ถํ ์, ๋๋ฒ๊น ํฌํธ๋ฅผ ๋นํ์ฑํํ๊ฑฐ๋ ์ ๊ฑฐํ๋ค.
- ํ์จ์ด ๋ณด์: UART๋ฅผ ํตํ ํ์จ์ด ์ ๋ฐ์ดํธ ์, ๋์งํธ ์๋ช ๋ฐ ์ํธํ๋ ํ์จ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- ๋คํธ์ํฌ ๋ฐฉํ๋ฒฝ: ๋คํธ์ํฌ ์ฐ๊ฒฐ๋ UART์ ๊ฒฝ์ฐ, ๋ฐฉํ๋ฒฝ์ ์ค์ ํ์ฌ ๋ถ๋ฒ ์ ๊ทผ์ ๋ฐฉ์งํ๋ค.
๐ 4. USART (Universal Synchronous/Asynchronous Receiver/Transmitter) ๋?
USART๋ Universal Synchronous/Asynchronous Receiver/Transmitter์ ์ฝ์๋ก, ๋น๋๊ธฐ ํต์ (UART)์ ๋ค๋ฅด๊ฒ ๋๊ธฐ ํต์ ์ ์ง์ํ๋ ์ง๋ ฌ ํต์ ์ธํฐํ์ด์ค์ด๋ค. USART๋ ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ ๊ธฐ์ ์์ ๊ธฐ๋ฅผ ๋๊ธฐํํจ์ผ๋ก์จ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ ์ ๊ณตํ๋ค.
๋๊ธฐ ํต์ ์์๋ ๋ฐ์ดํฐ ์ ์ก์ ์ํด ์ถ๊ฐ์ ์ธ ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ๋ค. USART๋ ์ก์ ๊ธฐ์ ์์ ๊ธฐ ๊ฐ์ ํด๋ญ ์ ํธ๋ฅผ ํตํด ์ ํํ ํ์ด๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ์์ ํ ์ ์๋ค.
- ๋๊ธฐ/๋น๋๊ธฐ ํต์ ์ง์: USART๋ ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ ๋๊ธฐ ํต์ ๊ณผ ํด๋ญ ์ ํธ ์์ด ๋ฐ์ดํฐ ์ ์ก ์๋(baud rate)๋ก ์ค์ ๋ ๋น๋๊ธฐ ํต์ (UART)์ ๋ชจ๋ ์ง์ํ๋ค.
- ๋ ๋น ๋ฅธ ์ ์ก ์๋: ๋๊ธฐ ํต์ ์์๋ ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ์ก์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก, ๋น๋๊ธฐ ํต์ ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ค.
- Full-duplex ํต์ : ๋๊ธฐ ๋ชจ๋์์๋ ์ก์ ๊ณผ ์์ ์ด ๋์์ ์ด๋ฃจ์ด์ง ์ ์๋ค.
- ํด๋ญ ์ ํธ ๋ผ์ธ: ๋๊ธฐ ํต์ ์์๋ ์ถ๊ฐ์ ์ธ ํด๋ญ ์ ํธ ๋ผ์ธ(์: SCLK)์ด ํ์ํ๋ค.
๐ 5. ๋๊ธฐ ํต์ ์ ์ฅ๋จ์
โ๏ธ ์ฅ์
- ๋์ ์ ์ก ์๋: ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋์ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ๊ตฌํํ ์ ์๋ค.
- ์์ ์ฑ: ํด๋ญ ์ ํธ์ ์ํด ๋๊ธฐํ๋๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ก์ ์์ ์ฑ์ด ๋๋ค.
- ๋ ธ์ด์ฆ ์ ํญ์ฑ: ๋๊ธฐํ๋ ํด๋ญ ์ ํธ๋ก ์ธํด ์ธ๋ถ ๋ ธ์ด์ฆ์ ๊ฐํ๋ค.
โ๏ธ ๋จ์
- ๋ณต์ก์ฑ: ์ถ๊ฐ์ ์ธ ํด๋ญ ์ ํธ ๋ผ์ธ์ด ํ์ํ์ฌ ๋ฐฐ์ ์ด ๋ณต์กํด์ง ์ ์๋ค.
- ํ๋์จ์ด ์๊ตฌ ์ฌํญ: ํด๋ญ ์ ํธ ์์ฑ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ถ๊ฐ์ ์ธ ํ๋์จ์ด๊ฐ ํ์ํ๋ค.
๐ 6. UART์ USART ๋น๊ต
- UART: ํด๋ญ ์ ํธ ์์ด ๋น๋๊ธฐ ํต์ ๋ง ์ง์.
- USART: ํด๋ญ ์ ํธ๋ฅผ ์ฌ์ฉํ ๋๊ธฐ ํต์ ๊ณผ ํด๋ญ ์ ํธ ์์ด ๋น๋๊ธฐ ํต์ ์ ๋ชจ๋ ์ง์.
- USART๋ ๋๊ธฐ ํต์ ์ ์ฅ์ ์ ์ด๋ ค ๋ ๋์ ์ ์ก ์๋์ ์์ ์ฑ์ ์ ๊ณตํ๋ฉฐ, ๋ค์ํ ์ฐ์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ค. ๋ฐ๋ฉด, ๋จ์ํ ๋ฐฐ์ ๊ณผ ๊ตฌํ์ ์ฉ์ด์ฑ์ ์ํ๋ค๋ฉด UART๊ฐ ๋ ์ ํฉํ ์ ์๋ค.
'๐ง STM32' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STM32] 12. ์๋ฆฌ์ผ ๋ชจ๋ํฐ๋ฅผ ์ํ UART ํต์ ๊ตฌํ (2) (0) | 2024.11.22 |
---|---|
[STM32] 11. ์๋ฆฌ์ผ ๋ชจ๋ํฐ๋ฅผ ์ํ UART ํต์ ๊ตฌํ (1) FTDI (UART To USB) (0) | 2024.11.22 |
[STM32] 9. Volatile ํค์๋ (0) | 2024.11.22 |
[STM32] 8. ์ค์์น ์ฑํฐ๋ง (์ํํธ์จ์ด ๋๋ฐ์ด์ฑ) (0) | 2024.11.18 |
[STM32] 7. ์ธ๋ถ ์ธํฐ๋ฝํธ(External Interrupt) (0) | 2024.11.18 |