GIAO TIẾP SPI LÀ GÌ, SERIAL PERIPHERAL INTERFACE

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

Giao tiếp ngoại vi tiếp liền (SPI) là 1 trong loại giao thức dạng hình Master – Slave cung ứng một giao diện giá thành đơn giản và chi tiêu thấp giữa vi tinh chỉnh và các thiết bị ngoại vi của nó.Bạn sẽ xem: giao tiếp spi là gì


*

Bus giao tiếp SPI thường xuyên được áp dụng để giao tiếp vi xử lý hoặc vi tinh chỉnh với bộ nhớ như EEPROM, RTC (Đồng hồ thời hạn thực), ADC (Analog to Digital Converter – Bộ đổi khác tương tự sang số), DAC (Digital-to-Analog Converter – Bộ đổi khác số sang trọng tương tự), sản phẩm hiển thị như screen LCD, IC âm thanh, những 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í các bộ vi tinh chỉnh và điều khiển khác.

Bạn đang xem: Giao tiếp spi là gì, serial peripheral interface

Chúng ta đã thấy về UART trong bài xích trước. Trong UART (hoặc ngẫu nhiên cổng thông liền phổ biến hóa nào) tiếp xúc xảy ra trên đường RX cùng TX, không có tín hiệu đồng hồ tức là nó là một tiếp xúc không đồng bộ. Vào loại giao tiếp này, ko có kiểm soát dữ liệu được gởi hoặc liệu cỗ phát và cỗ thu có cùng vận tốc dữ liệu hay không.

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


*

