日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SPI 协议的解析

發(fā)布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPI 协议的解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????????

目錄

1、SPI 的硬件層

1.1、SPI接口的信號線

1.2、SPI通信常見的連接方式

2、SPI的通信協(xié)議

2.1、起始信號

2.2、停止信號

2.3、數(shù)據(jù)有效性

2.4、時鐘的同步

3、SPI的四種工作模式


????????SPI協(xié)議是由摩托羅拉公司提出的一種串行外圍設備通信接口,是一種高速全雙工的通信總線。它被廣泛地使用在ADC、LCD、存儲器等設備中,包括一些需要與MCU之間有較高通訊速率要求的場合中。

1、SPI 的硬件層

????????SPI是采用主從模式的一種通信方式,它支持一主一從、一主多從,但是不支持多主機模式。

常見的一主多從的連接方式如下:

1.1、SPI接口的信號線

????????SPI接口共有四根信號線,它們分別如下:

????????SCLK:時鐘信號線。由主機產(chǎn)生并控制。

????????MOSI:主機數(shù)據(jù)輸出,從機數(shù)據(jù)輸入。(主出從入)

????????MISO:主機數(shù)據(jù)輸入,從機數(shù)據(jù)輸出。(主入從出)

????????NSS:從機片選使能信號線。該信號由主機進行控制。在一主對多從的模式下,每一個從機都需要一個NSS,用于主機選擇和那個從機進行通信(一般為低電平有效)。當一個SPI設備需要發(fā)送廣播數(shù)據(jù),它必須拉低NSS信號,以通知所有其它的設備它是主設備。

1.2、SPI通信常見的連接方式

(1)SPI通信配置為全雙工的連接方式:

????????這種連接方式允許主從機之間互相進行通信,時鐘均由主機產(chǎn)生。

(2)單工模式 —— 主機接收,從機發(fā)送

????????這種模式下由主機產(chǎn)生時鐘SCK,主機只能收到從機上報的數(shù)據(jù),不能向從機下發(fā)數(shù)據(jù)。

(3)單工模式 —— 主機發(fā)送,從機接收

????????這種模式下由主機產(chǎn)生時鐘SCK,主機只能向從機下發(fā)數(shù)據(jù),不能接收從機上報的數(shù)據(jù)。常見的應用有帶SPI接口的LCD顯示屏。

(4)雙向通信的連接方式

2、SPI的通信協(xié)議

????????SPI的協(xié)議定義了通信的起始信號、停止信號、數(shù)據(jù)有效性、時鐘同步等。它的通訊時序如下:

圖:SPI通信時序圖

????????這是一個主機的通信時序,信號線 NSS、SCK、MOSI 都是由主機控制,MISO 是由從機進行控制。其中 MOSI 和 MISO 上的數(shù)據(jù)僅在 NSS 為低時才有效,并且每個SCK 時鐘周期只交換一位數(shù)據(jù)。

2.1、起始信號

????????SPI通信時序圖中的①為通信的起始信號,由主機控制NSS從高電平到低電平,從而選擇要進行通信的從機,再通過主機產(chǎn)生時鐘信號SCK,啟動一次數(shù)據(jù)的傳輸。

2.2、停止信號

????????SPI通信時序圖中的⑥為通信的起始信號,由主機控制NSS從低電平到高電平,從而結束一次數(shù)據(jù)的傳輸。

2.3、數(shù)據(jù)有效性

????????SPI 在 SCK 時鐘的同步下進行數(shù)據(jù)的準備和采樣,如通信時序圖的②③④⑤所示。在 NSS 為低的情況時,在 SCK 的上升沿時 MISO 和 MOSI 進行數(shù)據(jù)準備,SCK 的下降沿時讀取 MISO 和 MOSI 上的數(shù)據(jù)。在 NSS 為高時,MISO 和MOSI 上的數(shù)據(jù)無效。

2.4、時鐘的同步

????????SPI 的數(shù)據(jù)傳輸是需要 SCK 時鐘信號嚴格同步的,每一個 SCK 周期只傳輸一位數(shù)據(jù),這一個周期里要完成數(shù)據(jù)的準備和采樣,且數(shù)據(jù)的輸入和輸出是同時進行的。

????????SPI中數(shù)據(jù)是MSB 先行或 LSB先行,在協(xié)議中是沒有硬性規(guī)定,只需通信雙方保持統(tǒng)一即可。

????????SPI 一次數(shù)據(jù)傳輸可以是 8 位或 16 位為單位,每次傳輸?shù)膯挝粩?shù)不受限制。

3、SPI的四種工作模式

????????SPI 一共有四種工作模式。它們的區(qū)別是:

????????1)總線空閑時 SCK 的電平狀態(tài)

????????2)數(shù)據(jù)開始采樣的時刻。

????????這四種模式是通過 “時鐘極性 CPOL” 和 “時鐘相位 CPHA” 的電平來實現(xiàn)和區(qū)分的。如下:

????????1)CPOL=0 時,SCK 引腳在空閑狀態(tài)保持低電平;

????????2)CPOL=1 時,SCK 引腳在空閑狀態(tài)保持高電平;

????????3)CPHA=0 時,SCK 時鐘的第一個邊沿進行采樣;

????????4)CPHA =1 時,SCK 時鐘的第二個邊沿進行采樣。

????????時鐘相位CPHA =1 ,數(shù)據(jù)在SCK 時鐘的第二個邊沿采樣的時序圖如下:

????????時鐘相位CPHA =0 ,數(shù)據(jù)在SCK 時鐘的第一個邊沿采樣的時序圖如下:

? ? ? ? 對嵌入式開發(fā)感興趣的話,歡迎關注微信公眾號“嵌入式之入坑筆記”,一塊學習交流吧!

?

總結

以上是生活随笔為你收集整理的SPI 协议的解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。