新聞中心

        SPI總線之CPOL CPHA

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

        【 CPHA相位】

        本文引用地址:http://www.104case.com/article/201612/330521.htm

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

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

        對(duì)于:

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

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

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

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

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

        對(duì)于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í)鐘之間交界的地方,對(duì)應(yīng)的不論是上升沿還是下降沿,都與我們前面提到的CPHA=數(shù)據(jù)采樣的時(shí)刻,的邊沿方向所相反。

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


        所以,CKP和CKE所對(duì)應(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ū)域的中間所對(duì)應(yīng)的位置,對(duì)應(yīng)到上面SCLK時(shí)鐘的位置,對(duì)應(yīng)著是第一個(gè)邊沿或是第二個(gè)邊沿,即CPHA是0或1。(對(duì)應(yīng)的是上升沿還是還是下降沿,要根據(jù)對(duì)應(yīng)的CPOL的值,才能確定)。



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

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 余干县| 滦平县| 威海市| 军事| 古浪县| 福安市| 樟树市| 灌阳县| 乌拉特中旗| 和平区| 临泉县| 拉萨市| 昭觉县| 德阳市| 河西区| 溧阳市| 明溪县| 福安市| 福建省| 莒南县| 浠水县| 沙洋县| 华安县| 顺平县| 中宁县| 黄梅县| 清水河县| 彰化县| 浏阳市| 井研县| 滨海县| 桐梓县| 盘山县| 崇州市| 富川| 济阳县| 利川市| 舟曲县| 喀喇沁旗| 天长市| 南宁市|