nvSRAM 3 Click-Platine
nvSRAM 3 Click-Platine
Overview
Der nvSRAM 3 Click Board™ ist eine kompakte Zusatzplatine mit dem zuverlässigsten nichtflüchtigen Speicher. Diese Platine verfügt über den CY14B101I, einen 1-Mbit-nvSRAM, der als 128 K Wörter mit jeweils 8 Bit organisiert ist und über eine voll ausgestattete Echtzeituhr von Cypress Semiconductor verfügt. Die eingebetteten Elemente enthalten die QuantumTrap-Technologie und bieten eine äußerst zuverlässige nichtflüchtige Datenspeicherung. Es bietet unbegrenzte Lese- und Schreibzyklen mit einem zusätzlichen automatischen Backup-Schalter. Die vom Benutzer über I2C-Befehle initiierte Datenübertragung vom SRAM zu den nichtflüchtigen Elementen erfolgt automatisch beim Ausschalten. Andererseits werden beim Einschalten die Daten aus dem nichtflüchtigen Speicher im SRAM wiederhergestellt. Dieses Click Board™ ist für alle Anwendungen geeignet, die schnellen Zugriff und hohe Zuverlässigkeit der gespeicherten Daten sowie unbegrenzte Lebensdauer erfordern.
Der nvSRAM 3 Click wird durch eine mikroSDK-kompatible Bibliothek unterstützt, die Funktionen enthält, die die Softwareentwicklung vereinfachen. Dieses Click Board™ ist ein gründlich getestetes Produkt und kann auf einem System verwendet werden, das mit der mikroBUS™-Buchse ausgestattet ist.
How Does the nvSRAM 3 Click Board™ Work?
The nvSRAM 3 Click Board™ as its foundation uses the CY14B101I, a 1-Mbit nvSRAM organized as 128K words of 8 bits each with a fully-featured real-time clock from Cypress Semiconductor. The CY14B101I specifies one million endurance cycles for cells with data retention of a minimum of 20 years, while the QuantumTrap cells provide highly reliable nonvolatile storage of data. In system power loss, data from the SRAM is automatically transferred to its nonvolatile cell using energy stored in a capacitor labelled as C2. During the Power-Up, data from the nonvolatile cell is recalled automatically in the SRAM array and available to the user. The endurance cycle consumes when data transfer happens from the SRAM cells to nonvolatile cells during the Power-Down.
This Click board™ can be permanently powered by placing jumpers labelled as RTC-CAP or RTC-BATT. By utilizing an automatic backup, the CY14B101I uses an external battery power source from the button cell battery holder, suitable for 12mm Coin Cell batteries, when there is no power supply on its main power terminals allowing for uninterrupted operation.
The nvSRAM 3 Click Board™ communicates with MCU using standard I2C 2-Wire interface, with clock frequency up to 100kHz in the Standard, 400kHz in the Fast, 1MHz in FastPlus, and up to 3.4MHz in High-Speed Mode. The CY14B101I offers zero cycle delay write operation with infinite SRAM write endurance. It also allows the choice of the least significant bit (LSB) of its I2C slave address by positioning SMD jumpers labelled as ADDR SEL to an appropriate position marked as 0 and 1.
An additional feature of this Click board™ represents the Write Protection and Interrupt functions labelled as WP and INT routed on the PWM and INT pins of the mikroBUS™ socket. The WP pin is an active-high pin that protects the entire memory and all registers from write operations. MCU must hold the WP pin high to inhibit all the write operations. When this pin is high, all memory and register writes are prohibited, and the address counter does not increment. On the other hand, the CY14B101I can use INT pin in several ways, such as interrupt output, calibration, or a square wave, programmable to respond to the clock alarm, the watchdog timer, and the power monitor.
The STORE operation of the CY14B101I can be controlled and acknowledged via the HSB pin, routed on the RST pin of the mikroBUS™ socket. If no STORE/RECALL is in progress, the CY14B101I can use this pin to request a hardware STORE cycle. When the HSB pin is in a LOW logic state, the CY14B101I conditionally initiates a STORE operation.
The nvSRAM 3 Click Board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before use with MCUs with different logic levels. However, the Click board™ comes equipped with a library that contains functions and an example code that can be used, as a reference, for further development.
SPECIFICATIONS
Type | SRAM |
Applications | Can be used for all applications that require fast access and high reliability of stored data, and unlimited endurance. |
On-board modules | CY14B101I - a 1-Mbit nvSRAM organized as 128K words of 8 bits each with a fully-featured real-time clock from Cypress Semiconductor |
Key Features | Low power consumption, 1-Mbit nonvolatile static random access memory, high reliability, high-speed interface, write protection feature, real-time clock, and more. |
Interface | I2C |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the nvSRAM 3 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | | Pin | Notes | |||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | WP | Write Protect | |
STORE Operation Control | HSB | 2 | RST | INT | 15 | INT | Interrupt |
NC | 3 | CS | RX | 14 | NC | ||
NC | 4 | SCK | TX | 13 | NC | ||
NC | 5 | MISO | SCL | 12 | SCL | I2C Clock | |
NC | 6 | MOSI | SDA | 11 | SDA | I2C Data | |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1-JP2 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
JP3 | RTC-BATT | Unpopulated | RTC Battery Backup Selection |
JP4 | RTC-CAP | Populated | RTC Capacitor Backup Selection |
NVSRAM 3 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | - | 3.3 | - | V |
Memory Size | - | 1 | - | Mbit |
nvSRAM Write Endurance | 1.000.000 | - | - | Write Cycles |
nvSRAM Data Retention | 20 | - | - | Years |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the nvSRAM 3 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on the mikroE Github account.
Library Description
This library contains API for the nvSRAM 3 Click Board™ driver.
Key Functions
nvsram3_cfg_setup
- Config Object Initialization function.nvsram3_init
- Initialization function.nvsram3_default_cfg
- Click Default Configuration function.
Example Description
The demo application shows how to write/read data to/from nvSRAM memory. It also sets RTC date and time, then reads it in an infinite loop and displays results on USB UART each second.
The demo application is composed of two sections :
void application_task ( void ) { nvsram3_get_rtc_time( &nvsram3, &time ); nvsram3_get_rtc_date( &nvsram3, &date ); if ( time.sec != new_sec ) { log_printf( &logger, " Date : %.2d-%.2d-%.4drn", ( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year ); log_printf( &logger, " Time : %.2d:%.2d:%.2drn", ( uint16_t ) time.hours, ( uint16_t ) time.min, ( uint16_t ) time.sec ); log_printf( &logger, "- - - - - - - - - - - - - - -rn" ); new_sec = time.sec; if ( date.year != c_year ) { log_printf( &logger, " Happy New Year rn" ); c_year = date.year; } else { nvsram3_memory_read( &nvsram3, memory_addr, &rx_data[ 0 ], 9 ); log_printf( &logger, " Read data : %s", rx_data ); } log_printf( &logger, "-----------------------rn" ); } else { Delay_ms( 500 ); } } The full application code, and ready to use projects can be installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on mikroE Github account.
Other mikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.nvSRAM3
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART Click Board™, USB UART 2 Click Board™ or RS232 Click Board™ to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The nvSRAM 3 Click Board™ is supported with mikroSDK - MikroElektronika 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.
Software Support
We provide a library for the nvSRAM 3 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on the mikroE Github account.
Library Description
This library contains API for the nvSRAM 3 Click Board™ driver.
Key Functions
nvsram3_cfg_setup
- Config Object Initialization function.nvsram3_init
- Initialization function.nvsram3_default_cfg
- Click Default Configuration function.
Example Description
The demo application shows how to write/read data to/from nvSRAM memory. It also sets RTC date and time, then reads it in an infinite loop and displays results on USB UART each second.
The demo application is composed of two sections :
void application_task ( void ) { nvsram3_get_rtc_time( &nvsram3, &time ); nvsram3_get_rtc_date( &nvsram3, &date ); if ( time.sec != new_sec ) { log_printf( &logger, " Date : %.2d-%.2d-%.4drn", ( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year ); log_printf( &logger, " Time : %.2d:%.2d:%.2drn", ( uint16_t ) time.hours, ( uint16_t ) time.min, ( uint16_t ) time.sec ); log_printf( &logger, "- - - - - - - - - - - - - - -rn" ); new_sec = time.sec; if ( date.year != c_year ) { log_printf( &logger, " Happy New Year rn" ); c_year = date.year; } else { nvsram3_memory_read( &nvsram3, memory_addr, &rx_data[ 0 ], 9 ); log_printf( &logger, " Read data : %s", rx_data ); } log_printf( &logger, "-----------------------rn" ); } else { Delay_ms( 500 ); } } The full application code, and ready to use projects can be installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on mikroE Github account.
Other mikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.nvSRAM3
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART Click Board™, USB UART 2 Click Board™ or RS232 Click Board™ to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The nvSRAM 3 Click Board™ is supported with mikroSDK - MikroElektronika 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.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.