中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > 數據通訊產品 > 現場總線/網關

類型分類:
科普知識
數據分類:
現場總線/網關

可控制多外設的SPI/I2C總線

發布日期:2022-04-27 點擊率:152

【導讀】本應用筆記對兩種模擬IC中常用的串行、數字接口(SPI?或3線、I2C或2線)進行了比較,每種接口在不同的設計中都表現出其優點和缺點,具體取決于數據速率、可提供的設計空間以及噪聲環境等。本應用筆記給出了兩種接口的區別,并舉例詳細說明了這些觀點。

 

引言

 

雖然現實世界中的信號都是模擬信號,但是現在越來越多的模擬IC采用數字接口進行通信。串行接口的數據通信介于主機(提供串行時鐘)和從機/外設之間。目前,大多數微控制器提供SPI (3線)和I2C (2線)接口,用于發送、接收數據。微處理器通過幾條總線控制周邊的設備,比如:模/數轉換器(ADC)、數/模轉換器(DAC)、智能電池、端口擴展、EEPROM以及溫度傳感器。與通過并口傳輸數據不同的是:串行接口通過2條、3條或4條數據/時鐘總線連續傳輸數據。雖然并行接口具有傳輸速度快的特點,但是串行接口占用較少的控制和數據線。

 

串行接口的基礎知識

 

串行接口有三種:3線、2線和單線。本文主要討論3線和2線串行接口。串行外設接口(SPI)、隊列串行外設接口(QSPI?)和MICROWIRE? (或MICROWIRE PLUS?)接口標準均采用3線接口。芯片間總線(I2C)和系統管理總線(SMBus?)均為2線接口。這些串行接口擁有各自的優點和缺點,如表1所示。

 

3線接口

 

3線接口使用片選線(低電平有效CS或SS)、時鐘線(SCLK)和數據輸入/主機輸出線(DIN或MOSI)。3線接口有時也包括一條數據輸出/主機輸入線(DOUT或MISO),這時也叫做4線接口。為了敘述的簡便,本文將3線接口和4線接口統稱為3線接口。

 

3線接口可以以更高的時鐘頻率工作,并且不需要上拉電阻。SPI/QSPI和MICROWIRE接口都可以工作在全雙工模式(數據可以在同一時間發送和接收),一般在嘈雜環境下工作不成問題。3線接口是邊沿觸發,不是電平觸發,因此具有更強的抗干擾能力。

 

3線接口的主要缺點是它要為每一個從機提供一條低電平有效的CS線,除非將從機用菊鏈形式連接,如圖1所示(后續章節將詳細討論菊鏈方式)。另外一個缺點是3線接口沒有應答機制去判斷數據的收發是否正確。從軟件設計看,在單主機/單從機應用中,3線接口比2線接口簡單,效率更高。

 

可控制多外設的SPI/I2C總線

圖1. 利用數據輸入、數據輸出、時鐘和片選信號進行通信的3線接口。

 

2線接口

 

2線接口包括一條數據線(SDA或SMBDATA)和一條時鐘線(SCL或SMBCLK)。2線接口的優點是使用更少的連線,這一點對于結構緊湊的設計尤為重要,比如:手機、光纖的應用。因為2線接口為每個從機分配唯一的地址,所以可以在一條總線連接多個從機而不需要片選信號。2線接口在成功完成一次讀操作后會傳輸一個應答位。因為2線接口只有一條數據線,所以它只能工作在半雙工模式(數據的讀寫不可以同時進行)。因為2線接口是電平觸發,所以在嘈雜環境中如果發生數據位錯誤,可能造成問題。

 

可控制多外設的SPI/I2C總線

表1. 3/2線接口優缺點的對比

 

主機和從機經由多條總線通過串行接口進行通訊。在寫周期,主機使用自己產生的時鐘和數據將數據傳至從機。在讀周期,從機傳輸數據至主機。

 

SPI、QSPI和MICROWIRE設計

 

由Motorola?制定的SPI接口已被很多流行的處理器和微控制器采用,比如MAXQ2000。SPI接口需要兩條控制線(低電平有效CS和SCLK)和兩條數據線(DIN/SDI和DOUT/SDO)。Motorola的SPI/QSPI標準稱DIN/SDI數據線為MOSI (主機出,從機入),DOUT/SDO數據線為MISO (主機入,從機出),CS線為SS (從機選擇)。為了敘述的清晰,我們基于從機說明3線接口的數據線。DIN是從機的數據輸入線,DOUT是從機的數據讀出線。本文采用低電平有效CS、SCLK、DIN和DOUT來定義3線接口中的各條線,Maxim外設使用了這些引腳名稱。

 

