新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > SPI總線的特點、工作方式及常見錯誤解答

        SPI總線的特點、工作方式及常見錯誤解答

        作者: 時間:2011-05-12 來源:網(wǎng)絡 收藏

          時序詳解:

          CPOL:時鐘極性選擇,為0時空閑為低電平,為1時空閑為高電平

          CPHA:時鐘相位選擇,為0時在SCK第一個跳變沿采樣,為1時在SCK第二個跳變沿采樣

          1:

          當CPHA=0、CPOL=0時工作在方式1。MISO引腳上的數(shù)據(jù)在第一個SPSCK沿跳變之前已經(jīng)上線了,而為了保證正確傳輸,MOSI引腳的MSB位必須與SPSCK的第一個邊沿同步,在SPI傳輸過程中,首先將數(shù)據(jù)上線,然后在同步時鐘信號的上升沿時,SPI的接收方捕捉位信號,在時鐘信號的一個周期結束時(下降沿),下一位數(shù)據(jù)信號上線,再重復上述過程,直到一個字節(jié)的8位信號傳輸結束。

          2:

          當CPHA=0、CPOL=1時SPI總線工作在方式2。與前者唯一不同之處只是在同步時鐘信號的下降沿時捕捉位信號,上升沿時下一位數(shù)據(jù)上線。

          3:

          當CPHA=1、CPOL=0時SPI總線工作在方式3。MISO引腳和MOSI引腳上的數(shù)據(jù)的MSB位必須與SPSCK的第一個邊沿同步,在SPI傳輸過程中,在同步時鐘信號周期開始時(上升沿)數(shù)據(jù)上線,然后在同步時鐘信號的下降沿時,SPI的接收方捕捉位信號,在時鐘信號的一個周期結束時(上升沿),下一位數(shù)據(jù)信號上線,再重復上述過程,直到一個字節(jié)的8位信號傳輸結束。

          工作方式4:

          當CPHA=1、CPOL=1時SPI總線工作在方式4。與前者唯一不同之處只是在同步時鐘信號的上升沿時捕捉位信號,下降沿時下一位數(shù)據(jù)上線。

          4.SPI總線常見錯誤

          4.1 SPR設定錯誤

          在從器件時鐘頻率小于主器件時鐘頻率時,如果SCK的速率設得太快,將導致接收到的數(shù)據(jù)不正確(SPI接口本身難以判斷收到的數(shù)據(jù)是否正確,要在軟件中處理)。

          整個系統(tǒng)的速度受三個因素影響:主器件時鐘CLK主、從器件時鐘CLK從和同步串行時鐘SCK,其中SCK是對CLK主的分頻,CLK從和CLK主是異步的。要使SCK無差錯無遺漏地被從器件所檢測到,從器件的時鐘CLK從必須要足夠快。下面以SCK設置為CLK主的4分頻的波形為例,分析同步串行時鐘、主時鐘和從時鐘之間的關系。

        主從時鐘和SCK的關系

        圖4主從時鐘和SCK的關系

          如圖4所示,當T  圖5中,當T從≥TSCK/2=2T主時,在clk_s的兩個上升沿都檢測不到SCK的低電平,這樣從器件就會漏掉一個SCK。在某些相位條件下,即使CLK從僥幸能檢測到SCK的低電平,也不能保證可以繼續(xù)檢測到下一個SCK。只要遺漏了一個SCK,就相當于串行數(shù)據(jù)漏掉了一個位,后面繼續(xù)接收/發(fā)送的數(shù)據(jù)就都是錯誤的了。

        主從時鐘和SCK的關系

        圖5主從時鐘和SCK的關系

          根據(jù)以上的分析,SPR和主從時鐘比的關系如表1所列。

        表1 SPR的設置和主從時鐘周期比值之間的關系


        SPR的設置和主從時鐘周期比值之間的關系

          在發(fā)送數(shù)據(jù)之前按照表1對SPR進行設置,SPR設定錯誤可以完全避免。

          4.2 模式錯誤(MODF)

          模式錯誤表示的是主從模式選擇的設置和引腳SS的連接不一致。

          器件工作在主模式的時候(MSTR=1),它的片選信號SS引腳必須接高電平。在發(fā)送數(shù)據(jù)的過程中,如果它的SS從高電平跳至低電平,在SS的下降沿,SPI模塊將檢測到模式錯誤,對MODF位置1,強制器件從主模式轉入從模式(即令MSTR=0),清空內(nèi)部計數(shù)器counter,并結束正在進行的數(shù)據(jù)傳輸,如圖6(a)所示。

          對從模式(MSTR=0),在沒有數(shù)據(jù)傳送的時候,SS高電平表示從器件未被選中,從器件不工作,MISO輸出高阻;在數(shù)據(jù)傳輸過程中,片選信號SS必須接低電平,且SS不允許跳變。如果SS從低電平跳到高電平,在SS的上跳沿,SPI模塊也將檢測到模式錯誤,清空內(nèi)部計數(shù)器counter,并結束正在進行的數(shù)據(jù)傳輸。直到SS恢復為低電平,重新使SPEN=1時,才重新開始工作,如圖6(b)所示。

        晶振相關文章:晶振原理


        關鍵詞: SPI 總線 工作方式

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 开原市| 营山县| 东阿县| 康定县| 绿春县| 新竹县| 会东县| 云和县| 富平县| 嘉禾县| 禄劝| 双鸭山市| 乌苏市| 承德县| 通山县| 新昌县| 望都县| 南投市| 三亚市| 靖西县| 搜索| 苗栗县| 资源县| 都昌县| 和顺县| 威宁| 平江县| 昌图县| 德昌县| 牡丹江市| 鄂温| 沙洋县| 车险| 虹口区| 冕宁县| 喀什市| 浦江县| 辉县市| 哈密市| 九龙城区| 肥西县|