新聞中心

SPI總線之CPOL CPHA

作者: 時(shí)間:2016-12-15 來源:網(wǎng)絡(luò) 收藏

【 CPHA相位】

本文引用地址:http://m.butianyuan.cn/article/201612/330521.htm

首先說明一點(diǎn),capture strobe = latch = read = sample,都是表示數(shù)據(jù)采樣,數(shù)據(jù)有效的時(shí)刻。

相位,對應(yīng)著數(shù)據(jù)采樣是在第幾個(gè)邊沿(edge),是第一個(gè)邊沿還是第二個(gè)邊沿,0對應(yīng)著第一個(gè)邊沿,1對應(yīng)著第二個(gè)邊沿。

對于:

CPHA=0,表示第一個(gè)邊沿:

對于CPOL=0,idle時(shí)候的是低電平,第一個(gè)邊沿就是從低變到高,所以是上升沿;

對于CPOL=1,idle時(shí)候的是高電平,第一個(gè)邊沿就是從高變到低,所以是下降沿;

CPHA=1,表示第二個(gè)邊沿:

對于CPOL=0,idle時(shí)候的是低電平,第二個(gè)邊沿就是從高變到低,所以是下降沿;

對于CPOL=1,idle時(shí)候的是高電平,第一個(gè)邊沿就是從低變到高,所以是上升沿;



用圖文形式表示,更加容易看懂:

此處,再多解釋一下可能會(huì)遇到的CKP和CKE,其是Microchip的PIC系列芯片中的說法。

(1)CKP是Clock Polarity Select,就是極性=CPOL:

CKP,雖然名字和CPOL不一樣,但是都是指時(shí)鐘相位的選擇,定義也一樣:

CKP: Clock Polarity Select bit

1 = Idle state for clock (CK) is a high level

0 = Idle state for clock (CK) is a low level

所以不多解釋。

(2)CKE是Clock Edge Select,就是相位=CPHA:

CKE: SPI Clock Edge Select bit

1 = Transmit occurs on transition from active to Idle clock state

0 = Transmit occurs on transition from Idle to active clock state

意思是

1 =(數(shù)據(jù))傳輸發(fā)生在時(shí)鐘從有效狀態(tài)轉(zhuǎn)到空閑狀態(tài)的那一時(shí)刻

0 =(數(shù)據(jù))傳輸發(fā)生在時(shí)鐘從空閑狀態(tài)轉(zhuǎn)到有效狀態(tài)的那一時(shí)刻


其中,數(shù)據(jù)傳輸?shù)臅r(shí)刻,即圖中標(biāo)出的“數(shù)據(jù)transmit傳輸?shù)臅r(shí)刻”,很明顯,該時(shí)刻是一個(gè)時(shí)鐘和下一個(gè)時(shí)鐘之間交界的地方,對應(yīng)的不論是上升沿還是下降沿,都與我們前面提到的CPHA=數(shù)據(jù)采樣的時(shí)刻,的邊沿方向所相反。

所以,此處的CKE,正好與CPHA相反。


所以,CKP和CKE所對應(yīng)的取值的含義為:

When CKP = 0:

CKE=1 => Data transmitted on rising edge of SCK

CKE=0 => Data transmitted on falling edge of SCK

When CKP = 1:

CKE=1 => Data transmitted on falling edge of SCK

CKE=0 => Data transmitted on rising edge of SCK


下面再列出其他一些地方找到的,常見的SPI的四種模式的時(shí)序圖,供參考:

【如何看懂和記憶CPOL和CPHA】

所以,關(guān)于在其他地方介紹的,看似多么復(fù)雜難懂難記憶的CPOL和CPHA,其實(shí)經(jīng)過上面解釋,就肯容易看懂了:

去看時(shí)序圖,如果起始的始終SCLK的電平是0,那么CPOL=0,如果是1,那么CPOL=1,

然后看數(shù)據(jù)采樣時(shí)刻,即時(shí)序圖數(shù)據(jù)線上的數(shù)據(jù)那個(gè)矩形區(qū)域的中間所對應(yīng)的位置,對應(yīng)到上面SCLK時(shí)鐘的位置,對應(yīng)著是第一個(gè)邊沿或是第二個(gè)邊沿,即CPHA是0或1。(對應(yīng)的是上升沿還是還是下降沿,要根據(jù)對應(yīng)的CPOL的值,才能確定)。



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

評論


技術(shù)專區(qū)

關(guān)閉