大多數的SPI接口有兩位配置位,時鐘極性(CPOL)和時鐘相位(CPHA)用于設定從機何時采集數據。CPOL決定SCLK為高時總線空閑(CPOL = 1)還是SCLK為低時總線空閑(CPOL = 0)。CPHA決定在SCLK的哪一個邊沿將數據移入、移出。當CPOL = 0時,將CPHA設為0,表示在SCLK的上升沿將數據移入從機;將CPHA設為1,表示在SCLK的下降沿將數據移入從機。CPOL和CPHA的兩個狀態允許四種時鐘極性和相位的不同組合。每一種都與其它三種不兼容。為了實現主、從機間的通訊,主、從機的CPOL和CPHA必須有相同的設置。

 

在SPI接口的大多數應用中,SPI接口一次傳送8位數據(一個字節),有一些微處理器一次傳送兩個或多個字節。例如,MAXQ2000微處理器可一次傳送8位或16位數據。當CPOL = 0、CPHA = 0,低電平有效CS由高跳變為低,開始一個主機到從機的傳輸過程。在SCLK信號高低變化的八個周期內,低電平有效CS信號必須保持為低。DIN數據鎖定在SCLK信號的上升沿。在同樣的8位周期內,DOUT線上的從機輸出數據在SCLK的每個下降沿有效。圖2a給出了CPHA = 1時的詳細時序;圖2b給出了CPHA = 0時的詳細時序。

 

可控制多外設的SPI/I2C總線

圖2a. 3線接口時序(CPHA = 1),CPHA = 1、CPOL = 1時,3線接口在時鐘的上升沿將數據移入外設,在時鐘的下降沿將數據移出外設。

 

可控制多外設的SPI/I2C總線

圖2b. 3線接口時序(CPHA = 0),CHPA = 0、CPOL = 1時,3線接口在時鐘的下降沿將數據移入外設,在時鐘的上升沿將數據移出外設。

 

因為總線上的每一個IC需要專屬的片選線,所以低電平有效CS被用做每個從機的使能信號。如果一條總線上有四個從機,則需要四條片選線。如果從機的低電平有效CS為高電平(禁止),該從機就忽略SCLK線上的數據,將DOUT置為高阻。

 

部分3線接口設備可以鏈接成菊鏈的方式,而不需要為每個從機提供低電平有效的CS線,菊鏈方式能夠用一條低電平有效的CS線和一條數據線控制多個串聯從機。在菊鏈結構中3線接口必須包含DOUT線,如圖1所示,從機#1的DOUT連接到從機#2的DIN,如此反復。

 

SPI標準中沒有定義最大數據速率。外部設備定義了自己的最大數據速率,通常為MHz量級。微處理器可以適應很寬范圍的SPI數據速率。在利用SPI接口進行通訊時,從機無法降低主機的數據速率或確定一個適當的速率。

 

QSPI標準和SPI標準非常相似。事實上,外設無法區分QSPI總線和SPI總線。與SPI標準中的主機不同,QSPI中的主機允許數據通過可編程的片選線傳輸數據。QSPI的主機甚至可以傳送長度在8位和16位之間的數據,而SPI的主機只可以傳送8位的數據。可以配置QSPI的設備去連續傳送長度超過16字節的數據(最大為256位)。這種傳輸完全由QSPI設備的配置來實現,不需要MCU的操作。與SPI接口相似,QSPI接口也沒有規定最大數據速率。

 

由National Semiconductor公司制定的老的MICROWIRE標準和SPI標準非常相似。不同的是MICROWIRE標準的時鐘極性和時鐘相位是固定的(CPOL = 0和CPHA = 0)。DIN的數據讀取總是鎖定在SCLK的上升沿。DOUT的數據輸出總是在SCLK的下降沿。MICROWIRE標準沒有規定最大數據速率。

 

芯片間電路接口(I2C)

 

不同于全雙工的3線制接口,由Philips制定的I2C接口通過一條數據線(SDA)和一條時鐘線(SCL)實現半雙工通信。I2C接口定義了一個簡單的主/從雙向通信接口。在這個體系中,MCU決定自己為主機(寫模式)或為從機(接收模式)。每個從機具備專有、唯一的地址,使主機可以和多個從機通過一條總線進行通信,而不需要為每一個從機提供單獨的片選線。如圖3所示,從機的數目只受限于最大線上電容(400pF),I2C接口的機制基于7位或10位地址,7位的地址更為常見。在7位地址的機制中,總線上可以接127個不同的外設。SCL和SDA線為漏極開路結構,所以閑置時必須為高。當電源電壓為3V時,連接一個1kΩ或更大阻值的上拉電阻;當電源電壓為5V時,連接一個1.6kΩ或更大阻值的上拉電阻。

 

