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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SPI总线(一):基本原理篇

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPI总线(一):基本原理篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

相關文章:

? ? ? ? ? ?SPI總線(二):驅動分析篇

? ? ? ? ? ??SPI總線(三):驅動實例

?

1、什么是SPI?

? ? ? SPI是串行外設接口(Serial Peripheral Interface)的縮寫。是 Motorola 公司推出的一?
種同步串行接口技術,是一種高速的,全雙工,同步的通信總線。

2、SPI優點
?支持全雙工通信
?通信簡單
?數據傳輸速率塊

3、缺點
? ? ?沒有指定的流控制,沒有應答機制確認是否接收到數據,所以跟IIC總線協議比較在數據?可靠性上有一定的缺陷。

4、特點
1):高速、同步、全雙工、非差分、總線式
2):主從機通信模式

5、協議通信時序詳解
1):SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多?
個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基于SPI的設備共?
有的,它們是SDI(數據輸入)、SDO(數據輸出)、SCLK(時鐘)、CS(片選)。
(1)SDO/MOSI – 主設備數據輸出,從設備數據輸入;
(2)SDI/MISO – 主設備數據輸入,從設備數據輸出;
(3)SCLK – 時鐘信號,由主設備產生;
(4)CS/SS –?其中CS是控制芯片是否被選中的,也就是說只有片選信號為預先規定的使能信號時(高電位或低電位),對此芯片的操作才有效,這就允許在同一總線上連接多個SPI設備成為可能。需要注意的是,在具體的應用中,當一條SPI總線上連接有多個設備時,SPI本身的CS有可能被其他的GPIO腳代替,即每個設備的CS腳被連接到處理器端不同的GPIO,通過操作不同的GPIO口來控制具體的需要操作的SPI設備,減少各個SPI設備間的干擾。

????? SPI是串行通訊協議,也就是說數據是一位一位從MSB或者LSB開始傳輸的,這就是SCK時鐘線存在的原因,由SCK提供時鐘脈沖,MISO、MOSI則基于此脈沖完成數據傳輸。 SPI支持4-32bits的串行數據傳輸,支持MSB和LSB,每次數據傳輸時當從設備的大小端發生變化時需要重新設置SPI Master的大小端。

2):需要說明的是,我們SPI通信有4種不同的模式,不同的從設備可能在出廠是就是配?
置為某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們?
可以對我們的主設備的SPI模式進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來?
控制我們主設備的通信模式,具體如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1

時鐘極性CPOL是用來配置SCLK的電平出于哪種狀態時是空閑態或者有效態,時鐘相位CPHA?
是用來配置數據采樣是在第幾個邊沿:
CPOL=0,表示當SCLK=0時處于空閑態,所以有效狀態就是SCLK處于高電平時
CPOL=1,表示當SCLK=1時處于空閑態,所以有效狀態就是SCLK處于低電平時
CPHA=0,表示數據采樣是在第1個邊沿,數據發送在第2個邊沿
CPHA=1,表示數據采樣是在第2個邊沿,數據發送在第1個邊沿

例如:
CPOL=0,CPHA=0:此時空閑態時,SCLK處于低電平,數據采樣是在第1個邊沿,也就是?
SCLK由低電平到高電平的跳變,所以數據采樣是在上升沿,數據發送是在下降沿。

CPOL=0,CPHA=1:此時空閑態時,SCLK處于低電平,數據發送是在第2個邊沿,也就是?
SCLK由低電平到高電平的跳變,所以數據采樣是在下降沿,數據發送是在上升沿。

CPOL=1,CPHA=0:此時空閑態時,SCLK處于高電平,數據采集是在第1個邊沿,也就是?
SCLK由高電平到低電平的跳變,所以數據采集是在下降沿,數據發送是在上升沿。

CPOL=1,CPHA=1:此時空閑態時,SCLK處于高電平,數據發送是在第2個邊沿,也就是?
SCLK由高電平到低電平的跳變,所以數據采集是在上升沿,數據發送是在下降沿。

? ? ? ?

? ? 需要注意的是:我們的主設備能夠控制時鐘,因為我們的SPI通信并不像UART或者IIC通信?
那樣有專門的通信周期,有專門的通信起始信號,有專門的通信結束信號;所以我們的?
SPI協議能夠通過控制時鐘信號線,當沒有數據交流的時候我們的時鐘線要么是
保持高電平要么是保持低電平。

6、內部工作機制


SSPSR 是 SPI 設備內部的移位寄存器(Shift Register). 它的主要作用是根據 SPI?
時鐘信號狀態, 往 SSPBUF 里移入或者移出數據, 每次移動的數據大小由 Bus-Width 以?
及 Channel-Width 所決定.

--------------------- 作者:kaivenscode 來源:CSDN 原文:https://blog.csdn.net/kai_zone/article/details/78038716?utm_source=copy 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的SPI总线(一):基本原理篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。