Locale Icon
English
EngineerZone
EngineerZone
Video
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
  • Forums

    Popular Forums

    • LTspice
    • RF and Microwave
    • Video
    • Power Management
    • Precision ADCs
    • FPGA Reference Designs
    • Linux Software Drivers

    Product Forums

    • Amplifiers
    • Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • A2B
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Maximize Your Power Regulator: Key Considerations for Thermal Performance

    Power regulators with integrated switches deliver a compact, efficient way to supply power. Yet as modern circuits drive toward ever-higher power densities...

    Places

    • ADI Academy
    • ADI Webinars
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Latest Webinars

    • Power Management Fundamentals II Session 6: Key Layout Considerations for Power
    • A 16T/16R X-Band Direct Sampling Phased Array Subsystem using Apollo MxFE
    • Power Management Fundamentals II Session 5: Deeper Look into Power Protection
    • Power Management Fundamentals II Session 4: Isolated Converters Explained
    • Maximize Your Power Regulator: Key Considerations for Thermal Performance
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ295 about an audio logarithmic volume controller using linear pot - a proposal from Tim O'Brien

      1. Quote of the month: "Think like a proton. Always positive" - Unknown 2. New quiz of the month: AQQ295 about a audio logarithmic volume controller...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card!

      Important: Read the blog first . The quiz questions are all based on the content from the blog: Let's Take a Field-Bus Trip Your field-bus engines...

    View All

    Places

    • Community Help
    • Logic Lounge
    • Super User Program
    • Analog Dialogue Quiz

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    ​​Channel Specification: The Key to GMSL Compliance​

    In this post, we'll break down the essential components of a GMSL Channel Specification , explore the critical design considerations you need to know,...

     

    Understanding Voltage Domain Isolation in Field-Bus Systems

    By Christopher Nunes In the world of industrial communication, mastering voltage domain isolation is the key to building safer, smarter systems. Last...

    Latest Blogs

    • Ethernet-APL’s Impact on Functional, Intrinsic, and Cyber Safety
    • Balancing Enhanced Radar Resolution with FPGA-Based Pulse Compression
    • ​​ISO 26262 Essentials: Ensuring Confidence in Your Software Tools ​
    • Step-by-Step: Implementing a Complete DSP Chain for Signal Analysis
    • Galvanic Isolation in SMPS: Ensuring Safety and Protection: Part 1 of 4
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • ContentZone

    Visit ContentZone

    ContentZone

    Technical articles. Blogs. Videos. Your ADI content, all in one place.

    View ContentZone

    Featured Content

    Featured Content Title

    Blurb About Content

    View Content By Industry

    • Aerospace and Defense Systems
    • Automotive Solutions
    • Consumer Technology Solutions
    • Data Center Solutions
    • Energy Solutions
    • Healthcare Solutions
    • Industrial Automation Technology Solutions
    • Instrumentation and Measurement Solutions
    • Intelligent Building Solutions
    • Wireless Communication Solutions

    View Content By Technology

    • A2B Audio Bus
    • ADI OtoSense Predictive Maintenance Solutions
    • Dynamic Speaker Management
    • Gallium Nitride (GaN) Technology
    • Gigabit Multimedia Serial Link (GMSL)
    • Industrial Vision
    • Power Solutions
    • Precision Technology
    • RF
    • Sensor Interfaces
    • SmartMesh
