<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > SPI總線的特點(diǎn)、工作方式及常見錯(cuò)誤解答

          SPI總線的特點(diǎn)、工作方式及常見錯(cuò)誤解答

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

            時(shí)序詳解:

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

            CPHA:時(shí)鐘相位選擇,為0時(shí)在SCK第一個(gè)跳變沿采樣,為1時(shí)在SCK第二個(gè)跳變沿采樣

            1:

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

            2:

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

            3:

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

            工作方式4:

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

            4.SPI總線常見錯(cuò)誤

            4.1 SPR設(shè)定錯(cuò)誤

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

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

          主從時(shí)鐘和SCK的關(guān)系

          圖4主從時(shí)鐘和SCK的關(guān)系

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

          主從時(shí)鐘和SCK的關(guān)系

          圖5主從時(shí)鐘和SCK的關(guān)系

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

          表1 SPR的設(shè)置和主從時(shí)鐘周期比值之間的關(guān)系


          SPR的設(shè)置和主從時(shí)鐘周期比值之間的關(guān)系

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

            4.2 模式錯(cuò)誤(MODF)

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

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

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

          晶振相關(guān)文章:晶振原理


          關(guān)鍵詞: SPI 總線 工作方式

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();