GIAO TIẾP SPI LÀ GÌ

  -  

I.Giới thiệu

 Giao tiếp ngoại vi thông suốt hoặc SPI (Serial Peripheral Interface) là một chuẩn chỉnh đồng bộ nối tiếp để truyền tài 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 cùng nhận.

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

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

*

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

Chúng ta sẽ thấy về UART trong bài bác trước. Trong UART (hoặc ngẫu nhiên cổng tiếp nối phổ trở thành nào) tiếp xúc xảy ra trên tuyến đường RX và 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ộ. Vào loại giao tiếp này, không có kiểm soát điều hành dữ liệu được giữ hộ hoặc liệu bộ phát và cỗ thu gồm cùng vận tốc dữ liệu giỏi không.

Để khắc phục điều này, UART sử dụng những bit đồng điệu hóa có nghĩa là bit ban đầu và bit kết thúc cũng như vận tốc truyền tài liệu được thỏa thuận hợp tác trước (thường là 9600 bps). Nếu vận tốc truyền của cục phát và cỗ thu không khớp, dữ liệu được gởi từ bộ phát sẽ không đến được bộ 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 giao tiếp khoảng bí quyết 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 đó giao tiếp ngoại vi thông liền hoặc SPI thích hợp là lựa chọn xuất sắc nhất. Khi 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 lắp thêm hoặc giữa các 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, chúng ta sẽ triệu tập vào SPI. Chúng ta cũng có thể xem bài viết về giao thức I2C.

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

*

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

Kích hoạt hay được sử dụng 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 cao trên đồng hồ) với cạnh xuống (chuyển đổi từ cao xuống thấp). Tùy trực thuộc vào giải pháp bộ nhận được cấu hình, lên phía trên phát hiện các cạnh, bộ thu sẽ tìm kiếm tài liệu trên bus tài liệu từ bit tiếp theo.

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

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

1.SPI vận động như rứa nào?

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

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

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

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

Bus SPI bao gồm 4 biểu hiện 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ừ thiết bị Master mang đến 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 cho việc truyền tài liệu từ thiết Slave mang lại thiết bị Master.Serial Clock (SCK hay SCLK): xung giữ nhịp cho tiếp xúc SPIChip Select (CS) tuyệt Slave Select (SS): chọn chip

Lưu ý: các nhà sản xuất khác biệt sử dụng thuật ngữ khác nhau cho bus SPI. Tìm hiểu thêm datasheet để biết tin tức chính xác.

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

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

*

Master – Out / Slave – In hay MOSI, như tên đến thấy, là dữ liệu được tạo nên bởi Master cùng nhận bởi vì Slave. Vì chưng đó, 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 thành bởi Slave và buộc phải được truyền cho tới Master.Các chân MISO bên trên cả Master và Slave được kết nối với nhau. Mặc dù tín hiệu trong MISO được tạo thành bởi Slave, đường biểu thị này được tinh chỉnh bởi Master.

Master tạo biểu hiện đồng hồ SCLK và được hỗ trợ cho đầu vào đồng hồ đeo tay của Slave. Xung này có chức năng giữ nhịp cho tiếp xúc SPI, vị SPI là chuẩn truyền đồng hóa nên đề xuất 1 mặt đườ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ự sống thọ của xung SCK giúp quy trình tuyền không nhiều bị lỗi và chính vì thế tốc độ truyền của SPI rất 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 mức thấp thì việc giao tiếp sẽ xẩy ra giữa Master và Slave đó.

Vì đồng hồ đeo tay được tạo ra bởi Master, luồng dữ liệu được tinh chỉnh bởi Master. Với mỗi chu kỳ đồng hồ, một bit tài liệu được truyền từ bỏ 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 cùng sau 8 chu kỳ luân hồi đồng hồ, một byte dữ liệu được truyền theo cả nhì hướng và do đó, SPI là một giao tiếp song công toàn phần (full – duplex).

Xem thêm: Kinh Nghiệm Du Lịch Vườn Quốc Gia Xuân Thủy Nam Định, Hướng Dẫn Du Khách Tới Vườn Quốc Gia Xuân Thuỷ

Nếu tài liệu phải được truyền bởi vì chỉ một thiết bị, thì sản phẩm kia phải gửi một cái nào đấy (dữ liệu giả) cùng nó dựa vào 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 có nghĩa là đối với từng bit được truyền vì một thiết bị, sản phẩm công nghệ kia bắt buộc gửi tài 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 tài liệu từ Slave trên tuyến đường MISO.

Nếu Slave mong truyền dữ liệu, Master phải tạo thành tín hiệu đồng hồ đeo tay cho phù hợp bằng phương pháp biết khi nào Slave ý muốn gửi tài liệu trước. Giả dụ một Master được kết nối với 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, ở 1 thời điểm bất kỳ thì chỉ có một Slave hoạt động. Để lựa chọn Slave, Master vẫn kéo con đường SS (Slave Select) hoặc CS (Chip Select) của Slave tương ứng xuống mức thấp.

