您好,登錄后才能下訂單哦!
SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。是Motorola公司推出的一種同步串行接口技術(shù),是一種高速的、全雙工,同步的通信總線。
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線:它們是SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時(shí)鐘)、CS(片選)。
(1)SDO/MOSI——主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
(2)SDI/MISO——主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
(3)SCLK——時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;
(4)CS/SS——從設(shè)備使能信號(hào),由主設(shè)備控制。
CS作為片選信號(hào)不難理解。當(dāng)總線上掛有多個(gè)從設(shè)備時(shí),主機(jī)通過控制對應(yīng)從設(shè)備的片選信號(hào),即可選中激活該設(shè)備,完成與該設(shè)備的通訊。一般片選為低電平時(shí),處于選中狀態(tài)。
需要說明的是,SPI通信有4種不同的模式,不同的從設(shè)備可能在出廠時(shí)就是配置為某種模式,這是不能改變的;但我們的通信雙方必須是工作在同一模式下,所以我們可以對我們的主設(shè)備的SPI模式進(jìn)行配置,通過CPOL(時(shí)鐘極性)和CPHA(時(shí)鐘相位)來控制我們主設(shè)備的通信模式,具體如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
時(shí)鐘極性CPOL是用來配置SCLK的電平出于哪種狀態(tài)時(shí)是空閑態(tài)或者有效態(tài),時(shí)鐘相位CPHA是用來配置數(shù)據(jù)采樣是在第幾個(gè)邊沿。
作為特殊應(yīng)用的加密芯片來說,其SPI通訊大多數(shù)采用標(biāo)準(zhǔn)SPI接口協(xié)議,但也不乏例外,調(diào)試過程中有幾點(diǎn)注意:
1、加密芯片作為防盜版功能模塊或者是數(shù)據(jù)加解密模塊,大多數(shù)需作為SPI從機(jī)設(shè)備,上位機(jī)端作為SPI主機(jī)。
2、主機(jī)SPI設(shè)置成CKPOL=0 ,CKPHA=0。其含義:此時(shí)空閑態(tài)時(shí),SCLK處于低電平,數(shù)據(jù)采樣是在第1個(gè)邊沿,也就是SCLK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。
3、有些加密芯片協(xié)議特殊,而且由于SPI沒有同步信號(hào)功能,所以加密芯片需要借助BUSY引腳來給主機(jī)發(fā)送通知信號(hào),當(dāng)BUSY為高電平,允許SPI主設(shè)備發(fā)送數(shù)據(jù),反之允許主機(jī)接收數(shù)據(jù)。
4、BUSY為SPI請求信號(hào)。當(dāng)BUSY拉低時(shí)允許SPI主設(shè)備讀取數(shù)據(jù),此時(shí)SPI主機(jī)端將CS/SS拉低,SPI_CLK產(chǎn)生時(shí)鐘。
5、芯片發(fā)生故障無法正常運(yùn)行時(shí)可通過復(fù)位重置。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。