女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

超全面!SPI通信協議詳解

億佰特物聯網應用專家 ? 2023-08-14 10:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是SPI?

SPI的英文全稱為Serial Peripheral Interface,顧名思義為串行外設接口。SPI是一種同步串行通信接口規范,主要應用于嵌入式系統中的短距離通信。該接口由摩托羅拉在20世紀80年代中期開發,后發展成了行業規范。

SPI簡介?

SPI是一種高速的、全雙工的、同步的通信總線,并且至多僅需使用4根線,節約了芯片的管腳,SPI主要應用于EEPROM、FLASH、ADCDAC等芯片,還有數字信號處理器和數字信號解碼器之間。SPI設備之間采用全雙工模式通信,是一個主機和一個或者多個從機的主從模式。主機負責初始化幀,這個數據傳輸幀可以用于讀與寫兩種操作,片選線可以從多個從機選擇一個來響應主機的請求。SPI接口定義如下表:1f98df42-3a47-11ee-bbcf-dac502259ad0.png由上表也可以看出當SPI設備間通信時,數據線應該是MOSI連接MOSI,MISO連接MISO,SCLK與SCLK相連,而不是像串口那樣TX、RX進行反接。當只有單一SPI從機設備時,如果從機設備允許的話,可直接將CS/SS線固定在低電平。然而類似于MAX1242這款需要CS/SS線的下降沿來觸發的芯片,則必須將CC/SS線與主機相連。如下圖,為一主一從連接方式。
1fd45cde-3a47-11ee-bbcf-dac502259ad0.png對于多個從機設備時,則每個從機都需要一根CS/SS線來與主機相連,從而達到主機能與任一從機通信的目的。如下圖,為一主多從的連接方式。1febb0e6-3a47-11ee-bbcf-dac502259ad0.png大多數從機設備都有著三態邏輯的特性,因此當設備未被選中時,它們的MISO信號線會變成高阻抗狀態(電氣斷開)。沒有三態輸出的設備則需外接三態緩沖器才能與其他的從機設備共享SPI總線。

數據傳輸

在SPI通信中,SPI主機設備以從機設備支持的頻率通過SCLK線給到SPI從機設備,這點也意味著從機是無法主動向主機發送數據的,只能主機輪詢向從機發或者從機設備主動通過一個IO口來告知主機數據到達。在SPI每個時鐘周期內,都會進行一次全雙工數據的傳輸。主機通過MOSI線上發送1bit時,從機也會在讀取到之后通過MISO線發送1bit數據出去。這說明,即使只進行單工通信,也會保持此通信順序。SPI傳輸通常涉及到兩個給定了字長的移位寄存器。例如在主機、從機中的8bit的移位寄存器。它們以虛擬環形拓撲連接,數據通常先從最高有效位被移出。在時鐘沿,主機和從機都移出1bit數據從傳輸線上給到對方。在下一個時鐘邊沿來到時,雙方的接收器再對傳輸線上的該bit進行采樣,并將其設置為移位寄存器的新的最低有效位。在寄存器位被移出和移入后,主機和從機交換了寄存器值。如果需要交換更多數據,則重新加載移位寄存器并重復該過程。傳輸可以持續任意數量的時鐘周期。完成后,主機停止切換時鐘信號。如下圖,為主從機之間的交互時的移位寄存器示意圖。20317522-3a47-11ee-bbcf-dac502259ad0.png其中上圖的通信流程如下:
1.SPI主機首先現將SS或CS線拉低,以此來告知SPI從機通信開始。2.主機通過發送SCLK時鐘信號,來告知從機即將進行的讀寫操作。這里的SCLK時鐘信號是由SPI的模式來決定是高電平還是低電平有效的,這點在稍后會進行介紹。3.主機(Master)將要發送的數據寫到發送數據緩存區(Memory),緩存區經過移位寄存器(0~7),串行移位寄存器通過MOSI信號線將字節一位一位的移出去傳送給從機,同時MISO接口接收到的數據經過移位寄存器一位一位的移到接收緩存區。4.從機(Slave)也將自己的串行移位寄存器(0~7)中的內容通過MISO信號線返回給主機。同時通過MOSI信號線接收主機發送的數據,這樣,兩個移位寄存器中的內容就被交換。

SPI通信的4種工作模式