可控制多外設的SPI/I2C總線

圖3. 利用數據輸入/輸出和時鐘信號進行通信的2線接口。

 

當SCL為高,SDA從高變為低,即發出了一個開始命令,啟動I2C通信。圖4a所示,每個SCL時鐘傳輸一個數據位,傳輸一個字節至少需要9個數據位。一個寫周期包括8個數據位和一個應答位(ACK)或者非應答位(NACK)。如圖4b所示,當數據在I2C總線上傳輸時,在SLK的上升沿寫入從機,在SLK的下降沿從機輸出。在SCL時鐘周期為高電平的時間內,SDA線的數據不可以改變。一次傳輸的完成必須跟隨著一個中止或重新開始的命令,既SCL為高時,SDA由低變為高。當總線空閑時,SDA和SCL都為高。

 

可控制多外設的SPI/I2C總線

圖4a. 開始條件和停止條件,2線接口采用開始、重復開始和停止命令在主機和從機之間傳輸數據。

 

可控制多外設的SPI/I2C總線

圖4b. I2C應答位,應答數據時,2線接口將SDA拉低。

 

I2C的寫周期起始于開始命令,隨后是7位從機地址和第8位用于標識讀、寫操作。將第8位置低,表示寫操作;將第8位置高,表示讀操作。主機在第8個時鐘周期后釋放總線。如果從機應答數據傳輸,則在第9個時鐘周期將SDA拉低。如果從機不應答寫命令,則釋放SDA (該數據線通過上拉電阻置于高電平)。

 

隨后,主機寫入8位命令字節,然后是第二個ACK/NACK位。接下來,主機寫入8位數據字節并跟隨第三個ACK/NACK位。數據字節和最后的應答位完成一個讀/寫周期,更新外設輸出,圖5a是一個寫周期的詳細例子。

 

I2C讀周期起始于開始命令,隨后是需要寫入數據的從機地址、第8位置高,表示讀操作。在ACK/NACK之后,主機寫入命令字節訪問從機寄存器。在第二個ACK/NACK位后,主機重新寫入從機地址。在第三個ACK/NACK位后,從機控制總線,一次輸出8位數據到總線上。如圖5b所示,當從與上次讀操作相同的從機寄存器讀取數據時,主機只需要在讀取從機數據之前寫入從機地址。

 

可控制多外設的SPI/I2C總線

圖5. 2線接口一次傳輸8位數據,圖5a是I2C寫周期的一個例子;圖5b是I2C讀周期的一個例子。

 

I2C接口支持低速(大于100kHz)、快速(大于400kHz)和高速(大于3.4MHz)三種數據速率。I2C接口的高低電平為CMOS邏輯電平(低電平為0.3x電源電壓以下,高電平為0.7x電源電壓以上)。

 

系統管理總線(SMBus)

 

Intel?制定了SMBus標準用于低速通信,SMBus 2線接口與I2C接口非常相似。SMBus也使用一條數據線(SMBDATA)和一條時鐘線(SMBCLK)進行通信。SMBCLK和SMBDATA也需要上拉電阻,3V供電時上拉電阻大于8.5kΩ,5V供電時上拉電阻大于14kΩ。SMBus工作電壓范圍在3V和5V之間,大于2.1V為高電平,低于0.8V為低電平。

 

I2C接口和SMBus接口的最主要區別是最高/最低時鐘速率,因為I2C總線為被動傳輸總線,不存在總線超時問題,速率可低至“靜止”。SMBus接口則存在總線超時問題。如果時鐘信號拉低之后的時間大于超時周期(最長為35ms)時,從機復位接口,認為發生總線超時。SMBus的超時周期限制了時鐘的最小速率為19kHz。為了保證正常通信,SMBCLK的速率必須介于10kHz至100kHz之間,而I2C接口的主機或從機則可根據傳輸數據的需要將時鐘保持在低電平。

 

外設舉例

 

微處理器經常通過串行接口與外設通信,當微處理器通過2線或3線接口訪問外設后,外設相應地改變其模擬或數字輸出。例如,指使外設設置電池的充電的電流和電壓、用溫度傳感器控制風扇、設置數模轉換器的模擬輸出等。

 

如圖6所示,通過2線接口連接微處理器和8位數/模轉換器(MAX5115)。因為這個DAC有四個地址選擇引腳,可以產生16個唯一的從機地址,因此可以在總線上并聯16個DAC,因為MAX6641有不同的從機地址,同樣的2線接口也可以設置SMBus溫度傳感器/風扇控制器(MAX6641),風扇控制器控制MOSFET的柵極,使其打開或關閉風扇。

 

