A. SPI通信協議
SPI主要是晶元級或板級通信使用,也有設備之間使用的。但不可能在實際應用中有太多的SPI設備互連。
一般可按負載與驅動能力計算,分布電容、線長、電磁環境都有關系,同時與速度也有關系,准確計算很難,一般是粗略估算是否滿足使用要求,沒有反過來計算可以「帶動多少從機」的,你想「帶動多少從機」啊?
B. spi是傳輸什麼信號 數字信號 模擬信號 還是其他什麼信號
這里的SPI如果是指串列外設介面,那麼肯定就是傳輸數字信號了;
C. SPI中MISO和MOSI是什麼所寫
MISO Master Input Slave Output 主機輸入從機輸出。
MOSI (SPI Bus Master Output/Slave Input)SPI 匯流排主輸出/ 從輸入MISO (SPI Bus Master Input/Slave Output) SPI 匯流排主機輸入/ 從機輸出MOSI 。
(1)MISO–Master Input Slave Output,主設備數據輸入,從設備數據輸出;
(2)MOSI–Master Output Slave Input,主設備數據輸出,從設備數據輸入;
(3)SCLK – Serial Clock,時鍾信號,由主設備產生;
(4)CS – Chip Select,從設備使能信號,由主設備控制。
(3)spi信號網路標簽命名擴展閱讀:
SPI是一個環形匯流排結構,由ss(cs)、sck、sdi、sdo構成,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。假設下面的8位寄存器裝的是待發送的數據10101010,上升沿發送、下降沿接收、高位先發送。
那麼第一個上升沿來的時候 數據將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將鎖存到寄存器中去,那麼這時寄存器=0101010sdi,這樣在 8個時鍾脈沖以後,兩個寄存器的內容互相交換一次。這樣就完成了一個spi時序。
D. SPI 的英文全稱是什麼,有幾個信號,分別是什麼
SPI匯流排
----串列外圍設備介面SPI(serial
peripheral
interface)匯流排技術是Motorola公司推出的一種同步串列介面。Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬體介面,如68系列MCU。SPI匯流排是一種三線同步匯流排,因其硬體功能很強,所以,與SPI有關的軟體就相當簡單,使CPU有更多的時間處理其他事務。
E. SPI匯流排的通訊協議是什麼
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的設備共有的,它們是SDI(數據輸入),SDO(數據輸出),SCK(時鍾),CS(片選)。
(1)SDO – 主設備數據輸出,從設備數據輸入
(2)SDI – 主設備數據輸入,從設備數據輸出
(3)SCLK – 時鍾信號,由主設備產生
(4)CS – 從設備使能信號,由主設備控制
其中CS是控制晶元是否被選中的,也就是說只有片選信號為預先規定的使能信號時(高電位或低電位),對此晶元的操作才有效。這就允許在同一匯流排上連接多個SPI設備成為可能。
接下來就負責通訊的3根線了。通訊是通過數據交換完成的,這里先要知道SPI是串列通訊協議,也就是說數據是一位一位的傳輸的。這就是SCK時鍾線存在的原因,由SCK提供時鍾脈沖,SDI,SDO則基於此脈沖完成數據傳輸。數據輸出通過 SDO線,數據在時鍾上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數據傳輸,輸入也使用同樣原理。這樣,在至少8次時鍾信號的改變(上沿和下沿為一次),就可以完成8位數據的傳輸。
要注意的是,SCK信號線只由主設備控制,從設備不能控制信號線。同樣,在一個基於SPI的設備中,至少有一個主控設備。這樣傳輸的特點:這樣的傳輸方式有一個優點,與普通的串列通訊不同,普通的串列通訊一次連續傳送至少8位數據,而SPI允許數據一位一位的傳送,甚至允許暫停,因為SCK時鍾線由主控設備控制,當沒有時鍾跳變時,從設備不採集或傳送數據。也就是說,主設備通過對SCK時鍾線的控制可以完成對通訊的控制。SPI還是一個數據交換協議:因為SPI的數據輸入和輸出線獨立,所以允許同時完成數據的輸入和輸出。不同的SPI設備的實現方式不盡相同,主要是數據改變和採集的時間不同,在時鍾信號上沿或下沿採集有不同定義,具體請參考相關器件的文檔。
在點對點的通信中,SPI介面不需要進行定址操作,且為全雙工通信,顯得簡單高效。在多個從設備的系統中,每個從設備需要獨立的使能信號,硬體上比I2C系統要稍微復雜一些。
最後,SPI介面的一個缺點:沒有指定的流控制,沒有應答機制確認是否接收到數據。
AT91RM9200的SPI介面主要由4個引腳構成:SPICLK、MOSI、MISO及 /SS,其中SPICLK是整個SPI匯流排的公用時鍾,MOSI、MISO作為主機,從機的輸入輸出的標志,MOSI是主機的輸出,從機的輸入,MISO 是主機的輸入,從機的輸出。/SS是從機的標志管腳,在互相通信的兩個SPI匯流排的器件,/SS管腳的電平低的是從機,相反/SS管腳的電平高的是主機。在一個SPI通信系統中,必須有主機。SPI匯流排可以配置成單主單從,單主多從,互為主從。
SPI的片選可以擴充選擇16個外設,這時PCS輸出=NPCS,說NPCS0~3接4-16解碼器,這個解碼器是需要外接4-16解碼器,解碼器的輸入為NPCS0~3,輸出用於16個外設的選擇。
二 SPI協議舉例
SPI是一個環形匯流排結構,由ss(cs)、sck、sdi、sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。
假設下面的8位寄存器裝的是待發送的數據10101010,上升沿發送、下降沿接收、高位先發送。
那麼第一個上升沿來的時候 數據將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將所存到寄存器中去,那麼這時寄存器=0101010sdi,這樣在 8個時鍾脈沖以後,兩個寄存器的內容互相交換一次。這樣就完成里一個spi時序。I2C匯流排I2C(Inter-Integrated Circuit)匯流排是一種由PHILIPS公司開發的兩線式串列匯流排,用於連接微控制器及其外圍設備。I2C匯流排產生於在80年代,最初為音頻和視頻設備開發,如今主要在伺服器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬碟、網路、系統溫度等多個參數,增加了系統的安全性,方便了管理。
1 I2C匯流排特點
I2C匯流排最主要的優點是其簡單性和有效性。由於介面直接在組件之上,因此I2C匯流排佔用的空間非常小,減少了電路板的空間和晶元管腳的數量,降低了互聯成本。匯流排的長度可高達25英尺,並且能夠以10Kbps的最大傳輸速率支持40個組件。I2C匯流排的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行發送和接收的設備都可以成為主匯流排。一個主控能夠控制信號的傳輸和時鍾頻率。當然,在任何時間點上只能有一個主控。
2 I2C匯流排工作原理
2.1 匯流排的構成及信號類型
I2C匯流排是由數據線SDA和時鍾SCL構成的串列匯流排,可發送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均並聯在這條匯流排上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C匯流排上並接的每一模塊電路既是主控器(或被控器),又是發送器(或接收器),這取決於它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條匯流排上,卻彼此獨立,互不相關。
I2C匯流排在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。
開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。
結束信號:SCL為高電平時,SDA由低電平向高電平跳變,結束傳送數據。
應答信號:接收數據的IC在接收到8bit數據後,向發送數據的IC發出特定的低電平脈沖,表示已收到數據。CPU向受控單元發出一個信號後,等待受控單元發出一個應答信號,CPU接收到應答信號後,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。
F. 壓力感測器中的輸出類型I²C、SPI,引腳SDA、SCL、MISO、SCLK、NC、SS各是什麼意思
I2C、SPI為通信中的數據傳輸協議,即通信協議。
I2C通信中使用兩個信號線SDA、SCL,分別為數據線和時鍾線。
SPI通信中使用4根信號線MISI、MISO、SCLK、SS,分別為數據輸入、數據輸出、時鍾和使能端,NC表示空腳。
(6)spi信號網路標簽命名擴展閱讀:
SPI有四種操作模式——模式0、模式1、模式2和模式3,它們的區別是定義了在時鍾脈沖的哪條邊沿轉換(toggles)輸出信號,哪條邊沿采樣輸入信號,還有時鍾脈沖的穩定電平值(就是時鍾信號無效時是高還是低)。每種模式由一對參數刻畫,它們稱為時鍾極(clock polarity)CPOL與時鍾期(clock phase)CPHA。
[主從設備]必須使用相同的工作參數——SCLK、CPOL 和 CPHA,才能正常工作。如果有多個[從設備],並且它們使用了不同的工作參數,那麼[主設備]必須在讀寫不同[從設備]間重新配置這些參數。
G. 關於spi模式的命令
7 SPI模式
7.1 介紹
SPI模式由一個由基於快閃記憶體SD存儲卡提供的次要通信協議組成.此模式是SD存儲卡協議的子集。此介面在上電(CMD0)後的每一個復位命令期間被選擇。
SPI標准只定義物理鏈接,而不提供數據傳輸協議。SD存儲卡SPI執行利用SD存儲卡協議和命令集的子集。
7.2 SPI匯流排協定
SD卡是基於命令和數據流,這些命令和數據流以一個起始位開始,以停止位結束的.SPI通道是面向位元組的.每個命令或數據塊都是由多個8位位元組構成,且每個位元組與CS片選信號對齊(例如:此長度是8時鍾周期的倍數)。
類似於SD存儲卡協議,SPI簡訊是由命令,響應和數據塊環組成。所有的通信都由主機控制,主機通過拉低CS來啟動每個匯流排事務。
SPI模式下的響應行為有三個方面和SD模式不同:
1、被選擇的卡總是回應命令。
2、使用附加的(8位)響應結構。
3、當卡遇到一個數據檢索問題時,它會用一個響應錯誤來回應(替換預期的數據塊),而不是SD模式中的超時。
除了命令響應之外,每一個在寫操作期間發送到卡的數據塊將以一個特殊的數據響應令牌來被響應。一個數據塊可能和一個寫塊(WRITE_BL_LEN)一樣大,也可能和一個信號字一樣小。部分塊的讀/寫操作都被卡中CSD寄存器中所敘述的被選擇的項使能。
7.2.1 模式選擇
SD卡從SD模式中喚醒。如果CS信號在復位命令(CMD0)被接收期間被拉低,並進入空閑模式,如果認為是SD模式被需求則不會響應此命令,仍在SD模式下。如果SPI模式被需求,則卡將會切換到SPI,且用SPI模式R1響應。
唯一返回SD模式的方法是進入上電周期。在SPI模式下,SD存儲卡協議狀態機不被遵守。所有的在SPI模式下被支持的SD存儲卡命令總是可用的。
7.2.2 匯流排傳輸保護
每個在匯流排上傳輸的SD存儲卡令牌被CRC位保護。在SPI模式下,SD存儲卡提供一個非保護模式。此模式使系統用可靠的數據鏈接來建立,以排除(否定)硬體或軟體需要執行CRC生成和校驗功能。
在非保護模式下,命令、響應和數據令牌的CRC位在令牌中仍被需要,盡管,對於發送器,它們被定義成「don't care」,且被接收器忽略。
在非保護模式下,SPI介面被初始化。盡管,RESET命令用於使卡切換到SPI模式,但它是在SD模式下被卡接收,所以,必須有一個有效的CRC域。
因為CMD0沒有參數,所有的域的內容(包括CRC域)都是常數,不需要在運行時間計算出來。一個有效的復位命令是:
0x40,0x0, 0x0, 0x0, 0x0,0x95
主機可以用CRC_ON_OFF命令(CMD59)開關卡的CRC選項。
7.2.3 讀數據
SPI支持單塊讀和多塊讀操作(在SD存儲卡協議中的CMD17 OR CMD18)。當接收一個有效的讀命令後卡將在一個在SET_BLOCK_LEN(CMD16)定義了長度的數據令牌之後,用一個響應令牌作出回復。(參考Figure41)
Figure41 單塊讀操作
一個有效的數據塊被添加了一個16位CRC,此CRC由CCITT標准多項式X16+X12+X5+1生成。
能被READ_BL_LEN給出的最大的塊的的長度大CSD中定義了。如果片塊被允許,塊長度可以是1~MAX塊大小之間的任何長度。否則,數據讀的有效塊長度只是在READ_BL_LEN中給出的值。
起始地址可以是在卡的有效地址范圍內的任何位元組地址。但是,每一個塊,必須包含入一個單一的物理卡扇區中。
如發生一個可修復錯誤,卡不會傳輸任何數據,而是發送一個特定的數據錯誤令牌到主機。
Figure42:讀操作-數據錯誤
H. spi 的single Dual quad模式分別代表什麼意思
Dual模式意思是可以發送一個命令位元組進入al mode,這樣mosi變成SIO0(serial io 0),mosi變成SIO1(serial io 1),這樣一個時鍾周期內就能傳輸2個bit數據,加倍了數據傳輸。
quad模式的意思是針對SPI Flash,Qual SPI Flash增加了兩根I/O線(SIO2,SIO3),目的是一個時鍾內傳輸4個bit,所以對於SPI Flash,有標准spi flash,al spi , qual spi 三種類型,分別對應3-wire, 4-wire, 6-wire,在相同clock下,線數越多,傳輸速率越高。
(8)spi信號網路標簽命名擴展閱讀
SPI匯流排是一種4線匯流排,因其硬體功能很強,所以與SPI有關的軟體就相當簡單,使中央處理器有更多的時間處理其它事務。
正是因為這種簡單易用的特性,越來越多的晶元集成了這種通信協議,比如AT91RM9200。SPI是一種高速、高效率的串列介面技術。通常由一個主模塊和一個或多個從模塊組成,主模塊選擇一個從模塊進行同步通信,從而完成數據的交換。SPI是一個環形結構,通信時需要至少4根線。
CS是從晶元是否被主晶元選中的控制信號,也就是說只有片選信號為預先規定的使能信號時(高電位或低電位),主晶元對此從晶元的操作才有效。這就使在同一條匯流排上連接多個SPI設備成為可能。
I. SPI介面的介面信號
(1)MOSI – 主器件數據輸出,從器件數據輸入
(2)MISO – 主器件數據輸入,從器件數據輸出
(3)SCLK –時鍾信號,由主器件產生,最大為fPCLK/2,從模式頻率最大為fCPU/2
(4)NSS – 從器件使能信號,由主器件控制,有的IC會標注為CS(Chip select)
在點對點的通信中,SPI介面不需要進行定址操作,且為全雙工通信,顯得簡單高效。在多個從器件的系統中,每個從器件需要獨立的使能信號,硬體上比I2C系統要稍微復雜一些。
SPI介面在內部硬體實際上是兩個簡單的移位寄存器,傳輸的數據為8位,在主器件產生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在後。如下圖所示,在SCLK的上升沿上數據改變,同時一位數據被存入移位寄存器。
J. 什麼是SPI通信協議
1、SPI是串列外設介面(Serial Peripheral Interface)的縮寫。是 Motorola 公司推出的一種同步串列介面技術,是一種高速的,全雙工,同步的通信匯流排。
2、SPI優點:支持全雙工通信、通信簡單、數據傳輸速率塊。
3、缺點:沒有指定的流控制,沒有應答機制確認是否接收到數據,所以跟IIC匯流排協議比較在數據可靠性上有一定的缺陷。
4、特點
1):高速、同步、全雙工、非差分、匯流排式。
2):主從機通信模式。
5、協議通信時序詳解
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的設備共有的,它們是SDI(數據輸入)、SDO(數據輸出)、SCLK(時鍾)、CS(片選)。
(1)SDO/MOSI – 主設備數據輸出,從設備數據輸入;
(2)SDI/MISO – 主設備數據輸入,從設備數據輸出;
(3)SCLK – 時鍾信號,由主設備產生;
(4)CS/SS – 從設備使能信號,由主設備控制。當有多個從設備的時候,因為每個從設備上都有一個片選引腳接入到主設備機中,當我們的主設備和某個從設備通信時將需要將從設備對應的片選引腳電平拉低或者是拉高。