0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SPI總線協(xié)議概述

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-10-26 15:26 ? 次閱讀

1.SPI總線概述

SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。是Motorola公司推出的一種同步串行接口技術(shù),是一種高速的,全雙工,同步的通信總線。主要應(yīng)用在EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器數(shù)字信號處理器和數(shù)字信號解碼器等設(shè)備與MCU之間進行通信。

SPI具有通信簡單,支持全雙工通信,數(shù)據(jù)傳輸速度快的優(yōu)點。但是由于SPI沒有指定的流控制,沒有應(yīng)答機制確認數(shù)據(jù)是否發(fā)送或接收成功,所以SPI總線跟IIC總線比較的話,SPI總線在數(shù)據(jù)可靠性上有一定的缺陷。

2.SPI信號

SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備。SPI使用3條通訊總線和1條片選線。

(1).MOSI

主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入。

(2).MISO

主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出。

(3).SCLK(或叫SCK)

時鐘信號線,用于通訊同步,該信號由主機產(chǎn)生和控制。

(4).CS

片選線,從設(shè)備使能信號,由主設(shè)備控制。當(dāng)有多個從設(shè)備的時候,因為每個從設(shè)備上都有一個片選引腳接入到主設(shè)備機中,當(dāng)我們的主設(shè)備和某個從設(shè)備通信時就需要設(shè)置從設(shè)備對應(yīng)的片選引腳,來使能從設(shè)備。

SPI通訊設(shè)備之間的連接方式,如下圖所示:

圖片

3.SPI總線的4種通訊模式

SPI通信有4種不同的通訊模式,不同的從設(shè)備可能在出廠時就配置為某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們可以對我們的主設(shè)備的SPI模式進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制我們主設(shè)備的通信模式。

MOSI和MISO線在SCK的每個時鐘周期傳輸一位數(shù)據(jù),開發(fā)者可以自行設(shè)置MSB或LSB先行,不過需要保證兩個通訊設(shè)備都使用同樣的協(xié)定。

時鐘極性CPOL是用來配置SCK空閑狀態(tài)的電平,時鐘相位CPHA是用來配置數(shù)據(jù)采樣是在第幾個邊沿。

CPOL=0,表示當(dāng)SCK=0時處于空閑態(tài),所以有效狀態(tài)就是SCK處于高電平時;
CPOL=1,表示當(dāng)SCK=1時處于空閑態(tài),所以有效狀態(tài)就是SCK處于低電平時;
CPHA=0,表示數(shù)據(jù)采樣是在第1個邊沿,數(shù)據(jù)發(fā)送在第2個邊沿;
CPHA=1,表示數(shù)據(jù)采樣是在第2個邊沿,數(shù)據(jù)發(fā)送在第1個邊沿;

CPOL和CPHA進行組合配置之后產(chǎn)生四種時序關(guān)系,也就是四種通訊模式。四種通訊模式文字描述如下:

CPOL=0,CPHA=0:此時空閑態(tài)時,SCK處于低電平,數(shù)據(jù)采樣是在第1個邊沿,也就是SCK由
低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。

CPOL=0,CPHA=1:此時空閑態(tài)時,SCK處于低電平,數(shù)據(jù)發(fā)送是在第1個邊沿,也就是SCK由
低電平到高電平的跳變,所以數(shù)據(jù)采樣是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。

CPOL=1,CPHA=0:此時空閑態(tài)時,SCK處于高電平,數(shù)據(jù)采集是在第1個邊沿,也就是SCK由
高電平到低電平的跳變,所以數(shù)據(jù)采集是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。

CPOL=1,CPHA=1:此時空閑態(tài)時,SCK處于高電平,數(shù)據(jù)發(fā)送是在第1個邊沿,也就是SCK由
高電平到低電平的跳變,所以數(shù)據(jù)采集是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。

圖片

下面的表格是對上述描述的SPI四種通訊模式的總結(jié):

SPI模式 CPOL CPHA SCK空閑時電平 數(shù)據(jù)采樣 數(shù)據(jù)發(fā)送
0 0 0 低電平 第1個邊沿 第2個邊沿
1 0 1 低電平 第2個邊沿 第1個邊沿
2 1 0 高電平 第1個邊沿 第2個邊沿
3 1 1 高電平 第2個邊沿 第1個邊沿

模式0和模式3的差異主要是,模式0的SCK空閑電平是低電平,模式3的SCK空閑電平是高電平。因為模式0的SCK空閑電平是低電平,數(shù)據(jù)采樣發(fā)生在SCK的第1個邊沿,也就是SCK的上升沿,數(shù)據(jù)發(fā)送發(fā)生在SCK的第2個邊沿,也就是SCK的下降沿。同樣的因為模式3的SCK空閑電平是高電平,數(shù)據(jù)采樣發(fā)生在SCK的第2個邊沿,也就是SCK的上升沿,數(shù)據(jù)發(fā)送發(fā)生在SCK的第1個邊沿,也就是SCK的下降沿。

