So Sánh Các Chuẩn Giao Tiếp UART, SPI, I2C – Cách Hoạt Động & Ứng Dụng Thực Tế

1. Giới thiệu

Trong các hệ thống nhúng (Embedded System), giao tiếp giữa vi điều khiển và module ngoại vi là yếu tố quan trọng để truyền dữ liệu.

Ba chuẩn phổ biến nhất là:

UART – giao tiếp nối tiếp không đồng bộ

SPI – giao tiếp nối tiếp đồng bộ, tốc độ cao

I2C – giao tiếp nối tiếp đa thiết bị, chỉ dùng 2 dây

Mỗi loại có ưu, nhược điểm riêng phù hợp cho từng mục đích sử dụng.

2. Giao tiếp UART

🔹 Đặc điểm:

Không đồng bộ (không cần xung clock)

• Dùng 2 dây: TX (truyền), RX (nhận)

• Dữ liệu được gửi bit nối tiếp theo thời gian

🔹 Ưu điểm:

• Đơn giản, dễ cấu hình

• Thích hợp truyền dữ liệu giữa 2 thiết bị

🔹 Nhược điểm:

• Chỉ hỗ trợ 1–1, không đa thiết bị

• Khoảng cách truyền ngắn (dưới 5m)

🔹 Ứng dụng:

• Giao tiếp ESP32 ↔ PC qua USB

Arduino ↔ Module SIM A7680C (AT Command)

ESP32 ↔ DFPlayer Mini để phát nhạc

3. Giao tiếp SPI

🔹 Đặc điểm:

Đồng bộ, có tín hiệu clock (SCK)

• Tốc độ cao (có thể đạt vài MHz)

• Dùng 4 dây chính:

• MISO (Master In Slave Out)

• MOSI (Master Out Slave In)

• SCK (Clock)

• SS (Slave Select)

🔹 Ưu điểm:

• Tốc độ truyền nhanh nhất trong ba chuẩn

• Giao tiếp dễ dàng giữa Master và nhiều Slave

🔹 Nhược điểm:

• Cần nhiều dây hơn

• Không có cơ chế địa chỉ hóa thiết bị

🔹 Ứng dụng:

Màn hình TFT, OLED SPI, cảm biến tốc độ cao

Thẻ nhớ SD, module RF NRF24L01

Vi điều khiển ↔ ADC/DAC tốc độ cao

4. Giao tiếp I2C

🔹 Đặc điểm:

Đồng bộ, chỉ dùng 2 dây:

• SDA (Serial Data)

• SCL (Serial Clock)

• Mỗi thiết bị có địa chỉ riêng

• Cho phép nhiều thiết bị nối song song

🔹 Ưu điểm:

• Tiết kiệm dây, hỗ trợ nhiều thiết bị

• Dễ mở rộng hệ thống

🔹 Nhược điểm:

• Tốc độ thấp hơn SPI (thường 100kHz – 400kHz)

• Cấu hình phức tạp hơn UART

🔹 Ứng dụng:

Cảm biến nhiệt độ, độ ẩm (DHT12, BMP280, BME680)

Màn hình LCD 1602 I2C, OLED 0.96 inch

RTC DS3231, EEPROM 24C02

5. Bảng so sánh UART – SPI – I2C

Đặc điểm UART SPI I2C

Kiểu giao tiếp Không đồng bộ Đồng bộ Đồng bộ

Số dây 2 4+ 2

Số thiết bị hỗ trợ 2 Nhiều (qua SS) Nhiều (qua địa chỉ)

Tốc độ Trung bình Cao Trung bình

Khoảng cách Ngắn Ngắn Trung bình

Độ phức tạp Thấp Trung bình Cao

Ứng dụng Giao tiếp 1–1 Màn hình, thẻ SD Cảm biến, RTC

6. Khi nào nên chọn giao tiếp nào?

Tình huống Giao tiếp khuyên dùng

  • Truyền dữ liệu đơn giản giữa 2 thiết bị UART
  • Cần tốc độ cao, truyền cảm biến nhanh SPI
  • Kết nối nhiều module cảm biến, ít dây I2C

7. Kết luận

Ba chuẩn UART, SPI và I2C là nền tảng trong hầu hết các dự án điện tử.

Việc hiểu nguyên lý và chọn chuẩn giao tiếp phù hợp giúp hệ thống hoạt động ổn định, dễ mở rộng, và tiết kiệm năng lượng.

Comments

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *