您好!歡迎進(jìn)入保定市禾邦電子有限公司網(wǎng)站--"禾邦電子元器件"進(jìn)行電子元件選型!營業(yè)時間上午8:00-12:00,下午13:30-18:00 周日休息
專業(yè)知識

SPI接口的基本原理

1.SPI接口原理

串行外圍設(shè)備接口(Serial Peripheral Interface,SPI),用來在微控制器和外圍設(shè)備芯片之間提供一個低成本、易使用的接口(SPI有時候也被稱為4線接口)。這種接口可以用來連接存儲器(存儲數(shù)據(jù))、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、實時時鐘日歷、LCD驅(qū)動器、傳感器等等。


SPI主要使用四個信號:主機(jī)輸出/從機(jī)輸入(MOSI)、主機(jī)輸入/從機(jī)輸出(MISO)、串行SCLK或SCK、外設(shè)芯片(CS)。有些處理器有SPI接口專用的芯片選擇,稱為從機(jī)選擇SS。

MOSI信號由主機(jī)產(chǎn)生,從機(jī)接受。在有些芯片上,MOSI只被簡單地標(biāo)為串行輸入(SI),或者串行數(shù)據(jù)輸入SDI。MISO信號由從機(jī)產(chǎn)生,不過還是在主機(jī)的控制下產(chǎn)生的。在一些芯片上,MISO有時被稱為串行輸出(SO),或者串行數(shù)據(jù)輸出(SDO)。外設(shè)片選信號通常只是由主機(jī)的備用I/O引腳產(chǎn)生。

與標(biāo)準(zhǔn)的串行接口接口不同,SPI是一個同步協(xié)議接口,所有的傳輸都參照一個共同的時鐘,這個同步時鐘信號由主機(jī)產(chǎn)生,接收數(shù)據(jù)的外設(shè)使用時鐘來對串行比特流的接受進(jìn)行同步化。可以將多個具有SPI接口的芯片連到主機(jī)的同一個SPI接口上,主機(jī)通過控制從設(shè)備的片選輸入引腳來選擇接受數(shù)據(jù)的從設(shè)備。

2.SPI傳輸過程

主機(jī)和外設(shè)都包含一個串行移位寄存器,主機(jī)通過它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器是通過MOSI信號線將字節(jié)傳送給外設(shè),外設(shè)也將自己的移位寄存器中的內(nèi)容通過MISO信號線返回給主機(jī)。這樣,兩個移位寄存器中的內(nèi)容就被交換了。外設(shè)的寫操作和讀操作是同步完成的,因此SPI成為一個很有效的協(xié)議。

如果只是進(jìn)行寫操作,主機(jī)只需忽略收到的字節(jié);反過來,如果主機(jī)要讀取外設(shè)的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機(jī)的傳輸。

當(dāng)主機(jī)發(fā)送一個連續(xù)的數(shù)據(jù)流時,有些外設(shè)能夠進(jìn)行多字節(jié)傳輸。許多擁有SPI接口的存儲器芯片都以這種方式工作。在這種傳輸方式下,SPI外設(shè)的芯片選擇端必須在整個傳輸過程中保持低電平。比如,存儲器芯片會希望在一個“寫“命令之后緊接著收到的是四個地址字節(jié)(起始地址),這樣,后面接受到的數(shù)據(jù)就可以存儲到該地址。一次傳輸可能會涉及千字節(jié)的移位或更多信息。

其他外設(shè)只需要一個單字節(jié)(比如一個發(fā)給A/D轉(zhuǎn)換器的命令),有些甚至還支持菊花鏈連接,菊花鏈連接三臺SPI設(shè)備,如下圖:

主機(jī)處理器從其SPI接口發(fā)送三個字節(jié)的數(shù)據(jù)。第一個字節(jié)發(fā)送給外設(shè)A,當(dāng)?shù)诙䝼字節(jié)發(fā)送給外設(shè)A的時候,第一個字節(jié)已移出了A,而傳送給了B。同樣,主機(jī)想要從外設(shè)A讀取一個結(jié)果,它必須再發(fā)送一個3字節(jié)(空字節(jié))的序列,這樣就可以把A中的數(shù)據(jù)移到B中,然后再移到C中,最后送回到主機(jī)。在這個過程中,主機(jī)還依次從B和C接受到字節(jié)。

注意,菊花鏈連接不一定適用于所有的SPI設(shè)備,特別是要求多字節(jié)傳輸?shù)脑O(shè)備(比如存儲器芯片),有的外設(shè)芯片也不支持菊花鏈連接。

根據(jù)時鐘極性和時鐘相位的不同,SPI有四個工作模式:

時鐘極性CPOL有高、低兩極;時鐘極性為低電平時,空閑時時鐘(SCK)處于低電平,傳輸時跳到高電平;時鐘極性為高電平時,空閑時時鐘處于高電平,傳輸時跳到低電平。

時鐘相位CPHA有兩個:時鐘相位0和時鐘相位1。當(dāng)時鐘相位為0時,時鐘周期的前一邊緣采集數(shù)據(jù);當(dāng)時鐘相位為1時,時鐘周期的后一邊緣采集數(shù)據(jù)。

地址:保定市隆興西路208號(高新區(qū)朝陽龍座西行200米路南)  電話:0312-3158163  傳真:0312-3158165  Email:hebangdianzi@126.com
客服QQ1:63355785   客服QQ2:61303373    客服QQ3:67399965     客服QQ4:2656068273 產(chǎn)品分類地圖
版權(quán)所有:保定市禾邦電子有限公司  保定市禾邦電子有限公司營業(yè)執(zhí)照  備案號:冀ICP備12019441號-1       
關(guān)鍵字:保定電子元器件 保定電子元件 電子元器件 電子元件