SPI LÀ GÌ

  -  
Giao tiếp ngoại vi nối tiếp hoặc SPI (Serial Peripheral Interface) là một chuẩn chỉnh đồng bộ tiếp liền để truyền dữ liệu ở chính sách song công toàn phần (full – duplex) tức trong cùng 1 thời điểm có thể xảy ra đồng thời quy trình truyền và nhận.

Giao tiếp nước ngoài vi nối tiếp (SPI) là 1 trong những loại giao thức phong cách Master – Slave hỗ trợ một giao diện ngân sách chi tiêu đơn giản và ngân sách chi tiêu thấp thân vi tinh chỉnh và điều khiển và những thiết bị nước ngoài vi của nó.

Bạn đang xem: Spi là gì

*

Đối với tiếp xúc khoảng cách ngắn, tiếp xúc nối tiếp đồng nhất sẽ là lựa chọn xuất sắc hơn với trong đó tiếp xúc ngoại vi thông suốt hoặc SPI nói riêng là lựa chọn giỏi nhất. Khi họ nói truyền thông khoảng cách ngắn, nó thường có nghĩa là giao tiếp cùng với một thứ hoặc giữa những thiết bị trên và một board mạch in (PCB).

Loại giao thức truyền thông media đồng bộnối tiếp khác là I2C (Inter-Integrated Communication. Đối với bài viết này, bọn họ sẽ tập trung vào SPI. Chúng ta có thể xem bài viết về giao thức I2C trên đây.

SPI là 1 trong những kiểu truyền thông nối tiếp loại đồng bộ tức là nó sử dụng tín hiệu đồng hồ chuyên dụng để đồng bộ hóa cỗ phát và cỗ thu hoặc Master với Slave. Bộ phát và bộ thu được liên kết với dữ liệu hiếm hoi và biểu đạt đồng hồ sẽ giúp đỡ bộ thu lúc tìm kiếm tài liệu trên bus.

*
Master – Out / Slave – In hayMOSI, như tên đến thấy, là tài liệu được tạo thành bởi Master cùng nhận bởi Slave. Do đó, các chân MOSI bên trên cả Master với Slave được kết nối với nhau.

Master – In / Slave – Out hayMISO là dữ liệu được tạo nên bởi Slave và cần được truyền tới Master.Các chân MISO trên cả Master cùng Slave được kết nối với nhau. Tuy vậy tín hiệu vào MISO được tạo thành bởi Slave, đường biểu hiện này được điều khiển và tinh chỉnh bởi Master.

Master tạo ra tín hiệu đồng hồ đeo tay SCLK với được cung cấp cho đầu vào đồng hồ đeo tay của Slave.Xung này có công dụng giữ nhịp cho tiếp xúc SPI, vị SPI là chuẩn chỉnh truyền đồng nhất nên phải 1 con đường giữ nhịp, mỗi nhịp bên trên chân SCK báo 1 bit tài liệu đến hoặc đi. Sự tồn tại của xung SCK giúp quá trình tuyền ít bị lỗi và chính vì như thế tốc độ truyền của SPI có thể đạt khôn cùng cao.

Chip Select (CS) hoặc Slave Select (SS) được áp dụng để chọn 1 Slave rõ ràng bởi Master.Nếu Master kéo mặt đường SS của một Slave làm sao đó xuống đến mức thấp thì việc tiếp xúc sẽ xẩy ra giữa Master với Slave đó.

Vì đồng hồ thời trang được tạo nên bởi Master, luồng dữ liệu được tinh chỉnh bởi Master. Cùng với mỗi chu kỳ luân hồi đồng hồ, một bit tài liệu được truyền trường đoản cú Master đến Slave với một bit tài liệu được truyền từ Slave mang lại Master.

Quá trình này xẩy ra đồng thời với sau 8 chu kỳ đồng hồ, một byte tài liệu được truyền theo cả nhị hướng và vì đó, SPI là một giao tiếp song công toàn phần (full – duplex).

Nếu tài liệu phải được truyền vày chỉ một thiết bị, thì đồ vật kia đề xuất gửi một cái gì đấy (dữ liệu giả) cùng nó phụ thuộc vào thiết bị mặc dầu dữ liệu được truyền là dữ liệu thực tế hay không.

Điều này tức là đối với mỗi bit được truyền vị một thiết bị, trang bị kia bắt buộc gửi dữ liệu một bit, có nghĩa là Master truyền dữ liệu đồng thời trên MOSI với nhận dữ liệu từ Slave trên phố MISO.

Nếu Slave ý muốn truyền dữ liệu, Master phải tạo ra tín hiệu đồng hồ cho phù hợp bằng phương pháp biết khi nào Slave mong gửi tài liệu trước. Nếu như một Master được kết nối với rất nhiều Slave thì sơ đồ kết nối như hình ảnh sau đây.

*

Từ hình ảnh trên cho thấy thiết bị Master bao gồm 1 thanh ghi dịch (Shift Register), một mạch chốt dữ liệu (Latch) với một bộ tạo xung nhịp (Clock Generator). Thứ Slave bao gồm phần cứng tương tự: một thanh ghi dịch (Shift Register) và một mạch chốt dữ liệu (Latch). Cả nhị thanh ghi dịch được liên kết để chế tạo ra thành một vòng. Thông thường, kích cỡ của thanh ghi là 8 – bit tuy vậy thanh ghi form size lớn rộng 16 bit cũng khá phổ biến.

Xem thêm: Giá Vé Bến Nhà Rồng 2023 - Kinh Nghiệm Du Lịch Bến Nhà Rồng

Thiết bị Master bước đầu việc điều đình dữ liệu bằng cách truyền đi một Byte vào thanh ghi dịch của nó, tiếp đến Byte dữ liệu sẽ được đưa sang Slave theo đường tín hiệu MOSI, Slave đã truyền dữ liệu nằm trong thanh ghi dịch của chính nó ngược quay trở lại Master thông qua đường biểu lộ MISO. Bằng cách này, dữ liệu của hai thanh ghi sẽ tiến hành trao thay đổi với nhau. Việc đọc và ghi dữ liệu vào Slave diễn ra cùng một thời gian nên vận tốc trao thay đổi dữ liệu ra mắt rất nhanh. Vày đó, giao thức SPI là một trong giao thức rất bao gồm hiệu quả.

Bởi bởi với mỗi chu kỳ luân hồi đồng hồ, một bit tài liệu được truyền theo từng hướng tức là từ Master cho Slave vàtừ Slave mang lại Master. Do vậy, so với một byte tài liệu được truyền từ từng thiết bị, nó vẫn mất 8 chu kỳ đồng hồ.

Chế độ vận động SPI

Chúng ta đã thấy rằng các bước của máy Master là tạo ra tín hiệu đồng hồ đeo tay và cung cấp nó cho tới Slave để nhất quán dữ liệu giữa Master với Slave. Công việc của Master không chỉ tạm dừng ở vấn đề tạo tín hiệu đồng hồ thời trang ở tần số gắng thể.

Trong thực tế, Master cùng Slave phải đồng ý về những giao thức đồng điệu hóa tuyệt nhất định. Đối cùng với điều này, hai đặc điểm của xung đồng hồ là rất tính đồng hồ đeo tay (Clock Polarity – CPOL hoặc CKP) cùng pha đồng hồ đeo tay (Clock Phase – CPHA) được gửi vào giúp thấy xét.

Clock Polarity (CPOL hoặc CKP) xác minh trạng thái của đồng hồ. Lúc CPOL ở tại mức thấp, xung đồng hồ thời trang được tạo bởi vì Master có nghĩa là SCK sẽ ở tại mức thấp khi nhàn rỗi (idle) và gửi sang mức cao trong trạng thái vận động (trong lúc truyền dữ liệu). Tương tự, lúc CPOL ở tầm mức cao, SCK ở tầm mức cao khi thanh nhàn và đưa sang mức thấp trong trạng thái hoạt động.

Phase Clock (CPHA) khẳng định quá trình biến đổi trạng thái của xung đồng hồ có nghĩa là lên (thấp lên cao) hoặc xuống (cao xuống thấp), trên đó dữ liệu được truyền đi. Khi CPHA bằng 0, dữ liệu được truyền ở cạnh lên của xung đồng hồ. Tài liệu được truyền ở cạnh xuống khi CPHA là 1.

Tùy trực thuộc vào các giá trị của Clock Polarity (CPOL) với Clock Phase (CPHA), gồm 4 chế độ hoạt động của SPI

Mode 0:

Mode 0 xẩy ra khi Clock Polarity với Clock Phase là 0 (CPOL = 0 và CPHA = 0). Vào Mode 0, truyền tài liệu xảy ra trong những lúc cạnh lên của xung đồng hồ.

Mode 1:

Mode 1 xẩy ra khi Clock Polarity là 0 và Clock Phase là 1 trong (CPOL = 0 và CPHA = 1). Trong mode 1, câu hỏi truyền dữ liệu xảy ra trong lúc cạnh xuống của xung đồng hồ.

Mode 2:

Mode 2 xẩy ra khi Clock Polarity là 1 và Clock Phase là 0 (CPOL = 1 cùng CPHA = 0). Vào mode 2, truyền tài liệu xảy ra trong lúc cạnh lên của xung đồng hồ.

Mode 3:

Mode 3 xẩy ra khi Clock Polarity là 1 trong và Clock Phase là 1 (CPOL = 1 với CPHA = 1). Vào mode 3, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ.

*

Trong cấu hình Daisy Chain, chỉ tất cả một con đường Slave Select được kết nối với toàn bộ các Slave. MOSI của Master được liên kết với MOSI của Slave 1. MISO của Slave 1 được kết nối với MOSI của Slave 2 và v.v.. MISO của Slave sau cùng được kết nối với MISO của Master.

Giả sử Master truyền đi 3 byte tài liệu lên bus SPI. Byte đầu tiên được dịch vào Slave 1. Lúc byte đồ vật hai truyền cho 1, byte thứ nhất sẽ bị xuất kho khỏi Slave 1 và truyền mang đến Slave 2. Tương tự, khi byte thứ cha truyền vào Slave 1, byte sản phẩm công nghệ hai sẽ ảnh hưởng dịch lịch sự Slave 2 cùng byte đầu tiên sẽ bị dịch Slave 3.

*

Nếu Master muốn đọc lại tài liệu trong Slave 1, nó nên truyền lại chuỗi 3 byte tài liệu (giả) lần nữa. Khi đó tài liệu trong Slave 1 sẽ chuyển sang Slave 2 rồi gửi sang Slave 3, sau đó về Master.Suốt quy trình xử lý, Master luôn nhận được byte dữ liệu từ Slave 2 và 3.

Xem thêm: Khách Sạn Canary Mũi Né 5 Sao, Canary Beach Resort, Mũi Né 5 Sao

Tuy nhiên, cầu hình Daisy Chain chưa phải lúc nào cũng áp dụng được cho tất cả các đồ vật Slave. Bởi vì đó, ta đề xuất phải tìm hiểu thêm datasheet trước khi tiến hành kết nối.