新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 如何為數(shù)字溫度傳感器選擇系統(tǒng)接口

如何為數(shù)字溫度傳感器選擇系統(tǒng)接口

作者: 時間:2015-09-15 來源:網(wǎng)絡(luò) 收藏

  簡介:本文介紹了使用通信總線的選擇原則以及各自的優(yōu)缺點(diǎn)。

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

  如何為數(shù)字選擇系統(tǒng)

  概述:

  對于需要經(jīng)常進(jìn)行數(shù)據(jù)流傳輸?shù)南到y(tǒng)數(shù)據(jù),SPI是首選,因?yàn)樗鼡碛休^快的時鐘速率,速率可從幾兆赫茲到幾十兆赫茲。然而,對于系統(tǒng)管理活動,如讀取的讀數(shù)和查詢多個從器件的狀態(tài),或者需要多個主器件共存于同一系統(tǒng)總線上(系統(tǒng)冗余常會要求這一點(diǎn)),或者面向低功耗應(yīng)用,這時I2C 或 SMBus將是首選。

  

 

  圖1:數(shù)字簡化框圖

  下面幾部分將介紹每種串行總線及其優(yōu)缺點(diǎn)。

  1. SPI

  SPI 是一種四線制串行總線接口,為主/從結(jié)構(gòu),四條導(dǎo)線分別為串行時鐘(SCLK)、主出從入(MOSI)、主入從出(MISO)和從選(SS)信號。主器件為時鐘提供者,可發(fā)起讀從器件或?qū)憦钠骷僮?。這時主器件將與一個從器件進(jìn)行對話。當(dāng)總線上存在多個從器件時,要發(fā)起一次傳輸,主器件將把該從器件選擇線拉低,然后分別通過 MOSI 和 MISO 線啟動數(shù)據(jù)發(fā)送或接收。

  SPI 時鐘速度很快,范圍可從幾兆赫茲到幾十兆赫茲,且沒有系統(tǒng)開銷。SPI 在系統(tǒng)管理方面的缺點(diǎn)是缺乏流控機(jī)制,無論主器件還是從器件均不對消息進(jìn)行確認(rèn),主器件無法知道從器件是否繁忙。因此,必須設(shè)計(jì)聰明的軟件機(jī)制來處理確認(rèn)問題。同時,SPI 也沒有多主器件協(xié)議,必須采用很復(fù)雜的軟件和外部邏輯來實(shí)現(xiàn)多主器件架構(gòu)。每個從器件需要一個單獨(dú)的從選擇信號。總信號數(shù)最終為 n+3 個,其中 n 是總線上從器件的數(shù)量。因此,導(dǎo)線的數(shù)量將隨增加的從器件的數(shù)量按比例增長。同樣,在 SPI 總線上添加新的從器件也不方便。對于額外添加的每個從器件,都需要一條新的從器件選擇線或解碼邏輯。圖 2 顯示了典型的 SPI 讀/寫周期。在地址或命令字節(jié)后面跟有一個讀/寫位。數(shù)據(jù)通過 MOSI 信號寫入從器件,通過 MISO 信號自從器件中讀出。圖 3顯示了 I2C總線/SMBus以及SPI的系統(tǒng)框圖。

  

 

  圖2:SPI 典型讀/寫周期

  

 

  圖3:(a)I2C總線/SMBus系統(tǒng)接口;(b)SPI 系統(tǒng)接口

  2. I2C總線

  I2C 是一種二線制串行總線接口,工作在主/從模式。二線通信信號分別為開漏 SCL 和 SDA 串行時鐘和串行數(shù)據(jù)。主器件為時鐘源。數(shù)據(jù)傳輸是雙向的,其方向取決于讀/寫位的狀態(tài)。每個從器件擁有一個唯一的 7 或 10 位地址。主器件通過一個起始位發(fā)起一次傳輸,通過一個停止位終止一次傳輸。起始位之后為唯一的從器件地址,再后為讀/寫位。

  I2C總線速度為從0Hz到3.4MHz。它沒有SPI 那樣快,但對于系統(tǒng)管理器件如溫度傳感器來說則非常理想。I2C 存在系統(tǒng)開銷,這些開銷包括起始位/停止位、確認(rèn)位和從地址位,但它因此擁有流控機(jī)制。主器件在完成接收來自從器件的數(shù)據(jù)時總是發(fā)送一個確認(rèn)位,除非其準(zhǔn)備終止傳輸。從器件在其接收到來自主器件的命令或數(shù)據(jù)時總是發(fā)送一個確認(rèn)位。當(dāng)從器件未準(zhǔn)備好時,它可以保持或延展時鐘,直到其再次準(zhǔn)備好響應(yīng)。

  I2C允許多個主器件工作在同一總線上。多個主器件可以輕松同步其時鐘,因此所有主器件均采用同一時鐘進(jìn)行傳輸。多個主器件可以通過數(shù)據(jù)仲裁檢測哪一個主器件正在使用總線,從而避免數(shù)據(jù)破壞。由于 I2C總線只有兩條導(dǎo)線,因此新從器件只需接入總線即可,而無需附加邏輯。

  3. SMBus

  SMBus是一種二線制串行總線,1996年第一版規(guī)范開始商用。它大部分基于I2C總線規(guī)范。和 I2C一樣,SMBus不需增加額外引腳,創(chuàng)建該總線主要是為了增加新的功能特性,但只工作在100kHz且專門面向智能電池管理應(yīng)用。它工作在主/從模式:主器件提供時鐘,在其發(fā)起一次傳輸時提供一個起始位,在其終止一次傳輸時提供一個停止位;從器件擁有一個唯一的7或10位從器件地址。

  SMBus與I2C總線之間在時序特性上存在一些差別。首先,SMBus需要一定數(shù)據(jù)保持時間,而 I2C總線則是從內(nèi)部延長數(shù)據(jù)保持時間。SMBus具有超時功能,因此當(dāng)SCL太低而超過35 ms時,從器件將復(fù)位正在進(jìn)行的通信。相反,I2C采用硬件復(fù)位。SMBus具有一種警報響應(yīng)地址(ARA),因此當(dāng)從器件產(chǎn)生一個中斷時,它不會馬上清除中斷,而是一直保持到其收到一個由主器件發(fā)送的含有其地址的ARA為止。SMBus只工作在從10kHz到最高100kHz。最低工作頻率10kHz是由SMBus超時功能決定的。

  總結(jié):

  SPI有較快的速度,但是只能單主多從,管理線比較復(fù)雜。

  IIC等速度比較慢,數(shù)據(jù)比較臃余,但是主從管理好,也省電省控制管腳。

傳感器相關(guān)文章:傳感器工作原理




關(guān)鍵詞: 溫度傳感器 接口

評論


相關(guān)推薦

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

關(guān)閉