SPI接口
和 IIC 接口一樣,SPI 也是非常常見的接口。與 IIC 相比,SPI 擁有更快的速度,ELF 1 開發(fā)板也通過SPI連接了六軸傳感器,下面我們就來為大家講解一下 SPI 接口。
?SPI接口介紹
該芯片使用 SPI 總線進(jìn)行設(shè)置與數(shù)據(jù)傳輸。SPI 的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少 4 根線,事實上 3 根也可以(單向傳輸時)。也是所有基于 SPI 的設(shè)備共有的,它們是 MOSI(主出從入)、MISO(主入從出)、SCLK(時鐘)、CS(片選)。時鐘信號只由主設(shè)備控制,用于時鐘同步。在一主多從模式下,每個從設(shè)備都有一條獨立的 CS 信號線,如果要和特定的從機(jī)進(jìn)行通訊,可以將相應(yīng)的 CS(下圖使用 NSS 表示)信號線拉低。SPI 接口為收發(fā)為雙全工串行方式傳輸,收發(fā)同步,主設(shè)備發(fā)出一位給從設(shè)備時,從設(shè)備也發(fā)出一位給主設(shè)備。一主多從情況如下圖:
SPI 具有 4 種工作方式,時鐘極性(CPOL)和相位(CPHA)共同決定讀取數(shù)據(jù)的方式,比如信號上升沿讀取數(shù)據(jù)還是信號下降沿讀取數(shù)據(jù),并且一個片選信號可以設(shè)置一種模式。
SPI 工作方式如表 2.3,SPI 時序圖如下圖:
CPOL 用來決定 SCLK 空閑時的電平:
CPOL=0,空閑時為低電平;CPOL=1,空閑時為高電平;
CPHA 用來決定采樣時刻:
CPHA=0,每個周期的第一個時鐘沿采樣;CPHA=1,每個周期的第二個時鐘沿采樣。
表2.3 SPI總線的4種模式
設(shè)定 | 第一位數(shù)據(jù)輸出 | 其他位輸出 | 數(shù)據(jù)采樣 |
CPOL=0,CPHA=0 | 第一個上升沿前 | 下降沿 | 上升沿 |
CPOL=1,CPHA=1 | 第一個下降沿 | 下降沿 | 上升沿 |
CPOL=1,CPHA=0 | 第一個下降沿前 | 上升沿 | 下降沿 |
CPOL=0,CPHA=1 | 第一個上升沿 | 上升沿 | 下降沿 |
?
圖2.29 SPI協(xié)議時序圖