SPI LÀ GÌ

     
Giao tiếp nước ngoài vi thông liền 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 một thời điểm rất có thể xảy ra đồng thời quy trình truyền cùng nhận.Bạn vẫn xem: Spi là gì

Giao tiếp nước ngoài vi tiếp liền (SPI) là một loại giao thức hình dạng Master – Slave hỗ trợ một giao diện chi phí đơn giản và giá thành thấp giữa vi điều khiển và các thiết bị ngoại vi của nó.Bạn đang xem: tiếp xúc spi là gì


*

Bus giao tiếp SPI thường được áp dụng để tiếp xúc vi xử lý hoặc vi điều khiển với bộ lưu trữ như EEPROM, RTC (Đồng hồ thời gian thực), ADC (Analog to Digital Converter – Bộ biến đổi tương tự sang trọng số), DAC (Digital-to-Analog Converter – Bộ đổi khác số quý phái tương tự), đồ vật hiển thị như màn hình LCD, IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ lưu giữ như MMC hoặc thẻ SD hoặc thậm chí những bộ vi tinh chỉnh khác.Bạn sẽ xem: tiếp xúc spi là gì

Chúng ta đã thấy về UART trong bài trước. Vào UART (hoặc bất kỳ cổng tiếp nối phổ biến đổi nào) giao tiếp xảy ra trên phố RX cùng TX, không tồn tại tín hiệu đồng hồ có nghĩa là nó là một giao tiếp không đồng bộ. Trong loại tiếp xúc này, không có kiểm soát dữ liệu được nhờ cất hộ hoặc liệu cỗ phát và cỗ thu gồm cùng tốc độ dữ liệu tốt không.Bạn đang xem: Spi là gì

Để hạn chế và khắc phục điều này, UART sử dụng những bit đồng bộ hóa tức là bit bước đầu và bit xong xuôi cũng như vận tốc truyền tài liệu được thỏa thuận trước (thường là 9600 bps). Nếu vận tốc truyền của bộ phát và cỗ thu ko khớp, dữ liệu được nhờ cất hộ từ cỗ phát sẽ không còn đến được cỗ thu đúng cách và dữ liệu nhận được là không thiết yếu xác.

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


*

Đối với tiếp xúc khoảng biện pháp ngắn, giao tiếp nối tiếp đồng điệu sẽ là lựa chọn xuất sắc hơn với trong đó tiếp xúc ngoại vi tiếp nối hoặc SPI nói riêng là lựa chọn tốt 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 với một sản phẩm hoặc giữa các thiết bị trên cùng một board mạch in (PCB).

