1. 程式人生 > >SPI匯流排的特點、工作方式介紹

SPI匯流排的特點、工作方式介紹

其中,CS是控制晶片是否被選中,也就是說只有片選訊號為預先規定的使能訊號是(高電位或底電位),對晶片的操作才有效,這就允許同一總線上連線多個SPI裝置成為可能。 接下來就負責通訊的3根線了。通訊是通過資料交換完成的,這裡先要知道SPI是序列通訊協議,也就是說資料是一位一位的傳輸的。這就是SCLK時鐘線存在的原因,由SCLK提供時鐘脈衝,SDI,SDO則基於此脈衝完成資料傳輸。資料輸出通過 SDO線,資料在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位資料傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘訊號的改變(上沿和下沿為一次),就可以完成8位資料的傳輸。當SPI工作時,在移位暫存器中的資料逐位從輸出引腳(SDO)輸出(高位在前),同時輸入引腳(SDI)接受的資料逐位移入到移位暫存器(高位在前)。傳送一個位元組後,從另一個外圍器件接受的位元組進入移位暫存器中。即完成一個位元組資料的傳輸的實質是兩個器件暫存器內容的交換
要注意的是,SCLK訊號線只由主裝置控制,從裝置不能控制訊號線。同樣,在一個基於SPI的裝置中,至少有一個主控裝置。這樣傳輸的特點:這樣的傳輸方式有一個優點,與普通的序列通訊不同,普通的序列通訊一次連續傳送至少8位資料,而SPI允許資料一位一位的傳送,甚至允許暫停,因為SCLK時鐘線由主控裝置控制,當沒有時鐘跳變時,從裝置不採集或傳送資料。也就是說,主裝置通過對SCLK時鐘線的控制可以完成對通訊的控制。SPI還是一個數據交換協議:因為SPI的資料輸入和輸出線獨立,所以允許同時完成資料的輸入和輸出。不同的SPI裝置的實現方式不盡相同,主要是資料改變和採集的時間不同,在時鐘訊號上沿或下沿採集有不同定義,具體請參考相關器件的文件。 最後,
SPI介面的一個缺點:沒有指定的流控制,沒有應答機制確認是否接收到資料。 SPI的片選可以擴充選擇16個外設,這時PCS輸出=NPCS,說NPCS0~3接4-16譯碼器,這個譯碼器是需要外接4-16譯碼器,譯碼器的輸入為NPCS0~3,輸出用於16個外設的選擇。其經典的系統框圖如下所示。 2,SPI的工作時序 SPI匯流排有四種工作方式,其中使用最廣泛的是SPI0和SPI3方式 四種工作方式
時序詳解: CPOL:時鐘極性選擇,為0時SPI匯流排空閒為低電平,為1時SPI匯流排空閒時為高電平。 CPHA:時鐘相位選擇,為0時在SCK第一個跳變沿取樣,為1時在第二個跳變沿取樣。 3,SPI易犯錯誤
    SPI的內部硬體框圖 由圖可知,SPI的輸入引腳和輸出引腳名字沒有直接的劃分,只要能夠保證正確的資料流,名字是自己起的