DEBUGDIGITAL INTERFACES / MISSION 001Foundational

The SPI Device Never Responds

A 3.3 V controller clocks an MCP23S08 GPIO expander, but reads a constant HIGH. Find where selection is lost.

Requirements

3.3 V controller and MCP23S08Compare /CS at both endpointsTrace continuity with power disconnected
  1. 01Measure
  2. 02Trace
  3. 03Diagnose
Circuit overview

Controller to expander

The firmware drives PB12 as /CS. A valid 24-clock read repeats every 10 ms at 1 MHz. The /CS pad has a 10 kΩ pull-up to 3.3 V.

CONTROLLERMCP23S08/CS · verify both endpointsSCKSDI → U2SDO → MCUMCU PB12U2 /CS

Conceptual signal map. Test the physical route before assuming the drawn connection exists.

MEASUREMENT BENCHReady to measure
INSTRUMENT

Select a measurement target, then measure to inspect the result.

Evidence notebook 0 saved

No evidence saved yet. Measure, inspect the result, then save useful observations.

Current task
Current task

STAGE 1 / 3

Where does /CS stop?

Use the virtual instruments. Compare the controller pin with the device pad during the same request.

Technical references

Reference and case assumptions

The MCP23S08 datasheet specifies active-low /CS and high-impedance SDO while unselected. Address pins are tied LOW. The supplied read sends opcode 0x41, GPIO register address 0x09, then clocks the return byte; GPIO inputs are configured and strapped LOW, so the expected data is 0x00. A 24 µs /CS pulse every 10 ms averages about 3.29 V; twelve high SCK cycles average about 0.004 V. These are authored board assumptions, not a general SPI timing model.

Microchip MCP23S08 datasheet