Giao tiếp SPI là gì? Cấu tạo và chân SPI trên Raspberry Pi
- Ban biên tập vienmaytinh.com
- 01/11/2026

Trong các hệ thống nhúng, vi điều khiển thường phải trao đổi dữ liệu với cảm biến, màn hình, thẻ nhớ hoặc chip thời gian thực. SPI là một trong những chuẩn được dùng cho nhu cầu này nhờ khả năng truyền nhanh và hỗ trợ gửi, nhận dữ liệu đồng thời. Bài viết dưới đây giải thích giao tiếp SPI là gì, ý nghĩa từng đường tín hiệu và cách nhận biết các chân SPI0 mặc định trên Raspberry Pi.
Nếu đang tìm hiểu cách khai thác các chân điều khiển trên bo mạch, bạn có thể đọc thêm bài Chân GPIO Raspberry Pi làm được gì trong thực tế? để có thêm bối cảnh về hệ thống GPIO.
Giao tiếp SPI là gì?
SPI là viết tắt của Serial Peripheral Interface, có thể hiểu là giao diện ngoại vi nối tiếp. Đây là một chuẩn truyền thông nối tiếp đồng bộ, trong đó dữ liệu được trao đổi dựa trên xung nhịp do thiết bị điều khiển tạo ra. SPI hỗ trợ chế độ song công toàn phần (Full-duplex), nghĩa là việc gửi và nhận có thể diễn ra cùng lúc trên hai đường dữ liệu riêng.
Tham khảo thêm: Loa boombox là gì? Lịch sử, cấu tạo và cách hoạt động.
Chuẩn này được Motorola phát triển vào giữa thập niên 1980 và sau đó trở nên phổ biến trong các thiết kế điện tử. Mô hình vận hành cơ bản gồm một Master và một hoặc nhiều Slave. Master thường là bộ điều khiển trung tâm như Arduino, STM32, ESP32 hoặc Raspberry Pi; Slave có thể là cảm biến, màn hình LCD, thẻ nhớ hay chip RTC.
Master chịu trách nhiệm tạo xung nhịp, bắt đầu phiên trao đổi và chọn thiết bị cần giao tiếp. Khi có nhiều Slave, từng thiết bị sẽ được kích hoạt thông qua đường chọn riêng. Cách tổ chức này giúp Master kiểm soát rõ thiết bị nào đang được truy cập, nhưng cũng khiến số đường kết nối tăng lên khi mở rộng hệ thống.
SPI thường được gọi là giao tiếp 4 dây vì cấu hình cơ bản cần bốn nhóm tín hiệu. Tuy nhiên, số đường thực tế có thể thay đổi tùy thiết kế, đặc biệt khi một Master điều khiển nhiều Slave độc lập.

Cấu tạo các chân tín hiệu trong giao tiếp SPI
Mỗi đường trong SPI đảm nhận một nhiệm vụ riêng. Việc phân biệt đúng chiều dữ liệu và chân chọn thiết bị là điều quan trọng khi nối Raspberry Pi hoặc vi điều khiển với ngoại vi. Chỉ cần đảo nhầm MISO và MOSI, hệ thống có thể không trao đổi được dữ liệu dù các đường khác vẫn có xung.
Mô hình các chân kết nối của giao tiếp SPI
- MOSI (Master Output, Slave Input): đường truyền dữ liệu từ Master đến Slave.
- MISO (Master Input, Slave Output): đường đưa dữ liệu từ Slave trở lại Master.
- SCK (Serial Clock): đường xung nhịp do Master tạo ra để hai bên lấy mẫu và đồng bộ dữ liệu.
- SS/CS (Slave Select/Chip Select): đường chọn Slave. Khi chân này ở mức thấp, Slave tương ứng được kích hoạt để trao đổi với Master.
Ba đường MOSI, MISO và SCK có thể được dùng chung giữa nhiều Slave. Điểm khác biệt nằm ở các chân SS hoặc CS: mỗi Slave cần một tín hiệu chọn riêng nếu muốn Master điều khiển độc lập. Đây là lý do SPI không cần cơ chế địa chỉ hóa như I2C nhưng lại có thể tiêu tốn thêm chân điều khiển.
Nội dung liên quan: TỦ ĐÔNG MÁT.

