《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 輕松學(xué)PIC之SPI總線篇
輕松學(xué)PIC之SPI總線篇
摘要: SPI ( Serial Peripheral Interface ———串行外設(shè)接口) 總線是Motorola 公司推出的一種同步串行接口技術(shù),。SPI 總線系統(tǒng)是一種同步串行外設(shè)接口, 允許MCU 與各種外圍設(shè)備( 如閃存,、數(shù)摸轉(zhuǎn)換,、網(wǎng)絡(luò)控制器,、從MCU) 以串行方式進(jìn)行通信、數(shù)據(jù)交換,。
Abstract:
Key words :

  一,、SPI總線基本概念

  SPI ( Serial Peripheral Interface ———串行外設(shè)接口) 總線是Motorola 公司推出的一種同步串行接口技術(shù)。SPI 總線系統(tǒng)是一種同步串行外設(shè)接口,, 允許MCU 與各種外圍設(shè)備( 如閃存,、數(shù)摸轉(zhuǎn)換、網(wǎng)絡(luò)控制器,、從MCU) 以串行方式進(jìn)行通信,、數(shù)據(jù)交換。

  SPI,,是一種高速的,,全雙工,同步的通信總線,,并且在芯片的管腳上只占用四根線,,節(jié)約了芯片的管腳,同時為PCB 的布局上節(jié)省空間,,提供方便,,正是出于這種簡單易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議,。其工作模式有兩種:主模式和從模式,。SPI 是一種允許一個主設(shè)備啟動一個從設(shè)備的同步通訊的協(xié)議,從而完成數(shù)據(jù)的交換,。

  也就是SPI 是一種規(guī)定好的通訊方式,。這種通信方式的優(yōu)點(diǎn)是占用端口較少,一般4 根就夠基本通訊了(不算電源線),。同時傳輸速度也很高,。一般來說要求主設(shè)備要有SPI 控制器(也可用模擬方式),就可以與基于SPI 的芯片通訊了,。

  二,、SPI總線系統(tǒng)結(jié)構(gòu)

  SPI 系統(tǒng)可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口, 一般使用4 條線: 串行時鐘線(SCK) 、主機(jī)輸入/ 從機(jī)輸出數(shù)據(jù)線SDO,、主機(jī)輸出/ 從機(jī)輸入數(shù)據(jù)線SDI 和低電平有效的從機(jī)選擇線SS,。SDI 和SDO 用于串行接收和發(fā)送數(shù)據(jù),數(shù)據(jù)高位在前低位在后,。在SPI 設(shè)置為主機(jī)方式時,,SDO 是主機(jī)讀從機(jī),SDI 是主機(jī)寫從機(jī),。SCK 用于提供時鐘脈沖將數(shù)據(jù)一位位地傳送,。SPI 總線器件間傳送數(shù)據(jù)框圖如圖1 所示。

  三,、SPI總線的接口特性

  利用SPI 總線可在軟件的控制下構(gòu)成各種系統(tǒng),。如1 個主MCU 和幾個從MCU、幾個從MCU 相互連接構(gòu)成多主機(jī)系統(tǒng)(分布式系統(tǒng)),、1 個主MCU 和1 個或幾個從I / O 設(shè)備所構(gòu)成的各種系統(tǒng)等,。在大多數(shù)應(yīng)用場合,可使用1個MCU 作為主控機(jī)來控制數(shù)據(jù),,并向1 個或幾個從外圍器件傳送該數(shù)據(jù),。從器件只有在主機(jī)發(fā)命令時才能接收或發(fā)送數(shù)據(jù)。其數(shù)據(jù)的傳輸格式總是高位(MSB)在前,,低位(LSB)在后,。

  當(dāng)一個主控機(jī)通過SPI 與幾種不同的串行I / O 芯片相連時,必須使用每片的允許控制端,,這可通過MCU 的I / O 端口輸出線來實(shí)現(xiàn),。

  但應(yīng)特別注意這些串行I / O 芯片的輸入輸出特性:首先是輸入芯片的串行數(shù)據(jù)輸出是否有三態(tài)控制端。平時未選中芯片時,,輸出端應(yīng)處于高阻態(tài)。若沒有三態(tài)控制端,,則應(yīng)外加三態(tài)門,。否則MCU 的MISO端只能連接一個外設(shè)。其次是外設(shè)的串行數(shù)據(jù)輸入是否有允許控制端,。

  因?yàn)橹挥性诖诵酒试S時,,SCK 脈沖才把串行數(shù)據(jù)移入該外設(shè);在禁止時,,SCK 對外設(shè)無影響,。若原來沒有允許控制端,則增加控制門,;當(dāng)然,,也可以在SPI 總線上只連接1 個外設(shè),就不必用允許控制,。

  通過前文的原理介紹,,我們已經(jīng)對SPI 總線的特性以及工作原理有了大致地了解,,但當(dāng)我們拿到一個SPI 總線器件時要正確地應(yīng)用它,還是一時不知如何下手,,比如我們現(xiàn)在要想把一個具體的數(shù)據(jù)存儲放器件中去,,需要怎么辦呢?現(xiàn)在,,我們來一起看一個數(shù)據(jù)存儲的例子,,通過一個實(shí)例,相信會給大家?guī)硪粋€感性的認(rèn)識,,下面就以目前單片機(jī)系統(tǒng)中廣泛應(yīng)用的SPI 接口的數(shù)據(jù)存儲器93C46 為例,,介紹SPI器件的基本應(yīng)用。

  四,、93C46串行存儲器簡介

  93C46 是1k 位串行EEPROM 儲存器,。

  每一個儲存器都可以通過DI/DO 引腳寫入或讀出。它的存儲容量為1024 位,,內(nèi)部為128×8位或64×16 位,。93C46 為串行三線SPI 操作芯片,在時鐘時序的同步下接收數(shù)據(jù)口的指令,。

  指令碼為9 位十進(jìn)制碼,,具有7 個指令,讀,、擦寫使能,、擦除、寫,、全擦,、全寫及擦除禁止。該芯片擦寫時間快,,有擦寫使能保護(hù),,可靠性高,擦寫次數(shù)可達(dá)100 萬次,, 93C46 的引腳功能圖如圖2 所示,。

圖2 93C46 的引腳圖

圖2 93C46 的引腳圖

 

表1 :93C46 串行EEPROM 指令格式選擇表

表1 :93C46 串行EEPROM 指令格式選擇表

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