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

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

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

根據(jù)時(shí)鐘極性和時(shí)鐘相位的不同,SPI有四個(gè)工作模式

Q4MP_gh_c472c21 ? 來(lái)源:未知 ? 作者:龔婷 ? 2018-03-20 11:43 ? 次閱讀

串行外圍設(shè)備接口(Serial Peripheral Interface,SPI)是由 Motorola 公司開(kāi)發(fā)的,用來(lái)在微控制器和外圍設(shè)備芯片之間提供一個(gè)低成本、易使用的接口(SPI 有時(shí)候也被稱為4線接口)。這種接口可以用來(lái)連接存儲(chǔ)器、AD/DA轉(zhuǎn)換器實(shí)時(shí)時(shí)鐘日歷、LCD驅(qū)動(dòng)器、傳感器、音頻芯片,甚至其他處理器。目前支持 SPI 的元件很多,并且還在不斷增加。

這里需要提一下,由于專利在電子行業(yè)是很關(guān)鍵的,因此部分廠商可能會(huì)將 SPI 通訊協(xié)議更名以規(guī)避高昂的專利費(fèi),但其硬件處理方式是一樣的,只是換了一個(gè)名稱而已(或者在協(xié)議上做了一些修改),例如 TI 的 SSI(Synchronous Serial Interface)通訊協(xié)議。與標(biāo)準(zhǔn)的串行端口不同,SPI 是一個(gè)同步協(xié)議接口,所有的傳輸都參照一個(gè)共同的時(shí)鐘,這個(gè)同步時(shí)鐘信號(hào)由主機(jī)(處理器)產(chǎn)生。接收數(shù)據(jù)的設(shè)備(從設(shè)備)使用時(shí)鐘對(duì)串行比特流的接收進(jìn)行同步化。可能會(huì)有許多芯片連到主機(jī)的同一個(gè) SPI 接口上,這是主機(jī)通過(guò)觸發(fā)從設(shè)備的芯片的片選輸入引腳來(lái)選擇接收數(shù)據(jù)的從設(shè)備,沒(méi)有被選中的外設(shè)將不會(huì)參與 SPI 傳輸。SPI 主要使用4個(gè)信號(hào):主機(jī)輸出/從機(jī)輸入(MOSI)、主機(jī)輸入/從機(jī)輸出(MISO)、串行時(shí)鐘(SCLK或SCK)和外設(shè)片選(nCS)。有些處理器有 SPI 接口專用的片選,稱為從機(jī)選擇(nSS)。MOSI 信號(hào)由主機(jī)產(chǎn)生,從機(jī)接收。在有些芯片上,MOSI 只被簡(jiǎn)單地標(biāo)為串行輸入(SI),或者串行數(shù)據(jù)輸入(SDI)。MISO 信號(hào)由從機(jī)產(chǎn)生,不過(guò)還是在主機(jī)的控制下產(chǎn)生的。在一些芯片上,MISO 有時(shí)被稱為串行輸出(SO),或者串行數(shù)據(jù)輸出(SDO)。外設(shè)片選信號(hào)通常只是由主機(jī)的備用 I/O 引腳產(chǎn)生。SPI 接口在內(nèi)部硬件實(shí)際上是兩個(gè)簡(jiǎn)單的移位寄存器,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來(lái)說(shuō)比 I2C 總線要快,速度可達(dá)到 Mbps 級(jí)別。

根據(jù)時(shí)鐘極性和時(shí)鐘相位的不同,SPI 有四個(gè)工作模式。時(shí)鐘極性有高、低兩極:

1、時(shí)鐘低電平時(shí),空閑時(shí)時(shí)鐘(SCK)處于低電平,傳輸時(shí)跳轉(zhuǎn)到高電平;2、時(shí)鐘極性為高電平時(shí),空閑時(shí)時(shí)鐘處于高電平,傳輸時(shí)跳轉(zhuǎn)到低電平。

時(shí)鐘相位有兩個(gè):相位0 和 相位1。對(duì)于時(shí)鐘相位0,如果時(shí)鐘極性是低電平,MOSI 和 MISO 輸出在時(shí)鐘(SCK)的上升沿有效(如圖1所示)。

圖1. 時(shí)鐘極性為低電平且時(shí)鐘相位0時(shí)的SPI時(shí)序圖

