串行外設接口 (SPI) 總線是一個工作在全雙工模式下的同步串行數據鏈路。它可用于在單個主控制器和一個或多個從設備之間交換數據。其簡單的實施方案只使用四條支持數據與控制的信號線(圖 1):
雖然表 1 中的引腳名稱來自摩托羅拉開發的 SPI 標準,但具體集成電路的 SPI 端口名稱往往與圖 1 中所示的不同。
SPI 數據速率一般在 1 到 70MHz 的范圍內,字長為從 8 位及 12 位到這兩個值的倍數。
數據傳輸一般由數據交換構成。在主控制器向從設備發送數據時,從設備也向主控制器發送數據。因此主控制器的內部移位寄存器和從設備都采用環形設置(圖 2)。
在數據交換之前,主控制器和從設備會將存儲器數據加載至它們的內部移位寄存器。收到時鐘信號后,主控制器先通過 MOSI 線路時鐘輸出其移位寄存器的 MSB。同時從設備會讀取位于 SIMO 的主控器第一位元,將其存儲在存儲器中,然后通過 SOMI 時鐘輸出其 MSB。主控制器可讀取位于 MISO 的從設備第一位元,并將其存儲在存儲器中,以便后續處理。整個過程將一直持續到所有位元完成交換,而主控器則可讓時鐘空閑并通過 /SS 禁用從設備。
除設置時鐘頻率外,主控制器還可根據數據配置時鐘極性和相位。這兩個分別稱為 OPOL 與 CPHA 的選項可實現時鐘信號 180 度的相移以及半個時鐘周期的數據延遲。圖 3 是相應的定時圖。
CPOL = 0 時,時鐘空閑在邏輯 0 位置上:
如果 CPHA = 0,數據在 SCK 的上升沿讀取,在下降沿變化。
如果 CPHA = 1,數據在 SCK 的下降沿讀取,在上升沿變化。
CPOL = 1 時,時鐘在邏輯為高時空閑:
如果 CPHA = 0,數據在 SCK 的下降沿讀取,在上升沿變化。
如果 CPHA = 1,數據在 SCK 的上升沿讀取,在下降沿變化。
在 SPI 中,主控制器可與單個或多個從設備通信。如果是一個單從設備,從設備選擇信號可連接至從設備的本地接地電位,實現永久接入。對使用多個從設備的應用,可使用兩種配置:獨立從設備與菊花鏈從設備(圖 4)。
要與從設備單獨通信,主控制器必須提供多重從設備選擇信號。該配置通常用于必須單獨訪問多個模數轉換器 (ADC) 及數模轉換器 (DAC) 的數據采集系統中。
菊花鏈從設備只需要主控制器提供一個從設備選擇信號,因為這種配置要求所有從設備同時啟用,以確保數據不間斷地流經該鏈路中的所有移位寄存器。典型應用是工業 I/O 模塊中的級聯多通道輸入串行器與輸出驅動器。
責任編輯:haq
-
控制器
+關注
關注
112文章
16402瀏覽量
178599 -
數據
+關注
關注
8文章
7085瀏覽量
89218 -
模擬
+關注
關注
7文章
1426瀏覽量
83938
發布評論請先 登錄
相關推薦
評論