SPI是一種簡單的接口,允許一個芯片與一個或多個其他芯片進行通信。
1,SPI是怎么樣的?
讓我們從一個簡單的示例開始,其中只有兩個芯片必須一起通信。
SPI要求在兩個芯片之間使用4條線。
如您所見,這些線稱為SCK,MOSI,MISO和SSEL,其中一個芯片稱為SPI主設備,而另一個則稱為SPI從設備。
2,SPI基礎
基本:
1,它是同步的。
2,它是全雙工串行。
3,它不是即插即用的。
4,有一個(只有一個)主機,一個(或多個)從機。
詳細信息:
1,同步:主機產生時鐘。
2,全雙工串行:將數據串行化,在每個時鐘周期內在每個方向上傳輸一位數據,因此使用了兩條數據線(MOSI和MISO)。
3,不即插即用:主機和從機事先知道通信的詳細信息(位順序,交換的數據字長等)。
4,一個主機:從機無法啟動通信,只有主機可以。從站監(jiān)聽并響應。
3,簡單傳輸
假設主機和從機期望8位數據傳輸,并且首先傳輸MSB。
這是單個8位數據傳輸的外觀。
MOSI行是“主輸出”,而MISO行是“從輸出”。由于SPI是全雙工的,因此這兩條線會同時切換,不同的數據從主機到從機,從機到主機。
詳細信息:
1,主機拉低SSEL向從機指示通信正在開始(SSEL為低電平有效)。
2,主機將時鐘切換八次,并在其MOSI線上發(fā)送八個數據位。同時,它從MISO線上的從站接收八個數據位。
3,主機將SSEL拉高以指示傳輸已結束。
如果主機要發(fā)送/接收多個8位數據,則只有完成后,主機才能繼續(xù)發(fā)送/接收和取消置位SSEL。
4,多個從機
SPI主機可以通過兩種方式與多個從機通信:通過并行連接大多數信號并添加SSEL線,或通過鏈接從機。
使用多條SSEL線技術時,一次僅激活一條SSEL線,并且未選擇的從站不得驅動MISO線。
5,SPI有多快?
SPI可以輕松達到幾Mbps(兆位/秒)。這意味著它可以用于未壓縮的音頻或壓縮的視頻。
本文來源于:https://www.fpga4fun.com/SPI1.html
責任編輯:PSY
原文標題:什么是SPI?
文章出處:【微信公眾號:FPGA開源工作室】歡迎添加關注!文章轉載請注明出處。
原文標題:什么是SPI?
文章出處:【微信號:leezym0317,微信公眾號:FPGA開源工作室】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論