如果時(shí)鐘極性為高電平,對(duì)于時(shí)鐘相位0,這些輸出在 SCK 的下降沿有效(如圖2所示)。

圖2. 時(shí)鐘極性為高電平且時(shí)鐘相位0時(shí)的SPI時(shí)序圖

對(duì)于時(shí)鐘相位1,情況則相反。此時(shí)如果時(shí)鐘極性是低電平,MOSI 和 MISO 輸出在時(shí)鐘(SCK)的下降沿有效(如圖3所示)。

圖3. 時(shí)鐘極性為低電平且時(shí)鐘相位1時(shí)的SPI時(shí)序圖

如果時(shí)鐘極性是高電平,這些輸出在 SCK 的上升沿有效(如圖4所示)。

圖4. 時(shí)鐘極性為高電平且時(shí)鐘相位1時(shí)的SPI時(shí)序圖

工程中一般會(huì)用 CPOL 代表時(shí)鐘極性,用 CPHA 代表時(shí)鐘相位,在 S5PV210 的 datasheet 中,我們可以看到相應(yīng)的 SPI 接口配置寄存器(如圖5所示)。

圖5. S5PV210的SPI配置寄存器CH_CFGn

也就是由兩個(gè)位(CPOL 和 CPHA)共同決定 SPI 的工作模式,所以有 2 * 2 = 4 種工作模式。其中,時(shí)鐘極性(CPOL)決定的是時(shí)鐘空閑時(shí)電平的高低狀態(tài)(0:空閑時(shí)低電平,1:空閑時(shí)高電平);時(shí)鐘相位(CPHA)決定的是數(shù)據(jù)在時(shí)鐘的上升沿或下降沿鎖存/采樣(0:第一個(gè)邊沿開(kāi)始,1:第二個(gè)邊沿開(kāi)始)。

最后,SPI 接口的一個(gè)缺點(diǎn):沒(méi)有指定的流控制,沒(méi)有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù)。

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

    關(guān)注

    52

    文章

    8117

    瀏覽量

    145852
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5301

    瀏覽量

    119865
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1716

    瀏覽量

    131290
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1688

    瀏覽量

    91234