Đối với tiếp xúc khoảng bí quyết ngắn, giao tiếp nối tiếp đồng điệu sẽ là lựa chọn tốt hơn với trong đó giao tiếp ngoại vi nối liền hoặc SPI dành riêng là lựa chọn giỏi nhất. Khi bọn họ nói truyền thông khoảng cách ngắn, nó thường tức là giao tiếp cùng với một thứ 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 truyền thông media đồng bộ nối tiếp khác là I2C (Inter-Integrated Communication. Đối với nội dung bài viết này, họ sẽ tập trung vào SPI. Bạn có thể xem nội dung bài viết về giao thức I2C.

SPI là một kiểu media nối tiếp loại đồng bộ tức 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 cùng Slave. Cỗ phát và cỗ thu được liên kết với dữ liệu đơn nhất và biểu hiện đồng hồ để giúp bộ thu khi tìm kiếm tài liệu trên bus.


*

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

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

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

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

SPI vận động như nỗ lực nào?

SPI hoặc tiếp xúc ngoại vi tiếp nối được Motorola cách tân và phát triển vào những năm 1980 như một giao diện tiêu chuẩn, ngân sách thấp và đáng tin cậy giữa vi tinh chỉnh và điều khiển (Vi điều khiển và tinh chỉnh của Motorola thời gian đầu) và các IC ngoại vi của nó.

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

Trong giao thức SPI, các thiết bị được kết nối trong một quan hệ Master – Slave vào một bối cảnh đa điểm. Vào loại hình ảnh này, một vật dụng được xem là Master của bus (thường là một trong những vi điều khiển) và tất cả các vật dụng khác (IC nước ngoài vi hoặc thậm chí những vi tinh chỉnh khác) gần như được coi là Slave.

Trong giao thức SPI, rất có thể chỉ có một vật dụng Master nhưng những thiết bị Slave.

Bus SPI bao gồm 4 bộc lộ hoặc chân. Chúng là

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

Lưu ý: những nhà sản xuất khác nhau sử dụng thuật ngữ khác nhau cho bus SPI. Tham khảo datasheet nhằm biết tin tức 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 bộc lộ hay 4 dây nên đôi khi nó được gọi là chuẩn chỉnh giao tiếp 4 dây (four-wire). Đầu tiên họ hãy xem một giao diện dễ dàng giữa một Master cùng một Slave được liên kết bằng giao thức SPI và sau đó chúng ta sẽ tìm hiểu về 4 dây này.

Hình hình ảnh sau trình bày một sản phẩm công nghệ Master (Bộ xử lý) được kết nối 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 lại thấy, là dữ liệu được tạo nên bởi Master và nhận bởi Slave. Bởi vì đó, các chân MOSI trên cả Master và Slave được liên kết với nhau.

Master – In / Slave – Out hay MISO là tài liệu được tạo nên bởi Slave và đề xuất được truyền cho tới Master.Các chân MISO bên trên cả Master với Slave được liên kết với nhau. Mặc dù tín hiệu vào MISO được tạo thành bởi Slave, đường tín hiệu này được điều khiển và 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ồ thời trang của Slave. Xung này có tính năng giữ nhịp cho giao tiếp SPI, bởi vì SPI là chuẩn chỉnh truyền đồng điệu nên yêu cầu 1 mặt đườ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ự vĩnh cửu của xung SCK giúp quy trình tuyền không nhiều bị lỗi và chính vì vậy tốc độ truyền của SPI có thể đạt hết sức cao.

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

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

Xem thêm: Sách Bí Quyết Tăng Nhanh Điểm Kiểm Tra Tiếng Anh 8 Tập 2 &Mdash; Đọc Là Đỗ

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

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


*

Mặc dù các Slave được kết nối với Master trong bus SPI, ở một thời điểm bất kỳ thì chỉ có một Slave hoạt động. Để lựa chọn Slave, Master đang kéo mặt đường SS (Slave Select) hoặc CS (Chip Select) của Slave tương ứng xuống nấc thấp.

Do đó, phải tất cả một chân CS riêng biệt trên Master tương ứng với từng máy Slave. Chúng ta cần yêu cầu kéo đi ra ngoài đường SS hoặc CS xuống rẻ để lựa chọn Slave bởi vì đường này tích cực mức thấp.

Phần cứng SPI

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

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

Thiết bị Master bước đầu việc điều đình dữ liệu bằng phương pháp 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 quý phái Slave theo đường tín hiệu MOSI, Slave sẽ truyền dữ liệu nằm vào thanh ghi dịch của nó ngược quay trở lại Master trải qua đường dấu hiệu MISO. Bằng cách này, tài liệu của nhì thanh ghi sẽ tiến hành trao đổi với nhau. Việc đọc cùng ghi dữ liệu vào Slave diễn ra cùng một thời gian nên tốc độ trao đổi dữ liệu ra mắt rất nhanh. Vị đó, giao thức SPI là 1 giao thức rất bao gồm hiệu quả.

Bởi vì với mỗi chu kỳ đồng hồ, một bit tài liệu được truyền theo từng hướng tức là từ Master mang đến Slave và từ Slave đến Master. Vày 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ỳ đồng hồ.

Chế độ vận động SPI

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

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

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

Phase Clock (CPHA) xác minh quá trình chuyển đổi trạng thái của xung đồng hồ tức 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. Khi CPHA bằng 0, dữ liệu được truyền làm việc cạnh lên của xung đồng hồ. Dữ liệu được truyền ngơi nghỉ cạnh xuống lúc CPHA là 1.

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

Cấu hình SPI

Có nhị loại cấu hình 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 cấu hình Master và các Slave độc ​​lập, Master đã chiếm hữu riêng các đường Slave Select cho toàn bộ các Slave cùng mỗi Slave rất có thể được chọn riêng lẻ. Toàn bộ tín hiệu đồng hồ thời trang của các Slave được liên kết với tầm thường với SCK của Master.

Tương tự, tất cả các chân MOSI của tất cả các SLave được kết nối với chân MOSI của Master và tất cả các chân MISO của tất cả các Slave được liên kết với chân MISO của Master.

Trong cấu hình Daisy Chain, chỉ bao gồm một đườ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 ở đầu cuối được kết nối với MISO của Master.

Giả sử Master truyền rằng 3 byte tài liệu lên bus SPI. Byte đầu tiên được dịch vào Slave 1. Lúc byte máy hai truyền cho 1, byte thứ nhất sẽ bị bán ra khỏi Slave 1 và truyền mang đến Slave 2. Tương tự, lúc byte thứ bố truyền vào Slave 1, byte sản phẩm công nghệ hai sẽ bị dịch sang Slave 2 và byte thứ nhất sẽ bị dịch Slave 3.

Tuy nhiên, ước hình Daisy Chain chưa hẳn lúc nào cũng áp dụng được cho toàn bộ các trang bị Slave. Bởi vì đó, ta bắt buộc phải xem thêm datasheet trước khi tiến hành kết nối.