SPI通信中有4種不同的操作模式,不同的從機設備可能在出廠時就被設置好了某種模式,并且無法更改。但是SPI通信必須處于同一種模式下才能進行。因此我們應該對自己手里的SPI主機設備進行模式的配置,也就是通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制SPI主設備的通信模式,具體如下:時鐘極性(CPOL)定義了SCLK時鐘線空閑狀態時的電平:1.CPOL=0,即SCLK=0,表示SCLK時鐘信號線在空閑狀態時的電平為低電平,因此有效狀態為高電平。2.CPOL=1,即SCLK=1,表示SCLK時鐘信號線在空閑狀態時的電平為高電平,因此有效狀態為低電平。時鐘相位(CPHA)定義了數據位相對于時鐘線的時序(即相位):1.CPHA=0,即表示輸出(out)端在上一個時鐘周期的后沿改變數據,而輸入(in)端在時鐘周期的前沿(或不久之后)捕獲數據。輸出端保持數據有效直到當前時鐘周期的尾部邊緣。對于第一個時鐘周期來說,第一位的數據必須在時鐘前沿之前出現在MOSI線上。也就是一個CPHA=0的周期包括半個時鐘空閑和半個時鐘置位的周期。2.CPHA=1,即表示輸出(out)端在當前時鐘周期的前沿改變數據,而輸入(in)端在時鐘周期的后沿(或不久之后)捕獲數據。輸出端保持數據有效直到下一個時鐘周期的前沿。對于最后一個時鐘周期來說,從機設備在片選信號消失之前保持MISO信號線有效。也就是一個CHPA=1的周期包括半個時鐘置位和半個時鐘空閑的周期。注意:此處的前沿和后沿的意思表示在每個周期中第一個出現的邊沿和最后一個出現的邊沿。總的來說則為:當時鐘為正向時鐘時,時鐘線的上升沿為前沿,時鐘的下降沿為后沿,反之。如下表,為SPI通信的4種模式:204103ca-3a47-11ee-bbcf-dac502259ad0.png下圖顯示了時鐘極性和相位的時序圖。紅線表示時鐘的前沿,藍線表示時鐘的后沿。
2071ac96-3a47-11ee-bbcf-dac502259ad0.png

SPI協議的優缺點

