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