一、SPI總線簡介
SPI總線是摩托羅拉公司開發(fā)的一種高速、全雙工、同步的通信總線,它通常由四條線組成:
- CS 片選信號
- SCLK 時(shí)鐘信號
- MOSI 主機(jī)輸出從機(jī)輸入接口
- MISO 主機(jī)輸入從機(jī)輸出接口
SPI分為主機(jī)和從機(jī),主機(jī)提供通信所需的時(shí)鐘信號。
二、SPI四種工作模式
SPI最重要的兩個(gè)參數(shù)分別是時(shí)鐘的極性(CPOL)和相位(CPHA)。
-
CPOL:Clock Polarity 決定時(shí)鐘空閑狀態(tài)電平是高電平還是低電平
CPOL = 0:時(shí)鐘空閑時(shí)為低電平,時(shí)鐘高電平時(shí)有效
CPOL = 1:時(shí)鐘空閑時(shí)為高電平,時(shí)鐘低電平時(shí)有效 -
CPHA:Clock Phase 決定數(shù)據(jù)傳輸采樣和移位方式
CPHA = 0 :在時(shí)鐘信號SCK的第一個(gè)跳變沿采樣
CPHA = 1 :在時(shí)鐘信號SCK的第二個(gè)跳變沿采樣
時(shí)鐘和相位的不同組合,形成了SPI的四種工作模式:
模式 | CPOL | CPHA |
---|---|---|
Mode 0 | 0 | 0 |
Mode 1 | 0 | 1 |
Mode 2 | 1 | 0 |
Mode 2 | 1 | 1 |
我們以stm32的spi總線為例:
Mode 0:CPOL為0,CPHA為0時(shí),數(shù)據(jù)在時(shí)鐘第一個(gè)跳變沿(上升沿)采樣;
Mode 1:CPOL為0,CPHA為1時(shí),數(shù)據(jù)在第一個(gè)跳變沿(下降沿)采樣;
Mode 1:CPOL為1,CPHA為0時(shí),數(shù)據(jù)在第一個(gè)跳變沿(下降沿)采樣;
Mode 1:CPOL為1,CPHA為1時(shí),數(shù)據(jù)在第一個(gè)跳變沿(上升沿沿)采樣;
模式 | 相位極性 | 采樣 | SCL空閑電平 |
---|---|---|---|
Mode 0 | CPOL = 0, CPHA = 0 | 上升沿 | 低電平 |
Mode 1 | CPOL = 0, CPHA = 1 | 下降沿 | 低電平 |
Mode 2 | CPOL = 1, CPHA = 0 | 下降沿 | 高電平 |
Mode 2 | CPOL = 1, CPHA = 1 | 上升沿 | 高電平 |
SPI slave設(shè)備SCL在空閑的時(shí)候是高電平還是低電平,決定了CPOL是0還是1。
三、SPI全雙工和半雙工
在使用stm32等mcu時(shí),SPI通常會有全雙工、半雙工的選項(xiàng)。所謂全雙工就是SPI在發(fā)送數(shù)據(jù)的同時(shí)也能夠接收數(shù)據(jù),所謂半雙工就是SPI的發(fā)送和接收分時(shí),即發(fā)送的時(shí)候不能接收數(shù)據(jù),接收數(shù)據(jù)的時(shí)候不能發(fā)送數(shù)據(jù)。
四、應(yīng)用電路
一對一:文章來源:http://www.zghlxwxcb.cn/news/detail-449704.html
一對多:文章來源地址http://www.zghlxwxcb.cn/news/detail-449704.html
到了這里,關(guān)于SPI接口協(xié)議詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!