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