深入理解串行外設接口(SPI)總線(xiàn)及應用
串行外設接口(SPI)總線(xiàn)是一個(gè)工作在全雙工模式下的同步串行數據鏈路。它可用于在單個(gè)主控制器和一個(gè)或多個(gè)從設備之間交換數據。其簡(jiǎn)單的實(shí)施方案只使用四條支持數據與控制的信號線(xiàn)(圖1):
本文引用地址:http://dyxdggzs.com/article/265777.htm雖然表1中的引腳名稱(chēng)來(lái)自摩托羅拉開(kāi)發(fā)的SPI標準,但具體集成電路的SPI端口名稱(chēng)往往與圖1中所示的不同。

圖1:基本SPI總線(xiàn)

表1:SPI引腳名稱(chēng)分配
SPI數據速率一般在1到70MHz的范圍內,字長(cháng)為從8位及12位到這兩個(gè)值的倍數。
數據傳輸一般由數據交換構成。在主控制器向從設備發(fā)送數據時(shí),從設備也向主控制器發(fā)送數據。因此主控制器的內部移位寄存器和從設備都采用環(huán)形設置(圖2)。

圖2:雙移位寄存器形成一個(gè)芯片間的環(huán)形緩存器
在數據交換之前,主控制器和從設備會(huì )將存儲器數據加載至它們的內部移位寄存器。收到時(shí)鐘信號后,主控制器先通過(guò)MOSI線(xiàn)路時(shí)鐘輸出其移位寄存器的MSB.同時(shí)從設備會(huì )讀取位于SIMO的主控器第一位元,將其存儲在存儲器中,然后通過(guò)SOMI時(shí)鐘輸出其MSB.主控制器可讀取位于MISO的從設備第一位元,并將其存儲在存儲器中,以便后續處理。整個(gè)過(guò)程將一直持續到所有位元完成交換,而主控器則可讓時(shí)鐘空閑并通過(guò)/SS禁用從設備。
除設置時(shí)鐘頻率外,主控制器還可根據數據配置時(shí)鐘極性和相位。這兩個(gè)分別稱(chēng)為CPOL與CPHA的選項可實(shí)現時(shí)鐘信號180度的相移以及半個(gè)時(shí)鐘周期的數據延遲。圖3是相應的定時(shí)圖。

圖3:時(shí)鐘極性與相位的定時(shí)圖
CPOL = 0時(shí),時(shí)鐘空閑在邏輯0位置上:
如果CPHA = 0,數據在SCK的上升沿讀取,在下降沿變化。
如果CPHA = 1,數據在SCK的下降沿讀取,在上升沿變化。
CPOL = 1時(shí),時(shí)鐘在邏輯為高時(shí)空閑:
如果CPHA = 0,數據在SCK的下降沿讀取,在上升沿變化。
如果CPHA = 1,數據在SCK的上升沿讀取,在下降沿變化。
在SPI中,主控制器可與單個(gè)或多個(gè)從設備通信。如果是一個(gè)單從設備,從設備選擇信號可連接至從設備的本地接地電位,實(shí)現永久接入。對使用多個(gè)從設備的應用,可使用兩種配置:獨立從設備與菊花鏈從設備(圖4)。

圖4:主控制器與獨立從設備(左)及菊花鏈從設備通信(右)
要與從設備單獨通信,主控制器必須提供多重從設備選擇信號。該配置通常用于必須單獨訪(fǎng)問(wèn)多個(gè)模數轉換器(ADC)及數模轉換器(DAC)的數據采集系統中。
菊花鏈從設備只需要主控制器提供一個(gè)從設備選擇信號,因為這種配置要求所有從設備同時(shí)啟用,以確保數據不間斷地流經(jīng)該鏈路中的所有移位寄存器。典型應用是工業(yè)I/O模塊中的級聯(lián)多通道輸入串行器與輸出驅動(dòng)器。
模數轉換器相關(guān)文章:模數轉換器工作原理
評論