Giao Tiếp SPI (Serial Peripheral Interface)

Giao tiếp SPI (Serial Peripheral Interface) là một giao thức truyền thông nối tiếp được sử dụng phổ biến trong việc kết nối giữa vi điều khiển và các thiết bị ngoại vi như EEPROM, ADC, DAC, các màn hình LCD, hoặc các cảm biến. Giao thức SPI được biết đến với tính đơn giản, tốc độ truyền cao, và khả năng truyền nhọi đồng dữ liệu.

1. Cơ Bản Về SPI

SPI là một giao thức truyền thông dựa trên kiểu truyền nhị phân (đồng bộ). Trong SPI, có 4 tín hiệu chính:

  1. SCLK (Serial Clock): Tín hiệu xung nhịp do Master tạo ra.

  2. MOSI (Master Out Slave In): Dòng dữ liệu truyền từ Master đến Slave.

  3. MISO (Master In Slave Out): Dòng dữ liệu truyền từ Slave đến Master.

  4. SS (Slave Select): Tín hiệu chọn Slave (còn được gọi là CS – Chip Select).

2. Cách Hoạt Động

Giao tiếp SPI hoạt động theo mô hình Master-Slave:

  • Master: Thiết bị chủ động trong giao tiếp, tạo xung clock và quyết định khi nào truyền hoặc nhận dữ liệu.

  • Slave: Thiết bị phụ, chỉ được kích hoạt khi Master chọn bằng tín hiệu SS.

Khi Master gửi dữ liệu qua MOSI, Slave nhận dữ liệu ở cùng mỗi chu kỳ clock. Ngược lại, Slave gửi dữ liệu qua MISO đến Master.

3. Đặc Điểm Nổi Bật

  1. Truyền nhị phân: SPI truyền dữ liệu nhị phân, cho phép trao đổi song song giữa Master và Slave.

  2. Tốc độ cao: Giao tiếp SPI có tốc độ cao hơn so với I2C do không có cơ chế ACK.

  3. Hỗ trợ nhiều Slave: Bằng cách sử dụng nhiều tín hiệu SS, một Master có thể giao tiếp với nhiều Slave.

  4. Chiều dài cáp giới hạn: SPI phù hợp cho kết nối ngắn do cơ chế truyền song song đòi hỏi đồng bộ cao.

4. Các Chế Độ Hoạt Động

SPI hỗ trợ 4 chế độ hoạt động, phân loại theo CPOL (Clock Polarity) và CPHA (Clock Phase):

  1. Mode 0: CPOL = 0, CPHA = 0.

  2. Mode 1: CPOL = 0, CPHA = 1.

  3. Mode 2: CPOL = 1, CPHA = 0.

  4. Mode 3: CPOL = 1, CPHA = 1.

Chọn chế độ tùy thuộc vào yêu cầu của thiết bị Slave.

5. Ứng Dụng

  1. Kết nối màn hình TFT/LCD trong các dự án nhúng.

  2. Truyền dữ liệu giữa vi điều khiển và bộ nhớ EEPROM.

  3. Kết nối ADC/DAC để chuyển đổi tín hiệu từ analog sang digital hoặc ngược lại.

  4. Ứng dụng trong các hệ thống IoT để kết nối với các cảm biến.

6. So Sánh SPI với I2C

Thuộc tínhSPII2C
Tốc độCaoTrung bình
Số dây tín hiệu42
Khả năng giao tiếp nhiều SlaveTốt (dùng nhiều SS)Giới hạn
Khoảng cáchNgắnXa

Kết Luận

Giao tiếp SPI là một lựa chọn lý tưởng cho các ứng dụng yêu cầu tốc độ truyền cao và giao tiếp đồng bộ. Tuy nhiên, SPI không phù hợp cho những ứng dụng yêu cầu đồng bộ nỗi tiếp với khoảng cách xa hoặc giao tiếp với nhiều thiết bị trong cùng hệ thống như I2C.

Leave a Reply

Your email address will not be published. Required fields are marked *