MCP23017 GPIO Expander Driver (I2C)
IntermediateChallengeSign in →
00:00
01General Operation
The module drives a MCP23017 GPIO expander via I2C. The I2C driver is provided as read-only. A FSM orchestrates initial configuration (direction registers) and cyclic reading of the 16 GPIOs with a configurable pause between cycles.
- System clock: 250 MHz
- Inter-cycle pause: 50 µs
- Synchronous active-low reset
02Interface
| Signal | Direction | Width | Description |
|---|---|---|---|
clk | Input | 1 bit | Clock |
reset_n | Input | 1 bit | reset_n |
ena | Input | 1 bit | ena |
addr | Input | N bits | addr |
rw | Input | 1 bit | rw |
data_wr | Input | N bits | data_wr |
busy | Output | 1 bit | busy |
data_rd | Output | N bits | data_rd |
sda | Input/Output | 1 bit | sda |
scl | Input/Output | 1 bit | scl |