RERAM CLICK
PID: MIKROE-3641
Weight: 16 g
ReRAM Click features ReRAM (Resistive Random Access Memory) module which
contains the cell array made of 524.288 words x 8 bits, which totals 4 Mbits of data. The
used memory module can withstand a large number of write cycles, it has data retention
period greater than 10 years and it can read and write to random addresses with no
delay. Besides these features that already mark this kind of memory modules a
milestone in memory manufacturing technology, the device features block write
protection, low power consumption and fast SPI interface that can theoretically work up
to 5MHz. Because of its universal memory characteristics, ReRAM click can be used
both as a non-volatile storage media, or temporary RAM expansion for storing variables
in any embedded application.
ReRAM 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.
ReRAM click carries a resistive RAM module. Resistive RAM, also known as ReRAM, is
a non-volatile memory type, that works by changing the resistance across
a dielectric solid-state material, often referred to as a memristor. Compared to traditional
flash memory, ReRAM offers much faster, bit-alterable, erase-free operation. It delivers
much lower read latency, faster write performance than Flash, can be architected with
smaller pages to reduce read and write latencies, lower energy and increased lifetime of
the storage solutions. Although the ReRAM is still being developed, this ReRAM module
can write data at bus speed, has an extremely high endurance of 1.2 x 106 read/write
cycles, data retention period of 10 years, and very fast SPI interface.
HOW DOES IT WORK?
ReRAM is an abbreviation for resistive Random Access Memory. This is a fairly new
type of memory. The main features of ReRAM modules include write endurance, read /
write cycles with no delay and data retention even after power loss. This makes these
modules a kind of universal memory, a hybrid between standard RAM modules and
EEPROM and similar types of FLASH memory. The ability to randomly access the
memory cells without the need to refresh them and with no delay makes this type of
memory looks like an SRAM. Data retention after power off, makes it look like a FLASH
memory. Therefore, it is often referred to as the universal memory.
There are certain downsides and flaws that prevent this type of memory to become the
main memory medium and replace all types of memory used so far. ReRAM memories
involves generating defects in a thin oxide layer, known as oxygen vacancies (oxide
bond locations where the oxygen has been removed), which can subsequently charge
and drift under an electric field. The motion of oxygen ions and vacancies in the oxide
would be analogous to the motion of electrons and holes in a semiconductor. The
problems with this is obvious: these memories rely on exotic materials and complicated
switching mechanisms, so the development is quite complex. There are various
methods used to overcome these problems, but they remain the main reasons why this
type of memory hasn’t replaced other memory types, yet. However, in the embedded
world, where the memory amount demands are rather limited, this type of memory most
certainly deserves attention. ReRAM is a perfect solution for cost-sensitive applications,
such as wearables and IoT devices
ReRAM click board uses the MB85AS4MT, a 4 megabits serial SPI ReRAM memory
module from Fujitsu Semiconductor. This module contains 524.288 x 8 bits of memory
that can be randomly accessed. The pinout of the used memory module is the same as
most commonly used EEPROM modules so that it can directly replace it. The usual SPI
lines - SO, SI, SCK and #CS pins from the MB85AS4MT IC are routed to the
mikroBUS™ SPI port (MISO, MOSI, SCK and CS pins). Besides the SPI serial bus,
there are two more pins routed to the mikroBUS™.
The #HOLD pin of the MB85AS4MT IC is routed to the RST pin of the mikroBUS™ and
it is used to hold the data transfer. When this pin is pulled to a LOW logic level, all data
transfer operations are suspended. However, this function is enabled only when the
device is already addressed with the CS pin pulled to a LOW level. This allows to pause
the data transfer and resume it later without the need to first address it via the CS pin,
reducing the output latency that way. While the data transfer is paused, the SO pin will
switch to a high impedance mode (HIGH Z) and will remain inactive. The SCK pulses
are completely ignored. The #HOLD pin of the MB85AS4MT IC is pulled to a HIGH logic
level by an onboard pull-up resistor.
The #WP pin of the MB85AS4MT IC is routed to the PWM pin of the mikroBUS™ and it
is used to prevent writes to the status register, acting as a hardware write protect pin. It
is routed to the RST pin of the mikroBUS™.
The logical organization of the module, such as read and write commands and the
status register of the MB85AS4MT IC are the same as with most commonly used
EEPROM modules, such as the one used in EEPROM 4 click. That allows this memory
module, as well as ReRAM click to replace the existing EEPROM module with not too
much additional work. The provided libraries offer all the functions needed to work with
the ReRAM click. Their usage is demonstrated in the included example application
which can be used as a reference for further development.
This Click Board™ is designed to be operated only with 3.3V logic level. A proper logic
voltage level conversion should be performed before the Click board™ is used with
MCUs with logic levels of 5V. It is ready to be used as soon as it is inserted into a
mikroBUS™ socket of the development system.
SPECIFICATIONS
Type
ReRAM
Applications
A perfect solution for cost-sensitive applications, such as wearables
and IoT devices
On-board
modules
MB85AS4MT, a 4 megabits serial SPI ReRAM memory module
from Fujitsu Semiconductor.
Key Features
ReRAM click features an ReRAM memory module. Due to the used
memory type, it inherits all the benefits of having both features
typically found RAM and EEPROM modules. Fast, nonvolatile
memory which can endure an unlimited number of write cycles
Interface
SPI
Input Voltage
3.3V
Click board
size
S (28.6 x 25.4 mm)
PINOUT DIAGRAM
This table shows how the pinout on ReRAM click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
NC
1
AN
PWM
16
WP
#HOLD
HO
2
RST
INT
15
NC
Chip Select
CS
3
CS
RX
14
NC
SPI Clock
SCK
4
SCK
TX
13
NC
SPI Data Out
SDO
5
MISO
SCL
12
NC
SPI Data In
SDI
6
MOSI
SDA
11
NC
Power Supply
3.3V
7
3.3V
5V
10
NC
Ground
GND
8
GND
GND
9
GND
Notes
Write protect
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
LD1
PWR
-
Description
Power LED Indicator
RERAM CLICK ELECTRICAL SPECIFICATIONS
Description
Min
Typ
Max
Unit
Operating voltage
1.65
-
3.6
V
Operating temperature
-40
-
85
°C
SCK Clock Frequency
-
-
5
MHz
Data endurance
-
1.2 × 106
-
Cycles
Data retention (at +85 °C)
-
10
-
Years
SOFTWARE SUPPORT
We provide a library for the ReRAM click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run
on all the main MikroElektronika development boards.
Library Description
Library contains functions for getting temperature and humidity. Library contains
functions for getting and setting user register. Library contains functions for changing
resolution and soft reset. Library contains functions for enabling/disabling heater and
OTP.
Key functions:
•
T_RERAM_RETVAL reram_send_cmd( uint8_t cmd_code ) - This function allows user to send a desired
command.
•
T_RERAM_RETVAL reram_read_mem( uint32_t memAddr, uint8_t *dataOut, uint16_t nBytes ) - This
command allows user to read RAM.
•
T_RERAM_RETVAL reram_write_mem( uint32_t memAddr, uint8_t *dataIn, uint16_t nBytes ) - This
command allows user to write RAM.
Examples description
The application is composed of three sections :
•
System Initialization - Initializes peripherals and pins.
•
Application Initialization - Initializes SPI serial interface and puts a device to the initial state. The
device now is ready to receive command from user.
•
Application Task - (code snippet) - Executes a device commands depending on the entered string
commands by user. The user can perform a complete control of the ReRAM by using this driver and
demo example, which includes all possible commands:
•
wren - enable Status and RAM writing command (Write Enable Latch is set),
•
wrdi - disable Status and RAM writing command (Write Enable Latch is reset),
•
rdsr - read Status register command (shows status messages),
•
wrsr - write Status register command (also executes Status Write Protection),
•
read - read ReRAM array command (depending on the entered parameters, shows error messages),
•
write - write ReRAM array command (depending on the entered parameters, shows error
messages),
•
rdid - read device ID command,
•
sleep - puts a device to sleep state,
•
wakeup - wakes up a device. All possible parameters for each command can be entered from user
side. When user wants to execute a 'write' or 'wrsr' command, the Write Enable will be automatically
enabled.
Note : Write Enable Latch is reset after the following operations: After 'wrdi' command
recognition. The end of writing process after 'wrsr' command recognition. The end of
writing process after 'write' command recognition.
Data will not be written in the protected blocks of the ReRAM array.
Upper 1/4 goes from address 0x60000 to 0x7FFFF.
Upper 1/2 goes from address 0x40000 to 0x7FFFF.
The entire ReRAM array goes from address 0x00000 to 0x7FFFF.
void applicationTask()
{
process();
}
Additional Functions :
•
_pow - Power math function.
•
_strcmp - Allows user to compare two strings, does two strings match or not.
•
_str_to_dec - Allows user to enter a determined number of digits and converts these digits from
ASCII format to decimal value.
•
process - Allows user to enter a string command and executes a command processing.
The full application code, and ready to use projects can be found on our LibStock page.
Other Mikroe Libraries used in the example:
•
Conversions
•
C_String
•
SPI
•
UART
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.
DOWNLOADS
mikroBUS™ Standard specifications
LibStock: mikroSDK
Click board catalog
ReRAM click Libstock
MB85AS4MT datasheet
ReRAM click 2D and 3D files
ReRAM click schematic
https://www.mikroe.com/reram-click/7-12-19