国产精品久久久久久久久久免费_国产综合无码一区二区三区_各种少妇BBW撒尿_欧美精品黄页在线观看大全

聯(lián)系我們???Contact

別被IIC總線給坑了!

2023/12/12 18:03:39??????點(diǎn)擊:
      一、I2C通信理解

      很多小伙伴在進(jìn)行IIC通信協(xié)議開(kāi)發(fā)時(shí),往往都比較迷茫。一方面是可能長(zhǎng)時(shí)間沒(méi)怎么用了,相關(guān)的知識(shí)有所忘卻,也算正常不過(guò),如果重新圍著通信時(shí)序圖看來(lái)看去,那還是比較麻煩的,比如IIC的起始電平條件、停止電平條件、以及數(shù)據(jù)保持即更新條件等等:

      雖然每個(gè)器件對(duì)IIC通信的波形要求不是太相同,但I(xiàn)IC的通信時(shí)序容忍度非常高,基本上常規(guī)范圍的通信參數(shù)和驅(qū)動(dòng)都是通用的。

      IIC數(shù)據(jù)的傳輸過(guò)程,在SCL通信同步時(shí)鐘節(jié)拍的控制下,主機(jī)發(fā)送數(shù)據(jù)主動(dòng)使得總線電平發(fā)生變化,供從機(jī)檢測(cè)接收,而當(dāng)從機(jī)接收到數(shù)據(jù)以后接著主動(dòng)的拉低SDA來(lái)作為應(yīng)答信號(hào)通知主機(jī),如果沒(méi)有拉低則表示非應(yīng)答。

      之前很多朋友都不太理解IIC的主機(jī)是怎么檢測(cè)到從機(jī)應(yīng)答的,似乎從SDA線上的波形看都好像是主機(jī)發(fā)送出來(lái)的,所以在進(jìn)行通信波形解析的時(shí)候一定要注意區(qū)分信號(hào)到底是主機(jī)還是從機(jī)在處理。

      二、IIC數(shù)據(jù)幀

      對(duì)于通信的應(yīng)用,重要的并不是所謂的電平變化,當(dāng)然也不是說(shuō)不重要,畢竟有時(shí)候通信不穩(wěn)定還得從原始波形進(jìn)行分析,但大部分應(yīng)用開(kāi)發(fā)人員更多的是要了解如何傳遞數(shù)據(jù)幀,掌握好數(shù)據(jù)幀的傳遞過(guò)程和方式。

      不同廠商的數(shù)據(jù)幀稍微有所差異,比如7位地址、8位地址和10位地址,但總體上都是大同小異,大家可以參考對(duì)應(yīng)的芯片手冊(cè)進(jìn)行學(xué)習(xí),這里以最常用的7地址位跟大家介紹一下:

      IIC是一種主從通信方式,通信發(fā)起者為主機(jī),主要熟悉三種數(shù)據(jù)幀傳遞過(guò)程:

      1、單次或連續(xù)向從機(jī)寫(xiě)數(shù)據(jù)

      注意如上僅僅只是數(shù)據(jù)幀傳遞,類(lèi)似于我們平時(shí)的串口通信,而至于通信數(shù)據(jù)域內(nèi)的數(shù)據(jù)含義,是由通信雙方共同約定即可,也就是所謂的應(yīng)用層協(xié)議的制定了。

      2、單次或連續(xù)向從機(jī)讀數(shù)據(jù)

      讀數(shù)據(jù)的過(guò)程主機(jī)發(fā)送的讀寫(xiě)標(biāo)志位發(fā)生變化,在數(shù)據(jù)部分從機(jī)主動(dòng)控制總線發(fā)送數(shù)據(jù)給主機(jī),然后主機(jī)來(lái)進(jìn)行應(yīng)答,剛好與IIC寫(xiě)數(shù)據(jù)相反。

      3、通訊過(guò)程讀寫(xiě)切換

      在通信過(guò)程中需要進(jìn)行讀寫(xiě)切換時(shí)不需要發(fā)送停止,而是應(yīng)答以后重新發(fā)一次起始和從機(jī)地址及讀寫(xiě)狀態(tài),接著進(jìn)行下面的數(shù)據(jù)處理即可。

      三、IIC通信別忘了上拉

      對(duì)于IIC總線不要忘記通信IO上拉,上拉主要是保證信號(hào)線在空閑的狀態(tài)保持高電平,也就是邏輯1,。

      同時(shí)IIC總線采用的是一種開(kāi)漏輸出的架構(gòu),通信線上的器件可以將線路的電平拉低,即邏輯0;但是無(wú)法主動(dòng)將線路拉高到邏輯1,所以上拉必不可少。

      所以為了確保通信線上能夠提供足夠的驅(qū)動(dòng)能力,同時(shí)也不能導(dǎo)致信號(hào)失真,上拉電阻阻值的選擇尤為重要。

      四、上拉電阻怎么選?

      上拉電阻該怎么選呢?那影響因素可就多了:

      1、通信的總線長(zhǎng)度

      通常通信線路越長(zhǎng),電阻要稍微大一點(diǎn)。

      2、通信的總線材質(zhì)

      如果總線提供的容性負(fù)載較高,要適當(dāng)減小電阻,以加快信號(hào)的變化時(shí)間。

      3、通信的速率

      適當(dāng)降低上拉電阻,提高驅(qū)動(dòng)電流,加快電平反應(yīng)速度。

      總之,具體情況就具體分析和折中去選擇上拉電阻了,最后就是注意電平上的匹配,避免損壞芯片~