可控制多外設的SPI/I2C總線

圖6. 由于微控制器采用的是I2C接口,與外設通信時,如DAC、溫度傳感器,總線只需要兩條連線。 

 

3線接口需要單獨的片選線實現微處理器與多個并行從機之間的通信,更簡單的2線接口用一條時鐘線和一條數據線與總線上的每個設備通信。可以通過設定不同的從機地址在總線上掛接多個IC。大多數I2C接口外設具備地址選擇引腳,以實現從機地址的配置。外設可以使用的從地址數等于地址選擇引腳數的平方。例如,若外有兩個地址選擇引腳,它就可以配置四個不同的地址。

 

新一代設計以更少的地址選擇引腳提供更多的從地址。MAX7319是輸入/輸出擴展芯片,可以從兩個地址選擇引腳(AD2和AD0)擴展出16個從地址。這些引腳可以接GND、電源(VCC)、SDA或SCL。表2列出了這16個從地址的詳細信息,A6、A5、A4固定為110,A3至A0可以通過AD2、AD0設置。 

 

可控制多外設的SPI/I2C總線

表2. MAX7319僅利用2個地址線(AD2和AD0)即可編譯出16個不同地址

 

進一步改進

 

3線接口和2線接口有幾點不同的要求,每種接口都有其特殊優勢。近期內不可能用一種接口標準完全取代另一接口標準。具備I2C接口的器件發展較快,并開始融合一些SMBus接口的特點,支持諸如超時復位等功能,使接口可以根據需要關斷。新的I2C從機地址長達10位,而不僅僅是7位,這給用戶帶來更多的靈活性。

 

3線接口和2線接口將并存,但I2C接口似乎占有更大的市場份額,大部分微處理器支持2線接口。I2C接口的易用性及更少的連線使其增長量超過了SPI接口。

 

本文來源于Maxim。

 

 

 

 

推薦閱讀:



優化DS2715電池充電器的負載切換功能

5通道(3路+V和2路-V)熱插拔參考設計

最新 MEMS 慣性模塊如何幫助克服應用開發挑戰

用于自主駕駛車輛的 V2X 通信

設計面向工業物聯網的低功耗邊緣層節點

 

 <

下一篇: PLC、DCS、FCS三大控

