在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

串行通信接口SPI接口介紹

jf_78858299 ? 來源:長點芯 ? 作者:阿杰 ? 2023-04-04 15:15 ? 次閱讀

前言:

接口的存在是使得芯片的設計達到 模塊化modularity ),就像在第一篇文章所講到的,我們可以通過不同的IP組成一個功能完備的芯片(或稱之為 SoC )。

芯片的接口可以分為兩大類:片上通信接口片外通信接口 。以AMBA為代表的片上接口主要有靈活,效率高的優勢,而片外接口的選擇則更加廣泛,根據不同的成本需求或是性能需求,能夠選擇的片外通信接口有IIC,SPI等。

今天討論的SPI接口是一種十分常用的片外通信接口,經常作為芯片與片外存儲器(多為 serial nand flash )的通信接口。同時,硬件物理接口也是應屆生面試時被提問最多的問題之一。有意在畢業后從事計算機硬件行業的朋友們可以在準備應聘的時候多多儲備這方面的知識。

SPI接口介紹

SPI是一種串行通信接口,全稱是 Serial Peripheral Interface 。它是一種 full-duplex (全雙工:支持發射端TX與接收端RX同時雙向傳輸數據)接口。最基礎的SPI接口由四根線組成:

  1. SCLK(Serial Clock)
  2. SS(Slave Select或CS:Chip Select)
  3. MOSI(Mater Out Slave In)
  4. MISO(Mater In Slave Out)

如下圖。

圖片

SPI接口pin

1. SCLK:

首先是這根時鐘線,這也是將接口分為 Synchronous (同步接口)與 asynchronous (異步接口)的重要標志。由于異步接口發送與采集數據沒有一個統一控制信號,所以沒法確保發送端與接收端有相同的收發 data rate 這給現在許多使用同步設計方法的芯片帶來的很多難題,所以這也是目前同步接口更受歡迎的原因。

圖片

異步通信接口

圖片

同步通信接口

不過當然了,異步接口也有它的好處。可以在數據的起始位和終止位來添加兩個 flag (標記符)來控制數據的接收,而且需要在使用前確保兩個模塊收發數據的速率是相同的。

所以要是有了這個由 Master (一般是一個 microcontroller )發出的CLK給slave,slave端就知道什么時候接受數據了,可以是上升沿也可以是下降沿,一般由datasheet決定。時鐘的頻率也取決于slave能夠正常工作的時鐘頻率范圍,一般在80MHz左右。

2.SS/CS:

因為SPI接口有時候會連有多個Slave(一般不超過三個),所以隨著slave的增加,master端就會需要越來越多的pin口。當Master與slave處于斷鏈狀態時,SS/CS一般是置成高位的,這樣在master決定要給與哪個slave交互的時候就會把相應的SS/CS置低,稱作 active low

3.MISO/MOSI:

剩下的幾個接口都是SPI的數據線,在每個時鐘周期內,master都會向slave發送1bit數據,slave也可以同時向master發送1bit數據。所以說假設某個SPI接口正工作在50MHz的時鐘頻率,那么它的數據傳輸速率可以達到50Mbps/100Mbps(隨著數據線的增加SPI的數據傳輸速率還能增大更多)。相較于普通的IIC接口已經高出不少了。這也是為什么對于許多傳感器來說會選擇SPI接口。

圖片

多位寬數據pin口的SPI通信接口

其實呢,SPI作為一個常用的外設接口,卻不存在一個標準,因此沒有用于驗證給定產品的接口一致性的基準。。所以SPI可以說是一個 * de facto standard ( 在實踐中被接受,但尚未經過任何正式程序以達成共識的標準,甚至可能沒有公開可用的文檔 )。* * *

A de facto standard :is one that has become accepted in practice but has not undergone any formal process to obtain consensus and may not even have publicly available documentation。

并且在SPI中沒有任何通信流程控制單元,SPI的硬件實現有時候就是靠一個簡單的 shift register ,時鐘這個唯一的控制信號的穩定性至關重要。除此之外,如何確保數據的傳輸是否準確也十分重要,一般只能通過軟件來檢測。在一些 real-time embedded system (實時嵌入式系統)中,軟件必須以比數據到達更快的速度處理接收到的數據。通過接收端的FIFO Buffer,可以緩解此問題。SPI接口中沒有嵌入到錯誤檢測和校正功能中。如果需要,必須在軟件中實現錯誤檢測/糾正。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7492

    瀏覽量

    163843
  • 接口
    +關注

    關注

    33

    文章

    8601

    瀏覽量

    151167
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1706

    瀏覽量

    91591
  • 通信接口
    +關注

    關注

    3

    文章

    238

    瀏覽量

    30996
