OFF
MIKROE-4244
24 g
Status:
EXPAND 7 Click is a compact add-on board that contains a multi-port I/O expander with bi-directional input/outputs or PWM outputs. This board features the CY8C9540A, 40-bit I/O port expander with EEPROM and 8 independently configurable 8-bit PWM outputs from Infineon. The CY8C9540A operates as two I2C slave devices, first as a multi-port I/O expander, and second as a serial EEPROM with 11 Kbyte address space. It has a user default storage, flexible I2C address configuration, and a programmable interrupt and reset function. This Click board™ can be used to monitor and control LEDs and system intrusion detection devices, but also as a storage for information such as error codes or board manufacturing data for diagnostic purposes.
EXPAND 7 Click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.
This product is no longer in stock
Availability date:
EXPAND 7 Click is based on the CY8C9540A, 40-bit I/O expander with EEPROM, and 8 independently configurable 8-bit PWM outputs from Infineon. The main blocks of the CY8C9540A include the control unit, PWMs, EEPROM, and I/O ports. The I/O expander's data pins can be independently assigned as inputs, outputs, or PWM outputs, and can be configured as open-drain or collector, strong drive (10 mA source, 25 mA sink), resistively pulled up or down, or high impedance which can be selected in the Port Drive Mode register. It operates as two I2C slave devices, where the first device is a multi-port I/O expander (single I2C address to access all ports through registers), and the second device is a serial EEPROM with 11 Kbyte address space.
Configuration and output register settings are storable as user defaults in a dedicated section of the EEPROM. If user defaults were stored in EEPROM, they are restored to the ports at Power-Up. The EEPROM is byte readable and supports byte-by-byte writing. A pin 3 of the Port 2 on this Click board™ can be configured as an EEPROM Write Disable (WD) input that blocks write operations when set high. The configuration registers can also disable EEPROM operations.
EXPAND 7 Click communicates with MCU using the standard I2C 2-Wire interface with a maximum frequency of 100kHz. The CY8C9540A has, by default, two possible I2C slave address formats: the first is used to access the multi-port device, and the second to access the EEPROM. This selection of I2C slave addresses is performed by setting the logic level on the A0 pin of the CY8C9540A which can be done by using the SMD jumper labeled as ADDR SEL.
It also generates a programmable interrupt signal routed on the INT pin of the mikroBUS™, which can inform the system master that there is incoming data on its ports or that the PWM output state was changed. The reset signal routed on the RST pin of the mikroBUS™ socket is similar to POR (Power-ON Reset) function. When the CY8C9540A is held in Reset, all In and Out pins are held at their default High-Z State.
This Click board™ is designed to be operated with both 3.3V and 5V logic voltage levels that can be selected via VCC SEL jumper. This allows for both 3.3V and 5V capable MCUs to use the I2C communication lines properly. More information about the CY8C9540A can be found in the attached datasheet. However, the Click board™ comes equipped with a library that contains easy to use functions and a usage example that may be used as a reference for further development.
Type
Port expander
Applications
Can be used to monitor and control LEDs and system intrusion detection devices, but also as a storage for information such as error codes or board manufacturing data for diagnostic purposes.
On-board modules
EXPAND 7 Click is based on the CY8C9540A, 40-bit I/O expander with EEPROM, and 8 independently configurable 8-bit PWM outputs from Cypress Semiconductor.
Key Features
20-bit, 100kHz I2C port expander, flexible I2C address configuration, internal 3Kbyte EEPROM, user default storage, and more.
Interface
I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V or 5V
This table shows how the pinout on EXPAND 7 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Left | Power Supply Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2 | ADDR SEL | Left | Communication interface selection: Left position 0, Right position 1 |
J1-J6 | P0-P5 Port | - | I/O Expander Ports |
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | -0.5 | - | 6 | V |
High Level Source Current | 10 | - | - | mA |
Low Level Sink Current | 25 | - | - | mA |
Operating Temperature Range | -40 | - | +85 | °C |
We provide a library for the Expand 7 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on MIKROE github account.
Library Description
This library contains API for Expand 7 Click driver.
Key functions
expand7_reset
Reset function
expand7_write_all
Set all OUTPUT pins' logic levels function
expand7_write_pin
Set a single OUTPUT pin's logic level function
Example Description
This example demonstrates the use of the EXPAND 7 click.
void application_task ( void )
{
expand7_write_all ( &expand7, 0xFF );
log_printf( &logger, "All pins set to HIGH logic level!rn" );
log_printf( &logger, "---------------------------------rn" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
for ( uint8_t pin_num = 0; pin_num < 40; pin_num++ )
{
expand7_write_pin( &expand7, pin_num, EXPAND7_LOW );
log_printf( &logger, "Pin %u is set to LOW logic level!rn", ( uint16_t ) pin_num );
Delay_ms ( 300 );
}
log_printf( &logger, "---------------------------------rn" );
Delay_ms ( 1000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on MIKROE github account.
Other MIKROE Libraries used in the example:
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
This Click board™ is supported with mikroSDK - MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
NOTE: Please be advised that any peripheral devices or accessories shown connected to the Click board™ are not included in the package. Check their availability in our shop or in the YMAN section below.