NEW Kì Thi Spi Là Gì ? Mẹo Và Phương Pháp Để Vượt Chuẩn Giao Tiếp Spi Là Gì

Hello quý khách. Ngày hôm nay, tôi sẽ đưa ra đánh giá khách quan về Kì Thi Spi Là Gì ? Mẹo Và Phương Pháp Để Vượt Chuẩn Giao Tiếp Spi Là Gì bằng bài viết Kì Thi Spi Là Gì ? Mẹo Và Phương Pháp Để Vượt Chuẩn Giao Tiếp Spi Là Gì

Đa số nguồn đều đc lấy ý tưởng từ những nguồn website nổi tiếng khác nên có thể vài phần khó hiểu.

Mong mọi cá nhân thông cảm, xin nhận góp ý & gạch đá dưới bình luận

Khuyến nghị:

Xin quý khách đọc nội dung này trong phòng kín đáo để đạt hiệu quả nhất
Tránh xa tất cả các dòng thiết bị gây xao nhoãng trong các công việc tập kết
Bookmark lại bài viết vì mình sẽ cập nhật thường xuyên

Giao tiếp ngoại vi nối tiếp hoặc SPI (NSerial Pphù du tôinterface) là tiêu chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công (full – duplex) tức là có thể xảy ra đồng thời quá trình truyền và nhận. Bạn đang xem: Spi là gì

Giao diện ngoại vi nối tiếp (SPI) là một loại giao thức Master-Slave cung cấp một giao diện đơn giản và chi phí 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: Thông tin liên lạc spi là gì?

*

Bus giao tiếp SPI thường được sử dụng để giao tiếp vi xử lý hoặc vi điều khiển với các bộ nhớ như EEPROM, RTC (Real Time Clock), ADC (Analog to Digital Converter), DAC (Digital-to-Analog Converter), các thiết bị hiển thị như màn hình LCD, âm thanh IC, cảm biến như nhiệt độ và áp suất, thẻ nhớ như MMC hoặc thẻ SD hoặc thậm chí cả vi điều khiển khác.

Bạn đang xem: Spi Exam là gì? Mẹo và phương pháp để vượt qua giao tiếp Spi là gì

Chúng ta đã biết về UART trong bài trước. Trong giao tiếp UART (hoặc bất kỳ cổng nối tiếp chung nào) xảy ra trên đường RX và TX, không có tín hiệu đồng hồ tức là nó là giao tiếp không đồng bộ. Trong kiểu giao tiếp này, không có sự kiểm soát đối với dữ liệu được gửi đi hoặc liệu máy phát và máy thu có cùng tốc độ dữ liệu hay không.

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

*

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

Loại giao thức truyền thông đồng bộ nối tiếp khác là I2C (Giao tiếp tích hợp liên kết. Đối với bài viết này, chúng tôi sẽ tập trung vào SPI. Bạn có thể xem bài viết về giao thức I2C.)

SPI là một loại giao tiếp nối tiếp đồng bộ tức là nó sử dụng tín hiệu đồng hồ chuyên dụng để đồng bộ hóa máy phát và máy thu hoặc Master và Slave. Máy phát và máy thu được kết nối với dữ liệu riêng biệt, và tín hiệu đồng hồ giúp máy thu khi tìm kiếm dữ liệu trên xe buýt.

*

Tín hiệu đồng hồ phải được Master cung cấp cho Slave (hoặc tất cả các nô lệ trong trường hợp thiết lập nhiều nô lệ). Có hai loại cơ chế kích hoạt xung nhịp được sử dụng để thông báo cho người nhận dữ liệu: kích hoạt cạnh và kích hoạt mức.

Bộ kích hoạt được sử dụng phổ biến nhất là bộ kích hoạt cạnh và có hai loại: cạnh lên (chuyển tiếp từ thấp đến cao trên đồng hồ) và xuống dưới (chuyển tiếp từ cao xuống thấp). Tùy thuộc vào cách máy thu được cấu hình, trên đầu phát hiện cạnh, máy thu tra cứu dữ liệu trên bus dữ liệu từ bit tiếp theo.

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

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

SPI hoạt động như thế nào?

SPI hay giao tiếp ngoại vi nối tiếp được Motorola phát triển vào những năm 1980 như một giao diện tiêu chuẩn, chi phí thấp và đáng tin cậy giữa vi điều khiển (Motorola Microcontrollers ở thời kỳ đầu) và các IC ngoại vi của nó. .

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

Trong giao thức SPI, các thiết bị được kết nối theo mối quan hệ Master-Slave trong một giao diện đa điểm. Trong kiểu giao diện này, một thiết bị được coi là Master của bus (thường là vi điều khiển) và tất cả các thiết bị khác (IC ngoại vi hoặc thậm chí vi điều khiển khác) được coi là nô lệ.

