Microchip MCP23S17 16-Bit SPI I/O Expander Data Sheet
Download Datasheet for Microchip Technology MCP23S17 16-Bit I/O Expander with SPI Interface [40 pages DS20001952D 2022 pdf/zip]
Microchip MCP23S17 16-Bit I/O Expander with SPI Interface
The MCP23S17 device provides 16-bit, general purpose parallel I/O expansion for SPI applications.
The MCP23S17 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the I/O configuration bits (IODIRA/B). The data for each input or output is kept in the corresponding input or output register. The polarity of the Input Port register can be inverted with the Polarity Inversion register. All registers can be read by the system master.
TABLE OF CONTENTS:
– Functional Block Diagram
– Electrical Characteristics
– Absolute Maximum Ratings
– Pin Descriptions
– Device Overview
– Serial Interface
– Power-on Reset (POR)
– Hardware Address Decoder
– GPIO Port
– Configuration and Control Registers
– Interrupt Logic
– Package Marking Information
– Appendix A: Revision History
– Product Identification System
TABLE 1-2: Device Reset Specifications
TABLE 1-3: I2C Bus Data Requirements
TABLE 1-4: SPI Interface Requirements
TABLE 3-1: Register Addresses
TABLE 3-2: Summary Of Registers Associated With The GPIO Ports (BANK = 1)
TABLE 3-3: Summary Of Registers Associated With The GPIO Ports (BANK = 0)
TABLE 3-4: Control Register Summary (IOCON.BANK = 1)
TABLE 3-5: Control Register Summary (IOCON.BANK = 0)
TABLE 3-6: Interrupt Operation (IOCON.MIRROR = 1)
FIGURE 1-7: GPIO and INT Timing.
FIGURE 3-1: Byte and Sequential Write.
FIGURE 3-2: Byte and Sequential Read.
FIGURE 3-3: MCP23017 I2C Device Protocol.
FIGURE 3-4: I2C Control Byte Format.
FIGURE 3-5: SPI Control Byte Format.
FIGURE 3-6: I2C Addressing Registers.
FIGURE 3-7: SPI Addressing Registers.
Application note AN1043: Unique Features of the MCP23X08/17 GPIO Expanders (2006 DS01043A 10 pages)
This application note discusses the feature set and use of the MCP23017/MCP23S17 (16-bit) GPIO Expanders.
GPIO expanders provide easy I/O expansion using standard serial interfaces. GPIO products are used to increase the I/O on an MCU or provide remote I/O using a serial interface.
Application note AN1081: Interfacing a 4×4 Matrix Keypad with an 8-Bit GPIO Expander (2007 DS01081A 12 pages)
This application note discusses interfacing a 4×4 matrix keypad with MCP23X08 8-Bit GPIO Expander. This application note references the MCP23X08/17 GPIO Expander Keypad/LCD Demo Board (GPIODMKPLCD).
GPIO Expanders provide easy I/O expansion using standard serial interfaces such as I2C and SPI. They are especially useful in applications where pin count is limited on the microcontroller unit (MCU) or if remote inputs / outputs (I/O’s) are needed. It is best to think of an 8-bit GPIO Expander like adding another 8-bit wide digital port to the MCU.
MCP23S17 Rev. A Silicon Errata (2007 DS80311A 6 pages)