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

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

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

硬件電路設(shè)計(jì)之SPI電路設(shè)計(jì)

CHANBAEK ? 來(lái)源:一杯苦Coffee ? 作者:一杯苦Coffee ? 2023-12-07 18:16 ? 次閱讀

1 簡(jiǎn)介

SPI(Serial Peripheral Interface) 是串行外設(shè)接口的簡(jiǎn)稱,是微控制器MCU)與外圍設(shè)備通信最常見(jiàn)的接口,常見(jiàn)的外圍設(shè)備包含ADC/DAC、傳感器以及存儲(chǔ)器等。

2 SPI的特點(diǎn)

  • SPI有哪些引腳?

SPI是一種同步全雙工通信方式,我們一般采用四線SPI接口,具體包含以下這些信號(hào)

  • 時(shí)鐘信號(hào)(SPI Clock,SCLK)
  • 片選信號(hào)(Chip Select,SC)
  • 主機(jī)輸出,從機(jī)輸入(Master Output Slave Inpit,MOSI或DO)
  • 主機(jī)輸入,從機(jī)輸出(Master Inpit Slave Output,MISO或DI)

圖片

其中每個(gè)PIN腳都有其特定的功能,具體見(jiàn)下:

信號(hào)名稱功能描述
時(shí)鐘信號(hào)CLK主機(jī)用于產(chǎn)生時(shí)鐘信號(hào),主機(jī)和從機(jī)之間的數(shù)據(jù)同步。
片選信號(hào)CS用于選擇從機(jī),常低電平有效。
數(shù)據(jù)信號(hào)(MISO)從機(jī)將數(shù)據(jù)發(fā)送給主機(jī)。
數(shù)據(jù)信號(hào)(MOSI)主機(jī)將數(shù)據(jù)發(fā)送給從機(jī)。
  • SPI信號(hào)與I2C信號(hào)有哪些差異?

SPI接口與I2C接口有很明顯的不同,具體體現(xiàn)在以下幾個(gè)方面:

  • SPI時(shí)鐘的頻率比I2C時(shí)鐘頻率更高。
  • SPI采用四線制,I2C采用二線制。
  • SPI只能有一個(gè)主機(jī),I2C可以有多個(gè)主機(jī)(總線仲裁機(jī)制)。
  • SPI信號(hào)數(shù)據(jù)傳輸過(guò)程?

SPI通信需要的時(shí)鐘由主機(jī)(Master)產(chǎn)生,且主機(jī)通過(guò)片選信號(hào)來(lái)選擇通信的設(shè)備(低電平有效,由主機(jī)主動(dòng)拉低)。SPI能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送(MOSI)與接收(MISO),且SPI允許用戶靈活選擇時(shí)鐘的上升沿/下降沿進(jìn)行數(shù)據(jù)的采樣和移位。

3 時(shí)鐘極性和時(shí)鐘相位

  • 什么是時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)?

在SPI通信中。時(shí)鐘極性和時(shí)鐘相位是可以由用戶進(jìn)行設(shè)定的。

時(shí)鐘極性(CPOL) :決定了時(shí)鐘信號(hào)在空閑時(shí)的狀態(tài)(高電平或者低電平)。

時(shí)鐘相位(CPHA) :決定了是在上升沿或者下降沿進(jìn)行采樣和移位。

SPICPOLCOHA時(shí)鐘極性(空閑)時(shí)間(采樣/移位)
000低電平上升沿采樣、下降沿移出
101低電平下升沿采樣、上降沿移出
211高電平下升沿采樣、上降沿移出
310高電平上升沿采樣、下降沿移出
  • 時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)的圖解

說(shuō)明:

  • 綠色:表示數(shù)據(jù)傳輸?shù)拈_(kāi)始和結(jié)束。
  • 橙色:表示數(shù)據(jù)的采樣。
  • 藍(lán)色:表示數(shù)據(jù)的移位。
  • SPI模式0,CPOL = 0,CPHA = 0:CLK空閑狀態(tài) = 低電平,數(shù)據(jù)在上升沿采樣,并在下降沿移出。

圖片

  • SPI模式1,CPOL = 0,CPHA = 1:CLK空閑狀態(tài) = 低電平,數(shù)據(jù)在下降沿采樣,并在上升沿移出。

圖片

  • SPI模式2,CPOL = 1,CPHA = 0:CLK空閑狀態(tài) = 高電平,數(shù)據(jù)在下降沿采樣,并在上升沿移出。

