新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 深入理解串行外設(shè)接口(SPI)總線及應(yīng)用

深入理解串行外設(shè)接口(SPI)總線及應(yīng)用

作者: 時(shí)間:2014-11-21 來源:網(wǎng)絡(luò) 收藏

  ()總線是一個(gè)工作在全雙工模式下的同步串行數(shù)據(jù)鏈路。它可用于在單個(gè)主控制器和一個(gè)或多個(gè)從設(shè)備之間交換數(shù)據(jù)。其簡(jiǎn)單的實(shí)施方案只使用四條支持?jǐn)?shù)據(jù)與控制的信號(hào)線(圖1):

本文引用地址:http://butianyuan.cn/article/265777.htm

  雖然表1中的引腳名稱來自摩托羅拉開發(fā)的標(biāo)準(zhǔn),但具體集成電路的端口名稱往往與圖1中所示的不同。

 

 

  圖1:基本SPI總線

 

 

  表1:SPI引腳名稱分配

  SPI數(shù)據(jù)速率一般在1到70MHz的范圍內(nèi),字長(zhǎng)為從8位及12位到這兩個(gè)值的倍數(shù)。

  數(shù)據(jù)傳輸一般由數(shù)據(jù)交換構(gòu)成。在主控制器向從設(shè)備發(fā)送數(shù)據(jù)時(shí),從設(shè)備也向主控制器發(fā)送數(shù)據(jù)。因此主控制器的內(nèi)部移位寄存器和從設(shè)備都采用環(huán)形設(shè)置(圖2)。

 

 

  圖2:雙移位寄存器形成一個(gè)芯片間的環(huán)形緩存器

  在數(shù)據(jù)交換之前,主控制器和從設(shè)備會(huì)將存儲(chǔ)器數(shù)據(jù)加載至它們的內(nèi)部移位寄存器。收到時(shí)鐘信號(hào)后,主控制器先通過MOSI線路時(shí)鐘輸出其移位寄存器的MSB.同時(shí)從設(shè)備會(huì)讀取位于SIMO的主控器第一位元,將其存儲(chǔ)在存儲(chǔ)器中,然后通過SOMI時(shí)鐘輸出其MSB.主控制器可讀取位于MISO的從設(shè)備第一位元,并將其存儲(chǔ)在存儲(chǔ)器中,以便后續(xù)處理。整個(gè)過程將一直持續(xù)到所有位元完成交換,而主控器則可讓時(shí)鐘空閑并通過/SS禁用從設(shè)備。

  除設(shè)置時(shí)鐘頻率外,主控制器還可根據(jù)數(shù)據(jù)配置時(shí)鐘極性和相位。這兩個(gè)分別稱為CPOL與CPHA的選項(xiàng)可實(shí)現(xiàn)時(shí)鐘信號(hào)180度的相移以及半個(gè)時(shí)鐘周期的數(shù)據(jù)延遲。圖3是相應(yīng)的定時(shí)圖。

 

 

  圖3:時(shí)鐘極性與相位的定時(shí)圖

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

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

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

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

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

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

  在SPI中,主控制器可與單個(gè)或多個(gè)從設(shè)備通信。如果是一個(gè)單從設(shè)備,從設(shè)備選擇信號(hào)可連接至從設(shè)備的本地接地電位,實(shí)現(xiàn)永久接入。對(duì)使用多個(gè)從設(shè)備的應(yīng)用,可使用兩種配置:獨(dú)立從設(shè)備與菊花鏈從設(shè)備(圖4)。

 

 

  圖4:主控制器與獨(dú)立從設(shè)備(左)及菊花鏈從設(shè)備通信(右)

  要與從設(shè)備單獨(dú)通信,主控制器必須提供多重從設(shè)備選擇信號(hào)。該配置通常用于必須單獨(dú)訪問多個(gè)模數(shù)轉(zhuǎn)換器(ADC)及數(shù)模轉(zhuǎn)換器(DAC)的數(shù)據(jù)采集系統(tǒng)中。

  菊花鏈從設(shè)備只需要主控制器提供一個(gè)從設(shè)備選擇信號(hào),因?yàn)檫@種配置要求所有從設(shè)備同時(shí)啟用,以確保數(shù)據(jù)不間斷地流經(jīng)該鏈路中的所有移位寄存器。典型應(yīng)用是工業(yè)I/O模塊中的級(jí)聯(lián)多通道輸入串行器與輸出驅(qū)動(dòng)器。

模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理




關(guān)鍵詞: SPI 串行外設(shè)接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