日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

I2C通信一般性問(wèn)題

 新用戶86925817 2020-03-10

I2C通信一般性問(wèn)題

I2C 總線比較簡(jiǎn)單,可能的問(wèn)題主要出在時(shí)序上,一般設(shè)計(jì)者即使忽略也不太會(huì)有麻煩,但是有幾個(gè)指標(biāo)一定要認(rèn)真考慮:

1.總線驅(qū)動(dòng)能力。上拉電阻和負(fù)載電容決定了總線在某一速率下的穩(wěn)定性。當(dāng)輸出為高時(shí),電流通過(guò)上拉電阻對(duì)負(fù)載電容充電。上拉越大,電容越大,所需要的時(shí)間就越長(zhǎng),如果超過(guò)了通信周期的10%,那么這個(gè)上升沿就太緩了,相應(yīng)的建立時(shí)間會(huì)受到影響,I2C規(guī)范的最大負(fù)載電容是400pF,快速模式下是100pF。如果輸出為低,電流通過(guò)上拉電阻被I2C master器件吸取,(注意根據(jù)I2C規(guī)范,最小只有3毫安的吸取電流)那么這個(gè)吸取電流在上拉電阻上的壓降就決定了輸出低電平能達(dá)到的范圍,如果不能達(dá)到0.3VDD以下,就會(huì)有誤采樣。有人說(shuō)加大上拉電阻是不妥當(dāng)?shù)?,要具體分析吸取電流、負(fù)載電容、上拉電平和通信速率才能決定(普通模式和快速模式是不一樣的)。

2.總線空閑時(shí)間(bus free time)。它的定義是從上一次通信的停止到下一次通信的開始的間隔時(shí)間。對(duì)CPU來(lái)說(shuō),它往往是I2Cmaster器件,由于運(yùn)行速度很快,這個(gè)指標(biāo)如果不注意的話就會(huì)達(dá)不到,導(dǎo)致I2C總線不響應(yīng)。另外要注意的是CPU內(nèi)部的I2C停止時(shí)刻標(biāo)志位置位和硬件總線上的I2C停止標(biāo)志(clock為高時(shí)數(shù)據(jù)從低到高的跳變)時(shí)刻往往是不一致的。有的芯片有15-20個(gè)微秒的差別,所以要用示波器量出來(lái)為準(zhǔn)。

3.總線保持時(shí)間。I2C的總線建立和保持與有的時(shí)序定義不一樣。建立時(shí)間是指從數(shù)據(jù)跳變沿到時(shí)鐘上升沿的間隔;而保持時(shí)間是指從時(shí)鐘下降沿到數(shù)據(jù)下一個(gè)跳變沿的間隔。通常建立時(shí)間都能保證。

【問(wèn)題1】完全不能進(jìn)行讀寫:

(1) 通信協(xié)議不正確:有很多的I2C設(shè)備,并不支持所有的I2C協(xié)議,同時(shí)也不是一個(gè)比較標(biāo)準(zhǔn)的I2C設(shè)備;軟件的通信時(shí)序要詳細(xì)看一下設(shè)備資料。

(2) I2C設(shè)備地址不正確:有很多的I2C設(shè)備的地址是可以通過(guò)硬件設(shè)定的;也有器件資料提供的數(shù)據(jù)是錯(cuò)誤的。

3I2C通信線上沒有加上拉電阻:由于I2C的從設(shè)備的SDA,SCLPIN是輸出開漏的,所以必須加上拉電阻,同時(shí)根據(jù)I2C設(shè)備的數(shù)量上拉電阻的大小也會(huì)不同。從1K~10K,具體的見連接。

4I2C設(shè)備損壞:有時(shí)我們會(huì)經(jīng)常遇到問(wèn)題時(shí)總是認(rèn)為我們自己在軟件上是不是有問(wèn)題,是不是電路上沒有焊接好,實(shí)際上都不是,而是器件是壞的。