Do đó, phải có một chân CS riêng biệt trên Master khớp ứng với từng trang bị Slave. Bọn họ cần đề xuất kéo ra ngoài đường SS hoặc CS xuống tốt để lựa chọn Slave cũng chính vì đường này lành mạnh và tích cực mức thấp.

2.Phần cứng SPI

Yêu cầu phần cứng để thực hiện SPI rất dễ dàng và đơn giản khi đối chiếu với UART và I2C. Hãy lưu ý một Master và một Slave solo được liên kết bằng bus SPI. Hình hình ảnh sau đây cho biết 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 hình ảnh trên cho thấy thêm thiết bị Master gồm một thanh ghi dịch (Shift Register), một mạch chốt dữ liệu (Latch) với một cỗ tạo xung nhịp (Clock Generator). Máy 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 kết nối để chế tác thành một vòng. Thông thường, kích thước của thanh ghi là 8 – bit nhưng lại thanh ghi size lớn rộng 16 bit cũng rất phổ biến.

Thiết bị Master bước đầu việc đàm phán dữ liệu bằng phương pháp truyền đi một Byte vào thanh ghi dịch của nó, sau đó Byte dữ liệu sẽ được đưa sang trọng Slave theo đường bộc lộ MOSI, Slave đang truyền tài liệu nằm vào thanh ghi dịch của nó ngược quay trở lại Master thông qua đường dấu hiệu MISO. Bằng cách này, dữ liệu của nhị thanh ghi sẽ được trao đổi với nhau. Vấn đề đọc với ghi tài liệu vào Slave ra mắt cùng một cơ hội nên vận tốc trao thay đổi dữ liệu ra mắt rất nhanh. Vì chưng đó, giao thức SPI là một giao thức rấ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 mang lại Slave và từ Slave đến Master. Vày vậy, đối với một byte tài liệu được truyền từ mỗi thiết bị, nó sẽ mất 8 chu kỳ luân hồi đồng hồ.

3.Chế độ vận động SPI

Chúng ta đã 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ồ thời trang và cung cấp nó cho tới Slave để đồng điệu dữ liệu thân Master cùng Slave. Các bước của Master ko chỉ dừng lại ở bài toán tạo tín hiệu đồng hồ đeo tay ở tần số thế thể.

Trong thực tế, Master cùng Slave phải chấp nhận về những giao thức nhất quán hóa duy nhất định. Đối cùng với điều này, hai điểm sáng của xung đồng hồ thời trang là cực tính đồng hồ đeo tay (Clock Polarity – CPOL hoặc CKP) và pha đồng hồ thời trang (Clock Phase – CPHA) được gửi vào để 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ì Master tức là SCK sẽ ở tầm mức thấp khi rảnh rỗi (idle) và chuyển sang nấc cao trong trạng thái chuyển động (trong lúc truyền dữ liệu). Tương tự, khi CPOL ở tầm mức cao, SCK ở mức cao khi thanh nhàn và đưa sang mức thấp trong tâm trạng 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ồ 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, tài liệu được truyền ở 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 trực thuộc vào những giá trị của Clock Polarity (CPOL) và Clock Phase (CPHA), bao gồm 4 chế độ hoạt động vui chơi của SPI

Mode 0:

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

*

4.Cấu hình SPI

Có hai loại thông số kỹ thuật trong đó những thiết bị SPI rất có thể được liên kết 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 đã chiếm lĩnh riêng những đường Slave Select cho tất cả các Slave với mỗi Slave có thể được chọn riêng lẻ. Tất cả tín hiệu đồng hồ thời trang của các Slave được kết nối 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 toàn bộ các SLave được liên kết 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 thông số kỹ thuật Daisy Chain, chỉ có một đường Slave Select được kết nối với toàn bộ các Slave. MOSI của Master được kết nối với MOSI của Slave 1. MISO của Slave 1 được liên kết với MOSI của Slave 2 cùng v.v.. MISO của Slave sau cuối được liên kết với MISO của Master.

Giả sử Master truyền rằng 3 byte tài liệu lên bus SPI. Byte thứ nhất được dịch vào Slave 1. Lúc byte lắp thêm hai truyền mang đến 1, byte đầu tiên sẽ bị xuất kho khỏi Slave 1 với truyền đến Slave 2. Tương tự, lúc byte thứ tía truyền vào Slave 1, byte vật dụng hai sẽ ảnh hưởng dịch sang Slave 2 và byte trước tiên sẽ bị dịch Slave 3.

*

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

Xem thêm: Ăn Bánh Xèo Ở Hà Nội Mà Bạn Nên Thử, Top 15 Quán Bánh Xèo Ngon Nức Tiếng Hà Nội

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

5.Ứng dụng của SPI

Giao thức SPI được tích hòa hợp trong một vài loại đồ vật như:

Các bộ thay đổi (ADC với DAC)Các loại bộ nhớ (SD thẻ , MMC , EEPROM , Flash)Các các loại IC thời hạn thựcCác loại cảm ứng (nhiệt độ, áp suất…)và một trong những loại không giống như: bộ trộn tín hiệu, LCD, Graphic LCD, video game controller,…