官术网_书友最值得收藏!

2.3.3 SPI

SPI(Serial Peripheral Interface,串行外設接口)總線系統是一種同步串行外設接口,它可以使CPU與各種外圍設備以串行方式進行通信以交換信息。一般主控SoC作為SPI的“主”,而外設作為SPI的“從”。

SPI接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI和低電平有效的從機選擇線SS(在不同的文獻里,也常稱為nCS、CS、CSB、CSN、nSS、STE、SYNC等)。圖2.12演示了1個主機連接3個SPI外設的硬件連接圖。

圖2.12 SPI主、從硬件連接圖

如圖2.13所示,在SPI總線的傳輸中,SS信號是低電平有效的,當我們要與某外設通信的時候,需要將該外設上的SS線置低。此外,特別要注意SPI從設備支持的SPI總線最高時鐘頻率(決定了SCK的頻率)以及外設的CPHA、CPOL模式,這決定了數據與時鐘之間的偏移、采樣的時刻以及觸發的邊沿是上升沿還是下降沿。

圖2.13 SPI總線的時序

SPI模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性(CPOL)和相位(CPHA)可以進行配置。如果CPOL=0,串行同步時鐘的空閑狀態為低電平;如果CPOL=1,串行同步時鐘的空閑狀態為高電平。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被采樣。

主站蜘蛛池模板: 西安市| 武隆县| 沙雅县| 奉化市| 渝北区| 星子县| 三亚市| 临江市| 乐平市| 资阳市| 衡阳县| 天门市| 宾阳县| 西乌珠穆沁旗| 齐河县| 米林县| 寿阳县| 延吉市| 靖宇县| 平谷区| 淅川县| 临沭县| 桐城市| 额尔古纳市| 河北区| 平江县| 南京市| 津市市| 湘乡市| 襄城县| 宜兴市| 永丰县| 明水县| 浦城县| 清丰县| 丁青县| 新昌县| 汽车| 和林格尔县| 乐业县| 密云县|