《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 數(shù)字接口系列文章之SPI總線
數(shù)字接口系列文章之SPI總線
EEworld
EEworld
摘要: 串行外設(shè)接口(SPI)總線是一種運(yùn)行于全雙工模式下的同步串行數(shù)據(jù)鏈路。用于在單個(gè)主節(jié)點(diǎn)和一個(gè)或多個(gè)從...
關(guān)鍵詞: 數(shù)字接口 SPI總線
Abstract:
Key words :

 串行外設(shè)接口 (SPI) 總線是一種運(yùn)行于全雙工模式下的同步串行數(shù)據(jù)鏈路。用于在單個(gè)主節(jié)點(diǎn)和一個(gè)或多個(gè)從節(jié)點(diǎn)之間交換數(shù)據(jù)。SPI 總線實(shí)施簡(jiǎn)單,僅使用四條數(shù)據(jù)信號(hào)線和控制信號(hào)線(請(qǐng)參見圖 1)。


  圖 1 基本的 SPI 總線

  盡管表 1 中的引腳名稱取自 MOTOROLA 公司的 SPI 標(biāo)準(zhǔn),但特殊集成電路的 SPI 端口名稱通常與圖 1 中所標(biāo)示的名稱有所不同。

  表 1 SPI 引腳名稱分配

  SPI 數(shù)據(jù)速率通常介于 1 到 70 MHz 之間,字節(jié)長(zhǎng)度范圍從 8 位和 12 位到這些數(shù)值的倍數(shù)位。

  數(shù)據(jù)傳輸通常會(huì)包含一次數(shù)據(jù)交換。當(dāng)主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),從節(jié)點(diǎn)也會(huì)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)。為此,主節(jié)點(diǎn)的內(nèi)部移位寄存器和從節(jié)點(diǎn)被設(shè)置成環(huán)形(請(qǐng)參見圖 2)。


  圖 2 兩個(gè)移位寄存器形成一個(gè)內(nèi)部芯片環(huán)形緩沖器

  在數(shù)據(jù)交換之前,主節(jié)點(diǎn)和從節(jié)點(diǎn)使其內(nèi)部移位寄存器加載存儲(chǔ)器數(shù)據(jù)。產(chǎn)生時(shí)鐘信號(hào)時(shí),主節(jié)點(diǎn)會(huì)通過(guò) MOSI 線同步輸出其移位寄存器。同時(shí),從節(jié)點(diǎn)在 SIMO 處從主節(jié)點(diǎn)讀取第一位,并將其存儲(chǔ)到存儲(chǔ)器中,然后通過(guò) SOMI 輸出 MSB。主節(jié)點(diǎn)會(huì)在 MISO 處讀取從節(jié)點(diǎn)的第一位,并將其存儲(chǔ)到存儲(chǔ)器中以待稍后處理。整個(gè)過(guò)程將一直持續(xù),直至交換完所有數(shù)據(jù)位,然后主節(jié)點(diǎn)使時(shí)鐘空閑并通過(guò) /SS 禁用從節(jié)點(diǎn)。

 除設(shè)置時(shí)鐘頻率之外,主節(jié)點(diǎn)還會(huì)配置相對(duì)于數(shù)據(jù)的時(shí)鐘極性和時(shí)鐘相位。這兩個(gè)選項(xiàng)分別稱作 CPOL 和 CPHA,能夠允許時(shí)鐘信號(hào)實(shí)現(xiàn) 180 度相移且數(shù)據(jù)延遲半個(gè)時(shí)鐘周期。圖 3 顯示了相應(yīng)的時(shí)序圖。


  圖 3 時(shí)鐘極性和相位的時(shí)序圖

  CPOL = 0 時(shí),時(shí)鐘在邏輯 0 處空閑:

  *如果 CPHA = 0,數(shù)據(jù)會(huì)在 SCK 的上升沿上讀取,在下降沿上變化。

  *如果 CPHA = 1,數(shù)據(jù)會(huì)在 SCK 的下降沿上讀取,在上升沿上變化。

  CPOL = 1時(shí),時(shí)鐘在邏輯高電平處空閑:

  *如果 CPHA = 0,數(shù)據(jù)會(huì)在 SCK的下降沿上讀取,在上升沿上變化。

  *如果 CPHA = 1,數(shù)據(jù)會(huì)在 SCK 的上升沿上讀取,在下降沿上變化。

  在 SPI 中,主節(jié)點(diǎn)可以與單個(gè)或多個(gè)從節(jié)點(diǎn)進(jìn)行通信。在使用單個(gè)從節(jié)點(diǎn)的情況下,從選擇信號(hào)可以關(guān)聯(lián)到從設(shè)備的本地接地電位以允許永久接入。對(duì)于使用多個(gè)從節(jié)點(diǎn)的應(yīng)用,可能有兩種結(jié)構(gòu):獨(dú)立和菊花鏈?zhǔn)綇墓?jié)點(diǎn)(請(qǐng)參見圖 4)。


  圖 4 主節(jié)點(diǎn)與獨(dú)立從節(jié)點(diǎn)(左)以及菊花鏈?zhǔn)綇墓?jié)點(diǎn)(右)進(jìn)行通信

  從節(jié)點(diǎn)獨(dú)立尋址時(shí),主節(jié)點(diǎn)必須提供多個(gè)從選擇信號(hào)。該結(jié)構(gòu)一般用在數(shù)據(jù)采集系統(tǒng)中,其中的多個(gè)模數(shù)轉(zhuǎn)換器 (ADC) 和數(shù)模轉(zhuǎn)換器 (DAC) 都必須單獨(dú)接入。

  菊花鏈?zhǔn)綇墓?jié)點(diǎn)需要主節(jié)點(diǎn)提供唯一的從選擇信號(hào),因此該結(jié)構(gòu)要求同時(shí)啟用所有從節(jié)點(diǎn),以確保菊花鏈內(nèi)通過(guò)所有移位寄存器的數(shù)據(jù)流不會(huì)中斷。典型的應(yīng)用為工業(yè)級(jí) I/O 模塊中的級(jí)聯(lián)多通道輸入串行器和輸出驅(qū)動(dòng)器。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。