Interview Question · Concept
I3C Versus I2C
The Question
The interviewer asks
What does I3C change compared with I2C, and what does it keep?
You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
I3C keeps the two wires, START, STOP and the 7-bit address header, and legacy I2C targets can share the bus. Data moves to push-pull, at up to 12.5 MHz. Open drain stays only where several devices may drive: arbitration, ACKs and address assignment. Only the controller drives SCL, so targets cannot stretch the clock. I3C adds dynamic addresses, common command codes, in-band interrupts and hot-join. The ninth bit of a data byte becomes parity or end-of-data.
- Two wires
Only the controller drives SCL (MIPI §5.1.2). SDA carries addresses, data and requests.
- I3C targets
They have no strap pins: the controller hands out dynamic addresses on the wire (P9.4).
- A legacy neighbour
An I2C target keeps its static address. Its 50 ns spike filter hides the fast I3C clock from it (P9.2).
- No interrupt wire
A target asks for attention by pulling SDA on an idle bus: an in-band interrupt (P9.6).
Read the diagram as text
- I3C controller: drives SCL; assigns addresses
- SCL + SDA: two wires, pull-up and keeper
- I3C target 0x08: dynamic address
- I3C target 0x09: dynamic address
- I2C target 0x50: static address, 50 ns filter
- I3C controller → SCL + SDA: SCL, SDA
- SCL + SDA → I3C target 0x08
- SCL + SDA → I3C target 0x09
- SCL + SDA → I2C target 0x50
- I3C target 0x09 → SCL + SDA: IBI on SDA
One controller, two I3C targets and one legacy I2C target share the same two wires.
Read phases and sample points (quarter bit)
- START: columns 2 through 3.
- 7e/W (open drain) + ACK: columns 4 through 39.
- Sr: columns 40 through 43.
- 08/W (push-pull) + ACK: columns 44 through 79.
- 3c + T1: columns 80 through 115.
- Sr: columns 116 through 119.
- 08/R (push-pull) + ACK: columns 120 through 155.
- 3c + T0: columns 156 through 191.
- STOP: columns 192 through 195.
- SDA sampled at 6, 10, 14, 18, 22, 26, 30, 34, 38, 46, 50, 54, 58, 62, 66, 70, 74, 78, 82, 86, 90, 94, 98, 102, 106, 110, 114, 122, 126, 130, 134, 138, 142, 146, 150, 154, 158, 162, 166, 170, 174, 178, 182, 186, 190.
- Cycle 1
START, then 7E/W in open drain. Any target could still win this header with a request (P9.6).
- Cycle 42
Repeated START. From here the controller drives SDA both ways: push-pull.
- Cycle 114
The ninth bit of the pointer byte is parity from the controller, not an ACK from the target.
- Cycle 190
The target ends its own read with T = 0. In I2C the controller ends a read with NACK.
Generated and decoded back. The first header is open drain, data after the repeated START is push-pull, and T-bits replace ACKs.
| I2C (UM10204) | I3C SDR (I3C Basic v1.0) | |
|---|---|---|
| Data drive | open drain | push-pull; open drain where several may drive |
| SCL | controller; targets may stretch | controller only |
| Ninth bit of data | ACK by the receiver | write: parity; read: end-of-data |
| Addresses | static | assigned on the bus (DAA), or from a static one |
| Interrupts | a separate wire | in-band, on SDA |
| Same register read, measured | 95100 ns (Fm) | 5685 ns |
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Fresher)
A good fresher answer names push-pull driving, a faster clock, dynamic addresses and in-band interrupts. It says I2C targets can stay on the same bus.
What Interviewers Listen For (Junior)
A good junior answer explains why open drain stays in the header that devices can win and in the ACK slots. It says I3C targets cannot stretch the clock.
What Interviewers Listen For (Mid-Level)
A good mid-level answer knows the rules for legacy targets. They need a 50 ns spike filter, no stretching and a static address. It knows what the I3C Basic edition leaves out.
Cross-Questions
Where the interviewer goes next. Open a node to practise that follow-up.
WhyWhat IfProve ItBreak ItCompare
- I3C Versus I2C
-
WhyWhere I3C Keeps Open DrainL1 JuniorL2 Mid-Level
Why does I3C go push-pull for data, and why not everywhere?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
A push-pull 1 does not wait for a pull-up resistor to charge the bus. So bits get much shorter: 80 ns push-pull against 240 ns open drain on the lesson bench. Where several devices may drive at once, a 0 must win and a 1 must lose quietly, as in a wired-AND. So these stay open drain: the header after START, where targets may raise interrupts, plus ACK slots and address assignment. The header after a repeated START, and data, are push-pull.
Which Phase Uses Which DriveOpen drain wherever more than one device may drive SDA; push-pull wherever exactly one does. Illustrative sequence- Open drain
The arbitrable header, every ACK slot and DAA: places where two devices may drive at once (MIPI §5.1.2.2.1, §5.1.4.2).
- Push-pull
The header after Sr and all SDR data: one transmitter, so it drives both levels (§5.1.2, §5.1.2.2.4).
Read the diagram as text
- S + header: open drain: a target may win
- ACK slots: open drain: any target may answer
- Sr + header: push-pull: nobody else may speak
- Write data + T: push-pull: the controller
- Read data + T: push-pull: the target
- DAA: open drain: IDs arbitrate
- S + header → ACK slots
- Sr + header → Write data + T
- Write data + T → Read data + T
- ACK slots → DAA
Open drain wherever two devices may drive SDA at once. Push-pull wherever exactly one device drives.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer links push-pull to speed and open drain to arbitration.
What Interviewers Listen For (Mid-Level)
A good mid-level answer lists the open-drain phases. It explains that every handoff between drivers overlaps two lows, never a high against a low.
Half-Truth
"Open drain in the header is only for I2C compatibility."
The header after START is arbitrable in I3C itself. Targets may drive their own address into it to request an interrupt or mastership. So it needs a wired-AND.
- Open drain
-
What IfA Legacy I2C Target on an I3C BusL1 JuniorL2 Mid-Level
You must keep an old I2C sensor on the new I3C bus. What conditions does it have to meet, and what happens if it lacks a spike filter?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
It must be a target only, with a static address, Fast-mode support and no clock stretching. A true 50 ns spike filter on SCL hides the short I3C clock highs from it. Then the bus can run I3C at full speed, which is called a mixed fast bus. Without the filter, the device sees I3C traffic as clocks. The bus speed then drops to what the slowest unfiltered legacy device tolerates.
What the Legacy Target SeesThe same SCL wire, before and after a 50 ns spike filter. Illustrative sequence- Fm passes
An I2C clock high lasts far longer than 50 ns, so the legacy target sees every bit (MIPI Table 57).
- SDR does not
On a mixed fast bus the I3C SCL high stays under tDIG_H_MIXED, 45 ns at most (Table 59), and never gets through.
Read the diagram as text
- I2C message: SCL high 1200 ns (Fm)
- I3C message: SCL high 40 ns (SDR)
- 50 ns filter: drops shorter pulses
- 50 ns filter: drops shorter pulses
- Clocks: the target decodes the byte
- SCL looks low: no bits, nothing to answer
- I2C message → 50 ns filter
- 50 ns filter → Clocks
- I3C message → 50 ns filter
- 50 ns filter → SCL looks low
MIPI I3C Basic v1.0 §5.1.2.4 and Figure 45. The bench models the filter as a 50 ns inertial delay on SCL and SDA.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer names the two rules: the legacy target must not stretch the clock, and it needs a spike filter.
What Interviewers Listen For (Mid-Level)
A good mid-level answer explains how it works: the I3C SCL high is shorter than the filter. It states the effect on bus speed and checks the filter in the datasheet across process and temperature.
- Fm passes
-
CompareThe I3C T-Bit Versus the I2C ACKL1 JuniorL2 Mid-Level
In I2C the ninth bit of a data byte is the receiver's ACK. What is it in I3C SDR?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
The transmitter drives it. On a write, it is odd parity from the controller: the XOR of the eight data bits with 1. Parity lets the target detect a corrupted byte. On a read, it is end-of-data from the target: 0 ends the message, and 1 offers more. So the target decides how much it returns, though the controller may abort after a 1 with a repeated START.
An SDR Private Write: Pointer 0x10, Then 0x3c and 0x01Lanes: SCL and SDA, then who drives SDA low or high, and the drive style. The target only drives in the ACK slots. All cyclesRead phases and sample points (quarter bit)
- START: columns 2 through 3.
- 7e/W (open drain) + ACK: columns 4 through 39.
- Sr: columns 40 through 43.
- 08/W (push-pull) + ACK: columns 44 through 79.
- 10 + T0: columns 80 through 115.
- 3c + T1: columns 116 through 151.
- 01 + T0: columns 152 through 187.
- STOP: columns 188 through 191.
- SDA sampled at 6, 10, 14, 18, 22, 26, 30, 34, 38, 46, 50, 54, 58, 62, 66, 70, 74, 78, 82, 86, 90, 94, 98, 102, 106, 110, 114, 118, 122, 126, 130, 134, 138, 142, 146, 150, 154, 158, 162, 166, 170, 174, 178, 182, 186.
- Cycle 78
Header ACK: the target pulls SDA in open drain, exactly as in I2C.
- Cycle 79
Handoff: the controller pulls SDA low just after the SCL rise, while the target lets go. Both low for a moment is safe (MIPI §5.1.2.3.1).
- Cycle 114
Ninth bit of 0x10: the controller drives the parity, XOR(data, 1) = 0. The target drives nothing.
- Cycle 150
Ninth bit of 0x3c: four 1s, so parity 1. Still the controller, still push-pull.
Generated and decoded back. 0x10 and 0x01 each have one 1 bit, so their T-bit is 0. 0x3c has four 1 bits, so its T-bit is 1.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer says the transmitter drives the T-bit: parity on writes, end-of-data on reads.
What Interviewers Listen For (Mid-Level)
A good mid-level answer computes parity for a byte: 0x00 and 0xFF give 1, and 0x01 gives 0. It names the I2C habit that breaks: a target that ACKs the ninth bit fights the controller's parity.
Misconception
"I3C targets ACK every data byte like I2C."
Only the address header has an ACK. A target that pulls SDA in the ninth bit of a written byte collides with the controller's push-pull parity bit.
Source MIPI I3C Basic v1.0 §5.1.2.3.3
-
What IfA Parity Error on a Written ByteL2 Mid-Level
What if the target sees a parity error on a byte the controller wrote? What does it do, and how does the controller find out?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
It cannot NACK the byte, because the ninth bit belongs to the controller. Error type S2 says the target ignores the rest and waits for a STOP or a repeated START. The controller sees nothing on the wire. It learns of the error later, from the Protocol Error bit that GETSTATUS returns.
Self-Check
Tick each key point you covered in your answer.
Misconception
"The target NACKs a bad byte, as in I2C."
In I3C SDR the controller drives the ninth bit of a write as parity. The target has no slot to answer in.
Source MIPI I3C Basic v1.0 §5.1.2.3.3
-
Break ItHDR Tolerance in I3C BasicL2 Mid-LevelL3 Senior
Your I3C Basic target supports no HDR mode. Can it ignore HDR entirely?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
No. I3C Basic v1.0 leaves out the HDR (high data rate) modes themselves. But a full I3C controller may still put the bus into HDR for other devices. Every target must detect the HDR entry command and the HDR Exit Pattern, even one with no HDR support. A target that misses the exit treats HDR traffic as SDR and misreads what follows. Feature lists differ between I3C editions, so name the edition you quote.
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Mid-Level)
A good mid-level answer separates supporting an HDR mode from tolerating one. It says every target must detect the HDR Exit Pattern.
What Interviewers Listen For (Senior)
A good senior answer puts HDR entry and exit in the target test plan, even for parts without HDR. An SDR read afterwards proves the target came back.
-
Prove ItSolve P9.1.1: Keep Legacy and SDR Reads DistinctSimulator-graded
Show it, don't just say it: this Silicon Lab problem is graded by the simulator.
What People Get Wrong
Common wrong answers and why they fail.
Half-Truth
"I3C is a drop-in replacement: any I2C device works on it."
A legacy target must not stretch the clock, and it needs a static address. Without a 50 ns spike filter, it sees I3C traffic. That forces the whole bus to run slower.
Source MIPI I3C Basic v1.0 §5.1.2.4; §6.1 Table 56
Misconception
"I3C is all push-pull."
Open drain stays wherever more than one device may drive SDA. That means the arbitrable header after START, ACK slots and dynamic address assignment.
Source MIPI I3C Basic v1.0 §5.1.2, §5.1.2.2.1, §5.1.4.2
Misconception
"Our I3C Basic target supports no HDR mode, so it can ignore HDR traffic."
I3C Basic v1.0 leaves out HDR-DDR and the ternary modes. But every target must still detect HDR entry and the HDR Exit Pattern. A target that misses the exit misreads the SDR traffic that follows.
Source MIPI I3C Basic v1.0 preface §4.1; §5.2; §5.1.1.1 Table 3 note 2