續(xù)接上文串行外設(shè)接口SPI通信協(xié)議詳解,本文小編詳細(xì)的 介紹了SPI總線接口定義和數(shù)據(jù)傳輸、通信流程等等,詳細(xì)技術(shù)請看下文內(nèi)容:
SPI總線是一種高速的、全雙工的、同步的通信總線,并且至多僅需使用4根線,節(jié)約了芯片的管腳,SPI通信協(xié)議主要應(yīng)用于EEPROM、FLASH、ADC、DAC等射頻芯片,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
SPI接口無線模塊設(shè)備之間采用全雙工模式通信,是一個主機和一個或者多個從機的主從模式。主機負(fù)責(zé)初始化幀,這個數(shù)據(jù)傳輸幀可以用于讀與寫兩種操作,片選線可以從多個從機選擇一個來響應(yīng)主機的請求。
SPI接口定義如下表:
由上表也可以看出當(dāng)SPI設(shè)備間數(shù)據(jù)傳輸通信時,數(shù)據(jù)線應(yīng)該是MOSI連接MOSI,MISO連接MISO,SCLK與SCLK相連,而不是像串口那樣TX、RX進(jìn)行反接。當(dāng)只有單一SPI無線模塊從機設(shè)備時,如果從機設(shè)備允許的話,可直接將CS/SS線固定在低電平。然而類似于MAX1242這款需要CS/SS線的下降沿來觸發(fā)的射頻芯片,則必須將CC/SS線與主機相連。如下圖,為一主一從連接方式。
對于多個從機設(shè)備時,則每個從機都需要一根CS/SS線來于主機相連,從而達(dá)到主機能與任一從機通信的目的。如下圖,為一主多從的連接方式。
大多數(shù)從機設(shè)備都有著三態(tài)邏輯的特性,因此當(dāng)設(shè)備未被選中時,它們的MISO信號線會變成高阻抗?fàn)顟B(tài)(電氣斷開)。沒有三態(tài)輸出的設(shè)備則需外接三態(tài)緩沖器才能與其他的從機設(shè)備共享SPI總線。
在SPI通信中,SPI主機設(shè)備以從機設(shè)備支持的頻率通過SCLK線給到SPI從機設(shè)備,這點也意味著從機是無法主動向主機發(fā)送數(shù)據(jù)的,只能主機輪詢向從機發(fā)或者從機設(shè)備主動通過一個IO口來告知主機數(shù)據(jù)到達(dá)。
在SPI每個時鐘周期內(nèi),都會進(jìn)行一次全雙工數(shù)據(jù)的傳輸。主機通過MOSI線上發(fā)送1bit時,從機也會在讀取到之后通過MISO線發(fā)送1bit數(shù)據(jù)出去。這說明,即使只進(jìn)行單工通信,也會保持此通信順序。
SPI傳輸通常涉及到兩個給定了字長的移位寄存器。例如在主機、從機中的8bit的移位寄存器。它們以虛擬環(huán)形拓?fù)溥B接,數(shù)據(jù)通常先從最高有效位被移出。在時鐘沿,主機和從機都移出1bit數(shù)據(jù)從傳輸線上給到對方。在下一個時鐘邊沿來到時,雙方的接收器再對傳輸線上的該bit進(jìn)行采樣,并將其設(shè)置為移位寄存器的新的最低有效位。在寄存器位被移出和移入后,主機和從機交換了寄存器值。如果需要交換更多數(shù)據(jù),則重新加載移位寄存器并重復(fù)該過程。傳輸可以持續(xù)任意數(shù)量的時鐘周期。完成后,主機停止切換時鐘信號。如下圖,為主從機之間的交互時的移位寄存器示意圖。
其中上圖的通信流程如下:
1.SPI主機首先先將SS或CS線拉低,以此來告知SPI從機通信開始。
2.主機通過發(fā)送SCLK時鐘信號,來告知從機即將進(jìn)行的讀寫操作。這里的SCLK時鐘信號是由SPI的模式來決定是高電平還是低電平有效的,這點在稍后會進(jìn)行介紹。
3.主機(Master)將要發(fā)送的數(shù)據(jù)寫到發(fā)送數(shù)據(jù)緩存區(qū)(Memory),緩存區(qū)經(jīng)過移位寄存器(0~7),串行移位寄存器通過MOSI信號線將字節(jié)一位一位地移出去傳送給從機,同時MISO接口接收到的數(shù)據(jù)經(jīng)過移位寄存器一位一位地移到接收緩存區(qū)。
4.從機(Slave)也將自己的串行移位寄存器(0~7)中的內(nèi)容通過MISO信號線返回給主機。同時通過MOSI信號線接收主機發(fā)送的數(shù)據(jù),這樣,兩個移位寄存器中的內(nèi)容就被交換。
查看技術(shù)文章和免費咨詢技術(shù)問題可以訪問成都億佰特電子科技有限公司官網(wǎng)及各官方平臺:
微信號:cdebyte
今日頭條:億佰特
新浪微博:成都億佰特
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3