1. 程式人生 > >arm spi 介面概述

arm spi 介面概述

SPI介面

SPI(Serial Peripheral Interface--序列外設介面)匯流排系統是一種同步序列外設介面,

它可以使MCU與各種外圍裝置以序列方式進行通訊以交換資訊。SPI有三個暫存器分別為:

控制暫存器SPCR,狀態暫存器SPSR,資料暫存器SPDR。外圍裝置包括FLASHRAM、網路控制器、LCD顯示驅動器、A/D轉換器和MCU等。

SPI匯流排系統可直接與各個廠家生產的多種標準外圍器件直接介面,該介面一般使用4條線:

序列時鐘線(SCLK)、主機輸入/從機輸出資料線MISO、主機輸出/從機輸入資料線MOSI

低電平有效的從機選擇線NSS(有的SPI介面晶片帶有中斷訊號線

INT、有的SPI介面晶片沒有主機輸出/從機輸入資料線MOSI)

SPI介面的全稱是"Serial Peripheral Interface",意為序列外圍介面,Motorola首先在其MC68HCXX系列處理器上定義的。

SPI介面主要應用在EEPROMFLASH、實時時鐘、AD轉換器,還有數字訊號處理器和數字訊號解碼器之間。

SPI介面是在CPU和外圍低速器件之間進行同步序列資料傳輸,在主器件的移位脈衝下,資料按位傳輸,低位在前,高位在後,為全雙工通訊,

資料傳輸速度總體來說比I2C匯流排要快,速度可達到幾Mbps

特點:

訊號線少,協議簡單,相對資料速率高

缺點:

沒有指定的流控制,沒有應答機制確認是否接收到資料。

介面訊號:

1MOSI – 主器件資料輸出,從器件資料輸入

2MISO – 主器件資料輸入,從器件資料輸出

3SCLK –時鐘訊號,由主器件產生,最大為fPCLK/2,從模式頻率最大為fCPU/2

4NSS – 從器件使能訊號,由主器件控制,有的IC會標註為CS(Chip select)

 



在點對點的通訊中,SPI介面不需要進行定址操作,且為全雙工通訊,顯得簡單高效。在多個從器件的系統中,

每個從器件需要獨立的使能訊號,硬體上比I2C系統要稍微複雜一些。

SPI介面在內部硬體實際上是兩個簡單的移位暫存器,傳輸的資料為8位,在主器件產生的從器件使能訊號和移位脈衝下,

按位傳輸,高位在前,低位在後。

如下圖所示,在SCLK的上升沿上資料改變,同時一位資料被存入移位暫存器。