SPI(Serial Peripheral Interface,串行外設接口)是Motorola公司提出的一種同步串行數據傳輸標準,在很多器件中被廣泛應用。1. 接口SPI接口經常被稱為4線串行總線,以主/從方式工作,數據傳輸過程由主機初始化。如圖1所示,其使用的4條信號線分別為:1) SCLK:串行時鐘,用來同步數據傳輸,由主機輸出;2) MOSI:主機輸出從機輸入數據線;3) MISO:主機輸入從機輸出數據線;4) SS:片選線,低電平有效,由主機輸出。在SPI總線上,某一時刻可以出現多個從機,但只能存在一個主機,主機通過片選線來確定要通信的從機。這就要求從機的MISO口具有三態特性,使得該口線在器件未被選通時表現為高阻抗。
2. 數據傳輸
在一個SPI時鐘周期內,會完成如下操作:1) 主機通過MOSI線發送1位數據,從機通過該線讀取這1位數據;2) 從機通過MISO線發送1位數據,主機通過該線讀取這1位數據。這是通過移位寄存器來實現的。如圖2所示,主機和從機各有一個移位寄存器,且二者連接成環。隨著時鐘脈沖,數據按照從高位到低位的方式依次移出主機寄存器和從機寄存器,并且依次移入從機寄存器和主機寄存器。當寄存器中的內容全部移出時,相當于完成了兩個寄存器內容的交換。
3. 時鐘極性和時鐘相位
在SPI操作中,最重要的兩項設置就是時鐘極性(CPOL或UCCKPL)和時鐘相位(CPHA或UCCKPH)。時鐘極性設置時鐘空閑時的電平,時鐘相位設置讀取數據和發送數據的時鐘沿。主機和從機的發送數據是同時完成的,兩者的接收數據也是同時完成的。所以為了保證主從機正確通信,應使得它們的SPI具有相同的時鐘極性和時鐘相位。舉例來說,分別選取MSP430控制器和OLED驅動SH1101A為主從機,圖3和圖4為它們的SPI時序。由圖4可知,SH1101A的SPI時鐘空閑時為高電平,并且在后時鐘沿接收數據,則MSP430控制器SPI的設置應與此保持一致。從圖3中可以看出,要使得時鐘在空閑時為高電平,應將UCCKPL置1;要使得在后時鐘沿接收數據,應將UCCKPH清零。
4. 優缺點SPI接口具有如下優點:1) 支持全雙工操作;2) 操作簡單;3) 數據傳輸速率較高。同時,它也具有如下缺點:1) 需要占用主機較多的口線(每個從機都需要一根片選線);2) 只支持單個主機。
-
SPI
+關注
關注
17文章
1783瀏覽量
94725 -
CPOL
+關注
關注
0文章
9瀏覽量
10199 -
CPHA
+關注
關注
0文章
8瀏覽量
9488 -
miso
+關注
關注
0文章
7瀏覽量
5568
原文標題:弄懂SPI接口
文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
SPI通信的四種方式 FPGA的SPI從機實現方案
SPI中主機和從機模式的區別是什么?
HbirdV2-SoC中如何配置QSPI1和QSPI2的時鐘極性CPOL和時鐘相位CPHA?
ofdm技術的優缺點解析,ofdm技術原理介紹

評論