Trong giao thức SPI, có thể chỉ có một thiết bị Master nhưng có nhiều thiết bị Slave.

Bus SPI bao gồm 4 tín hiệu hoặc chân. họ đang

Chủ – Ra / Nô lệ – Vào (MOSI hoặc SI): Cổng đầu ra của phía Master, cổng đầu vào của phía Slave, để truyền dữ liệu từ thiết bị Master đến thiết bị Slave .Master – In / Slave – Out (MISO hoặc SO): cổng đầu vào của phía Master, cổng đầu ra của phía Slave, để truyền dữ liệu từ thiết bị Slave đến thiết bị Master.SCK đẹp SCLK): xung giữ xung nhịp cho giao tiếp SPIChip Select (CS) hoặc Slave Select (NS): chọn chip

Ghi chú: Các nhà sản xuất khác nhau sử dụng các thuật ngữ khác nhau cho bus SPI. Tham khảo biểu dữ liệu để biết thông tin chính xác.

Bởi vì bus SPI được thực hiện bằng cách sử dụng bốn tín hiệu hoặc bốn dây, đôi khi nó được gọi là tiêu chuẩn giao tiếp bốn dây. Đầu tiên chúng ta hãy xem một giao diện đơn giản giữa Master và Slave được kết nối bằng giao thức SPI và sau đó chúng ta sẽ tìm hiểu về 4 dây này.

Hình ảnh sau đây mô tả thiết bị Chính (Bộ xử lý) được kết nối với thiết bị Slave (Ngoại vi) bằng cách sử dụng bus SPI.

*

Master – Hết / Nô lệ – Trong đẹp MOSI, như tên cho thấy, là dữ liệu do Master tạo ra và được Slave nhận. Do đó, các chân MOSI trên Master và Slave đều được kết nối với nhau.

Thạc sĩ / Nô lệ – Ra ngoài đẹp MISO là dữ liệu được tạo ra bởi slave và phải được truyền đến master. Các chân MISO trên cả chủ và tớ đều được kết nối. Mặc dù tín hiệu trong MISO được tạo ra bởi Slave, nhưng đường dẫn tín hiệu này được điều khiển bởi Master.

Master tạo ra tín hiệu đồng hồ SCLK và được đưa đến đầu vào đồng hồ của nô lệ. Xung này có chức năng giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK cho biết 1 bit dữ liệu vào hoặc ra. Sự tồn tại của xung SCK làm cho quá trình truyền không bị lỗi và do đó tốc độ truyền của SPI có thể rất cao.

Chọn chip (CS) hoặc Slave Select (NS) được sử dụng để chọn một Slave cụ thể của Master. Nếu Master kéo dòng SS của một Slave nào đó xuống thấp, giao tiếp sẽ xảy ra giữa Master và Slave đó.

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

Xem thêm: Ngân hàng thông minh Bidv là gì – Cách Đăng ký, Sử dụng, Biểu phí 2021

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

Nếu nô lệ muốn truyền dữ liệu, chủ phải tạo ra một tín hiệu đồng hồ tương ứng bằng cách biết khi nào nô lệ muốn gửi dữ liệu trước. Nếu một Master được kết nối với nhiều Slave, sơ đồ kết nối như hình dưới đây.

*

Mặc dù nhiều nô lệ được kết nối với chủ trên xe buýt SPI, chỉ có một nô lệ hoạt động tại một thời điểm. Để chọn Slave, Master sẽ kéo dòng SS (Slave Select) hoặc CS (Chip Select) của Slave tương ứng xuống thấp.

Do đó, trên Master phải có một chân CS riêng tương ứng với từng thiết bị Slave. Chúng ta cần kéo dòng SS hoặc CS xuống thấp để chọn Slave vì dòng đang hoạt động ở mức thấp.

SPI phần cứng

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

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

Thiết bị Master khởi tạo việc trao đổi dữ liệu bằng cách chuyển một byte vào thanh ghi shift của nó, sau đó byte dữ liệu sẽ được chuyển đến slave qua đường tín hiệu MOSI, slave sẽ truyền dữ liệu nằm trong thanh ghi shift của thiết bị. chính nó trở lại Master thông qua đường tín hiệu MISO. Bằng cách này, dữ liệu của hai thanh ghi sẽ được trao đổi với nhau. Việc đọc và ghi dữ liệu lên Slave diễn ra cùng lúc nên tốc độ trao đổi dữ liệu rất nhanh. Do đó, giao thức SPI là một giao thức rất hiệu quả.

