天天看點

常用的接口總線——SPI

作者:Xzxxxxxx

SPI(Serial Peripheral Interface,串行外設接口)是一種常用的接口總線,用于微控制器和外圍IC之間的通信,如傳感器、ADC、DAC、移位寄存器、SRAM等。SPI是一種同步、全雙工的主從式接口。主裝置或從裝置的資料在上升沿或下降沿時與時鐘信号同步。主裝置和從裝置可以同時發送資料。SPI接口可以是3線或4線。

常用的接口總線——SPI

4線SPI裝置有四個信号:

  • 時鐘(SPI CLK,SCLK)
  • 片選(CS)
  • 主出,從入(MOSI)
  • 主入,從出(MISO)

産生時鐘信号的裝置稱為主裝置。主裝置和從裝置之間的資料傳輸與主裝置産生的時鐘同步。SPI裝置支援比I2C接口更高的時鐘頻率。使用者應參考産品資料表中的SPI接口時鐘頻率規範。SPI接口隻能有一個主裝置,可以有一個或多個從裝置。圖1顯示了主裝置和從裝置之間的SPI連接配接。主裝置通過使能CS信号來選擇從裝置。通常片選是一個低電平有效的信号,是以主裝置必須在這個信号上發送一個邏輯0來選擇從裝置。當使用多個從裝置時,主裝置需要為每個從裝置提供一個單獨的片選信号。。MOSI和MISO是資料線。MOSI将資料從主裝置傳輸到從裝置,MISO将資料從從裝置傳輸到主裝置。

常用的接口總線——SPI

資料傳輸

要開始SPI通信,主裝置必須發送時鐘信号并通過使能CS信号選擇從裝置。通常片選是一個低電平有效的信号,是以主裝置必須在這個信号上發送一個邏輯0來選擇從裝置。SPI是一種全雙工接口;主裝置和從裝置可以同時通過MOSI和MISO線發送資料。在SPI通信過程中,資料同時被傳輸(串行地移出到MOSI/SDO總線上)和接收(總線上的資料(MISO/SDI)被采樣或讀入)。時鐘沿同步了資料的移位和采樣。SPI接口提供了使用者選擇上升沿或下降沿采樣和/或移位資料的靈活性。請參考産品資料表以确定使用SPI接口傳輸的資料位數。

常用的接口總線——SPI