+ SPI (Serial Peripheral Interface) là một giao thức truyền thông phổ biến được sử dụng bởi nhiều mô-đun khác nhau. Ví dụ, mô-đun thẻ SD, mô- đun đầu đọc thẻ RFID, và bộ thu/phát sóng không dây 2,4 GHz đều sử dụng SPI để giao tiếp với vi điều khiển. SPI khá chậm hơn so với các giao thức như USB, Ethernet, Bluetooth và WiFi, nhưng nó đơn giản hơn nhiều và cũng sử dụng ít tài nguyên hệ thống phần cứng hơn.
+ Một lợi ích riêng của SPI là dữ liệu có thể được truyền đi mà không bị gián đoạn. Bất kỳ một số bit nào cũng có thể được gửi hoặc nhận liên tục. Với các giao tiếp tương tự khác như I2C và UART, dữ liệu được gửi trong các gói tin, bị giới hạn trong một số bit cụ thể. Điều kiện bắt đầu và kết thúc xác định điểm bắt đầu và kết thúc của mỗi gói tin, do đó dữ liệu có thể bị gián đoạn trong quá trình truyền.
+ Thiết bị giao tiếp thông qua SPI theo một quan hệ gọi là master- slave. Bậc master là một thiết bị kiểm soát (thường là một vi điều khiển), trong khi các slave (thường là một cảm biến, màn hình, hoặc chip nhớ) nhận chỉ dẫn bậc master. Cấu hình đơn giản nhất của SPI là hệ thống có một master và slave duy nhất, tuy nhiên một master có thể kiểm soát nhiều hơn một slave.
Các bước truyền dữ liệu dùng SPI:
Hình 2.12 Xuất xung đồng hồ
+ Bậc master chuyển điện áp một dòng chọn SS thành mức thấp để bắt đầu giao tiếp với slave tương ứng, kích hoạt slave đó:
Hình 2.13 Kích điện áp mức thấp
+ Bậc master gửi dữ liệu theo từng bit đến slave theo dòng MOSI. Các slave đọc các bit như được nhận:
Hình 2.14 Master gửi dữ liệu đến slave
+ Nếu cần phản hồi, các slave gửi dữ liệu về từng bit đến master trên dòng MISO. Bậc master đọc các bit như được nhận:
Hình 2.15 Slave gửi dữ liệu phản hồi về master
+ Việc truyền tải dữ liệu tiếp tục theo cách này cho đến khi thiết bị đã trao đổi một số bit nhất định (thường là 8,16, hoặc 32).
+ Sau khi quá trình truyền tải dữ liệu hoàn tất, bậc master kéo điện áp của dòng chọn SS của các slave lại thành mức cao hoặc chọn slave khác trên mạng giao tiếp hoặc truyền lại cho cùng slave bằng cách kéo điện áp dòng chọn SS tương ứng thành thấp.