How does it work?
FRAM 6 Click as its foundation uses the CY15B102Q, a 2Mbit ferroelectric random access memory (F-RAM) logically organized as 262,144×8 bits and accessed using an industry-standard serial peripheral interface from Infineon, now part of Infineon. The functional operation of the F-RAM is similar to serial flash and serial EEPROMs, where the significant difference between the CY15B102Q and a serial flash or EEPROM represents the F-RAM’s superior write performance, high endurance, and low power consumption. That’s why this Click board™ is ideal for nonvolatile memory applications requiring frequent or rapid writes, where example ranges from data collection to demanding industrial controls where the long write time of serial flash or EEPROM can cause data loss.
The CY15B102Q communicates with MCU through a standard SPI interface that enables very high clock speeds up to 25MHz, supporting the two most common SPI modes, SPI Mode 0 and 3. Unlike serial flash and EEPROM, the CY15B102Q performs write operations at bus speed, where no write delays are incurred. The CY15B102Q supports 10 trillion read/write cycles, or 10 million times more write cycles than EEPROM. Data is written to the memory array immediately after each byte is successfully transferred to the device. The following bus cycle can commence without the need for data polling.
An additional feature of this Click board™ represents the configurable Write Protection function labeled as WP routed on the RST pin of the mikroBUS™ socket. The WP pin protects the entire memory and all registers from write operations and must be set to a high logic state to inhibit all the write operations. All memory and register writes are prohibited when this pin is high and the address counter is not incremented. Besides, the FRAM 6 Click also has an additional HOLD pin, routed to the PWM pin of the mikroBUS™ socket labeled as HLD, to interrupt a serial operation without aborting it.
This 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 containing functions and an example code that can be used, as a reference, for further development.
Specifications
Type
FRAM
Applications
Can be used for nonvolatile memory applications requiring frequent or rapid writes and unlimited endurance
On-board modules
CY15B102Q – 2Mbit nonvolatile memory employing an advanced ferroelectric process organized as 256K words of 8 bits each from Cypress Semiconductor, now part of Infineon
Key Features
Low power consumption, high endurance, 121 years data retention, advanced high-reliability ferroelectric process, fast serial interface, sophisticated write protection scheme, and more
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on FRAM 6 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
FRAM 6 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Memory Size | – | – | 2 | Mbit |
Write Endurance | 1013 | – | – | Write Cycles |
Data Retention | 121 | – | – | Years |
Operating Temperature Range | -40 | +25 | +125 | °C |
Software Support
We provide a library for the FRAM 6 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for FRAM 6 Click driver.
Key functions:
fram6_cfg_setup
– Config Object Initialization function.fram6_init
– Initialization function.fram6_default_cfg
– Click Default Configuration function.
Example description
This example demonstrates the use of FRAM 6 Click board™.
void application_task ( void ) { uint8_t data_buf[ 128 ] = { 0 }; if ( FRAM6_OK == fram6_memory_write ( &fram6, STARTING_ADDRESS, DEMO_TEXT_MESSAGE, strlen ( DEMO_TEXT_MESSAGE ) ) ) { log_printf ( &logger, "Data written to address 0x%.5lx: t%srn", ( uint32_t ) STARTING_ADDRESS, ( char * ) DEMO_TEXT_MESSAGE ); } if ( FRAM6_OK == fram6_memory_read ( &fram6, STARTING_ADDRESS, data_buf, strlen ( DEMO_TEXT_MESSAGE ) ) ) { log_printf ( &logger, "Data read from address 0x%.5lx: t%srnn", ( uint32_t ) STARTING_ADDRESS, data_buf ); Delay_ms ( 3000 ); } }
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other mikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.FRAM6
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. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This 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.
For more information about mikroSDK, visit the official page.