SPI工作原理
    發(fā)布者:dgwiden  發(fā)布時間:2018-04-13 10:18:05  訪問次數(shù):168

    SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在EEPROM, FLASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。

    SPI接口是在CPU和外圍低速器件之間進行同步串行數(shù)據(jù)傳輸,在主器件的移位脈衝下,數(shù)據(jù)按位傳輸,高位在前,地位在後,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達(dá)到幾Mbps。

      SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:

    (1)MOSI – 主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入
    (2)MISO – 主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出
    (3)SCLK – 時鐘信號,由主器件產(chǎn)生
    (4)/SS – 從器件使能信號,由主器件控制

    在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效。

    在多個從器件的系統(tǒng)中,每個從器件需要獨立的使能信號,硬件上比I2C系統(tǒng)要稍微複雜一些。

    SPI接口在內(nèi)部硬件實際上是兩個簡單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號和移位脈衝下,按位傳輸,高位在前,低位在後。如下圖所示,在SCLK的下降沿上數(shù)據(jù)改變,同時一位數(shù)據(jù)被存入移位寄存器。

    最後,SPI接口的一個缺點:沒有指定的流控制,沒有應(yīng)答機制確認(rèn)是否接收到數(shù)據(jù)。

    SPI(Serial Peripheral Interface,串行外圍設(shè)備接口)是由Motorola公司開發(fā),用來在微控制器和外圍設(shè)備芯片之間提供一個低成本、易使用的接口(SPI有時候也被稱為4線接口)。這種接口可以用來連接存儲器(存儲數(shù)據(jù))、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、實時時鐘日曆、LCD驅(qū)動器、傳感器、音頻芯片,甚至其他處理器。支持SPI的元件很多,並且還一直在增加。

    與標(biāo)準(zhǔn)的串行接口(將在第10章講到)不同,SPI是一個同步協(xié)議接口,所有的傳輸都參照一個共同的時鐘,這個同步時鐘信號由主機(處理器)產(chǎn)生,接收數(shù)據(jù)的外設(shè)(從設(shè)備)使用時鐘來對串行比特流的接收進行同步化。可能會有許多芯片連到主機的同一個SPI接口上,這時主機通過觸發(fā)從設(shè)備的片選輸入引腳來選擇接收數(shù)據(jù)的從設(shè)備,沒有被選中的外設(shè)將不會參與SPI傳輸。

    SPI主要使用4個信號:主機輸出/從機輸入(MOSI)、主機輸入/主機輸出(MISO)、串行SCLK或SCK和外設(shè)芯片(CS)。有些處理器有SPI接口專用的芯片選擇,稱為從機選擇(SS)。

    MOSI信號由主機產(chǎn)生,從機接收。在有些芯片上,MOSI只被簡單的標(biāo)為串行輸入(SI),或者串行數(shù)據(jù)輸入(SDI)。MISO信號由從機產(chǎn)生,不過還是在主機的控制下產(chǎn)生的。在一些芯片上,MISO有時被稱為串行輸出(SO)或串行數(shù)據(jù)輸出(SDO)。外設(shè)片選信號通常只是由主機的備用I/O引腳產(chǎn)生的。下左圖是微處理器通過SPI和外設(shè)進行連接的示意圖。

    主機和外設(shè)都包含一個串行移位寄存器,主機通過向它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器是通過MOSI信號線將字節(jié)傳送給外設(shè),外設(shè)也將自己移位寄存器中的內(nèi)容通過MISO信號線返回給主機,如上右圖所示。這樣,兩個移位寄存器中的內(nèi)容就被交換了。外設(shè)的寫操作和讀操作是同步完成的,因此SPI成為一個很有效的協(xié)議。

    如果只是進行寫操作,主機只需忽略收到的字節(jié);反過來,如果主機要讀取外設(shè)的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機的傳輸。

    當(dāng)主機發(fā)送一個連續(xù)的數(shù)據(jù)流時,有些外設(shè)能夠進行多字節(jié)傳輸。許多擁有SPI接口的存儲器芯片都以這種方式工作。在這種傳輸方式下,SPI外設(shè)的芯片選擇端必須在整個傳輸過程中保持低電平。比如,存儲器芯片會希望在一個“寫”命令之後緊接著收到的是4個地址字節(jié)(起始地址),這樣後面接收到的數(shù)據(jù)就可以存儲到該地址。一次傳輸可能會涉及千字節(jié)的移位或更多的信息。

    其他外設(shè)只需要一個單字節(jié)(比如一個發(fā)給A/D轉(zhuǎn)換器的命令),有些甚至還支持菊花鏈連接,如下圖所示。

    在這個例子中,主機處理器從其SPI接口發(fā)送3個字節(jié)的數(shù)據(jù)。第1個字節(jié)發(fā)送給外設(shè)A,當(dāng)?shù)?個字節(jié)發(fā)送給外設(shè)A的時候,第1個字節(jié)已移出了A,而傳送給了B。同樣,主機想要從外設(shè)A讀取一個結(jié)果,它必須再發(fā)送一個3字節(jié)(空字節(jié))的序列,這樣就可以把A中的數(shù)據(jù)移到B中,然後再移到C中,最後送回主機。在這個過程中,主機還依次從B和C接收到字節(jié)。

    注意,菊花鏈連接不一定適用於所有的SPI設(shè)備,特別是要求多字節(jié)傳輸?shù)模ū热绱鎯ζ餍酒┰O(shè)備。另外,要對外設(shè)芯片的數(shù)據(jù)表進行仔細(xì)分析,確定能對它做什麼而不能做什麼。如果芯片的數(shù)據(jù)表中沒有明確提到菊花鏈連接,那麼該芯片不支持這種連接的幾率為50%。

    根據(jù)時鐘極性和時鐘相位的不同,SPI有4個工作模式。時鐘極性有高、低兩極:時鐘極性為低電平時,空閑時時鐘(SCK)處於低電平,傳輸時跳轉(zhuǎn)到高電平;時鐘極性為高電平時,空閑時時鐘處於高電平,傳輸時跳轉(zhuǎn)到低電平。

    時鐘相位有兩個:時鐘相位0和時鐘相位1。對於時鐘相位0,如果時鐘極性是低電平,MOSI和MISO輸出在(SCK)的上升沿有效。如果時鐘電平極性為高,對於時鐘相位0,這些輸出在SCK的下降沿有效。MISO輸出的第X位是一個未定義的附加位,是SPI接口特有的情況。用戶不必?fù)?dān)心這個位,因為SPI接口將忽略該位。

    免責(zé)聲明:線纜網(wǎng)轉(zhuǎn)載作品均注明出處,本網(wǎng)未注明出處和轉(zhuǎn)載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內(nèi)容的真實性。如轉(zhuǎn)載作品侵犯作者署名權(quán),或有其他諸如版權(quán)、肖像權(quán)、知識產(chǎn)權(quán)等方面的傷害,并非本網(wǎng)故意為之,在接到相關(guān)權(quán)利人通知后將立即加以更正。聯(lián)系電話:0571-87774297。
