<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          SPI總線CPOL CPHA

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

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

          本文引用地址:http://www.ex-cimer.com/article/201612/330357.htm

          【SPI基礎(chǔ)知識簡介】

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

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

          一個master可以接一個或多個slave。

          常見用法是一個Master接一個slave,只需要4根線:

          SCLK:Serial Clock,(串行)時鐘

          MISO:Master In Slave Out,主設(shè)備輸入,從設(shè)備輸出

          MOSI:Master OutSlave In,主設(shè)備輸出,從設(shè)備輸入

          SS:Slave Select,選中從設(shè)備,片選


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

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

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

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

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

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

          (3) SCK=SCLK=SPI的時鐘

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

          對于一個時鐘周期內(nèi),有兩個edge,分別稱為:

          Leading edge=前一個邊沿=第一個邊沿,對于開始電壓是1,那么就是1變成0的時候,對于開始電壓是0,那么就是0變成1的時候;

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


          本文采用如下用法:

          極性=CPOL

          相位=CPHA

          SCLK=時鐘

          第一個邊沿和第二個邊沿


          【SPI的相位和極性】

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

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

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

          CPOL極性】

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


          先說英文,其精簡解釋為:Clock Polarity = IDLE state of SCK。

          再用中文詳解:

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

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

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


          CPHA相位】

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

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

          對于:

          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)轉(zhuǎn)到空閑狀態(tài)的那一時刻

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


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

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


          上一頁 1 2 下一頁

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

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();