新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 穩(wěn)定可靠的I2C通信的設(shè)計(jì)計(jì)算

穩(wěn)定可靠的I2C通信的設(shè)計(jì)計(jì)算

作者: 時(shí)間:2012-12-13 來源:網(wǎng)絡(luò) 收藏

許多系統(tǒng)需要的非易失性存儲(chǔ),對(duì)于這些系統(tǒng),可選擇EEPROM存儲(chǔ)器技術(shù)。EEPROM技術(shù)具有的架構(gòu),供應(yīng)商較多,并且經(jīng)過了多年的改進(jìn)。EEPROM器件可用于各種工業(yè)標(biāo)準(zhǔn)串行總線,包括™、SPI、Microwire和UNI/O®總線。其中,總線在單片機(jī)和其他芯片組中具有廣泛的硬件支持,并且信號(hào)傳遞方式簡(jiǎn)單,可采用極小的硅片有效實(shí)現(xiàn),因此占據(jù)了非易失性存儲(chǔ)器市場(chǎng)約70%的份額。但是,總線拓?fù)湟蕾囉谧柚岛线m的上拉電阻才能實(shí)現(xiàn)。電阻值選擇錯(cuò)誤不僅會(huì)造成電能浪費(fèi),還可能導(dǎo)致總線狀態(tài)和傳輸過程由于噪聲、溫度變化、工作電壓變化以及器件間的制造差異而出錯(cuò)。

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

I2C是二線同步總線,使用總線主器件SCL線上產(chǎn)生的信號(hào)作為時(shí)鐘。SDA線用于雙向數(shù)據(jù)傳輸。當(dāng)時(shí)鐘處于特定狀態(tài)時(shí)可修改數(shù)據(jù)線,以指示傳輸?shù)拈_始和停止,從而避免使用更多的線。I2C總線以集電極開路輸出為基礎(chǔ),其中,器件可通過接地晶體管拉低線的電平,如圖1所示。這樣便可輕松對(duì)總線控制進(jìn)行仲裁,從而在一條數(shù)據(jù)線上實(shí)現(xiàn)雙向以及多主器件支持。如圖1所示,每條線都有一個(gè)外部電阻連接至Vdd,該電阻可在釋放總線或總線空閑時(shí)拉高線的電平。

01_opt1.jpeg

圖1 I2C™總線拓?fù)?/p>

確定上拉電阻值(Rp)時(shí)需要考慮三個(gè)因素:

• 電源電壓(Vdd)

• 總線總電容(CBUS)

• 高電平總輸入電流(IIH)

以下面的條件為例理想的上拉電阻值:

• 電源電壓(Vdd)為5V

• 時(shí)鐘頻率為400kHz

• 總線電容為100pF

電源電壓(Vdd)

I2C規(guī)范將低于VIL或低于電源電壓30%的電壓定義為邏輯低電平,同樣,將高于VIH或高于電源電壓70%的電壓定義為邏輯高電平,如圖2所示。這兩個(gè)電平之間的電壓屬于不明確的邏輯電平。實(shí)際上,引腳會(huì)將該范圍內(nèi)的電平讀為邏輯高電平或邏輯低電平,但在器件間可能不同,因?yàn)闇囟?、電壓、噪聲源和其他環(huán)境因素會(huì)影響邏輯電平。

02_opt1.jpeg

圖2 指定為邏輯高電平和邏輯低電平的電壓電平

電源電壓限制了可允許總線拉低的最小Rp值。過強(qiáng)的上拉會(huì)阻止器件充分拉低線的電平,導(dǎo)致無法確保邏輯低電平能被檢測(cè)到。這是由上拉電阻與接地晶體管的導(dǎo)通電阻之間形成的分壓器產(chǎn)生的,如圖3所示。通常不會(huì)指定晶體管的導(dǎo)通電阻。相反,會(huì)給定使晶體管上的電壓降低于輸出邏輯低電壓電平(VOL)的最大灌電流(IOL)。使用歐姆定律得出公式1。

03_opt1.jpeg

圖3 集電極開路拓?fù)浜偷刃щ娐?/p>

對(duì)于Microchip的I2C EEPROM器件,規(guī)定在IOL為3mA時(shí),VOL最大為0.4V,其他制造商的器件的范圍與其相似。

公式1:允許總線電壓拉低的最小上拉電阻。

MM1320030411_opt.jpeg

MM1320030471_opt.jpeg

MM1320030532_opt.jpeg

如果總線上有多個(gè)器件,最小Rp由灌電流最低的器件決定。

總線總電容(CBUS)

在SCL和SDA線上,所有引腳、連接、PCB走線和導(dǎo)線都會(huì)引入電容。這些電容結(jié)合在一起稱為總線電容,對(duì)于長(zhǎng)走線和長(zhǎng)連接來說,總線電容可能很大。集電極開路拓?fù)湫枰獠侩娮璨拍茉诳偩€釋放時(shí)拉高線的電平。上拉電阻(與總線電容耦合)具有一個(gè)RC時(shí)間常數(shù),該常數(shù)限制了上升時(shí)間。隨著時(shí)鐘頻率的增加,該常數(shù)愈發(fā)重要,因?yàn)樾枰俚臅r(shí)間升高線的電平。如果所選電阻值過高,線的電平在下一次拉低之前可能無法上升到邏輯高電平。對(duì)于一條總線上具有多個(gè)器件的(通常具有較大的總線電容)來說,這是重要的考慮因素。

總線電容可通過PCB走線長(zhǎng)度和引腳分布電容,也可以使用電容探頭或智能鑷子量表進(jìn)行測(cè)量。如果不能準(zhǔn)確或測(cè)量總線電容,應(yīng)高估最壞情況讀數(shù)以提供安全的最大電阻值。

公式2是用于確定充電電容負(fù)載兩端電壓(與時(shí)間成函數(shù)關(guān)系)的一般公式。這可以計(jì)算在特定上拉電阻和總線電容下,總線電壓上升到特定值所需的時(shí)間。

公式2:通過電阻對(duì)電容進(jìn)行充電的一般公式。

MM1320031064_opt.jpeg

重新排列

MM1320031165_opt.jpeg

之后,我們可計(jì)算電壓上升至VIL的時(shí)間(T1)、上升至VIH的時(shí)間(T2)以及精確計(jì)算這兩個(gè)電平之間的時(shí)間(TR),如圖4所示。由于VIL和VIH都是由Vdd產(chǎn)生的,因此該公式與電源電壓無關(guān),因?yàn)閂dd項(xiàng)已抵消。

04_opt.jpeg

圖4 邏輯低電平轉(zhuǎn)換為邏輯高電平的充電時(shí)間

求解

MM1320031367_opt.jpeg
上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