Loại giao thức media đồng bộ nối tiếp khác là I2C (Inter-Integrated Communication. Đối với bài viết này, chúng ta sẽ triệu tập vào SPI. Chúng ta cũng có thể xem nội dung bài viết về giao thức I2C.

SPI là một trong kiểu media nối tiếp mẫu mã đồng bộ có nghĩa là nó áp dụng tín hiệu đồng hồ chuyên được dùng để đồng điệu hóa cỗ phát và bộ thu hoặc Master với Slave. Cỗ phát và bộ thu được liên kết với dữ liệu riêng lẻ và biểu hiện đồng hồ sẽ giúp đỡ bộ thu khi tìm kiếm dữ liệu trên bus.


*

Tín hiệu đồng hồ đeo tay phải được cung cấp bởi Master tới Slave (hoặc toàn bộ các Slave trong trường hợp thiết lập cấu hình nhiều Slave). Gồm hai loại vẻ ngoài kích hoạt bên trên tín hiệu đồng hồ đeo tay được thực hiện để báo đến bên nhận biết về dữ liệu: Kích hoạt cạnh và kích hoạt mức.

Kích hoạt thường được thực hiện nhất là kích hoạt cạnh và gồm hai loại: cạnh lên (chuyển thay đổi từ thấp lên rất cao trên đồng hồ) cùng cạnh xuống (chuyển đổi từ cao xuống thấp). Tùy nằm trong vào cách bộ chiếm được cấu hình, lên trên phát hiện những cạnh, cỗ thu đang tìm kiếm dữ liệu trên bus tài liệu từ bit tiếp theo.

Bởi vày cả tín hiệu đồng hồ thời trang và dữ liệu được gửi vì Master (hoặc cỗ phát), bọn họ không yêu cầu phải băn khoăn lo lắng về tốc độ truyền dữ liệu.

Điều tạo nên SPI trở nên phổ biến trong các giao thức truyền thông đồng điệu nối tiếp khác (hoặc bất kỳ giao tiếp nối liền nào) là nó cung cấp tốc độ truyền dữ liệu bảo mật thông tin cao với phần cứng khá đơn giản dễ dàng giống như thanh ghi dịch với chi tiêu tương đối thấp.

SPI chuyển động như vậy nào?

SPI hoặc tiếp xúc ngoại vi thông suốt được Motorola trở nên tân tiến vào trong thời hạn 1980 như một đồ họa tiêu chuẩn, ngân sách thấp và an toàn và đáng tin cậy giữa vi điều khiển và tinh chỉnh (Vi điều khiển của Motorola thời gian đầu) và những IC nước ngoài vi của nó.

Nhờ giao diện solo giản, linh hoạt với dễ sử dụng, SPI đã trở thành một tiêu chuẩn chỉnh và các nhà sản xuất phân phối dẫn khác ban đầu sử dụng giao thức này trong những chip của mình.

Trong giao thức SPI, những thiết bị được liên kết trong một quan hệ Master – Slave vào một giao diện đa điểm. Trong loại giao diện này, một sản phẩm công nghệ được xem là Master của bus (thường là 1 trong những vi điều khiển) và toàn bộ các sản phẩm công nghệ khác (IC nước ngoài vi hoặc thậm chí những vi tinh chỉnh khác) số đông được xem là Slave.

Trong giao thức SPI, hoàn toàn có thể chỉ gồm một lắp thêm Master nhưng các thiết bị Slave.

Bus SPI bao gồm 4 dấu hiệu hoặc chân. Bọn chúng là

Master – Out / Slave – In (MOSI hay SI): cổng ra của bên Master, cổng vào của bên Slave, giành riêng cho việc truyền tài liệu từ trang bị Master cho thiết bị Slave .Master – In / Slave – Out (MISO hay SO): cổng vào của mặt Master, cổng ra của bên Slave, giành riêng cho việc truyền dữ liệu từ thiết Slave mang lại thiết bị Master.Serial Clock (SCK hay SCLK): xung duy trì nhịp cho giao tiếp SPIChip Select (CS) tuyệt Slave Select (SS): lựa chọn chip

Lưu ý: những nhà sản xuất khác biệt sử dụng thuật ngữ khác nhau cho bus SPI. Tham khảo datasheet nhằm biết thông tin chính xác.

Bởi bởi vì bus SPI được thực hiện bằng phương pháp sử dụng 4 tín hiệu hay 4 dây nên đôi lúc nó được điện thoại tư vấn là chuẩn chỉnh giao tiếp 4 dây (four-wire). Đầu tiên chúng ta hãy xem một giao diện đơn giản và dễ dàng giữa một Master và một Slave được liên kết bằng giao thức SPI cùng sau đó họ sẽ tìm hiểu về 4 dây này.

Hình hình ảnh sau mô tả một thiết bị Master (Bộ xử lý) được liên kết với vật dụng Slave (Ngoại vi) thực hiện bus SPI.


*

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

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

Master tạo bộc lộ đồng hồ SCLK và được hỗ trợ cho đầu vào đồng hồ 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 bắt buộc 1 con đường giữ nhịp, từng nhịp bên trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Sự sống thọ của xung SCK giúp quy trình tuyền ít bị lỗi và chính vì thế tốc độ truyền của SPI rất có thể đạt vô cùng cao.

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

Xem thêm: Top 7 Cách Lấy Lại Ảnh Đã Xóa Vĩnh Viễn Trên Iphone Trong Tích Tắc

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


*

Mặc dù nhiều Slave được liên kết với Master vào bus SPI, ở một thời điểm bất kỳ thì chỉ bao gồm một Slave hoạt động. Để lựa chọn Slave, Master sẽ kéo con đường SS (Slave Select) hoặc CS (Chip Select) của Slave tương ứng xuống nút thấp.

Do đó, phải tất cả một chân CS riêng trên Master khớp ứng với từng vật dụng Slave. Chúng ta cần đề xuất kéo ra đường SS hoặc CS xuống tốt để lựa chọn Slave chính vì đường này lành mạnh và tích cực mức thấp.

Phần cứng SPI

Yêu ước phần cứng để tiến hành SPI rất dễ dàng khi so sánh với UART và I2C. Hãy để mắt tới một Master với một Slave đối kháng được kết nối bằng bus SPI. Hình hình ảnh sau đây cho thấy các yêu cầu khối hệ thống tối thiểu cho cả hai thiết bị.

Từ hình ảnh trên cho biết thiết bị Master gồm một thanh ghi dịch (Shift Register), một mạch chốt tài liệu (Latch) với một bộ tạo xung nhịp (Clock Generator). Lắp thêm 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ả hai thanh ghi dịch được kết nối để sản xuất thành một vòng. Thông thường, kích thước của thanh ghi là 8 – bit tuy nhiên thanh ghi form size lớn rộng 16 bit cũng rất phổ biến.

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

Bởi vì 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 đến Master. Vị vậy, đối với một byte dữ liệu được truyền từ mỗi thiết bị, nó đã mất 8 chu kỳ luân hồi đồng hồ.

Chế độ chuyển động SPI

Chúng ta sẽ thấy rằng quá trình của vật dụng Master là tạo thành tín hiệu đồng hồ đeo tay và triển lẵm nó tới Slave để đồng bộ dữ liệu giữa Master với Slave. Quá trình của Master ko chỉ tạm dừng ở câu hỏi tạo tín hiệu đồng hồ đeo tay ở tần số cố thể.

Trong thực tế, Master với Slave phải gật đầu đồng ý về các giao thức đồng bộ hóa duy nhất định. Đối với điều này, hai điểm lưu ý của xung đồng hồ đeo tay là cực tính đồng hồ (Clock Polarity – CPOL hoặc CKP) và pha đồng hồ (Clock Phase – CPHA) được chuyển vào để thấy xét.

Clock Polarity (CPOL hoặc CKP) xác định trạng thái của đồng hồ. Khi CPOL ở mức thấp, xung đồng hồ được tạo bởi vì Master có nghĩa là SCK sẽ tại mức thấp khi thảnh thơi (idle) và chuyển sang mức cao trong trạng thái chuyển động (trong khi truyền dữ liệu). Tương tự, khi CPOL ở tại mức cao, SCK ở mức cao khi nhàn nhã và đưa sang mức tốt trong tinh thần hoạt động.

Phase Clock (CPHA) xác minh quá trình biến hóa 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 đó tài liệu được truyền đi. Lúc CPHA bởi 0, dữ liệu được truyền nghỉ ngơi cạnh lên của xung đồng hồ. Dữ liệu được truyền sinh hoạt cạnh xuống lúc CPHA là 1.

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

Mode 0:

Mode 0 xẩy ra khi Clock Polarity cùng Clock Phase là 0 (CPOL = 0 cùng CPHA = 0). Trong Mode 0, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ.

Mode 1:

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

Mode 2:

Mode 2 xảy ra khi Clock Polarity là một trong những và Clock Phase là 0 (CPOL = 1 cùng CPHA = 0). Trong mode 2, truyền dữ 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à một trong và Clock Phase là 1 trong những (CPOL = 1 cùng CPHA = 1). Vào mode 3, truyền tài liệu xảy ra trong lúc cạnh lên của xung đồng hồ.

Cấu hình SPI

Có hai loại thông số kỹ thuật trong đó những thiết bị SPI hoàn toàn có thể được kết nối trong một bus SPI. Đó là

Cấu hình Master và những Slave độc ​​lập (Independent Slave Configuration) vàCấu hình Daisy Chain (Daisy Chain Configuration).

Trong thông số kỹ thuật Master và những Slave độc ​​lập, Master đã đoạt riêng các đường Slave Select cho tất cả các Slave với mỗi Slave hoàn toàn có thể được lựa chọn riêng lẻ. Tất cả tín hiệu đồng hồ đeo tay của các Slave được liên kết với bình thường với SCK của Master.

Xem thêm: Ghép Hai Ảnh Thành Một - Ghép Ảnh 2 Người Với Nhau

Tuy nhiên, cầu hình Daisy Chain không hẳn lúc nào thì cũng áp dụng được cho tất cả các trang bị Slave. Bởi vì đó, ta bắt buộc phải tham khảo datasheet trước khi triển khai kết nối.