Chuyển tới nội dung chính

Kết nối & Bus giao tiếp

Cách một vi điều khiển nói chuyện với cảm biến, ngoại vi và các bo khác. Chọn đúng bus là sự đánh đổi giữa số chân, tốc độ, khoảng cách, số thiết bị và khả năng chống nhiễu.

So sánh nhanh

BusDâyKiểu tín hiệuTốc độ điển hìnhKhoảng cáchNhiều thiết bịPhù hợp cho
UART2 (TX/RX)Đơn cực, bất đồng bộ≤ ~1 MbpsNgắn (trên bo)Không (điểm-điểm)Debug console, module, bootloader
I²C2 (SDA/SCL)Đơn cực, open-drain100 k–3.4 MRất ngắn (cm)Có (theo địa chỉ)Cảm biến trên bo, EEPROM, RTC
SPI3 + 1/CSĐơn cực, đồng bộhàng chục MbpsTrên boCó (theo CS)Tốc độ cao trên bo (flash, màn hình, ADC)
CAN2 (CANH/L)Vi sai1 M (5 M+ FD)Hàng chục mCó (arbitration)Ô tô, robot, công nghiệp
RS-4852 (A/B)Vi sai≤ 10 MbpsTới ~1200 mCó (multi-drop)Liên kết công nghiệp dài (Modbus)

SPI đưa vào để tham chiếu; bốn hướng dẫn dưới đây bao quát các bus trong yêu cầu này.

Cách chọn

  • Trên một bo, ít chân, vài thiết bị chậmI²C.
  • Trên một bo, cần tốc độSPI.
  • Hai thiết bị, đơn giản, debug/moduleUART.
  • Cáp dài, môi trường nhiễu, nhiều nodeRS-485 (hoặc CAN cho nhắn tin tin cậy).
  • Tin cậy, phân tán, nhắn tin có ưu tiênCAN.
Khoảng cách ⇒ dùng vi sai

Bus đơn cực (UART/I²C/SPI) dành cho dùng trên bo. Ngay khi liên kết rời khỏi bo hoặc đi qua nhiễu, hãy chuyển sang bus vi sai (CAN, RS-485) — xem Tín hiệu vi sai.

Xem thêm