0571-87774297  
主站蜘蛛池模板: 国产精品综合一区二区三区| 成年人视频在线观看免费| 伊人久久五月天| 美团外卖猛男男同38分钟| 国产成人精品2021| 3atv国产精品视频| 女神捕电影高清在线观看| 中文字幕色婷婷在线视频| 日韩成人精品日本亚洲| 亚洲乱码卡一卡二卡三| 欧美黑人肉体狂欢大派对| 免费在线观看a视频| 老湿机香蕉久久久久久| 国产国产东北刺激毛片对白| 1000部拍拍拍18勿入免费凤凰福利| 在线私拍国产福利精品| 一区二区三区免费在线观看| 我要看18毛片| 久久久最新精品| 日韩国产欧美精品在线| 亚洲aⅴ在线无码播放毛片一线天 亚洲aⅴ无码专区在线观看q | 久久国产精久久精产国| 最近中文字幕无| 亚洲乱码日产精品BD在线观看| 欧美日韩国产综合视频在线看| 亚洲精品国产精品国自产观看| 看亚洲a级一级毛片| 免费观看午夜在线欧差毛片 | 国外成人免费高清激情视频| a级毛片免费网站| 天天躁日日躁狠狠躁av中文| 一本色道久久88加勒比—综合| 成人国产在线不卡视频| 中文字幕无码精品亚洲资源网| 无码人妻精品一区二| 久久久久国产精品免费免费搜索| 日本高清色本免费现在观看| 久久精品国产乱子伦| 日韩毛片在线免费观看| 久久这里有精品视频| 日韩毛片无码永久免费看|