採用主從模式,通常僅支持單Master--多Slave。時鐘由Master控制,在時鐘移位脈衝下,數據按位傳輸,高位在前--底位在後(MSB first)。接口有兩條單向數據線,爲全雙工通訊。性能
各半導體公司推出了大量的帶有SPI接口的具備各類各樣功能的芯片,如RAM,EEPROM,FlashROM,A/D轉換器、D/A轉換器、LED/LED顯示驅動器、I/O接口芯片、實時時鐘、UART收發器spa
SPI接口共有4根信號線,分別是:設備選擇線、時鐘線、串行輸出數據線、串行輸入數據線。.net
在SPI操做中,最重要的兩項設置就是時鐘極性(CPOL或UCCKPL)和時鐘相位(CPHA或UCCKPH)。blog
時鐘極性設置時鐘空閒時的電平,時鐘相位設置讀取數據和發送數據的時鐘沿。時鐘極性(CPOL)對傳輸協議沒有重大的影響,時鐘相位(CPHA)可以配置用於選擇兩種不一樣的傳輸協議之一進行數據傳輸。接口
CPOL=0,串行同步時鐘的空閒狀態爲低電平;CPOL=1,串行同步時鐘的空閒狀態爲高電平。 CPHA=0,在串行同步時鐘的第一個跳變沿(上升或降低)數據被採樣;CPHA=1,在串行同步時鐘的第二個跳變沿(上升或降低)數據被採樣。
咱們來關注SCK的第一個時鐘週期,在時鐘的前沿採樣數據(上升沿,第一個時鐘沿),在時鐘的後沿輸出數據(降低沿,第二個時鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的數據bit1,在時鐘的前沿被從器件採樣,那主器件是在什麼時候刻輸出bit1的呢?bit1的輸出時刻實際上在SCK信號有效之前,比SCK的上升沿還要早半個時鐘週期。bit1的輸出時刻與SSEL信號沒有關係。再來看從器件,主器件的輸入口MISO一樣是在時鐘的前沿採樣從器件輸出的bit1的,那從器件又是在什麼時候刻輸出bit1的呢。從器件是在SSEL信號有效後,當即輸出bit1,儘管此時SCK信號尚未起效。ip
因此說,主機和從機的發送數據是同時完成的,二者的接收數據也是同時完成的。因此爲了保證主從機正確通訊,應使得它們的SPI具備相同的時鐘極性和時鐘相位。get
SPI接口時鐘配置心得:在主設備這邊配置SPI接口時鐘的時候必定要弄清楚從設備的時鐘要求,由於主設備這邊的時鐘極性和相位都是以從設備爲基準的。所以在時鐘極性的配置上必定要搞清楚從設備是在時鐘的上升沿仍是降低沿接收數據,是在時鐘的降低沿仍是上升沿輸出數據。同步
參考一下網址: http://blog.csdn.net/ce123/article/details/6905630it
Philips(for IIC)和Motorola(for SPI) 出於不一樣背景和市場需求制定了這兩種標準通訊協議。ast