ARM與FPGA通過spi通信設計1.spi基礎知識


  SPI(Serial Peripheral Interface--串行外設接口)總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI總線可直接與各個廠家生產的多種標准外圍器件相連,包括FLASHRAM、網絡控制器、LCD顯示驅動器、A/D轉換器和MCU等。

  SPI接口是在CPU和外圍低速器件之間進行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,低位在后,為全雙工通信,數據傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。

  1.接口信號

  該接口一般使用4條線:串行時鍾線(SCLK)、主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI和低電平有效的從機選擇線NS。

圖1:主從機結構

  2.工作模式

  SPI在SCLK控制下通過移位寄存器,每個sclk時鍾周期傳輸1bit的數據,其具體數據傳輸模式可查看SPI總線協議及SPI時序圖詳解這篇文章。

  有四種工作模式,各個工作模式的不同在於SCLK不同, 具體工作由時鍾極性CPOL(Clock Polarity),時鍾相位CPHA(Clock Phase)決定

  CPOL:決定時鍾空閑時的電平為高或低;

    1 = 時鍾低電平時有效,空閑時為高

    0 = 時鍾高電平時有效,空閑時為低

  CPHA:定義SPI數據傳輸的兩種基本模式

    0=時鍾周期的上升沿采集數據,時鍾周期的下降沿輸出數據;

    1=時鍾周期的下降沿采集數據,時鍾周期的上升沿輸出數據;
  時序圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM