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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > Freescale同步串行傳輸SPI優(yōu)化設(shè)計(jì)

          Freescale同步串行傳輸SPI優(yōu)化設(shè)計(jì)

          ——
          作者: 時(shí)間:2007-11-14 來源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 收藏

            系列的大部分都存在一個(gè)模塊,它是一個(gè)同步串行外圍接口,允許與各種外周設(shè)備以串行方式進(jìn)行通信。

            目前,系列的大多數(shù)總線不能外部加以擴(kuò)展,當(dāng)片內(nèi)I/O或者存儲(chǔ)器不能滿足需求時(shí),可以使用來擴(kuò)展各種接口芯片。這是一種最方便的Free-scale系列系統(tǒng)擴(kuò)展方法。

            系統(tǒng)主機(jī)最高頻率=主機(jī)總線頻率/2,從機(jī)最高頻率=從機(jī)總線頻率,即硬件體系決定了SPI的最高工作頻率。如何在硬件體系結(jié)構(gòu)已定的情況下,使I/O或存儲(chǔ)器數(shù)據(jù)傳輸效率最高,成為SPI使用的一個(gè)關(guān)鍵問題。

            1 同步串行傳輸SPI結(jié)構(gòu)及常規(guī)操作

            圖1為同步串行傳輸SPI的體系結(jié)構(gòu)圖。

            對(duì)Freescale同步串行傳輸體系來說,一般有兩種操作模式:

           ?、倮弥袛嗤ㄖ呀?jīng)傳輸結(jié)束,或者接收完成;

           ?、诓捎幂喸兎绞剑x取相應(yīng)寄存器位置,判斷傳輸是否完成。

            無論是哪種模式,其常規(guī)操作流程(無配置過程)均如圖2所示。

            

          Freescale同步串行傳輸SPI的體系結(jié)構(gòu)圖

            2 常規(guī)操作中的時(shí)間浪費(fèi)

            從圖2中可以看出,當(dāng)CPU向SPI數(shù)據(jù)寄存器中寫入1字節(jié)數(shù)據(jù)后,必須等待,直至SPI模塊通知傳輸結(jié)束,才能寫入下一個(gè)字節(jié)。這是由于SPI數(shù)據(jù)模塊由兩部分構(gòu)成:一部分是數(shù)據(jù)寄存器;另一部分是移位寄存器。當(dāng)CPU向SPI數(shù)據(jù)寄存器寫入1字節(jié)后,SPI模塊需要將8位數(shù)據(jù)傳入移位寄存器,在每個(gè)SPI時(shí)鐘周期內(nèi)傳出1位數(shù)據(jù)。由于采樣的原因,SPI的最大速率=BUS_CLK/2,所以當(dāng)CPU向SPI寫入一個(gè)8位數(shù)據(jù)后,必須等待8



          評(píng)論


          相關(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); })();