Lesson 07 — Giao tiếp: UART, I2C, SPI

Mô phỏng tương tác ba giao thức nối tiếp phổ biến nhất trong hệ thống nhúng. Nhập dữ liệu, quan sát giản đồ xung và so sánh đặc điểm từng giao thức.

1. UART — Mô phỏng khung truyền và thời gian

Nhập ký tự ASCII hoặc giá trị hex, chọn cấu hình và baud rate — xem giản đồ xung TX và thời gian truyền.

IDLE START DATA (LSB→MSB) STOP
Nhập dữ liệu ở trên để xem kết quả...

2. I2C — Mô phỏng bus và giao tiếp địa chỉ

Nhấp vào slave để master giao tiếp với nó. Xem SDA/SCL thay đổi bên dưới.

SDA ────
SCL ────
Nhấp vào thiết bị slave để xem giao tiếp I2C...
Thiết bị trong bus:
MCU (Master) · BME280 0x76 (cảm biến nhiệt độ/ẩm) · DS3231 0x68 (RTC) · OLED 0x3C (màn hình) · ADS1115 0x48 (ADC 16-bit)

Giản đồ xung SDA và SCL cho một giao dịch I2C điển hình (ghi 1 byte vào địa chỉ 0x76).

Chú giải: S Start condition — ADDR Địa chỉ 7-bit — R/WACKDATAP Stop condition

Nhập địa chỉ I2C (decimal hoặc hex với tiền tố 0x), xem chuyển đổi nhị phân và byte ghi/đọc trên bus.

Nhập địa chỉ để giải mã...

3. SPI — Mô phỏng dịch bit MOSI/MISO

Nhập byte muốn gửi qua MOSI. Nhấn "Dịch 1 bit" để xem từng bit được chuyển ra từ shift register. Đồng thời MISO nhận bit từ slave.

MOSI (Master → Slave)
MISO (Slave → Master)
Nhấn "Dịch 1 bit" hoặc "Auto" để bắt đầu...

Sơ đồ kết nối SPI từ 1 MCU đến N slave. Chọn số slave để xem số chân cần dùng.

Giản đồ xung 4 đường tín hiệu SPI (SCLK, CS, MOSI, MISO) khi truyền byte 0xA5.

CS xuống LOW → chọn slave. SCLK tạo 8 xung. MOSI và MISO dịch bit đồng thời. Sau 8 xung, CS lên HIGH → kết thúc giao dịch.

4. Bảng so sánh và gợi ý giao thức

Tiêu chí UART I2C SPI
Số dây (cơ bản) 2 (TX + RX) 2 (SDA + SCL) 3 + 1/slave
Đồng bộ? Không (bất đồng bộ) Có (SCL) Có (SCLK)
Tốc độ điển hình 9.6 k – 921.6 kbps 100 kHz – 1 MHz 1 – 100+ MHz
Số thiết bị trên bus 1 đối 1 Nhiều (địa chỉ 7-bit) Nhiều (1 CS/slave)
Full-duplex? Không (bán song công)
Phát hiện lỗi Parity (tùy chọn) ACK/NACK Không
Cần pull-up? Không Có (4.7 kΩ) Không
Khoảng cách Xa (RS-232 → 50 m) Ngắn (< 1 m) Rất ngắn (< 30 cm)
Ứng dụng điển hình GPS, BT, debug, WiFi module Cảm biến, RTC, OLED nhỏ Thẻ SD, TFT, Flash, ADC

Chọn tình huống thực tế — công cụ sẽ gợi ý giao thức phù hợp nhất và giải thích lý do.

Tính số dây cần thiết khi kết nối N thiết bị bằng mỗi giao thức.