TI技術(shù)分析:數字接口系列文章之SPI 總線(xiàn)
串行外設接口 (SPI) 總線(xiàn)是一種運行于全雙工模式下的同步串行數據鏈路。用于在單個(gè)主節點(diǎn)和一個(gè)或多個(gè)從節點(diǎn)之間交換數據。SPI總線(xiàn)實(shí)施簡(jiǎn)單,僅使用四條數據信號線(xiàn)和控制信號線(xiàn)(請參見(jiàn)圖 1)。
盡管表1中的引腳名稱(chēng)取自Motorola公司的SPI標準,但特殊集成電路的SPI端口名稱(chēng)通常與圖1中所標示的名稱(chēng)有所不同。
圖1 基本的SPI總線(xiàn)
表1 SPI引腳名稱(chēng)分配
SPI數據速率通常介于1到70MHz 之間,字節長(cháng)度范圍從8位和12位到這些數值的倍數位。
數據傳輸通常會(huì )包含一次數據交換。當主節點(diǎn)向從節點(diǎn)發(fā)送數據時(shí),從節點(diǎn)也會(huì )向主節點(diǎn)發(fā)送數據。為此,主節點(diǎn)的內部移位寄存器和從節點(diǎn)被設置成環(huán)形(請參見(jiàn)圖 2)。
圖2 兩個(gè)移位寄存器形成一個(gè)內部芯片環(huán)形緩沖器
在數據交換之前,主節點(diǎn)和從節點(diǎn)使其內部移位寄存器加載存儲器數據。產(chǎn)生時(shí)鐘信號時(shí),主節點(diǎn)會(huì )通過(guò)MOSI線(xiàn)同步輸出其移位寄存器。同時(shí),從節點(diǎn)在SIMO處從主節點(diǎn)讀取第一位,并將其存儲到存儲器中,然后通過(guò)SOMI輸出MSB。主節點(diǎn)會(huì )在MISO處讀取從節點(diǎn)的第一位,并將其存儲到存儲器中以待稍后處理。整個(gè)過(guò)程將一直持續,直至交換完所有數據位,然后主節點(diǎn)使時(shí)鐘空閑并通過(guò) /SS禁用從節點(diǎn)。
除設置時(shí)鐘頻率之外,主節點(diǎn)還會(huì )配置相對于數據的時(shí)鐘極性和時(shí)鐘相位。這兩個(gè)選項分別稱(chēng)作CPOL和CPHA,能夠允許時(shí)鐘信號實(shí)現180度相移且數據延遲半個(gè)時(shí)鐘周期。圖3顯示了相應的時(shí)序圖。
圖3 時(shí)鐘極性和相位的時(shí)序圖
CPOL=0時(shí),時(shí)鐘在邏輯0處空閑:
* 如果CPHA=0,數據會(huì )在SCK的上升沿上讀取,在下降沿上變化。
* 如果CPHA=1,數據會(huì )在SCK的下降沿上讀取,在上升沿上變化。
CPOL=1時(shí),時(shí)鐘在邏輯高電平處空閑:
*如果CPHA=0,數據會(huì )在SCK的下降沿上讀取,在上升沿上變化。
*如果CPHA=1,數據會(huì )在SCK的上升沿上讀取,在下降沿上變化。
在SPI中,主節點(diǎn)可以與單個(gè)或多個(gè)從節點(diǎn)進(jìn)行通信。在使用單個(gè)從節點(diǎn)的情況下,從選擇信號可以關(guān)聯(lián)到從設備的本地接地電位以允許永久接入。對于使用多個(gè)從節點(diǎn)的應用,可能有兩種結構:獨立和菊花鏈式從節點(diǎn)(請參見(jiàn)圖 4)。
圖4 主節點(diǎn)與獨立從節點(diǎn)(左)以及菊花鏈式從節點(diǎn)(右)進(jìn)行通信
從節點(diǎn)獨立尋址時(shí),主節點(diǎn)必須提供多個(gè)從選擇信號。該結構一般用在數據采集系統中,其中的多個(gè)模數轉換器 (ADC) 和數模轉換器 (DAC) 都必須單獨接入。
菊花鏈式從節點(diǎn)需要主節點(diǎn)提供唯一的從選擇信號,因此該結構要求同時(shí)啟用所有從節點(diǎn),以確保菊花鏈內通過(guò)所有移位寄存器的數據流不會(huì )中斷。典型的應用為工業(yè)級I/O模塊中的級聯(lián)多通道輸入串行器和輸出驅動(dòng)器。
作者簡(jiǎn)介:
Thomas Kugelstadt現任TI高級系統工程師,主要負責定義新型高性能模擬產(chǎn)品以及探測和調節工業(yè)系統中低電平模擬信號的完整系統解決方案的開(kāi)發(fā)工作。
在TI工作的20年間,他曾被派往歐洲、亞洲以及美國擔任過(guò)各種國際應用職位。 Thomas畢業(yè)于法蘭克福應用技術(shù)大學(xué) (Frankfurt University of Applied Science),一畢業(yè)就成為一名見(jiàn)習工程師 (Graduate Engineer)。
評論