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

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

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

SPI總線協(xié)議概述

嵌入式那些事 ? 來(lái)源:嵌入式那些事 ? 2023-10-26 15:26 ? 次閱讀

1.SPI總線概述

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

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

2.SPI信號(hào)

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

(1).MOSI

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

(2).MISO

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

(3).SCLK(或叫SCK)

時(shí)鐘信號(hào)線,用于通訊同步,該信號(hào)由主機(jī)產(chǎn)生和控制。

(4).CS

片選線,從設(shè)備使能信號(hào),由主設(shè)備控制。當(dāng)有多個(gè)從設(shè)備的時(shí)候,因?yàn)槊總€(gè)從設(shè)備上都有一個(gè)片選引腳接入到主設(shè)備機(jī)中,當(dāng)我們的主設(shè)備和某個(gè)從設(shè)備通信時(shí)就需要設(shè)置從設(shè)備對(duì)應(yīng)的片選引腳,來(lái)使能從設(shè)備。

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

圖片

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

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

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

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

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

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

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

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

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

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

圖片

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

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

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

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

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






審核編輯:劉清

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

    關(guān)注

    9

    文章

    1007

    瀏覽量

    81225
  • 信號(hào)處理器
    +關(guān)注

    關(guān)注

    1

    文章

    250

    瀏覽量

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

    關(guān)注

    4

    文章

    250

    瀏覽量

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

    關(guān)注

    0

    文章

    258

    瀏覽量

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

    關(guān)注

    1

    文章

    66

    瀏覽量

    20265

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

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

收藏 人收藏

    評(píng)論

    相關(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é)議介紹(接口定義,傳輸時(shí)序)
    發(fā)表于 03-03 07:45

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

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

    SPI總線協(xié)議簡(jiǎn)介

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

    SPI協(xié)議概述

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

    SPI總線簡(jiǎn)介與參考實(shí)例

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

    SPI總線協(xié)議介紹

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

    SPI總線驅(qū)動(dòng)的C語(yǔ)言源代碼詳細(xì)概述

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

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

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

    SPI協(xié)議

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

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

    引用:https://www.cnblogs.com/adylee/p/5399742.html一.SPI概述SPI,是英語(yǔ)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時(shí)序圖詳解

    的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議。 SPI是一個(gè)環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時(shí)序其實(shí)很簡(jiǎn)單,...
    發(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>時(shí)序圖詳解

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

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