SPI介面原理初識

2021-10-08 19:35:18 字數 2367 閱讀 8612

spi是英語serial peripheral inte***ce的縮寫,顧名思義就是序列外圍裝置介面。是motorola首先在其mc68hcxx系列處理器上定義的。

spi,是一種高速的,全雙工,同步的通訊匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為pcb的布局上節省空間,提供方便,主要應用在eeprom,flash,實時時鐘,ad轉換器,還有數字訊號處理器和數碼訊號解碼器之間。

miso主裝置資料輸入,從裝置資料輸出。

mosi主裝置資料輸出,從裝置資料輸入。

sclk時鐘訊號,由主裝置產生。

cs從裝置片選訊號,由主裝置控制。

①硬體上為4根線。

②主機和從機都有一乙個序列移位暫存器,主機通過向它的spi序列暫存器寫入乙個位元組來發起一次傳輸。

③序列移位暫存器通過mosi訊號線將位元組傳送給從機,從機也將自己的序列移位暫存器中的內容通過miso訊號線返回給主機。這樣,兩個移位暫存器中的內容就被交換。

④外設的寫操作和讀操作是同步完成的。如果只進行寫操作,主機只需忽略接收到的位元組;反之,若主機要讀取從機的乙個位元組,就必須傳送乙個空位元組來引發從機的傳輸。

3線全雙工同步傳輸

8或16位傳輸幀格式選擇

●主或從操作

●支援多主模式

●8個主模式波特 率預分頻係數(最大為fpcux/2)

●從模式頻率(最大為fpcuw/2)

● 主模式和從模式的快速通訊

●主模式和從模式下均可以由軟體或硬體進行nss管理:主從操作模式的動態改變

●可程式設計的時鐘 極性和相位

可程式設計的資料順序,msb在前或lsb在前

●可觸發中斷的專用傳送 和接收標誌

( spi匯流排忙狀態標誌

●支援可靠通訊的硬體crc

-在傳送模式下, crc值可以被作為最後乙個位元組傳送

-在全雙工模式中對接收到的最後 個位元組自動進行crc校驗

可觸發中斷的主模式故障、過載以及crc錯誤標誌

● 支援dma功能的1位元組傳送和接收緩衝器:產生傳送和接受請求

有2種nss模式:

軟體nss模式:可以通過設定spi cr1暫存器的ssm位來使能這種模式。在這種模式下nss引腳可以用作它用,而內部nss訊號電平可以通過寫spi cr1的ssi位來驅動硬體nss模式,分兩種情況: ;

nss輸出被使能:當stm32工作為主spi, 並且nss輸出已經通過spi _cr2寄存

器的ssoe位使能,這時nss引腳被拉低,所有nss引腳與這個主spi的nss引腳相連並配置為硬體nss的spi裝置,將自動變成從spi裝置。

當乙個spi裝置需要傳送廣播資料,它必須拉低nss訊號,以通知所有其它的裝置它是主裝置:如果它不能拉低nss, 這意味著匯流排上有另外乙個主裝置在通訊,這時將產生-乙個硬體失敗錯誤(hard fault)。

nss輸出被關閉:允許操作於多主環境。

spi_ cr暫存器的cpol和cpha位, 能夠組合成四種可能的時序關係。cpol(時鐘極性)位控制在沒有資料傳輸時時鐘的空閒狀態電平,此位對主模式和從模式下的裝置都有效。如果cpol被清』0』,sck引腳在空閒狀態保持低電平;如果cpol被置』1』,sck引腳在空閒狀態保持高電平。如果cpha(時鐘相位)位被置』1』,sck時鐘的第二個邊沿(cpol位為0時就是下降沿,cpol位為』1』時就是上公升沿)進行資料位的取樣,資料在第二個時鐘邊沿被鎖存。如果cpha位被清』0』,sck時鐘的第一邊沿(cpol位為』0』時就是 下降沿,cpol位為』1』時就是上公升沿)進行資料位取樣,資料在第乙個時鐘邊沿被鎖存。

cpol時鐘極性和cpha時鐘相位的組合選擇資料捕捉的時鐘邊沿。

根據spi_ cr1暫存器中的lsbfirst位,輸出資料位時可以msb在先也可以lsb在先。

根據spi_ _cr1暫存器的dff位,每個資料幀可以是8位或是16位。所選擇的資料幀格式對傳送和/或接收都有效。

應用程式通過3個狀態標誌可以完全監控spi匯流排的狀態。

此標誌為1"時表明傳送緩衝器為空,可以寫下乙個待傳送的資料進入緩衝器中。當寫入spi _dr時,txe標誌被清除。

此標誌為』1"時表明在接收緩衝器中包含有效的接收資料。讀spi資料暫存器可以清除此標誌。

bsy標誌由硬體設定與清除(寫入此位無效果),此標誌表明spi通訊層的狀態。

弄懂SPI介面

spi serial peripheral inte ce,序列外設介面 是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。1.介面 spi介面經常被稱為4線序列匯流排,以主 從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為 1 sclk 序列時...

SPI匯流排介面

序列外圍裝置介面spi serial peripheral inte ce 匯流排技術是motorola公司推出的一種同步序列介面,motorola公司生產的絕大多數mcu 微控制器 都配有spi硬體介面,如68系列mcu。spi 用於cpu與各種外圍器件進行全雙工 同步序列通訊。spi可以同時發出...

弄懂SPI介面

spi serial peripheral inte ce,序列外設介面 是motorola公司提出的一種同步序列資料傳輸標準,在很多器件中被廣泛應用。1.介面 spi介面經常被稱為4線序列匯流排,以主 從方式工作,資料傳輸過程由主機初始化。如圖1所示,其使用的4條訊號線分別為 1 sclk 序列時...