新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > SPI總線之CPOL CPHA

SPI總線之CPOL CPHA

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

【 CPHA相位】

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

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

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

對于:

CPHA=0,表示第一個邊沿:

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

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

CPHA=1,表示第二個邊沿:

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

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



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

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

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

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

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ā)生在時鐘從有效狀態(tài)轉到空閑狀態(tài)的那一時刻

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


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

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


所以,CKP和CKE所對應的取值的含義為:

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的四種模式的時序圖,供參考:

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

所以,關于在其他地方介紹的,看似多么復雜難懂難記憶的CPOL和CPHA,其實經過上面解釋,就肯容易看懂了:

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

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



關鍵詞: SPI總線CPOLCPH

評論


技術專區(qū)

關閉