Sơ đồ chân SPI mặc định trên Raspberry Pi
Trên cụm 40 chân GPIO, bộ SPI0 mặc định của Raspberry Pi sử dụng các chân vật lý sau:
- MOSI: chân vật lý số 19, tương ứng GPIO 10, dùng để Raspberry Pi gửi dữ liệu đến ngoại vi.
- MISO: chân vật lý số 21, tương ứng GPIO 9, nhận dữ liệu từ ngoại vi về Raspberry Pi.
- SCLK: chân vật lý số 23, tương ứng GPIO 11, cung cấp xung nhịp đồng bộ.
- CE0: chân vật lý số 24, tương ứng GPIO 8, chọn Slave số 0.
- CE1: chân vật lý số 26, tương ứng GPIO 7, chọn Slave số 1.
Với hai đường CE0 và CE1, cấu hình mặc định của Raspberry Pi có thể chọn độc lập hai thiết bị SPI. Khi đấu nối, cần đối chiếu cả số chân vật lý và tên GPIO, vì đây là hai cách gọi khác nhau cho cùng vị trí trên header 40 chân. Đồng thời, thiết bị ngoại vi phải có mức điện áp và sơ đồ kết nối phù hợp; bài viết này chỉ cung cấp pinout, không thay thế tài liệu phần cứng của từng module.