Video
Video
Documents I2C Protocol Sequence
  • Q&A
  • File Uploads
  • Docs/ FAQs
  • Members
  • Tags
  • Cancel
  • FREE RUN
  • +AD1896: FAQ
  • +AD724: FAQ
  • +AD725: FAQ
  • +AD7441A: FAQ
  • +AD80066: FAQ
  • +AD8122: FAQ
  • +AD8191: FAQ
  • +AD8195: FAQ
  • +AD8380: FAQ
  • +AD8381: FAQ
  • +AD8519: FAQ
  • +AD9388A: FAQ
  • +AD9389: FAQ
  • +AD9814: FAQ
  • +AD9822: FAQ
  • +AD9826: FAQ
  • +AD9840: FAQ
  • +AD9845A: FAQ
  • +AD9880: FAQ
  • +AD9882: FAQ
  • +AD9884A: FAQ
  • +AD9888: FAQ
  • +AD9889B: FAQ
  • +AD9945: FAQ
  • +AD9978: FAQ
  • +AD9981: FAQ
  • +AD9984A: FAQ
  • +AD9985A: FAQ
  • +AD9994: FAQ
  • +ADA4891: FAQ
  • +ADDI7004: FAQ
  • +ADDI7100: FAQ
  • +ADI Video Parts: FAQ
  • +ADV202: FAQ
  • +ADV212: FAQ
  • +ADV3002: FAQ
  • +ADV3224/25/28/29: FAQ
  • +ADV7123: FAQ
  • +ADV7125: FAQ
  • +ADV7128: FAQ
  • +ADV7171: FAQ
  • +ADV7174: FAQ
  • +ADV7179: FAQ
  • +ADV7180: FAQ
  • +ADV7180W: FAQ
  • +ADV7181C: FAQ
  • +ADV7181D: FAQ
  • +ADV7182: FAQ
  • +ADV7183B: FAQ
  • +ADV7184: FAQ
  • +ADV7185: FAQ
  • +ADV7188: FAQ
  • +ADV7202: FAQ
  • +ADV7280: FAQ
  • +ADV7281: FAQ
  • +ADV7282: FAQ
  • +ADV7283: FAQ
  • +ADV728x: FAQ
  • +ADV7340: FAQ
  • +ADV7341: FAQ
  • +ADV7343: FAQ
  • +ADV734X: FAQ
  • +ADV7390: FAQ
  • +ADV7393: FAQ
  • +ADV739x: FAQ
  • +ADV7401: FAQ
  • +ADV7403: FAQ
  • +ADV7441A: FAQ
  • +ADV7480: FAQ
  • +ADV7481: FAQ
  • +ADV7482: FAQ
  • +ADV749x: FAQ
  • +ADV7510: FAQ
  • +ADV7511: FAQ
  • +ADV7513: FAQ
  • +ADV7520: FAQ
  • ADV7520NK: FAQ
  • +ADV7604: FAQ
  • +ADV7610: FAQ
  • +ADV7611: FAQ
  • +ADV7612: FAQ
  • +ADV7613: FAQ
  • +ADV7614: FAQ
  • +ADV7619: FAQ
  • +ADV7622: FAQ
  • +ADV7623: FAQ
  • +ADV7625: FAQ
  • +ADV7626: FAQ
  • +ADV7627: FAQ
  • +ADV7630: FAQ
  • +ADV7800: FAQ
  • +ADV7802: FAQ
  • +ADV7842: FAQ
  • +ADV7844: FAQ
  • +ADV7850: FAQ
  • +ADV78xx: FAQ
  • +adv8003: FAQ
  • +ADV8005: FAQ
  • +Advantiv: FAQ
  • +AN-1191: FAQ
  • +analog input muxing: FAQ
  • +Apple TV: FAQ
  • +Customer hardware validation scripts: FAQ
  • +CVBS: FAQ
  • +Decoder Product: FAQ
  • +DS4550E+: FAQ
  • +DVP Evaluation Software: FAQ
  • +EVAL-MELODY: FAQ
  • +HDCP-Enabled Parts: FAQ
  • +HDMI: FAQ
  • -I2C: FAQ
    • I2C Protocol Sequence
    • I2C readback not reading what I have written !
    • I2C read and Write Sequence
    • My I2C writes seem to work, but when I read the value back it's not what I wrote.  What happened?
    • When I try to write to I2C registers of the ADI HDMI transmitter, the register values do not change.  What is going on?
  • +ICL7109CPL+2: FAQ
  • +ICL7129ACPL+2: FAQ
  • +MAX134: FAQ
  • +MAX1493CCJ+: FAQ
  • +MAX3845UCQ+: FAQ
  • +MAX4886EVKIT+: FAQ
  • +MAX6950: FAQ
  • MAX6954: FAQ
  • +MAX6954AAX+: FAQ
  • MAX6955: FAQ
  • +MAX6955AAX+: FAQ
  • +MAX6955EVKIT: FAQ
  • +MAX6957AAI+: FAQ
  • +MAX6958: FAQ
  • +MAX6966ATE+T: FAQ
  • +MAX6969AUG+: FAQ
  • MAX7219: FAQ
  • +MAX7219CWG: FAQ
  • MAX7221: FAQ
  • +MAX7221CNG+: FAQ
  • MAX7300: FAQ
  • +MAX7300AAI+: FAQ
  • MAX7301: FAQ
  • +MAX7301AAI+: FAQ
  • +MAX7311: FAQ
  • MAX7313: FAQ
  • +MAX7313AEG+: FAQ
  • +MAX7314: FAQ
  • +MAX7315ATE+: FAQ
  • +MAX7317: FAQ
  • +MAX7318ATG+: FAQ
  • +MAX7321EVKIT: FAQ
  • MAX9406: FAQ
  • +MAX9406ETJ+: FAQ
  • +PCB Trace Impedance Calculator: FAQ
  • +VESA Standards: FAQ
  • +xtal Load Caps: FAQ

