0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

I2C通信理解與三種IIC數(shù)據(jù)幀傳遞過程

FPGA之家 ? 來源:CSDN博客最后一個bug ? 作者:CSDN博客最后一個 ? 2022-03-15 10:29 ? 次閱讀

正文

大家好,我是bug菌!

1I2C通信理解

很多朋友在進(jìn)行IIC通信協(xié)議開發(fā)的時候比較迷茫,可能長時間沒有用了,就有所忘卻,也算正常,不過如果重新圍著通信時序圖看來看去,那還是比較麻煩的,比如IIC的起始電平條件、停止電平條件、以及數(shù)據(jù)保持即更新條件等等。

雖然每個器件對IIC通信的波形要求不是太相同,但I(xiàn)IC的通信時序容忍度非常高,基本上相關(guān)參數(shù)和驅(qū)動都是通用的。IIC數(shù)據(jù)的傳輸過程,在SCL通信同步時鐘節(jié)拍的控制下,主機(jī)發(fā)送數(shù)據(jù)主動使得總線電平發(fā)生變化,供從機(jī)檢測接收,而當(dāng)從機(jī)接收到數(shù)據(jù)以后接著主動的拉低SDA來作為應(yīng)答信號通知主機(jī),如果沒有拉低則表示非應(yīng)答。

之前很多朋友都不太理解IIC的主機(jī)是怎么檢測到從機(jī)應(yīng)答的,似乎從SDA線上的波形看都好像是主機(jī)發(fā)送出來的,所以在進(jìn)行通信波形解析的時候注意一下。

2IIC數(shù)據(jù)幀

對于通信的應(yīng)用,重要的并不是所謂的電平變化,而更多的是要了解如何傳遞數(shù)據(jù)幀,掌握好數(shù)據(jù)幀的傳遞過程和方式。

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

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

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

b250ba0a-9645-11ec-952b-dac502259ad0.png

至于通信數(shù)據(jù)域內(nèi)的數(shù)據(jù)含義,由通信雙方共同約定即可,也就是協(xié)議的制定。

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

b2652e36-9645-11ec-952b-dac502259ad0.png

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

3、通訊過程讀寫切換

b2757a48-9645-11ec-952b-dac502259ad0.png

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

最后bug菌再啰嗦一下 : 對于IIC總線不要忘記通信IO上拉,同時注意電平上的匹配,不然可能會損壞芯片~

原文標(biāo)題:玩轉(zhuǎn)I2C通信把握好這兩點~

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6715

    瀏覽量

    88311
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5880

    瀏覽量

    135317
  • IIC總線
    +關(guān)注

    關(guān)注

    1

    文章

    66

    瀏覽量

    20259