SPI cũng có thể xuất hiện trong các dự án Raspberry Pi chạy dịch vụ tự lưu trữ hoặc tự động hóa. Tuy nhiên, việc dùng SPI cho một thiết bị cụ thể vẫn cần dựa trên tài liệu của module và cấu hình phần cứng tương ứng, không nên suy ra chỉ từ tên giao thức.
Đánh giá ưu điểm và nhược điểm của SPI
Ưu điểm của chuẩn SPI
- Tốc độ cao: SPI thường hoạt động từ vài MHz đến hàng chục MHz, phù hợp với các thiết bị cần trao đổi dữ liệu nhanh và liên tục.
- Truyền liên tục: SPI không dùng bit bắt đầu và bit dừng như một số kiểu truyền khác, nên dữ liệu có thể được truyền liền mạch trong một phiên giao tiếp.
- Hỗ trợ Full-duplex: Master và Slave có thể gửi, nhận đồng thời, giúp tận dụng tốt thời gian truyền.
- Phần cứng tương đối đơn giản: SPI không yêu cầu địa chỉ hóa Slave như I2C và không cần thiết lập baud rate theo cách thường thấy ở UART.
- Không cần điện trở kéo lên: các đường tín hiệu SPI không yêu cầu pull-up resistor theo cơ chế hoạt động cơ bản, giúp mạch gọn hơn trong một số thiết kế.
Những ưu điểm này khiến SPI phù hợp với các kết nối ngắn trên cùng bo mạch, chẳng hạn giữa bộ điều khiển và màn hình, bộ nhớ hoặc cảm biến cần tốc độ trao đổi cao.
Có thể bạn quan tâm: Tông đơ cắt tóc.
Nhược điểm cần cân nhắc
- Tốn chân kết nối: cấu hình cơ bản cần ít nhất bốn đường tín hiệu. Nếu thêm nhiều Slave độc lập, số chân SS/CS cũng tăng theo.
- Khoảng cách truyền hạn chế: SPI chủ yếu dành cho kết nối khoảng cách ngắn trên bo mạch, thường dưới 1 mét. Dây càng dài, yêu cầu về bố trí và chất lượng tín hiệu càng đáng lưu ý.
- Không có cơ chế xác nhận tích hợp: SPI không cung cấp bit ACK/NACK để tự xác nhận dữ liệu đã đến nơi chính xác hay chưa. Phần mềm hoặc thiết kế hệ thống có thể phải đảm nhận việc kiểm tra phù hợp.
- Không hỗ trợ đa Master một cách tự nhiên: mô hình thông dụng chỉ có một Master điều phối quá trình truyền.
Vì vậy, SPI không mặc nhiên tốt hơn mọi chuẩn khác. Nếu cần giảm số dây, I2C có thể phù hợp hơn; nếu cần kết nối theo cách khác, lựa chọn còn phụ thuộc khoảng cách, tốc độ, số lượng thiết bị và yêu cầu kiểm tra lỗi của toàn hệ thống.
Kết luận về giao tiếp SPI
SPI là chuẩn truyền thông nối tiếp đồng bộ, dùng mô hình Master–Slave và hỗ trợ Full-duplex. Bốn tín hiệu nền tảng gồm MOSI, MISO, SCK và SS/CS; trên Raspberry Pi, SPI0 mặc định dùng MOSI ở chân 19, MISO ở chân 21, SCLK ở chân 23, cùng CE0 ở chân 24 và CE1 ở chân 26.
Tham khảo thêm: Linh kiện.
Điểm mạnh của SPI nằm ở tốc độ, sự đơn giản và khả năng truyền nhận đồng thời. Đổi lại, chuẩn này cần nhiều chân hơn, phù hợp với khoảng cách ngắn và không tự tích hợp cơ chế ACK/NACK. Khi hệ thống SPI hoạt động bất thường, không nên kết luận ngay rằng một chân hoặc một linh kiện đã hỏng; cần xem xét cả dây nối, cấu hình, mức tín hiệu và thiết bị ngoại vi.
Chi phí kiểm tra phần cứng liên quan đến giao tiếp SPI
Mức giá phụ thuộc vào tình trạng thực tế, linh kiện và phương án xử lý. Mức giá tham khảo có thể thay đổi; vui lòng liên hệ để xác nhận khoảng giá hiện hành trước khi thực hiện.
Câu hỏi thường gặp về SPI
SPI có phải luôn cần đúng bốn dây không?
Cấu hình cơ bản thường dùng bốn nhóm tín hiệu gồm MOSI, MISO, SCK và SS/CS. Khi có nhiều Slave, MOSI, MISO và SCK có thể dùng chung, còn mỗi Slave thường cần đường chọn riêng.
Raspberry Pi có thể điều khiển bao nhiêu thiết bị SPI?
Ở cấu hình SPI0 mặc định được nêu trong bài, Raspberry Pi có hai chân CE0 và CE1, tương ứng khả năng chọn độc lập hai Slave. Số thiết bị thực tế còn phụ thuộc thiết kế phần cứng và cách mở rộng đường CS.
Nội dung liên quan: Cài n8n self-host trên Raspberry Pi bằng Docker.
SPI nhanh hơn I2C trong mọi trường hợp phải không?
Không thể kết luận cho mọi hệ thống. SPI thường đạt tốc độ từ vài MHz đến hàng chục MHz và có Full-duplex, nhưng cần nhiều dây hơn. Lựa chọn còn phụ thuộc khoảng cách, số thiết bị và yêu cầu của mạch.
Khi SPI không hoạt động, có nên tự thay linh kiện ngay không?
Không nên thay ngay khi chưa có kết quả kiểm tra. Hãy đối chiếu pinout, chiều MOSI/MISO, chân SCK, đường CE/CS và cấu hình thiết bị trước. Nếu vẫn chưa xác định được nguyên nhân, cần kiểm tra thực tế để tránh thay nhầm linh kiện hoặc ảnh hưởng bo mạch.
Khi nào nên đem thiết bị đi kiểm tra?
Nếu đã đối chiếu sơ đồ chân và cấu hình mà thiết bị vẫn không giao tiếp, hoặc có dấu hiệu bất thường trên bo mạch, nên dừng việc đấu nối thử nghiệm liên tục. Kỹ thuật viên cần kiểm tra thực tế trước khi xác định nguyên nhân, phương án xử lý, chi phí, thời gian và điều kiện bảo hành. Đơn vị cho biết khách hàng có thể quan sát trực tiếp quá trình sửa chữa; hóa đơn PDF và giấy bảo hành được lưu qua Zalo và website để thuận tiện tra cứu.
Có thể bạn quan tâm: Loa thanh soundbar là gì? Cấu tạo và lý do nên dùng.
Nếu thiết bị có dấu hiệu bất thường, khách hàng có thể liên hệ Trungtambaohanh.com qua hotline 0967891080 để mô tả tình trạng và được hướng dẫn hình thức tiếp nhận phù hợp. Kỹ thuật viên cần kiểm tra thực tế trước khi xác định nguyên nhân, phương án xử lý, chi phí, thời gian và điều kiện bảo hành.
Xem thêm thông tin dịch vụ tại trang giới thiệu dịch vụ hoặc bấm đặt lịch với kỹ thuật ngay tại đây trên website để được hỗ trợ theo khu vực.
Muốn lưu bài để đọc tiếp trên điện thoại? Hãy quét mã QR dưới đây.