原文標(biāo)題:淺談串行外圍設(shè)備接口(Serial Peripheral Interface)SPI總線

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)LMK05318BEVM如何實(shí)現(xiàn)輸入和輸出時(shí)鐘相位同步?

    相位也盡快調(diào)整,與輸入時(shí)鐘相位對(duì)齊。我們嘗試了好多配置,都無(wú)法實(shí)現(xiàn)。除了配置wizard的內(nèi)容之外,是否還需要其他配置?advance的內(nèi)容如何配置?是否要選擇ZDM功能?能幫我們提供一個(gè)適合的配置嗎?
    發(fā)表于 11-11 08:25

    飛凌嵌入式ElfBoard ELF 1板卡-spi編程示例之spi硬件原理

    Slave設(shè)備。 接口 SPI的通信原理很簡(jiǎn)單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可
    發(fā)表于 11-05 08:44

    SPI協(xié)議解析

    必須是工作在同一模式下,所以我們可以對(duì)我們的主設(shè)備的SPI模式進(jìn)行配置,通過(guò)CPOL(時(shí)鐘極性
    發(fā)表于 09-30 15:08

    時(shí)鐘抖動(dòng)與相位噪聲的關(guān)系

    時(shí)鐘抖動(dòng)和相位噪聲是數(shù)字系統(tǒng)和通信系統(tǒng)中兩個(gè)至關(guān)重要的概念,它們之間存在著緊密而復(fù)雜的關(guān)系。以下是對(duì)時(shí)鐘抖動(dòng)和相位噪聲關(guān)系的詳細(xì)探討,旨在全
    的頭像 發(fā)表于 08-19 18:01 ?512次閱讀

    探索SPI單線傳輸模式時(shí)鐘線與數(shù)據(jù)傳輸?shù)暮?jiǎn)化

    探索SPI單線傳輸模式時(shí)鐘線與數(shù)據(jù)傳輸?shù)暮?jiǎn)化之道 在當(dāng)今的嵌入式系統(tǒng)和微控制器通信中,串行外設(shè)接口(SPI)因其高速、全雙工和同步的特點(diǎn)而廣受歡迎。然而,隨著設(shè)備尺寸和復(fù)雜性的不斷減
    的頭像 發(fā)表于 05-28 18:26 ?1066次閱讀

    超詳細(xì)的SPI原理和通信模式

    SPI分為主、從兩種模式,一個(gè)SPI通訊系統(tǒng)需要包含一個(gè)(且只能是一個(gè))主設(shè)備,一
    發(fā)表于 02-29 12:33 ?3979次閱讀
    超詳細(xì)的<b class='flag-5'>SPI</b>原理和通信<b class='flag-5'>模式</b>

    四個(gè)單片機(jī)能共用一個(gè)晶振時(shí)鐘頻率來(lái)工作嗎?

    四個(gè)單片機(jī)能共用一個(gè)晶振時(shí)鐘頻率來(lái)工作嗎? 四個(gè)單片機(jī)共用一個(gè)晶振
    的頭像 發(fā)表于 01-31 11:31 ?1502次閱讀

    四個(gè)引腳無(wú)源晶振的接線方法

    無(wú)源晶振是一種常用的被動(dòng)元件,用于產(chǎn)生穩(wěn)定的時(shí)鐘信號(hào)。它通常有四個(gè)引腳,分別是VCC、GND、OUT和NC。
    的頭像 發(fā)表于 01-23 18:15 ?5998次閱讀

    示波器測(cè)量之抖動(dòng)的四個(gè)維度

    示波器測(cè)量之抖動(dòng)的四個(gè)維度? 抖動(dòng)是指信號(hào)的隨機(jī)波動(dòng)或變動(dòng),通常用于描述信號(hào)的不穩(wěn)定性或擾動(dòng)。在示波器測(cè)量中,抖動(dòng)是一個(gè)重要的指標(biāo),用于評(píng)估測(cè)量結(jié)果的準(zhǔn)確性和穩(wěn)定性。抖動(dòng)可以從四個(gè)維度進(jìn)行評(píng)估和分析
    的頭像 發(fā)表于 01-19 15:01 ?765次閱讀

    如何根據(jù)SPI最大時(shí)鐘18MHz計(jì)算AD7980能工作的最大采樣率是多少?

    您好: 我現(xiàn)在使用的一個(gè)微處理器的SPI最大時(shí)鐘18MHz,如果用一個(gè)AD7980工作在CS模式
    發(fā)表于 12-21 06:29

    請(qǐng)問(wèn)FPGA PLL產(chǎn)生的時(shí)鐘信號(hào)和AD9779A的數(shù)據(jù)時(shí)鐘信號(hào)的相位關(guān)系?

    打出,請(qǐng)問(wèn)FPGA PLL產(chǎn)生的時(shí)鐘信號(hào)和AD9779A的數(shù)據(jù)時(shí)鐘信號(hào)的相位關(guān)系? (2) AD9779A使用雙端口模式,請(qǐng)問(wèn)FPGA發(fā)送數(shù)據(jù)的時(shí)候,只要把AD9779A的TXENA
    發(fā)表于 12-20 07:12

    關(guān)于AD7779 DOUT模式下的時(shí)鐘問(wèn)題

    您好,我利用NXP K10芯片(M4內(nèi)核)硬件SPI 從機(jī)模式與AD7779 主機(jī)模式進(jìn)行通訊讀取AD7779 DOUT模式下第0,1兩個(gè)
    發(fā)表于 12-07 06:30

    請(qǐng)問(wèn)2個(gè)AD9576之間怎么實(shí)現(xiàn)同步來(lái)保證16個(gè)AD輸出時(shí)鐘相位都同步?

    的0-8輸出時(shí)鐘之間可以實(shí)現(xiàn)相位同步,那2個(gè)AD9576之間怎么實(shí)現(xiàn)同步來(lái)保證16個(gè)AD輸出時(shí)鐘相位都同步?
    發(fā)表于 12-05 08:16

    AD7606 SPI通信的時(shí)鐘極性時(shí)鐘相位要求是什么?

    AD7606的關(guān)于SPI通信的時(shí)鐘極性時(shí)鐘相位要求是什么? 我的主控芯片采用SPIAD760
    發(fā)表于 12-01 06:56

    LTC6915的采樣時(shí)鐘是多少?與FPGA系統(tǒng)時(shí)鐘相同嗎?

    LTC6915的采樣時(shí)鐘是多少,與FPGA 系統(tǒng)時(shí)鐘相同嗎
    發(fā)表于 11-14 07:55