Bởi vì đối với mỗi chu kỳ xung nhịp, một bit dữ liệu được truyền theo mỗi hướng tức là từ Master đến Slave và từ Slave đến Master. Vì vậy, để một byte dữ liệu được chuyển từ mỗi thiết bị, nó sẽ mất 8 chu kỳ đồng hồ.

Chế độ hoạt động SPI

Chúng ta đã thấy rằng công việc của thiết bị Master là tạo ra một tín hiệu đồng hồ và phân phối nó đến Slave để đồng bộ hóa dữ liệu giữa Master và Slave. Công việc của Master không chỉ giới hạn trong việc tạo ra tín hiệu đồng hồ ở một tần số cụ thể.

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

Đồng hồ Polarity (CPOL hoặc CKP) xác định trạng thái của đồng hồ. Khi CPOL ở mức thấp, xung clock do Master tạo ra tức là SCK sẽ xuống mức thấp khi ở chế độ nhàn rỗi (nhàn rỗi) và lên mức cao khi ở trạng thái hoạt động (trong quá trình truyền dữ liệu). Tương tự, khi CPOL cao, SCK cao khi không hoạt động và chuyển sang mức thấp ở trạng thái hoạt động.

Đồng hồ pha (CPHA) xác định sự 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), tại đó dữ liệu được truyền đi. Khi CPHA bằng 0, dữ liệu được truyền trên cạnh lên của xung đồng hồ. Dữ liệu được truyền ở cạnh rơi khi CPHA là 1.

Tùy thuộc vào các giá trị của Đồng hồ Polarity (CPOL) và Đồng hồ Pha (CPHA), có 4 chế độ hoạt động SPI.

Chế độ 0:

Chế độ 0 xảy ra khi Cực đồng hồ và Pha đồng hồ bằng 0 (CPOL = 0 và CPHA = 0). Trong Chế độ 0, quá trình truyền dữ liệu xảy ra trong thời gian cạnh lên của xung đồng hồ.

Chế độ 1:

Chế độ 1 xảy ra khi Cực đồng hồ là 0 và Pha đồng hồ là 1 (CPOL = 0 và CPHA = 1). Ở chế độ 1, quá trình truyền dữ liệu xảy ra trong quá trình giảm của xung đồng hồ.

Chế độ 2:

Chế độ 2 xảy ra khi Cực đồng hồ là 1 và Pha đồng hồ là 0 (CPOL = 1 và CPHA = 0). Ở chế độ 2, quá trình truyền dữ liệu xảy ra trong thời gian cạnh lên của xung đồng hồ.

Chế độ 3:

Chế độ 3 xảy ra khi Cực đồng hồ là 1 và Pha đồng hồ là 1 (CPOL = 1 và CPHA = 1). Trong chế độ 3, quá trình truyền dữ liệu xảy ra trong thời gian cạnh lên của xung đồng hồ.

Định cấu hình SPI

Có hai kiểu cấu hình trong đó các thiết bị SPI có thể được kết nối trong một bus SPI. Đó là

Cấu hình Chủ và nô lệ độc lập (Cấu hình nô lệ độc lập) và cấu hình Daisy Chain (Cấu hình Chuỗi Daisy).

Trong cấu hình Master và Slave độc ​​lập, Master dành riêng các dòng Slave Select cho tất cả các Slave và mỗi Slave có thể được chọn riêng lẻ. Tất cả các đồng hồ nô lệ được kết nối với SCK của chủ.

Tương tự, tất cả các chân MOSI của tất cả các SLaves đượ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 nô được kết nối với chân MISO của Master.

Trong cấu hình Daisy Chain, chỉ một dòng Slave Select được kết nối với tất cả 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 kết nối với MOSI của Slave 2, v.v. MISO của Nô lệ cuối cùng cũng được kết nối với MISO của Master.

Giả sử Master truyền 3 byte dữ liệu lên bus SPI. Byte đầu tiên được chuyển sang Slave 1. Khi byte thứ hai được truyền đến Slave 1, byte đầu tiên sẽ bị đẩy ra khỏi Slave 1 và được truyền sang Slave 2. Tương tự, khi byte thứ ba được chuyển sang Slave 1, byte thứ hai sẽ được chuyển đến Slave 1. được chuyển sang Slave 2 và byte đầu tiên sẽ được chuyển sang Slave 3.

Xem thêm: Cách Làm Cua Rang Muối Ớt, Cua Biển Rang Muối

Tuy nhiên, cấu hình Daisy Chain không phải lúc nào cũng có thể áp dụng cho tất cả các thiết bị Slave. Do đó, chúng ta cần tham khảo biểu dữ liệu trước khi thực hiện kết nối.

Nguồn tổng hợp

Leave a Comment