----- 正文 -----
先贊↓后看,養(yǎng)成習(xí)慣!
一、電氣性能
電氣性能包含下圖時鐘頻率、IO電平、時序定義等內(nèi)容,下面將一一介紹(注意:本文只介紹標(biāo)準(zhǔn)模式下的數(shù)據(jù),其它模式數(shù)據(jù)參考協(xié)議原文文檔)
以下的時序是常見的,項目中I2C實際波形需要符合這些時序的要求,因此測試中應(yīng)該用示波器抓到實際波形然后查看每個時序,當(dāng)然以上只是標(biāo)準(zhǔn)協(xié)議,不同的器件要求可能有所不同,需要查詢相應(yīng)的數(shù)據(jù)手冊確定極限值。其他的時序可以參考原文,不再贅述。
1. VIH與VIL
VIH:高電平閾值電壓,高于此電壓才會判斷為高電平,一般取VDD+0.5V或5.5V中的小值,例如3.3V的系統(tǒng)中,取3.3+0.5等于3.8V
VIL:低電平閾值電壓,低于此電壓才會判斷為低電平,一般最小值為-0.5V,最大值為0.3VDD,這里的最大最小值器件生產(chǎn)誤差或者不同器件的微小差異,后續(xù)的最大值最小值也是類似。
2. tlow
指低電平持續(xù)時間,也就是SDA或SCL一個時鐘周期內(nèi)電平低于0.3VDD的持續(xù)時間。標(biāo)準(zhǔn)模式下最小為4.7us。
3. tHIGH
指高電平持續(xù)時間,也就是SDA或SCL在一個周期內(nèi)電壓大于0.7VDD后直到電壓再低于0.7VDD時持續(xù)的時間。標(biāo)準(zhǔn)模式下最小為4.0us。
4. tr與tf
tr是指數(shù)據(jù)上升沿時間,即SDA從0.3VDD到0.7VDD這一段時間,標(biāo)準(zhǔn)模式下最大為1us,最小不限
tf是指數(shù)據(jù)下降沿時間,即SDA從0.7VDD到0.3VDD這一段時間,標(biāo)準(zhǔn)模式下最大為0.3us,最小不限
5. tHD;STA
指開始保持時間,數(shù)據(jù)SDA變?yōu)榈碗娖剑?/span>SDA低于0.3VDD瞬間開始)一直到SCL開始變?yōu)榈碗娖剑?/span>SCL低于0.7VDD瞬間)這段時長,標(biāo)準(zhǔn)模式下最小值為4.0us
6. tSU;STA
指起始建立時間,只有在發(fā)完上一個數(shù)據(jù)Re-Start時才會有這個時序,從SCL變?yōu)楦唠娖剑⊿CL電壓大于0.7VDD瞬間)開始到SDA開始變?yōu)榈碗娖剑⊿DA低于0.7VDD瞬間)這一段時間的時長,標(biāo)準(zhǔn)模式下最小為4.7us。
7. tSU;DAT
指數(shù)據(jù)建立時間,數(shù)據(jù)SDA完成電平變換(指SDA由0V變?yōu)?.7VDD瞬間或從VDD變?yōu)?.3VDD瞬間開始)一直到時鐘SCL開始采集(指SCL大于0.3VDD)這一段時長,標(biāo)準(zhǔn)模式下最小250ns。
8. tHD;DAT
指數(shù)據(jù)保持時間,時鐘SCL高電平結(jié)束后變?yōu)榈碗娖剑ㄖ窼CL低于0.3VDD瞬間開始)一直到數(shù)據(jù)SDA完成電平轉(zhuǎn)換(指SDA由0V變?yōu)?.7VDD瞬間或從VDD變?yōu)?.3VDD瞬間開始)這一段時長,標(biāo)準(zhǔn)模式下最小5us。
9. tSU;STO
指結(jié)束建立時間,從SCL變?yōu)楦唠娖剑ㄖ窼CL高于0.7VDD瞬間開始)到SDA開始變?yōu)楦唠娖剑ㄖ窼DA高于0.3VDD瞬間)這段時間的時長,標(biāo)準(zhǔn)模式下最小4.0us。
二、上拉電阻的計算
對于標(biāo)準(zhǔn)模式(即通信速率為100k),上拉電阻受電源電壓、輸入電流和總線電容影響,引腳輸入電流有限,一般為3mA,總線電容Cb最大為400pF。
由于引腳輸入電流有限,過大可能損壞設(shè)備,因此可以計算上拉電阻的最小值Rpmin=(VDD-0.3VDD)/0.003,取0.3VDD是因為低電平最大值為0.3VDD。以VDD為3.3V計算,Rp的最小值為(3.3-3.3*0.3)/0.003=0.77kΩ
另外由于前面講過的上升沿時間tr最大值(標(biāo)準(zhǔn)模式1us)影響,可以計算上拉電阻的最大值。
上升沿其實就是對電容Cb充電的過程,按照tr的定義可以得出以下式子:(其中R為Rp,C為Cb)
以tr最大為1us,Cb最大為400pF計算得:
因此Rp取值范圍在0.77k到2.86k之間,建議取靠近中間的值,實際總線電容可能沒有400pF,因此也可以稍微取大一些,常見的是4.7k。