SPI的優點在于它有著比I2C更高的吞吐量,不被最大時鐘速度所限制,可實現潛在的高速、極為簡單的硬件接口,外圍電路使用的上拉電阻是比I2C協議更少的,這意味著它具有比I2C的功耗更低、從機的時鐘來源來自主機設備,無需新增精密振蕩器、從機不需要唯一的地址、相對于并行接口而言,使用的引腳數目大大減少等優點。但同時有著一定的缺點,例如SPI沒有帶內尋址、當使用多個不同模式的從機設備時,主機設備切換模式時重新初始化,會使得訪問從機設備速度變慢、SPI從機設備沒有硬件流控,只能通過主機自主的延遲下個時鐘周期到來的時間、僅能在短距離通信等缺點。但能在避免SPI的缺點的方向來應用SPI的話,SPI的優點讓它遠遠優于其他協議。's

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

    關注

    18

    文章

    6206

    瀏覽量

    137801
  • 協議
    +關注

    關注

    2

    文章

    615

    瀏覽量

    40070
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1804

    瀏覽量

    95919
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Modbus 轉 Profinet:工業通信協議的橋梁

    1. 引言 在工業自動化領域,Modbus 和 Profinet 是兩種廣泛使用的通信協議。Modbus 是一種串行通信協議,常用于連接工業電子設備,而 Profinet 是一種基于以太網的工業
    的頭像 發表于 02-24 11:11 ?349次閱讀
    Modbus 轉 Profinet:工業<b class='flag-5'>通信協議</b>的橋梁

    iic協議spi協議的區別

    I2C協議SPI協議的區別 1. 通信方式 I2C :是一種多主機、多從機的通信協議,使用兩條線(數據線SDA和時鐘線SCL)進行
    的頭像 發表于 02-05 11:28 ?3221次閱讀

    詳解REST API通信協議

    的一環。 為了實現這一目標,我們采用了多種通信協議,包括MQTT、OPC UA、AMQP和REST API,它們共同構成了智能通信的堅實基礎。本期內容,讓我們聚焦REST API通信協議,探索它如何在IIoT領域中發揮關鍵作用。
    的頭像 發表于 01-17 12:40 ?1004次閱讀
    <b class='flag-5'>詳解</b>REST API<b class='flag-5'>通信協議</b>

    ADS1278通過SPI通信協議讀取轉換數據時遇到的疑問求解

    我用的是TI的ADS1278進行六通道電壓同步采樣,工作在SPI的TDM,離散數據模式。在通過SPI通信協議讀取轉換數據時,采用了下面的讀取方法: 通過DSP處理器SPI接口MIS
    發表于 01-14 06:31

    總線通信協議解析及應用

    在現代計算機系統中,總線通信協議扮演著至關重要的角色。它們定義了數據如何在處理器、內存、輸入/輸出設備等組件之間傳輸。 總線通信協議的基本概念 總線通信協議是一組規則,它規定了數據在系統總線上的傳輸
    的頭像 發表于 12-31 10:07 ?1061次閱讀

    常見串口通信協議 如何設置串口參數

    串口通信是一種常見的通信方式,廣泛應用于計算機、嵌入式系統和各種電子設備之間。串口通信協議主要是指在串行通信中,數據傳輸的格式和規則。 常見串口通信
    的頭像 發表于 12-27 09:51 ?3402次閱讀

    RS232接口通信協議詳解 如何測試RS232接口的性能

    RS232接口通信協議詳解 RS232接口通信協議是一種廣泛應用的串行通信協議,它規定了數據在設備之間的傳輸方式和格式。以下是RS232接口通信協議
    的頭像 發表于 12-18 18:03 ?3813次閱讀

    AUTOSAR通信協議解析 如何實現AUTOSAR通信

    通信協議棧是一個復雜的系統,它涵蓋了多種通信方式和模塊,以實現車內ECU之間的高效、可靠的數據交換。以下是對AUTOSAR通信協議的解析及實現AUTOSAR通信的方法: 一、AUTOS
    的頭像 發表于 12-17 14:54 ?2811次閱讀

    上位機通信協議詳解 嵌入式上位機設計流程

    上位機通信協議詳解 上位機通信協議是指上位機(通常是指具有強大計算能力和數據處理能力的計算機系統)與下位機(如傳感器、執行器等)之間進行數據交換和通信所遵循的規則和標準。以下是對幾種常
    的頭像 發表于 12-04 10:21 ?2976次閱讀

    串口通信協議解析 串口通信應用實例

    串口通信協議解析 串口通信協議是指規定了數據包的內容,內容包含了起始位、主體數據、校驗位及停止位,雙方需要約定一致的數據包格式才能正常收發數據的有關規范。以下是串口通信協議的介紹: 基本概念
    的頭像 發表于 11-21 17:03 ?2133次閱讀

    RS232串口通信協議詳解

    在計算機硬件和通信領域,RS-232串口通信協議是一個歷史悠久且廣泛使用的標準。它允許計算機通過串行接口與各種外部設備進行通信,如調制解調器、鼠標、打印機等。 RS-232的歷史和定義 RS-232
    的頭像 發表于 11-21 09:24 ?3141次閱讀

    CAN總線與其他串行通信協議比較

    CAN總線與其他串行通信協議相比,具有其獨特的特點和優勢。以下是對CAN總線與UART、I2C、SPI等常見串行通信協議的比較: 一、基本特性比較 協議名稱 引腳 雙工方式 時鐘 電平
    的頭像 發表于 11-12 09:56 ?2214次閱讀

    PROFINET通信協議是什么

    PROFINET通信協議是一種專為工業自動化領域設計的基于以太網的實時通信協議。以下是對PROFINET通信協議的詳細解析,包括其定義、特點、體系結構、工作原理、通信方式、應用領域以及
    的頭像 發表于 09-25 18:13 ?5105次閱讀

    SPI通信協議的基本概念和工作模式

    SPI(Serial Peripheral Interface)通信協議,即串行外圍設備接口,是一種高速、全雙工、同步通信總線,由摩托羅拉公司提出并廣泛應用。SPI以其高效的數據傳輸能
    的頭像 發表于 09-09 17:04 ?3193次閱讀

    簡單認識UART通信協議

    UART(Universal Asynchronous Receiver/Transmitter,通用異步收發傳輸器)通信協議是一種常見的串行通信協議,廣泛應用于計算機、嵌入式系統、傳感器、無線通信
    的頭像 發表于 07-25 18:07 ?2136次閱讀