Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Protocol Metrics Reference
  • Protocols Glossary
  • Reading Path
  • Protocol Fundamentals25
  • AMBA Family (APB / AHB / AXI)17
  • Coherence Fabrics (ACE / CHI)17
  • Memory Interfaces (DDR / LPDDR / HBM)17
  • PCIe & CXL17
  • Embedded Peripherals (I2C / SPI / UART)17
    • I2C Timing & Arbitration
    • SPI Modes & Chip-Select Rules
    • UART Flow Control
    • Peripheral Integration Debug
    • Embedded Peripherals (I2C / SPI / UART): Tricky Q&A
  • High-Speed I/O (USB / Ethernet / MIPI)17
  • Protocol Verification & Compliance21
  • Protocols Interview Prep5
  • Interface Protocols Cheatsheet
Loading lesson

←Embedded Peripherals (I2C / SPI / UART)
  1. Topics
  2. Bus Protocols
  3. Embedded Peripherals (I2C / SPI / UART)
  4. Embedded Peripherals (I2C / SPI / UART): Tricky Q&A
On this page

    Interface ProtocolsAll levels

    Embedded Peripherals (I2C / SPI / UART): Tricky Q&A

    Senior interview and review questions for Embedded Peripherals (I2C / SPI / UART).

    Section checkpoint

    Use the selected serial/interrupt contract rather than naming a fault from a symptom alone.

    Try these before opening the explanations. This is a self-assessment, not a stored score or certification.

    Check yourself The target ACKs address+write and address+read, returns one requested byte, then the controller NACKs it. Is this an address failure?

    No. The final read-byte NACK is the controller's intended end-of-read indication in this combined-transfer example. An address NACK occurs immediately after an address byte.

    Check yourself The UART exercise has eight free slots and bounds new arrivals as ceil(delay/86.81 µs)+2. Does a 600 µs service delay fit? Will interrupt-controller acknowledgement necessarily clear a peripheral level source?

    No: seven plus two is nine arrivals for eight slots. Use the worst-case delay, not the average. Controller acknowledgement also need not deassert the source: follow its documented W1C, drain or other condition-removal contract.

    Ready to continue when you can produce:

    • Who drives the ninth I²C clock's acknowledgement at each transfer phase.

    • Worst-case receive headroom and the interrupt source's deassertion mechanism.

    Section Q&A

    I2C address NACK — what do you check?

    Check yourself I2C address NACK — what do you check?

    Confirm the ninth clock really contains a NACK, then check address/straps, power/reset/readiness, supported mode and line timing. An SCL-low clock-stretch timeout is a different observation and should be diagnosed separately.

    Common trap: Calling any controller timeout a NACK or only checking the software address.

    SPI mode mismatch symptom?

    Check yourself SPI mode mismatch symptom?

    Wrong or shifted samples are possible, but the pattern is not unique. Compare CPOL/CPHA terminology, capture edges, word/bit order and chip-select timing with the device timing diagram and a bus capture.

    Common trap: Diagnosing mode from one corrupted word or changing clock speed without checking edge semantics.

    UART overrun cause?

    Check yourself UART overrun cause?

    A character arrived when the receiver had no retention capacity. Measure FIFO/holding capacity, trigger level, frame rate, worst-case interrupt/DMA service latency, flow-control reaction and bytes already in flight. Baud mismatch is usually a separate framing/parity/data-error hypothesis.

    Common trap: Treating every garbled byte as overrun or blaming only ISR speed.

    Previous

    114 / 158

    Next: High-Speed I/O (USB / Ethernet / MIPI)

    Up next

    Up nextHigh-Speed I/O (USB / Ethernet / MIPI)

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • I2C Timing & Arbitration
    • SPI Modes & Chip-Select Rules
    • UART Flow Control