從上面一段文字,可以對模式0和模式3進行一個總結(jié):模式0和模式3的主要差異是SCK空閑電平的狀態(tài)不一樣,模式0的SCK空閑電平是低電平,模式3的SCK空閑電平是高電平;模式0和模式3都在SCK的上升沿進行數(shù)據(jù)采樣,在SCK的下降沿進行數(shù)據(jù)發(fā)送。

同樣的,可以對模式1和模式2進行一個總結(jié):模式1和模式2的主要差異是SCK空閑電平的狀態(tài)不一樣,模式1的SCK空閑電平是低電平,模式2的SCK空閑電平是高電平;模式1和模式2都在SCK的下降沿進行數(shù)據(jù)采樣,在SCK的上升沿進行數(shù)據(jù)發(fā)送。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1020

    瀏覽量

    81608
  • 信號處理器
    +關(guān)注

    關(guān)注

    1

    文章

    254

    瀏覽量

    25275
  • AD轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    4

    文章

    250

    瀏覽量

    41420
  • SPI接口
    +關(guān)注

    關(guān)注

    0

    文章

    258

    瀏覽量

    34383
  • IIC總線
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    20304

原文標題:SPI總線協(xié)議-一篇文章帶你了解

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SPI總線協(xié)議介紹

    SPI總線協(xié)議介紹
    發(fā)表于 08-18 21:26

    SPI總線協(xié)議

    SPI總線協(xié)議參考
    發(fā)表于 04-10 23:17

    SPI總線協(xié)議

    一、概述. SPI, SerialPerripheral Interface, 串行外圍設(shè)備接口, 是 Motorola 公司推出的一種同步串行接口技術(shù). SPI 總線在物理上是通過接
    發(fā)表于 08-30 16:27

    SPI總線協(xié)議介紹

    SPI總線協(xié)議介紹(接口定義,傳輸時序)
    發(fā)表于 03-03 07:45

    SPI總線協(xié)議介紹及硬件設(shè)計資料分享

    typora-copy-images-to: typora_picture基于FPGA與MCU通信的SPI協(xié)議設(shè)計1. SPI總線協(xié)議介紹及
    發(fā)表于 11-10 07:06

    SPI總線協(xié)議簡介

    1. SPI簡介SPI,是英語Serial Peripheral interface(串行外圍接口)的縮寫,顧名思義就是串行外圍設(shè)備接口協(xié)議。是摩托羅拉公司首先在其MC68HCXX系列處理器上定義
    發(fā)表于 12-13 07:37

    SPI協(xié)議概述

    一.SPI概述SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI,是一種高速的,全雙工,同步的通信
    發(fā)表于 02-17 07:01

    SPI總線簡介與參考實例

    spi協(xié)議介紹,通過文檔形式說明spi總線時序
    發(fā)表于 11-19 15:12 ?55次下載

    SPI總線協(xié)議介紹

    這是SPI協(xié)議的介紹,很有用的哦,歡迎大家下載。
    發(fā)表于 04-13 14:21 ?17次下載

    SPI總線驅(qū)動的C語言源代碼詳細概述

    本文檔的主要內(nèi)容詳細介紹的是SPI總線驅(qū)動的C語言源代碼詳細概述。
    的頭像 發(fā)表于 09-26 11:36 ?7232次閱讀

    基于FPGA與MCU通信的SPI協(xié)議設(shè)計

    typora-copy-images-to: typora_picture基于FPGA與MCU通信的SPI協(xié)議設(shè)計1. SPI總線協(xié)議介紹及
    發(fā)表于 11-05 15:35 ?16次下載
    基于FPGA與MCU通信的<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>設(shè)計

    SPI協(xié)議

    目錄SPI協(xié)議簡介SPI物理層SPI協(xié)議SPI協(xié)議
    發(fā)表于 12-22 19:17 ?34次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>

    SPI總線協(xié)議及詳解

    引用:https://www.cnblogs.com/adylee/p/5399742.html一.SPI概述SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是
    發(fā)表于 12-22 19:18 ?17次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>及詳解

    SPI總線協(xié)議SPI時序圖詳解

    的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。 SPI是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序其實很簡單,...
    發(fā)表于 02-11 15:41 ?31次下載
    <b class='flag-5'>SPI</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>及<b class='flag-5'>SPI</b>時序圖詳解

    淺談SPI總線通信接口及其協(xié)議

    上篇內(nèi)容我們介紹了IIC總線通信接口及其協(xié)議,這一篇文章我們介紹另一種項目開發(fā)中非常常見的通信接口——SPI總線。
    的頭像 發(fā)表于 03-22 16:11 ?1810次閱讀
    淺談<b class='flag-5'>SPI</b><b class='flag-5'>總線</b>通信接口及其<b class='flag-5'>協(xié)議</b>