*本文系鼎酷IOT部落今日頭條號原創(chuàng),,轉(zhuǎn)載請注明出處,。 SPI是一種串行同步通訊協(xié)議由一個主設(shè)備和一個或多個從設(shè)備組成,主設(shè)備啟動一個與從設(shè)備的同步通訊,,從而完成數(shù)據(jù)的交換,。SPI有三個寄存器分別是:控制寄存器SPCR、狀態(tài)寄存器SPSR,、數(shù)據(jù)寄存器SPDR,。 SPI是一個環(huán)形總線結(jié)構(gòu),由SS(CS),、SCK,、SDI,、SDO構(gòu)成,其時序其實很簡單,,主要實在SCK的控制下,,兩個雙向移位寄存器進行數(shù)據(jù)交換。 SPI在一般應(yīng)用中有4根信號線:MOSI,、MISO,、SCK、SS MOSI:主器件數(shù)據(jù)輸出,,從器件數(shù)據(jù)輸入 MISO:主器件數(shù)據(jù)輸入,,從器件數(shù)據(jù)輸出 SCK:時鐘信號,由主設(shè)備控制發(fā)出 SS:從設(shè)備選擇信號,,由主設(shè)備控制,,根據(jù)此信號可以決定能連接到總線上從設(shè)備的數(shù)量。 【SPI工作模式】 1.主機模式: 當器件作為主機時,,使用一個IO引腳拉低相應(yīng)從機的選擇引腳(STE),,傳輸?shù)钠鹗加芍鳈C發(fā)送數(shù)據(jù)來啟動,時鐘(SCK)信號由主機產(chǎn)生,。通過MOSI發(fā)送數(shù)據(jù),同時通過MISO引腳接收從機發(fā)出的數(shù)據(jù),。 2.從機模式 當器件作為從機時,,傳輸在從機選擇引腳(STE)被主機拉低后開始,接收主機輸出的時鐘信號,,在讀取主機數(shù)據(jù)的同事通過MISO引腳輸出數(shù)據(jù) 【SPI電氣連接】 以4線SPI為例,,其通信時需要的4個引腳分別為: 需要注意的是: 【STE引腳的作用】 STE:從機模式發(fā)送接收允許控制引腳,控制多主從系統(tǒng)中的多個主機,。該引腳不用于3線SPI操作,,可以在4線SPI操作中使用多主機共享總線,避免發(fā)生沖突,。 1.4線SPI操作主模式中,,STE的含義: SIMO和SCLK被強制進入輸入狀態(tài) SIMO和SCLK正常操作 2.4線SPI操作從模式中,STE的含義: 允許從機發(fā)送接收數(shù)據(jù),,SIMO正常操作 禁止從機發(fā)送接收數(shù)據(jù),,SIMO被強制進入輸入狀態(tài) 【傳輸模式】 根據(jù)時鐘極性(CPOL)及相位(CPHA)不同可以組合成4中工作模式:SPI0、SPI1,、SPI2,、SPI3 (1)SPI0:CPOL=0 CPHA=0 (2)SPI1:CPOL=0 CPHA=1 (3)SPI2:CPOL=1 CPHA=0 (4)SPI3:CPOL=1 CPHA=1 時鐘極性(CPOL)定義了時鐘空閑狀態(tài)電平,對傳輸協(xié)議沒有重大影響,。 CPOL=0:時鐘空閑狀態(tài)為低電平 CPOL=1:時鐘空閑狀態(tài)為高電平 時鐘相位(CPHA)定義數(shù)據(jù)的采用時間 CPHA=0:在時鐘的第一個跳變沿(上升沿或下降沿)進行數(shù)據(jù)采樣 CPHA=1:在時鐘的二個跳變沿(上升沿或下降沿)進行數(shù)據(jù)采樣,。 【傳輸模式對比】 【時序分析】 【SPI接口內(nèi)部結(jié)構(gòu)】 【SPI的優(yōu)缺點】 優(yōu)點: 1.接口簡單,,有利于硬件設(shè)計與實現(xiàn) 2.時鐘速度快,且沒有系統(tǒng)開銷 3.相對抗干擾能力強,,傳輸穩(wěn)定 缺點: 1.缺乏流控制機制,,無論主器件還是從器件均不對消息進行確認,主器件無法知道哦啊從器件是否繁忙,,因此,,需要軟件彌補,增加了軟件開發(fā)工作量,。 2.沒有多主器件協(xié)議,,必須采用很復雜的軟件和外部巡邏來實現(xiàn)多主器件架構(gòu)。 鼎酷IOT部落(dkiot888)是由鼎易鴻基&萬酷電子聯(lián)合出品,,專注于為大家提供物聯(lián)網(wǎng)精髓的新媒體平臺,。我們關(guān)注物聯(lián)網(wǎng)行業(yè)最新動態(tài),專注做您的物聯(lián)網(wǎng)口袋知識庫,,旨在搭建共同學習的知識平臺,,讓您學得方便,聊得暢快,;鼎酷IOT部落用心做大家的“良仆”,。各項內(nèi)容鼎酷IOT 部落微信公眾號同步。物聯(lián)網(wǎng)行業(yè)頂尖產(chǎn)品咨詢也歡迎留言,。 |
|