<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SPI總線(xiàn)之CPOL CPHA

SPI總線(xiàn)之CPOL CPHA

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò ) 收藏
【背景】

最近在看關(guān)于Silicon Labs的C8051F347的某個(gè)驅動(dòng)中,關(guān)于SPI部分初始化的代碼,看到其對于SPI的設置為CPOL=1,CPHA=0,對于CPOL及CPHA的含義不了解,想要搞懂,這兩個(gè)參數到底是什么意思,以及為何要這么設置。所以才去找了SPI的極性和相位的相關(guān)資料,整理如下。

本文引用地址:http://dyxdggzs.com/article/201612/330521.htm

【SPI基礎知識簡(jiǎn)介】

設備與設備之間通過(guò)某種硬件接口通訊,目前存在很多種接口,SPI接口是其中的一種。

SPI中分Master主設備和Slave從設備,數據發(fā)送都是由Master控制。

一個(gè)master可以接一個(gè)或多個(gè)slave。

常見(jiàn)用法是一個(gè)Master接一個(gè)slave,只需要4根線(xiàn):

SCLK:Serial Clock,(串行)時(shí)鐘

MISO:Master In Slave Out,主設備輸入,從設備輸出

MOSI:Master Out Slave In,主設備輸出,從設備輸入

SS: Slave Select,選中從設備,片選


SPI由于接口相對簡(jiǎn)單(只需要4根線(xiàn)),用途算是比較廣泛,主要應用在 EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。
即一個(gè)SPI的Master通過(guò)SPI與一個(gè)從設備,即上述的那些Flash,ADC等,進(jìn)行通訊。
而主從設備之間通過(guò)SPI進(jìn)行通訊,首先要保證兩者之間時(shí)鐘SCLK要一致,互相要商量好了,要匹配,否則,就沒(méi)法正常通訊了,即保證時(shí)序上的一致才可正常訊。
而這里的SPI中的時(shí)鐘和相位,指的就是SCLk時(shí)鐘的特性,即保證主從設備兩者的時(shí)鐘的特性一致了,以保證兩者可以正常實(shí)現SPI通訊。

【SPI相關(guān)的縮寫(xiě)或說(shuō)法】

先簡(jiǎn)單說(shuō)一下,關(guān)于SPI中一些常見(jiàn)的說(shuō)法:

SPI的極性Polarity和相位Phase,最常見(jiàn)的寫(xiě)法是CPOL和CPHA,不過(guò)也有一些其他寫(xiě)法,簡(jiǎn)單總結如下:

(1) CKPOL (Clock Polarity) = CPOL = POL = Polarity = (時(shí)鐘)極性

(2) CKPHA (Clock Phase) = CPHA = PHA = Phase = (時(shí)鐘)相位

(3) SCK=SCLK=SPI的時(shí)鐘

(4) Edge=邊沿,即時(shí)鐘電平變化的時(shí)刻,即上升沿(rising edge)或者下降沿(falling edge)

對于一個(gè)時(shí)鐘周期內,有兩個(gè)edge,分別稱(chēng)為:

Leading edge=前一個(gè)邊沿=第一個(gè)邊沿,對于開(kāi)始電壓是1,那么就是1變成0的時(shí)候,對于開(kāi)始電壓是0,那么就是0變成1的時(shí)候;

Trailing edge=后一個(gè)邊沿=第二個(gè)邊沿,對于開(kāi)始電壓是1,那么就是0變成1的時(shí)候(即在第一次1變成0之后,才可能有后面的0變成1),對于開(kāi)始電壓是0,那么就是1變成0的時(shí)候;


本文采用如下用法:

極性=CPOL

相位=CPHA

SCLK=時(shí)鐘

第一個(gè)邊沿和第二個(gè)邊沿


【SPI的相位和極性】

CPOL和CPHA,分別都可以是0或時(shí)1,對應的四種組合就是:

Mode 0CPOL=0, CPHA=0
Mode 1CPOL=0, CPHA=1
Mode 2CPOL=1, CPHA=0
Mode 3CPOL=1, CPHA=1

單獨看這張圖,的確很難明白具體含義,所以下面會(huì )有更詳細的解釋。

【 CPOL極性】

先說(shuō)什么是SCLK時(shí)鐘的空閑時(shí)刻,其就是當SCLK在數發(fā)送8個(gè)bit比特數據之前和之后的狀態(tài),于此對應的,SCLK在發(fā)送數據的時(shí)候,就是正常的工作的時(shí)候,有效active的時(shí)刻了。


先說(shuō)英文,其精簡(jiǎn)解釋為:Clock Polarity = IDLE state of SCK。

再用中文詳解:

SPI的CPOL,表示當SCLK空閑idle的時(shí)候,其電平的值是低電平0還是高電平1:

CPOL=0,時(shí)鐘空閑idle時(shí)候的電平是低電平,所以當SCLK有效的時(shí)候,就是高電平,就是所謂的active-high;

CPOL=1,時(shí)鐘空閑idle時(shí)候的電平是高電平,所以當SCLK有效的時(shí)候,就是低電平,就是所謂的active-low;


上一頁(yè) 1 2 3 下一頁(yè)

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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>