The CY8C95xx is a multi-port I/O expander with on-board useravailable EEPROM and several PWM outputs. All devices in this family operate identically but differ in I/O pins, number of PWMs, and internal EEPROM size. The CY8C95xx operates as two I2C slave devices. The first device is a multi-port I/O expander (single I2C address to access all ports via registers). The second device is a serial EEPROM. Dedicated configuration registers can be used to disable the EEPROM. The EEPROM utilizes 2-byte addressing to support the 28-Kbyte EEPROM address space. The selected device is defined by the most significant bits of the I2C address or by specific register addressing. The I/O expander's data pins can be independently assigned as inputs, outputs, quasi-bidirectional input/outputs or PWM ouputs. The individual data pins can be configured as open drain/collector, strong drive (10 mA source, 25 mA sink), resistively pulled-up/-down, or high-impedance. The factory default configuration is pulled-up internally. The system master writes to the I/O configuration registers via the I2C bus. Configuration and output register settings can be stored as user defaults in a dedicated section of the EEPROM. If user defaults have been stored in EEPROM, they are restored to the ports at power-up. While this device can share the bus with SMBus devices, it can only communicate with I2C-masters. |