<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        淺談SPI總線

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年08月16日   【字體:

        SPI總線概述

         

            SPI全稱是串行外設接口(Serial Peripheral Interface),是由Motorola提出的一種全雙工同步串行通信接口,通信波特率可以高達5Mbps,但具體速度大小取決于SPI硬件。SPI接口具有全雙工操作,操作簡單,數據傳輸速率較高的優點,但也存在沒有指定的流控制,沒有應答機制確認是否接收到數據的缺點。

         

        SPI總線的構成及信號類型

        SPI總線只需四條線(如圖1所示)就可以完成MCU與各種外圍器件的通訊:

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

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

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

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


                                                                                   圖1

        SPI通信采用主從模式(Master-Slave)架構,一般為一個Master和多個Slave的應用模式。SPI總線構成如圖2所示。


                                                                                    圖2

        SPI總線操作時序

        SPI接口在Master控制下產生的從器件使能信號和時鐘信號,兩個雙向移位寄存器按位傳輸進行數據交換,傳輸數據高位在前,低位在后(MSB first)。如圖3所示,在SCK的下降沿上數據改變,上升沿一位數據被存入移位寄存器。

         

        圖3

        在一個SPI時鐘周期內,會完成如下操作:

        1) Master通過MOSI線發送1位數據,同時Slave通過MOSI線讀取這1位數據

        2) Slave通過MISO線發送1位數據,同時Master通過MISO線讀取這1位數據

        Master和Slave各有一個移位寄存器,如圖4所示,而且這兩個移位寄存器連接成環狀。依照SCK的變化,數據以MSB first的方式依次移出Master寄存器和Slave寄存器,并且依次移入Slave寄存器和Master寄存器。當寄存器中的內容全部移出時,相當于完成了兩個寄存器內容的交換。



                                                                                       圖4

        另外,SPI有四種工作模式,通過設置時鐘空閑時為高或者低的狀態,以及數據是在時鐘的上升沿或下降沿鎖存可將SPI配置成相應的工作模式。

         

        SPI總線注意點

        1) Master配置SPI接口時鐘的時候一定要考慮從設備的操作時序要求,因為Master這邊的時鐘極性和相位都是以Slave為基準的。因此在時鐘極性的配置上一定要確定Slave是在SCK的下降沿還是上升沿輸出數據,是在SCK的上升沿還是下降沿接收數據。

        2) 當Slave時鐘頻率小于Master時鐘頻率時,如果Master的SCK的速率太快,會出現Slave接收到的數據不正確,而SPI接口又沒有應答機制確認Slave是否接收到數據從而導致通信傳輸數據錯誤。

        關閉窗口
        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