SPI,IIC和SMbus的應(yīng)用優(yōu)缺點(diǎn)分析
出處:與非網(wǎng) 發(fā)布于:2009-10-09 09:30:13
SPI有較快的速度,但是只能單主多從,管理線比較復(fù)雜。
IIC等速度比較慢,數(shù)據(jù)比較臃余,但是主從管理好,也省電省控制管腳。
概述:
對(duì)于需要經(jīng)常進(jìn)行數(shù)據(jù)流傳輸?shù)南到y(tǒng)數(shù)據(jù),SPI是,因?yàn)樗鼡碛休^快的時(shí)鐘速率,速率可從幾兆赫茲到幾十兆赫茲。然而,對(duì)于系統(tǒng)管理活動(dòng),如讀取溫度傳感器的讀數(shù)和查詢多個(gè)從器件的狀態(tài),或者需要多個(gè)主器件共存于同一系統(tǒng)總線上(系統(tǒng)冗余常會(huì)要求這一點(diǎn)),或者面向低功耗應(yīng)用,這時(shí)I2C 或 SMBus將是接口。
下面幾部分將介紹每種串行總線及其優(yōu)缺點(diǎn)。
1. SPI
SPI 是一種四線制串行總線接口,為主/從結(jié)構(gòu),四條導(dǎo)線分別為串行時(shí)鐘(SCLK)、主出從入(MOSI)、主入從出(MISO)和從選(SS)信號(hào)。主器件為時(shí)鐘提供者,可發(fā)起讀從器件或?qū)憦钠骷僮?。這時(shí)主器件將與一個(gè)從器件進(jìn)行對(duì)話。當(dāng)總線上存在多個(gè)從器件時(shí),要發(fā)起傳輸,主器件將把該從器件選擇線拉低,然后分別通過(guò) MOSI 和 MISO 線啟動(dòng)數(shù)據(jù)發(fā)送或接收。
SPI 時(shí)鐘速度很快,范圍可從幾兆赫茲到幾十兆赫茲,且沒(méi)有系統(tǒng)開銷。SPI 在系統(tǒng)管理方面的缺點(diǎn)是缺乏流控機(jī)制,無(wú)論主器件還是從器件均不對(duì)消息進(jìn)行確認(rèn),主器件無(wú)法知道從器件是否繁忙。因此,必須設(shè)計(jì)聰明的軟件機(jī)制來(lái)處理確認(rèn)問(wèn)題。同時(shí),SPI 也沒(méi)有多主器件協(xié)議,必須采用很復(fù)雜的軟件和外部邏輯來(lái)實(shí)現(xiàn)多主器件架構(gòu)。每個(gè)從器件需要一個(gè)單獨(dú)的從選擇信號(hào)??傂盘?hào)數(shù)終為 n+3 個(gè),其中 n 是總線上從器件的數(shù)量。因此,導(dǎo)線的數(shù)量將隨增加的從器件的數(shù)量按比例增長(zhǎng)。同樣,在 SPI 總線上添加新的從器件也不方便。對(duì)于額外添加的每個(gè)從器件,都需要一條新的從器件選擇線或解碼邏輯。圖 2 顯示了典型的 SPI 讀/寫周期。在地址或命令字節(jié)后面跟有一個(gè)讀/寫位。數(shù)據(jù)通過(guò) MOSI 信號(hào)寫入從器件,通過(guò) MISO 信號(hào)自從器件中讀出。圖 3顯示了 I2C總線/SMBus以及SPI的系統(tǒng)框圖。
2. I2C總線
I2C 是一種二線制串行總線接口,工作在主/從模式。二線通信信號(hào)分別為開漏 SCL 和 SDA 串行時(shí)鐘和串行數(shù)據(jù)。主器件為時(shí)鐘源。數(shù)據(jù)傳輸是雙向的,其方向取決于讀/寫位的狀態(tài)。每個(gè)從器件擁有一個(gè)的 7 或 10 位地址。主器件通過(guò)一個(gè)起始位發(fā)起傳輸,通過(guò)一個(gè)停止位終止傳輸。起始位之后為的從器件地址,再后為讀/寫位。
I2C總線速度為從0Hz到3.4MHz。它沒(méi)有SPI 那樣快,但對(duì)于系統(tǒng)管理器件如溫度傳感器來(lái)說(shuō)則非常理想。I2C 存在系統(tǒng)開銷,這些開銷包括起始位/停止位、確認(rèn)位和從地址位,但它因此擁有流控機(jī)制。主器件在完成接收來(lái)自從器件的數(shù)據(jù)時(shí)總是發(fā)送一個(gè)確認(rèn)位,除非其準(zhǔn)備終止傳輸。從器件在其接收到來(lái)自主器件的命令或數(shù)據(jù)時(shí)總是發(fā)送一個(gè)確認(rèn)位。當(dāng)從器件未準(zhǔn)備好時(shí),它可以保持或延展時(shí)鐘,直到其再次準(zhǔn)備好響應(yīng)。
I2C允許多個(gè)主器件工作在同一總線上。多個(gè)主器件可以輕松同步其時(shí)鐘,因此所有主器件均采用同一時(shí)鐘進(jìn)行傳輸。多個(gè)主器件可以通過(guò)數(shù)據(jù)仲裁檢測(cè)哪一個(gè)主器件正在使用總線,從而避免數(shù)據(jù)破壞。由于 I2C總線只有兩條導(dǎo)線,因此新從器件只需接入總線即可,而無(wú)需附加邏輯。
3. SMBus
SMBus是一種二線制串行總線,1996年版規(guī)范開始商用。它大部分基于I2C總線規(guī)范。和 I2C一樣,SMBus不需增加額外引腳,創(chuàng)建該總線主要是為了增加新的功能特性,但只工作在100kHz且專門面向智能電池管理應(yīng)用。它工作在主/從模式:主器件提供時(shí)鐘,在其發(fā)起傳輸時(shí)提供一個(gè)起始位,在其終止傳輸時(shí)提供一個(gè)停止位;從器件擁有一個(gè)的7或10位從器件地址。
SMBus與I2C總線之間在時(shí)序特性上存在一些差別。首先,SMBus需要一定數(shù)據(jù)保持時(shí)間,而 I2C總線則是從內(nèi)部延長(zhǎng)數(shù)據(jù)保持時(shí)間。SMBus具有超時(shí)功能,因此當(dāng)SCL太低而超過(guò)35 ms時(shí),從器件將復(fù)位正在進(jìn)行的通信。相反,I2C采用硬件復(fù)位。SMBus具有一種警報(bào)響應(yīng)地址(ARA),因此當(dāng)從器件產(chǎn)生一個(gè)中斷時(shí),它不會(huì)馬上清除中斷,而是一直保持到其收到一個(gè)由主器件發(fā)送的含有其地址的ARA為止。SMBus只工作在從10kHz到100kHz。工作頻率10kHz是由SMBus超時(shí)功能決定的。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 汽車電子常用電子元器件選型指南2026/4/13 16:04:25
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)2026/4/13 15:12:18
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析2026/4/13 13:48:56
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響2026/4/10 11:07:36
- 連接器耐腐蝕性能測(cè)試方法2026/4/10 10:56:32
- PCB焊盤與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