圖片

  • SPI模式3,CPOL = 1,CPHA = 1:CLK空閑狀態(tài) = 高電平,數(shù)據(jù)在上升沿采樣,并在下降沿移出。

圖片

4 SPI的級(jí)聯(lián)

多個(gè)從機(jī)可與單個(gè)SPI主機(jī)一起使用。從機(jī)可以采用常規(guī)模式連接,或采用菊花鏈模式連接。

  • 常規(guī)模式

在常規(guī)模式下,主機(jī)需要為每個(gè)從機(jī)提供單獨(dú)的片選信號(hào)。一旦主機(jī)使能(拉低)片選信號(hào),MOSI/MISO線上的時(shí)鐘和數(shù)據(jù)便可用 于所選的從機(jī)。如果使能多個(gè)片選信號(hào),則MISO線上的數(shù)據(jù)會(huì)被破壞,因?yàn)橹鳈C(jī)無(wú)法識(shí)別哪個(gè)從機(jī)正在傳輸數(shù)據(jù)。從下圖可以看出,隨著從機(jī)數(shù)量的增加,來(lái)自主機(jī)的片選線的數(shù)量 也增加。這會(huì)快速增加主機(jī)需要提供的輸入和輸出數(shù)量,并限制可以使用的從機(jī)數(shù)量??梢允褂闷渌夹g(shù)來(lái)增加常規(guī)模式下的從機(jī)數(shù)量,例如使用多路復(fù)用器產(chǎn)生片選信號(hào)。

圖片

  • 菊花鏈模式

在菊花鏈模式下,所有從機(jī)的片選信號(hào)連接在一起,數(shù)據(jù)從一個(gè)從機(jī)傳播到下一個(gè)從機(jī)。在此配置中,所有從機(jī)同時(shí)接收同一SPI時(shí)鐘。來(lái)自主機(jī)的數(shù)據(jù)直接送到第一個(gè)從機(jī),該從機(jī)將數(shù)據(jù)提供給下一個(gè)從機(jī),依此類推。

圖片

使用該方法時(shí),由于數(shù)據(jù)是從一個(gè)從機(jī)傳播到下一個(gè)從機(jī),所以傳輸數(shù)據(jù)所需的時(shí)鐘周期數(shù)與菊花鏈中的從機(jī)位置成比例。例如在下圖所示的8位系統(tǒng)中,為使第3個(gè)從機(jī)能夠獲得數(shù)據(jù),需要24個(gè)時(shí)鐘脈沖,而常規(guī)SPI模式下只需8個(gè)時(shí)鐘脈沖。圖8顯示了時(shí)鐘周期和通過(guò)菊花鏈的數(shù)據(jù)傳播。并非所有SPI器件都支持菊花鏈模 式。請(qǐng)參閱產(chǎn)品數(shù)據(jù)手冊(cè)以確認(rèn)菊花鏈?zhǔn)欠窨捎谩?/p>

圖片

