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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SPI總線工作方式簡(jiǎn)介

          SPI總線工作方式簡(jiǎn)介

          作者: 時(shí)間:2011-07-20 來源:網(wǎng)絡(luò) 收藏
            SPI是由美國摩托羅拉公司最先推出的一種同步串行傳輸規(guī)范,也是一種單片機(jī)外設(shè)芯片串行擴(kuò)展接口。

          SPI模式可以允許同時(shí)同步發(fā)送和接收8位數(shù)據(jù),并支持4種工作方式:

          1.串行數(shù)據(jù)輸出,對(duì)應(yīng)RC5/SDO引腳;

          2.串行數(shù)據(jù)輸入,對(duì)應(yīng)RC4/SDI/SDA引腳;

          3.串行時(shí)鐘,對(duì)應(yīng)RC3/SCK/SCL引腳;

          4.從動(dòng)方式選擇,對(duì)應(yīng)RA5/SS/AN4引腳。

          SPI模式下與之相關(guān)的寄存器有10個(gè),其中4個(gè)是與I2C模式共用的。

          圖1所示是由一個(gè)主機(jī)對(duì)接一個(gè)從機(jī)進(jìn)行全雙工通信的系統(tǒng)構(gòu)成的方式。在該系統(tǒng)中,由于主機(jī)和從機(jī)的角色是固定不變的,并且只有一個(gè)從機(jī),因此,可以將主機(jī)的麗端接高電平,將從機(jī)的SS端固定接地。

            圖1 全雙工主機(jī)/從機(jī)連接方法   

          若干個(gè)具備SPI接口的單片機(jī)和若干片兼容SPI接口的外圍芯片,可以在軟件的控制下,構(gòu)成多種簡(jiǎn)單或者復(fù)雜的應(yīng)用系統(tǒng),例如以下3種。

          (1)一個(gè)主機(jī)和多個(gè)從器件的通信系統(tǒng)。

          如圖2所示,各個(gè)從器件是單片機(jī)的外圍擴(kuò)展芯片,它們的片選端SS分別獨(dú)占單片機(jī)的一條通用I/O引腳,由單片機(jī)分時(shí)選通它們建立通信。這樣省去了單片機(jī)在通信線路上發(fā)送地址碼的麻煩,但是占用了單片機(jī)的引腳資源。當(dāng)外設(shè)器件只有一個(gè)時(shí),可以不必選通而直接將SS端接地即可。

            圖2 一個(gè)主機(jī)擴(kuò)展多個(gè)外圍器件   

          (2)幾個(gè)單片機(jī)互相連接構(gòu)成多主機(jī)通信系統(tǒng)。 

          圖3所示為3個(gè)既可以當(dāng)做主機(jī)也可以當(dāng)做從機(jī)的單片機(jī)組成的系統(tǒng)。

            圖3 多主機(jī)通信系統(tǒng)連接方法   

          (3)主機(jī)、從機(jī)和從器件共同組成的應(yīng)用系統(tǒng)。

          圖4所示為一個(gè)主機(jī)、一個(gè)從機(jī)和多片外設(shè)芯片組成的應(yīng)用系統(tǒng)。這些外設(shè)芯片有的只接收來自單片機(jī)信息,有的只向單片機(jī)提供信息,還有的既接收也發(fā)送信息。

            

          圖4主機(jī)、從機(jī)和從器件互連



          關(guān)鍵詞: SPI總線 SPI總線

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