原文標(biāo)題:玩轉(zhuǎn)I2C通信把握好這兩點~

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    I2C通信開發(fā)障礙以及總結(jié)

    本文主要講解的是I2C開發(fā)過程中會遇到的坑以及I2C的個人總結(jié)經(jīng)驗,很實用,可以i幫助開發(fā)人員更好的理解
    的頭像 發(fā)表于 04-17 16:35 ?1222次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>開發(fā)障礙以及總結(jié)

    逼真動畫展示I2C、SPI、UART的通信過程

    到目前為止,I2C、SPI和UART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點和局限性,并輔以GIF動圖展示。I2C協(xié)
    的頭像 發(fā)表于 04-12 08:27 ?744次閱讀
    逼真動畫展示<b class='flag-5'>I2C</b>、SPI、UART的<b class='flag-5'>通信</b><b class='flag-5'>過程</b>

    I2C、SPI、UART的通信過程還可以這樣理解

    到目前為止,I2C、SPI和UART等仍然是電子嵌入式設(shè)備中最常用的通信協(xié)議,本文,我們將剖析這三種協(xié)議,讓大家清楚、直觀的了解它們的功能、優(yōu)點和局限性,并輔以GIF動圖展示。一、IIC
    的頭像 發(fā)表于 05-23 08:10 ?4187次閱讀
    <b class='flag-5'>I2C</b>、SPI、UART的<b class='flag-5'>通信</b><b class='flag-5'>過程</b>還可以這樣<b class='flag-5'>理解</b>

    什么是IIC通信I2C

    IIC通信I2CIIC,Inter-Integrated Circuit),兩線式串行總線,由PHILIPS公司開發(fā)用于連接微控制器及外圍設(shè)備。它是由
    發(fā)表于 08-03 07:46

    STM32F767+STM32CubeMX I2C通信讀寫EEPROM數(shù)據(jù)(采用輪詢、DMA、中斷三種方式)精選資料推薦

    STM32F767+STM32CubeMX I2C通信讀寫EEPROM數(shù)據(jù)(采用輪詢、DMA、中斷三種方式)摘要-前言作為一名STM32的初學(xué)者,在學(xué)習(xí)
    發(fā)表于 08-23 09:08

    I2C通信協(xié)議的原理是什么

    I2C通信協(xié)議I2C通信原理I2C通信原理:I2C
    發(fā)表于 02-17 07:16

    I2C的發(fā)送過程分享

    序本文將以51單片機(jī)的I2C通信協(xié)議為例,將涉及到I2C的基本過程以及其中我認(rèn)為比較重要的點。I2C的基本
    發(fā)表于 02-23 06:11

    新手關(guān)于I2C理解

    新手關(guān)于I2C理解1- 關(guān)于I2CI2C是一個通信協(xié)議就如同UART一樣都是實現(xiàn)數(shù)據(jù)傳遞,
    發(fā)表于 02-24 06:57

    SPI、I2C、UART三種串行總線協(xié)議的區(qū)別

    SPI、I2C、UART三種串行總線協(xié)議的區(qū)別
    發(fā)表于 07-17 17:23 ?0次下載

    I2C總線的工作原理解

    I2C是一雙線雙向接口,包括一個時鐘信號和一個數(shù)據(jù)信號(SCL和SDA)。在不增加任何其他信號的情況下,一條I2C總線就可以支持多達(dá)12個設(shè)備。I
    發(fā)表于 08-23 15:55 ?6445次閱讀
    <b class='flag-5'>I2C</b>總線的工作原<b class='flag-5'>理解</b>析

    I2C通信協(xié)議應(yīng)該如何學(xué)習(xí)

    我最近剛做完I2C通信協(xié)議的編寫與調(diào)試,下面介紹一下我從一開始理解夏老師的程序,修改程序,直到下板調(diào)試整個的學(xué)習(xí)過程,希望對大家學(xué)習(xí) I2C
    發(fā)表于 04-28 08:00 ?20次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>協(xié)議應(yīng)該如何學(xué)習(xí)

    干貨:I2C總線最全教程講解

    ? 裸機(jī)操作篇 本文以星exynos4412為例講解I2C時序,并掛載在I2C控制器mpu6050陀螺儀的數(shù)據(jù)讀取實例。通過本篇文章,讀者可以理解
    的頭像 發(fā)表于 02-20 15:04 ?1.3w次閱讀
    干貨:<b class='flag-5'>I2C</b>總線最全教程講解

    I2C通信協(xié)議:了解I2C Primer、 PMBus和SMBus

    I2C Primer的基本特性和標(biāo)準(zhǔn),并重點說明在通信實現(xiàn)過程中如何正確使用該協(xié)議。從I2C的基本原理出發(fā),我們將介紹其變體子集——系統(tǒng)管理總線(SMBus)和電源管理總線(PMBus
    的頭像 發(fā)表于 06-15 15:29 ?4738次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>協(xié)議:了解<b class='flag-5'>I2C</b> Primer、 PMBus和SMBus

    i2c采樣是上升沿嗎?

    數(shù)據(jù)。在本文中,我們將詳細(xì)討論I2C采樣的工作原理,采樣時機(jī)以及如何進(jìn)行I2C采樣。 I2C采樣的原理 I2C采樣是基于
    的頭像 發(fā)表于 09-19 17:16 ?2077次閱讀

    藍(lán)牙串口通訊總線——I2C/SPI/UART

    Sensor、Touch、藍(lán)牙模塊、WIFI模塊等也都兼容這三種通信協(xié)議的1以上。那么這通信總線有什么區(qū)別呢?工業(yè)物聯(lián)網(wǎng)無線
    的頭像 發(fā)表于 01-22 09:41 ?1023次閱讀
    藍(lán)牙串口通訊總線——<b class='flag-5'>I2C</b>/SPI/UART