I2C Protocol Sequence

I2C require two bus line – SDA and SCL
Most I2C devices can communicate at 100 kHz or 400 kHz.

Start/Stop Condition:
Start and Stop condition are always generated by the master.
Each I2C command initiated by master device starts with a START condition and ends with a STOP condition. For both conditions SCL has to be high. A high to low transition of SDA is considered as START and a low to high transition as STOP.

Generally our i2c driver perform the following sequence:
    Start condition – write operation (sub-address)-start condition- Read operation (data)-stop condition.
    Need to send STOP bit when the whole process reading is done. To terminate a read/write sequence a stop signal must be sent.

Please make sure with below Read/Write sequences,
a.Write Sequence
 1) Send the start condition
 2) Send the slave address
 3) Check for the acknowledge
 4) Send the sub-address to be written to
 5) Check for the acknowledge from
 6) Send the data to write to specified sub address
 7) Check for the acknowledge
 8) If No-acknowledge send the stop condition
 9) Send a stop condition

b. Read Sequence
1) Send the start condition
2) Send the slave address
3) check for the acknowledge
4) Send the sub-address to be read from
5) check for the acknowledge
6) Send the start condition
7) Send the slave address
8) check for the acknowledge
9) If No-acknowledge send the stop condition
10) If acknowledged read the data from specified sub-address
12) Send a No-Acknowledge
13) Send a stop condition

Here we can find the more details about i2c bus specification and also timing related details I2C Bus Specification and User Manual

https://i2c.info/i2c-bus-specification

Note: Some i2c drivers work with 7 bit addressing, if your software/tool is using 7-bit i2c address, In that case, we need to right shift the 8 bit map address to one.
For example: 0x98 IO Map   –   8 bit address
                 0x98>>1 =0x4C – 7 bit address
Please crosscheck: 0x98 is an 8-bit I2C address. In other words, it assumes the software/tool is using 8-bit I2C addresses.
In-case if your software/tool is using 7-bit I2C addresses (fairly common), you should use 0x4C instead.

NACK(No ACK):  I2C reset is the only write that will no ACK back. The reset bit resets the I2c engine before it has a chance to ACK back.The I2C master controller will receive a no acknowledge condition on the ninth clock cycle when chip Reset is implemented.


Thanks,
Poornima

  • Share
  • History
  • More
  • Cancel
 
Related Content
  • ADV7180 I2C read problem
    Yaniv
    Hi, I'm trying to communicate with the ADV7180 via the I2C bus (address 0x42) and it seems like write operations are passed successfully (I get acknowledge from the device), but read operations fail...
  • RE: ADV7280AM I2C Timing
    PoornimaSubramani
    Hi, Generally I2C driver performs the following sequence: Start condition - write operation (sub address) - Start condition - Read operation (data) - Stop condition Need to send STOP bit when the whole...
  • RE: we cannot read 7610 register by i2c
    PoornimaSubramani
    Hi, Please crosscheck : 0x98 is an 8-bit I2C address. In other words, it assumes the software/tool is using 8-bit I2C addresses. In-case if your software/tool is using 7-bit I2C addresses (fairly common...
 
Related Content
  • ADV7180 I2C read problem
    Yaniv
    Hi, I'm trying to communicate with the ADV7180 via the I2C bus (address 0x42) and it seems like write operations are passed successfully (I get acknowledge from the device), but read operations fail...
  • RE: ADV7280AM I2C Timing
    PoornimaSubramani
    Hi, Generally I2C driver performs the following sequence: Start condition - write operation (sub address) - Start condition - Read operation (data) - Stop condition Need to send STOP bit when the whole...
  • RE: we cannot read 7610 register by i2c
    PoornimaSubramani
    Hi, Please crosscheck : 0x98 is an 8-bit I2C address. In other words, it assumes the software/tool is using 8-bit I2C addresses. In-case if your software/tool is using 7-bit I2C addresses (fairly common...
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2025 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2025 Analog Devices, Inc. All Rights Reserved