聲明:本文內(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)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150103
  • 電路設(shè)計(jì)
    +關(guān)注

    關(guān)注

    6636

    文章

    2398

    瀏覽量

    201129
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8257

    瀏覽量

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

    關(guān)注

    17

    文章

    1669

    瀏覽量

    90729
  • 串行外設(shè)接口
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    3986
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    硬件電路設(shè)計(jì)與開(kāi)發(fā)項(xiàng)目案例智能空氣凈化系統(tǒng)

    項(xiàng)目名稱:智能空氣凈化系統(tǒng) 張飛硬件電路設(shè)計(jì)與開(kāi)發(fā)-入門(mén)篇(三極管/MOS管/運(yùn)放/電路設(shè)計(jì)
    的頭像 發(fā)表于 05-14 10:23 ?4606次閱讀

    怎么成為硬件電路設(shè)計(jì)高手?

    ▼關(guān)注公眾號(hào): 工程師看海▼ ? 在現(xiàn)代科技快速發(fā)展的時(shí)代,電子設(shè)備無(wú)處不在,而硬件電路設(shè)計(jì)是實(shí)現(xiàn)這些設(shè)備功能的基礎(chǔ)。無(wú)論是智能手機(jī)、電腦、家用電器,還是工業(yè)控制系統(tǒng),都需要經(jīng)過(guò)精密的電路設(shè)計(jì)來(lái)實(shí)現(xiàn)
    的頭像 發(fā)表于 07-28 13:10 ?4528次閱讀
    怎么成為<b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b>高手?

    硬件電路設(shè)計(jì)接地問(wèn)題

    電路設(shè)計(jì)中,“接地”是一個(gè)無(wú)法避免的問(wèn)題。接地需要考慮的主要因素:使用場(chǎng)景,不存在通用的接地方式。本文我們將以一種通俗易懂的方式談?wù)劷拥貑?wèn)題的本質(zhì)。
    的頭像 發(fā)表于 11-13 16:38 ?1534次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b><b class='flag-5'>之</b>接地問(wèn)題

    硬件電路設(shè)計(jì)晶體與晶振電路設(shè)計(jì)

      晶體與晶振在電路設(shè)計(jì)中的應(yīng)用十分廣泛,對(duì)于數(shù)字電路,一個(gè)穩(wěn)定的時(shí)鐘信號(hào),是系統(tǒng)穩(wěn)定的前提。
    的頭像 發(fā)表于 11-22 10:44 ?1745次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b><b class='flag-5'>之</b>晶體與晶振<b class='flag-5'>電路設(shè)計(jì)</b>

    硬件電路設(shè)計(jì)DDR電路設(shè)計(jì)(1)

    電路設(shè)計(jì)中常見(jiàn)的DDR屬于SDRAM,中文名稱是同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
    的頭像 發(fā)表于 11-24 17:28 ?3702次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b><b class='flag-5'>之</b>DDR<b class='flag-5'>電路設(shè)計(jì)</b>(1)

    硬件電路設(shè)計(jì)

    十五年硬件電路設(shè)計(jì)精華
    發(fā)表于 11-08 17:26

    硬件電路設(shè)計(jì)流程系列

    一、硬件電路設(shè)計(jì)流程系列--硬件電路設(shè)計(jì)規(guī)范 二、硬件電路設(shè)計(jì)流程系列--方案設(shè)計(jì)(1) :主芯
    發(fā)表于 10-17 17:16

    核心板硬件電路設(shè)計(jì)

    核心板接口說(shuō)明核心板硬件電路設(shè)計(jì)USB Host電路設(shè)計(jì)
    發(fā)表于 02-01 06:22

    硬件電路設(shè)計(jì)的思路分享

    在學(xué)習(xí)電路設(shè)計(jì)的時(shí)候,不知道你是否有這樣的困擾:明明自己學(xué)了很多硬件電路理論,也做過(guò)了一些基礎(chǔ)操作實(shí)踐,但還是無(wú)法設(shè)計(jì)出自己理想的電路。歸根結(jié)底,我們?nèi)鄙俚氖?/div>
    發(fā)表于 11-11 08:40

    硬件電路設(shè)計(jì)與實(shí)踐

    硬件電路設(shè)計(jì)與實(shí)踐,非常實(shí)用的教材 有需要的朋友下來(lái)看看
    發(fā)表于 12-08 14:48 ?0次下載

    硬件電路設(shè)計(jì)具體詳解

    硬件電路設(shè)計(jì)具體詳解。
    發(fā)表于 04-05 11:51 ?75次下載

    硬件電路設(shè)計(jì)流程--原理圖設(shè)計(jì)

    電路教程相關(guān)知識(shí)的資料,關(guān)于硬件電路設(shè)計(jì)流程--原理圖設(shè)計(jì)
    發(fā)表于 10-10 14:34 ?0次下載

    硬件電路設(shè)計(jì)“磁珠”的應(yīng)用資料下載

    電子發(fā)燒友網(wǎng)為你提供硬件電路設(shè)計(jì)“磁珠”的應(yīng)用資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣
    發(fā)表于 04-15 08:49 ?13次下載
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b><b class='flag-5'>之</b>“磁珠”的應(yīng)用資料下載

    主板電源DC-DC電路設(shè)計(jì)電容的選擇

    主板電源DC-DC電路設(shè)計(jì)電容的選擇
    發(fā)表于 11-18 17:15 ?13次下載

    硬件電路設(shè)計(jì)的基本流程、作用和注意事項(xiàng)

    硬件電路設(shè)計(jì)是一種設(shè)計(jì)電子設(shè)備硬件電路的過(guò)程,涉及多種電子元件的選型、連接方式、布局設(shè)計(jì)等工作。電子產(chǎn)品的功能都是靠硬件
    的頭像 發(fā)表于 06-30 13:56 ?1738次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b>的基本流程、作用和注意事項(xiàng)