• <table id="caaaa"><source id="caaaa"></source></table>
  • <td id="caaaa"><rt id="caaaa"></rt></td>
  • <table id="caaaa"></table><noscript id="caaaa"><kbd id="caaaa"></kbd></noscript>
    <td id="caaaa"><option id="caaaa"></option></td>
  • <noscript id="caaaa"></noscript>
  • <td id="caaaa"><option id="caaaa"></option></td>
    <td id="caaaa"></td>
  • 發布時間:2020-10-05 23:56 原文鏈接: 趣味SPI總線解析(一)

    什么是SPI?

    SPI全稱是串行外設接口(Serial Peripheral Interface),是由Motorola提出的一種全雙工(全雙工指可以同時(瞬時)進行信號的雙向傳輸(A→B且B→A))同步串行通信接口,通信波特率可以高達5Mbps,但具體速度大小取決于SPI硬件。

    SPI總線只需四條線就可以完成MCU與各種外圍器件的通訊。

    1)MOSI(SDI) – Master數據輸出,Slave數據輸入

    2)MISO (SDO) – Master數據輸入,Slave數據輸出

    3)SClK  – 時鐘信號,由Master產生

    4)/CS  – Slave使能信號,由Master控制。

    Msater為主模式,Slave從模式。SPI通信就是采用這樣的主從模式(Master-Slave)架構,一般為一個Master和多個Slave的應用模式。切記,誰為主,誰提供SCLK時鐘信號。

    在以上四根線中,CS是控制芯片是否被選中的,只有選信號為預先規定的使能信號時,對此芯片的操作才有效。這就允許主模式在同一總線上連接多個SPI設備成為可能。接下來再連接通訊的3根線就可以了。

    SPI如何實現通訊

    SPI也是串行通訊協議,是說數據是一位一位傳輸的。這是SCLK時鐘線存在的原因,由SCLK提供時鐘脈沖,SDI,SDO則基于此脈沖完成數據傳輸。操作時序很簡單,如下:

    看見時序圖了,就知道怎么通訊了。SPI接口在Master控制下產生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數據交換,傳輸數據高位在前,低位在后(MSB first)。在SCK的下降沿上數據改變,上升沿一位數據被存入移位寄存器。

    換個說法,SPI是一個環形總線結構,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。對于主機來說,上升沿發送、下降沿接收、高位先發送。

    上升沿到來的時候,sdi上的電平將被發送到從設備的寄存器中。從M_Sbuff寄存器的7位,發送到S_Sbuff寄存器的0位;

    下降沿到來的時候,sdi上的電平將被接收到主設備的寄存器中。從S_Sbuff寄存器的7位,發送到M_Sbuff寄存器的0位;

    一個完整的傳送周期是16位,即兩個字節,因為,首先主機要發送命令過去,然后從機根據主機的命令準備數據,主機在下一個8位時鐘周期才把數據讀回來。

    SPI總線比IIC總線傳輸數據省事。之前用過的IIC通訊,又有起始位,又有停止位的。SPI比較豪爽,對于主機來說,有上升沿就寫一位,有下降沿就讀一位。因為這樣,SPI能夠不等8位數據都傳完就停止。沒有了主機發出的SCLK脈沖,就不再有數據交換了。需要注意的是:我們的主設備能夠控制時鐘,因為我們的SPI通信并不像UART或者IIC通信那樣有專門的通信周期,有專門的通信起始信號,有專門的通信結束信號;所以我們的SPI協議能夠通過控制時鐘信號線,當沒有數據交流的時候我們的時鐘線要么是保持高電平要么是保持低電平。

    SPI注意事項與實現

    SPI總線有四種工作方式(SPI0, SPI1, SPI2, SPI3),其中使用的最為廣泛的是SPI0和SPI3方式。

    時鐘極性CPOL是用來配置SCLK的電平出于哪種狀態時是空閑態或者有效態,時鐘相位CPHA 是用來配置數據采樣是在第幾個邊沿:

    CPOL=0,表示當SCLK=0時處于空閑態,所以有效狀態就是SCLK處于高電平時;

    CPOL=1,表示當SCLK=1時處于空閑態,所以有效狀態就是SCLK處于低電平時;

    CPHA=0,表示數據采樣是在第1個邊沿,數據發送在第2個邊沿;

    CPHA=1,表示數據采樣是在第2個邊沿,數據發送在第1個邊沿。

    如上圖,乃SPI四種模式的時序圖。


    人体艺术视频