STM32F4之什麼是SPI?

一.什麼是SPI?

    1.SPI是一般爲4線的總線協議,有時也可以是三條線(單向傳輸)

   2. 四線分別爲MISO(主設備數據輸入) ,MOSI(主設備數據輸出),SCK(時鐘),CS(片選)

    有必要了解一下它的英文全稱

 (1) MISO - Master input SlaveOutput(主設備數據輸入,從設備數據輸出)

 (2)MOSI - Master Output Slave Input (主設備數據輸出,從設備數據輸入)

(3)SCLK - Serial Clock 時鐘信號,由主設備產生

(4)CS -Chip Select 從設備使能信號,由主設備控制

更爲直觀的示意圖如下:

通俗的說,由於是8位的數據寄存器,所以當經過8個時鐘,數據將從主設備移位寄存器中的數據轉到從設備移位寄存器中,同理 從設備中的數據將轉到主設備中

二.上SPI的時序

說SPI,時序圖肯定要掌握一下

       首先要理解一下,圖中的幾個名字,CPOL,CPHA ,NCC,至於MISO ,MOSI 我就不多說了,(不懂的看一下上面的圖)

CPOL  其全稱爲 ,Clock polarity 翻譯爲 時鐘極性(高電平,或低電平)

CPHA 其全稱爲 ,Clock phase,翻譯爲 時鐘相位

        看到我把字母標紅了嗎,大寫的符號就是由其組成的,這樣就好記很多了。所以顧名思義,你可以看出來他和時鐘信號有關,他們之間組成4種模式

我就不解釋太多,直接上圖解釋

當CPOL   = 0 ,CPHA = 1,CPOL =0 意思是當時鍾空閒的時候,時鐘爲低電平,CPHA =1 ,意思是在時鐘的第二個沿的時候,做數據移位操作,當然這時CS肯定是使能的。 如下圖所示:

當CPOL   = 1,CPHA = 0,CPOL = 1 意思是當時鍾空閒的時候,時鐘爲高電平 ,CPHA = 0 意思是 在時鐘第一個沿的做數據移位 ,發送出去,如下圖所示:

 接下來兩幅圖,以此類推 ,CPOL ,CPHA 分別爲多少 ,自己看看有沒有看懂

第一幅

 

第二幅

 

評論區留言一下你的答案,看看我說明白了沒(PS:別偷看上面的整圖 - -)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章