新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 帶你詳細(xì)解析串行外設(shè)接口(SPI)總線時序

帶你詳細(xì)解析串行外設(shè)接口(SPI)總線時序

作者: 時間:2017-10-20 來源:網(wǎng)絡(luò) 收藏

  ,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序其實(shí)很簡單,主要是在sck的控制下,兩個雙向移位寄存器進(jìn)行

本文引用地址:http://www.butianyuan.cn/article/201710/366579.htm

  總線是Motorola公司推出的三線同步接口,同步串行3線方式進(jìn)行通信:一條時鐘線SCK,一條數(shù)據(jù)輸入線MOSI,一條數(shù)據(jù)輸出線MISO;用于 CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊。SPI主要特點(diǎn)有:可以同時發(fā)出和接收串行數(shù)據(jù);可以當(dāng)作主機(jī)或從機(jī)工作;提供頻率可編程時鐘;發(fā)送結(jié)束中斷標(biāo)志;寫沖突保護(hù);總線競爭保護(hù)等。

  SPI總線有四種工作方式(SP0, SP1, SP2, SP3),其中使用的最為廣泛的是SPI0和SPI3方式。SPI模塊為了和外設(shè)進(jìn)行,根據(jù)外設(shè)工作要求,其輸出串行同步時鐘極性和相位可以進(jìn)行配置,時鐘極性(CPOL)對傳輸協(xié)議沒有重大的影響。如果CPOL=0,串行同步時鐘的空閑狀態(tài)為低電平;如果CPOL=1,串行同步時鐘的空閑狀態(tài)為高電平。時鐘相位(CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進(jìn)行數(shù)據(jù)傳輸。如果 CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數(shù)據(jù)被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數(shù)據(jù)被采樣。

  SPI主模塊和與之通信的外設(shè)音時鐘相位和極性應(yīng)該一致。

  SPI時序詳解---SPI接口在模式0下輸出第一位數(shù)據(jù)的時刻SPI接口有四種不同的數(shù)據(jù)傳輸時序,取決于CPOL和CPHL這兩位的組合。圖1中表現(xiàn)了這四種時序,時序與CPOL、CPHL的關(guān)系也可以從圖中看出。

  

  圖1

  CPOL 是用來決定SCK時鐘信號空閑時的電平,CPOL=0,空閑電平為低電平,CPOL=1時,空閑電平為高電平。CPHA是用來決定采樣時刻的,CPHA=0,在每個周期的第一個時鐘沿采樣,CPHA=1,在每個周期的第二個時鐘沿采樣。由于我使用的器件工作在模式0這種時序(CPOL=0,CPHA=0),所以將圖1簡化為圖2,只關(guān)注模式0的時序。

  

  圖2

  我們來關(guān)注SCK的第一個時鐘周期,在時鐘的前沿采樣數(shù)據(jù)(上升沿,第一個時鐘沿),在時鐘的后沿輸出數(shù)據(jù)(下降沿,第二個時鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的數(shù)據(jù)bit1,在時鐘的前沿被從器件采樣,那主器件是在何時刻輸出bit1的呢?bit1的輸出時刻實(shí)際上在SCK信號有效以前,比SCK的上升沿還要早半個時鐘周期。bit1的輸出時刻與SSEL信號沒有關(guān)系。再來看從器件,主器件的輸入口MISO同樣是在時鐘的前沿采樣從器件輸出的bit1的,那從器件又是在何時刻輸出bit1的呢。從器件是在SSEL信號有效后,立即輸出bit1,盡管此時SCK信號還沒有起效。

  

  從這張圖就可以很清楚的看出主從器件的bit1是怎樣輸出的。



評論


相關(guān)推薦

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

關(guān)閉