【問(wèn)題2】讀或?qū)懯?,不能正確的讀寫某個(gè)地址的數(shù)據(jù):

1)電路干擾:在I2C設(shè)備的電源入口處沒有加濾波電路,一般入口處加10nF 0.1uF電容;SDA,SCL線上干擾,沒有濾波處理,線上串一幾十ohm電阻,對(duì)地加幾十pF電容;千萬(wàn)別小看這幾顆小小的電容!

2)通信時(shí)序:讀寫時(shí)速度過(guò)快。

【解決辦法】

1)如果完全不能讀寫,需要詳細(xì)看設(shè)備資料,及電路檢查。

2)通信不穩(wěn)定或者有部分讀寫錯(cuò)誤:

1.調(diào)整SCL/SDA上拉電阻(阻值越小,上升時(shí)間越短,受干擾幾率越低,但根據(jù)I2C協(xié)議要求,上拉電阻不能取得太小,需大于(VDD-Volmax)/3mA=(3.3V-0.4V)/3mA=0.97K),可有效解決I2C穩(wěn)定性問(wèn)題。

2.電路板焊接不夠良好、電源不穩(wěn)、電路復(fù)雜、地線回路不好,等都會(huì)引起信號(hào)有毛刺,需要對(duì)電源濾波,和對(duì)SDA/SCL串接幾十到100多歐的電阻并上個(gè)幾十pF的電容進(jìn)行濾波處理。

3.降低通信速率有時(shí)也能有效提高通信穩(wěn)定性。

4.通過(guò)軟件編程進(jìn)行信號(hào)消抖處理,用高速時(shí)鐘對(duì)信號(hào)進(jìn)行多次采樣以準(zhǔn)確判斷SCL/SDA的高低電平,由此避開信號(hào)的亞穩(wěn)態(tài)階段。

5. 為了防止通信過(guò)程中的測(cè)量,靜電,反復(fù)斷電等因素對(duì)管腳的損害,一定要加TVS管,在測(cè)量中我已經(jīng)燒過(guò)兩次管腳了,這給我極大的教訓(xùn)。

【問(wèn)題2I2cEEPROM的問(wèn)題

下面是我在讀一些EEPROM時(shí)發(fā)現(xiàn)有些EEPROM能進(jìn)行讀寫,有些能單讀卻怎么也無(wú)法寫入。原因如下:

1.     在讀寫EEPROM時(shí),發(fā)現(xiàn)的一定要注意EEPROM的容量,這將決定器件的隨機(jī)字地址。

2.     當(dāng)EEPROM的地址超過(guò)32k時(shí),隨機(jī)字地址超過(guò)11位(8位的偏移地址+器件地址保留3位頁(yè)地址),此時(shí)器件的偏移地址需要16bit來(lái)保證尋址。故編程需要考慮到此類EEPROM的讀寫問(wèn)題。

【總結(jié)】

I2C通信是一種低速信號(hào)通信,即便面對(duì)低速信號(hào),我們也不能掉以輕心,信號(hào)通信的干擾問(wèn)題,以及其緩慢的上升沿或下降沿(滿足其規(guī)范要求)造成其處于亞穩(wěn)態(tài)的時(shí)間過(guò)長(zhǎng)問(wèn)題,而在這段不定態(tài)的時(shí)間待得越長(zhǎng)就越危險(xiǎn),其受到干擾的幾率就越大!

另外當(dāng)你去解決問(wèn)題時(shí)要注意會(huì)不會(huì)引來(lái)新的問(wèn)題從而造成更大的麻煩,所以要綜合考量,更要多去嘗試,實(shí)踐才是最重要的。

最后:以上是我這段時(shí)間對(duì)I2c的一些問(wèn)題的看法及總結(jié),有些是我遇到的,有些是網(wǎng)上看到補(bǔ)充的,希望大家多提意見及補(bǔ)充,讓我能夠更好的成長(zhǎng),謝謝!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多