SPI是單片機(jī)外設(shè)電路中常用的一種通訊方式,適用于近距離通信,通常用于芯片間的通訊,有四根線。在SPI通訊中總線時(shí)鐘和總線相位也兩個(gè)比較重要的概念,一般在使用SPI通信時(shí)都使用默認(rèn)設(shè)置,所以容易把這兩個(gè)參數(shù)忽略。和大家分享一下SPI通訊、時(shí)鐘極性以及時(shí)鐘相位的基礎(chǔ)知識(shí)。 什么是SPI通訊總線 SPI總線的英文全稱為S“Serial Periphral Interface”,意思是串行外設(shè)接口,由于通訊距離比較短,適用于芯片級(jí)別的短距離通訊。SPI的通訊分為主機(jī)和從機(jī),屬于高速全雙工的總線通訊方式,SPI有四根線,分別為:
MISO:主設(shè)備輸入與從設(shè)備輸出線;
MOSI:主設(shè)備輸出與從設(shè)備輸入線;
SCK:串行同步時(shí)鐘信號(hào)線;
SS:從機(jī)片選信號(hào)線,也用CS來(lái)表示。
SPI總線的主機(jī)和從機(jī)的系統(tǒng)連接圖如下圖所示。
SPI總線時(shí)鐘的極性含義解釋 SPI的時(shí)鐘極性用CPOL來(lái)表示。SPI總線通訊的時(shí)基基準(zhǔn)是時(shí)鐘信號(hào)線SCK,SCK既有高電平,又有低電平,SPI的時(shí)鐘極性用來(lái)表示時(shí)鐘信號(hào)在空閑時(shí)是高電平還是低電平。情況說(shuō)明如下:
當(dāng)CPOL=0:SCK信號(hào)線在空閑時(shí)為低電平;
當(dāng)CPOL=1:SCK信號(hào)線在空閑時(shí)為高電平;
SPI總線時(shí)鐘的相位含義解釋
時(shí)鐘的相位用CPHA來(lái)表示,用來(lái)決定何時(shí)進(jìn)行信號(hào)采樣,在第一個(gè)跳變沿還是第二個(gè)跳變沿,至于是上升沿還是下降沿則由CPOL相位極性來(lái)表示。下面分兩種情況來(lái)介紹。如下圖所示。
上圖表示CPHA=1時(shí)的情形,即在SCK時(shí)鐘的第二個(gè)邊沿進(jìn)行數(shù)據(jù)的采樣,至于是上升沿采樣還是下降沿采樣取決于時(shí)鐘極性CPOL的值。如果CPHA=1,CPOL=1,則在SCK時(shí)鐘的第二個(gè)邊沿為上升沿時(shí)進(jìn)行數(shù)據(jù)采樣。如果CPHA=1,CPOL=0,則在SCK時(shí)鐘的第二個(gè)邊沿為下降沿時(shí)進(jìn)行數(shù)據(jù)采樣。 CPHA=0時(shí)的情形如下圖所示。
上圖表示CPHA=0時(shí)的情形,即在SCK時(shí)鐘的第一個(gè)邊沿進(jìn)行數(shù)據(jù)的采樣,至于是上升沿采樣還是下降沿采樣取決于時(shí)鐘極性CPOL的值。如果CPHA=0,CPOL=1,則在SCK時(shí)鐘的第一個(gè)邊沿為下降沿時(shí)進(jìn)行數(shù)據(jù)采樣。如果CPHA=0,CPOL=0,則在SCK時(shí)鐘的第一個(gè)邊沿為上升沿時(shí)進(jìn)行數(shù)據(jù)采樣。 總結(jié)一下,SPI的時(shí)鐘極性決定了SCK在空閑時(shí)是低電平還是高電平;而相位極性則決定了在第一個(gè)邊沿還是第二個(gè)邊沿進(jìn)行數(shù)據(jù)采樣。SPI的時(shí)鐘極性CPOL和相位極性CPHA是相互影響相互決定的,以上概念可能很繞口難以理解,但是對(duì)SPI進(jìn)行一次編程之后,所有的內(nèi)容都好理解了。
責(zé)任編輯:xj
原文標(biāo)題:SPI編程時(shí),時(shí)鐘相位(CPHA)和時(shí)鐘極性(CPOL)怎么理解?
文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1747瀏覽量
131865 -
SPI
+關(guān)注
關(guān)注
17文章
1724瀏覽量
92192 -
編程
+關(guān)注
關(guān)注
88文章
3640瀏覽量
94036
原文標(biāo)題:SPI編程時(shí),時(shí)鐘相位(CPHA)和時(shí)鐘極性(CPOL)怎么理解?
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ADS1298的時(shí)鐘相位和極性是什么?
SH32F9001的SPI介紹與應(yīng)用
![SH32F9001的<b class='flag-5'>SPI</b>介紹與應(yīng)用](https://file1.elecfans.com/web3/M00/04/6F/wKgZPGdztBqALf7QAAALAA_Cswk237.jpg)
1.5GHz低相位噪聲時(shí)鐘評(píng)估板
![1.5GHz低<b class='flag-5'>相位</b>噪聲<b class='flag-5'>時(shí)鐘</b>評(píng)估板](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
通信協(xié)議之SPI總線硬件篇
![通信協(xié)議之<b class='flag-5'>SPI</b>總線硬件篇](https://file1.elecfans.com/web2/M00/C3/A8/wKgZomXtxOSAJVpAAABYsv1YBhk227.png)
LMK1C1108低附加相位噪聲LVCMOS時(shí)鐘緩沖器評(píng)估板
![LMK1C1108低附加<b class='flag-5'>相位</b>噪聲LVCMOS<b class='flag-5'>時(shí)鐘</b>緩沖器評(píng)估板](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
請(qǐng)問(wèn)LMK05318BEVM如何實(shí)現(xiàn)輸入和輸出時(shí)鐘的相位同步?
嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-spi編程示例之spi硬件原理
飛凌嵌入式ElfBoard ELF 1板卡-spi編程示例之spi硬件原理
時(shí)鐘產(chǎn)品參數(shù)解讀
![<b class='flag-5'>時(shí)鐘</b>產(chǎn)品參數(shù)解讀](https://file1.elecfans.com/web1/M00/F3/5C/wKgaoWcWB5eASqMzAABMMyImgsM981.png)
視頻時(shí)鐘合成芯片怎么用
dds輸出頻率與時(shí)鐘的關(guān)系
![dds輸出頻率與<b class='flag-5'>時(shí)鐘</b>的關(guān)系](https://file1.elecfans.com/web2/M00/06/91/wKgaombcABGAfpo9AABdcKJb2x4636.png)
CDCF5801A具有延遲控制和相位對(duì)準(zhǔn)的時(shí)鐘乘法器數(shù)據(jù)表
![CDCF5801A具有延遲控制和<b class='flag-5'>相位</b>對(duì)準(zhǔn)的<b class='flag-5'>時(shí)鐘</b>乘法器數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
時(shí)鐘抖動(dòng)與相位噪聲的關(guān)系
虹科技術(shù)|PTP時(shí)鐘源設(shè)備全攻略:從普通時(shí)鐘到透明時(shí)鐘的進(jìn)階之路
![虹科技術(shù)|PTP<b class='flag-5'>時(shí)鐘</b>源設(shè)備全攻略:從普通<b class='flag-5'>時(shí)鐘</b>到透明<b class='flag-5'>時(shí)鐘</b>的進(jìn)階之路](https://file1.elecfans.com/web2/M00/C1/F8/wKgaomXcSI6AFXv4AAFOCqx_LkA477.png)
PTP時(shí)鐘源設(shè)備全攻略:從普通時(shí)鐘到透明時(shí)鐘的進(jìn)階之路
![PTP<b class='flag-5'>時(shí)鐘</b>源設(shè)備全攻略:從普通<b class='flag-5'>時(shí)鐘</b>到透明<b class='flag-5'>時(shí)鐘</b>的進(jìn)階之路](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
評(píng)論