上一篇: 安規之電氣間距和爬電

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          亚洲成在人线免费| 国产亲近乱来精品视频| 在线观看一区日韩| 国产欧美一区二区三区在线看蜜臀 | 人人狠狠综合久久亚洲| 亚洲精品视频免费观看| 国产mv日韩mv欧美| 欧美变态tickling挠脚心| 99久久伊人网影院| 91女厕偷拍女厕偷拍高清| 91久久精品国产91性色tv| 欧美午夜宅男影院| 日韩1区2区3区| 国产精品美女www爽爽爽| 成人99免费视频| 亚洲色图制服诱惑| 欧美v日韩v国产v| 国产成人精品亚洲日本在线桃色| 亚洲伊人色欲综合网| 91精品国产麻豆国产自产在线 | 国产精品天天看| 色哟哟精品一区| 午夜精品成人在线| 欧美日韩国产中文| 国产伦精品一区二区三区免费 | 久久福利视频一区二区| 99久久婷婷国产| 日韩精品亚洲一区| 久久精品亚洲精品国产欧美 | 成人污污视频在线观看| 国产在线视视频有精品| 一区二区三区影院| 亚洲国产精品一区二区www在线| 欧美激情在线免费观看| 91精品国产91久久久久久一区二区 | 成人理论电影网| 一区二区三区在线播放| 日韩欧美一级精品久久| 国产成人鲁色资源国产91色综| 洋洋成人永久网站入口| 久久蜜桃香蕉精品一区二区三区| 色婷婷久久综合| 国产精品亚洲成人| 亚洲欧洲精品成人久久奇米网| 欧美一区二区在线看| 国产一区二区福利| 成人欧美一区二区三区白人| 欧美激情在线看| 自拍av一区二区三区| 国产精品美日韩| 久久天天做天天爱综合色| 91精品办公室少妇高潮对白| 激情伊人五月天久久综合| 一区二区三区四区国产精品| 日韩电影在线观看电影| 国产女主播视频一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 国产激情偷乱视频一区二区三区| 久久久精品黄色| 一本久道久久综合中文字幕| 精品一区二区三区视频在线观看| 中文字幕亚洲在| 国产校园另类小说区| 丁香五精品蜜臀久久久久99网站| 一区二区三区在线视频免费 | 亚洲精品国产第一综合99久久| 国产欧美日韩综合| 久久综合九色综合欧美就去吻| 6080日韩午夜伦伦午夜伦| 菠萝蜜视频在线观看一区| 亚洲777理论| 免费观看日韩电影| 国产成人在线视频播放| 国产成人鲁色资源国产91色综| 国产毛片精品国产一区二区三区| 中文一区二区完整视频在线观看| 国产成人精品综合在线观看| 国产成人免费9x9x人网站视频| 国产精品少妇自拍| 欧美另类高清zo欧美| 在线亚洲一区观看| 欧美日韩精品是欧美日韩精品| 欧美日韩一区在线| 欧美高清激情brazzers| 欧美午夜精品久久久久久孕妇| 欧美激情综合在线| 亚洲免费在线电影| 日本伊人午夜精品| 99久久综合狠狠综合久久| 欧美午夜不卡在线观看免费| 欧美丝袜丝交足nylons图片| 日韩亚洲欧美一区二区三区| 日韩 欧美一区二区三区| 亚洲视频免费在线观看| 亚洲一级二级三级| 欧美一区二区三区人| 成人天堂资源www在线| 91啦中文在线观看| 亚洲色图欧美偷拍| 成人免费的视频| 制服丝袜激情欧洲亚洲| 国产精品色呦呦| 精品综合免费视频观看| 91丨九色丨尤物| 欧美电影一区二区三区| 亚洲精品高清视频在线观看| 丰满少妇久久久久久久| 欧美一区二区在线免费观看| 精品久久久久久无| 免费观看30秒视频久久| 在线观看亚洲专区| 精品电影一区二区| 天天做天天摸天天爽国产一区| 亚洲成人自拍网| 久久精品国产**网站演员| 91在线播放网址| 精品国产1区2区3区| 午夜一区二区三区视频| 欧美激情一二三区| 欧美日韩一区精品| 日韩高清不卡一区二区三区| 欧美一区二区精品| 亚洲444eee在线观看| 在线电影欧美成精品| 亚洲成人自拍偷拍| 99国产精品视频免费观看| 麻豆视频观看网址久久| 久久一区二区三区国产精品| 久久精品国产77777蜜臀| 日韩欧美国产一区二区在线播放| 日本亚洲一区二区| 欧美一级日韩一级| 欧美日韩日日摸| 国内精品久久久久影院薰衣草| 日韩一区二区三区四区五区六区| 午夜伦欧美伦电影理论片| 欧美日韩国产三级| 99综合电影在线视频| 亚洲免费在线电影| 亚洲国产成人午夜在线一区| 欧美午夜一区二区三区免费大片| 极品瑜伽女神91| 1区2区3区国产精品| 色综合一个色综合亚洲| 亚洲四区在线观看| 欧美一区二区三区视频在线| 3d动漫精品啪啪一区二区竹菊| 成人精品一区二区三区四区| 国产精品123| 一区二区在线观看免费视频播放| 5566中文字幕一区二区电影| 懂色av一区二区三区免费观看| 国产日韩欧美高清| 国产人久久人人人人爽| 色吧成人激情小说| 一级精品视频在线观看宜春院 | 国产性做久久久久久| 日韩欧美国产一区在线观看| 这里只有精品99re| 久久精品一区八戒影视| 国产精品久久久久久久裸模| 日韩欧美亚洲一区二区| 在线播放一区二区三区| 欧美二区在线观看| 精品三级在线看| 国产精品国产成人国产三级| 亚洲免费毛片网站| 久久久噜噜噜久久中文字幕色伊伊 | 欧美日韩激情在线| 国产精品日韩成人| 日韩精品中文字幕在线一区| 成人h动漫精品一区二| 亚洲日本免费电影| 国产精品乱人伦中文| 日本91福利区| 伊人婷婷欧美激情| 91精品国产综合久久久久久 | 蜜桃一区二区三区四区| 中文字幕国产精品一区二区| 日韩免费性生活视频播放| 日韩精品资源二区在线| 99精品欧美一区二区三区小说| 五月天中文字幕一区二区| 久久成人综合网| 精品一区二区久久久| 欧美一区二区三区视频免费| 一本一道综合狠狠老| 日韩精品一区二区三区在线| 26uuu亚洲综合色| 亚洲女厕所小便bbb| 日韩成人av影视| 色先锋久久av资源部| 国产成人aaa| 欧美视频完全免费看| 午夜精品免费在线| 色呦呦日韩精品| 日本一区二区三区电影| 成人福利电影精品一区二区在线观看| 欧美日韩综合在线| 欧美tk—视频vk|