收藏 人收藏

    評論

    相關推薦

    基于PC/104 總線與CPLD 的SPI 接口設計

    本文根據SPI 同步串行接口通信協議,介紹了在CPLD 中利用VHDL 語言實現PC/104 總線擴展
    發表于 05-30 09:28 ?41次下載

    SPI接口讀寫串行EEPROM

    SPI接口讀寫串行EEPROM:93C46為采用3線串行同步總線SPI接口方式的EEPROM,其
    發表于 09-19 11:39 ?89次下載

    理解ATE SPI (串行外設接口)

    理解ATE SPI (串行外設接口) 大多數Maxim® ATE設計都采用了一個串行接口,以便從外部控制器件。這種
    發表于 01-26 16:34 ?2619次閱讀
    理解ATE <b class='flag-5'>SPI</b> (<b class='flag-5'>串行</b>外設<b class='flag-5'>接口</b>)

    串行接口SPI接口應用設計

    使用的同步串行三線SPI 接口,可以方便的連接采用SPI 通信協議的外圍或另一片AVR 單片機,實現在短距離內的高速同步
    發表于 11-07 17:28 ?80次下載

    AVR單片機串行接口SPI接口應用設計

    使用的同步串行三線SPI接口,可以方便的連接采用SPI通信協議的外圍或另一片AVR單片機,實現在短距離內的高速同步
    發表于 11-09 17:37 ?3895次閱讀

    一文讀懂SPI串行外設接口

    SPI總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。正是由于有了
    發表于 04-27 15:19 ?1w次閱讀

    基于MSP430F2的SPI串行同步通信

    通用串行通信接口(USCI)采用一個硬件模塊支持多種串行通信方式。本文檔內容介紹同步外圍
    發表于 09-21 15:34 ?2次下載
    基于MSP430F2的<b class='flag-5'>SPI</b><b class='flag-5'>串行</b>同步<b class='flag-5'>通信</b>

    串行外設接口SPI通信協議的應用

    SPI串行外設接口(SerialPeripheral Interface)的縮寫。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片
    發表于 01-09 14:58 ?1879次閱讀
    <b class='flag-5'>串行</b>外設<b class='flag-5'>接口</b><b class='flag-5'>SPI</b><b class='flag-5'>通信</b>協議的應用

    嵌入式硬件通信接口協議中的串行通信接口-SPI

    本節繼續講嵌入式硬件通信接口協議中的另外一個串行通信接口-SPI。相比于UART串口協議,
    發表于 02-05 11:35 ?1642次閱讀
    嵌入式硬件<b class='flag-5'>通信</b><b class='flag-5'>接口</b>協議中的<b class='flag-5'>串行</b><b class='flag-5'>通信</b><b class='flag-5'>接口</b>-<b class='flag-5'>SPI</b>

    Firefly-RK328-SPI接口介紹

    SPI是一種高速的,全雙工,同步串行通信接口,用于連接微控制器、傳感器、存儲設備等,本文以指紋識別模塊為例簡單介紹
    的頭像 發表于 11-25 10:26 ?1986次閱讀
    Firefly-RK328-<b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    Firefly-RK3128--SPI接口介紹

    SPI是一種高速的,全雙工,同步串行通信接口,用于連接微控制器、傳感器、存儲設備等,本文以指紋識別模塊為例簡單介紹
    的頭像 發表于 11-28 16:32 ?2971次閱讀
    Firefly-RK3128--<b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>介紹</b>

    通信接口的作用_常用的串行通信接口有哪些

    本文首先介紹通信接口的作用,其次闡述了通信接口的種類,最后介紹了常用的
    發表于 03-28 10:33 ?1.8w次閱讀

    基于SPI串行總線接口的Verilog實現

    與各種外圍接口器件以串行方式進行通信、交換信息。本文簡述了SPI總線的特點,介紹了其4條信號線,SPI
    的頭像 發表于 05-29 10:16 ?5115次閱讀
    基于<b class='flag-5'>SPI</b><b class='flag-5'>串行</b>總線<b class='flag-5'>接口</b>的Verilog實現

    SPI 串行外設接口

    **SPI簡介:**串行外設接口(Serial Peripheral Interface Bus)SPI是一種用于芯片通信的同步
    發表于 12-20 19:31 ?9次下載
    <b class='flag-5'>SPI</b> <b class='flag-5'>串行</b>外設<b class='flag-5'>接口</b>

    SPI串行外設接口設計實現

    SPI 全稱為 Serial Peripheral Interface,譯為串行外設接口。它是 Motorola 公司推出的一種相對高速的同步、全雙工的通信總線協議。
    發表于 05-29 15:40 ?1492次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>串行</b>外設<b class='flag-5'>接口</b>設計實現
    主站蜘蛛池模板: gogo亚洲肉体艺术100| 国产色婷婷亚洲| www久久久| 波多野结衣福利| 在线观看www妖精免费福利视频| 日韩系列| 男人你懂的在线观看视频| 亚洲第一视频| 一区二区三区在线免费| 色色色色色色网| 午夜一区二区三区| 亚洲一区三区| 欧美日韩一区二区三区视频| 天天影视网天天影网| 亚洲欧美视频一区二区三区| 人人做人人澡人人人爽| 天天摸天天做天天爽天天弄| 亚洲精品第一| 噜噜啪啪| 国产98在线传媒在线视频| 亚洲第一区第二区| 99久久综合精品免费| 757福利影院合集3000| 亚洲色图国产精品| 成年色黄大色黄大片 视频| 日本xxxxxx69| 日本黄色片免费看| 女同在线视频| 亚洲精品美女| 夜夜骑首页| 黄色在线网站视频| 起碰成人免费公开网视频| 欧美成人午夜影院| 亚洲a在线观看| 羞羞答答xxdd影院欧美| 好紧好爽太大了h快穿| 国产高清视频在线免费观看| 黄色大秀视频| 色噜噜噜噜色| 男女性高爱潮免费的国产| 午夜欧美成人久久久久久|