DRAM Click Board
DRAM Click Board
Key Features
- Low power consumption, SPI/QPI with SDR mode, high performance, organized as 8M x 8bits, page size of 1024 bytes, self-managed refresh mechanism, software reset, and more
- Based on the APS6404L-3SQR - 64Mb PSRAM (Pseudo-SRAM) memory from AP Memory
- Can be used for low-power and low-cost portable applications
- mikroBUS: SPi and QSPI Interfaces
Overview
Introducing the DRAM Click Board™
Upgrade your device's memory with the DRAM Click Board™, a compact add-on board representing a dynamic random-access memory solution. This board features the APS6404L-3SQR, 64Mb high-performance SPI/QPI PSRAM memory organized as 8M x 8 bits each from AP Memory.
High Performance and Low Power Consumption
The Pseudo-SRAM device of the DRAM Click Board™ features a high speed, low pin count interface and incorporates a seamless self-managed refresh mechanism to maximize the performance of memory read operation. With 4 SDR I/O pins and the ability to operate in SPI or QPI (quad peripheral interface) mode with frequencies up to 133 MHz, this Click board™ is most suitable for low-power and low-cost portable applications.
Simple Integration and Software Development
The DRAM Click Board™ is supported by a mikroSDK-compliant library, which includes functions that simplify software development. This Click board™ comes as a thoroughly tested product, ready to be used on a system equipped with the mikroBUS™ socket.
Upgrade your device's memory capabilities today with the DRAM Click Board™.
How Does The DRAM Click Board™ Work?
The DRAM Click Board™ is based on the APS6404L-3SQR, a 64Mb PSRAM (Pseudo-Static RAM) memory with an SPI/QPI interface from AP Memory. Organized as 8M x 8 bits each, this memory also has a page size of 1024 bytes alongside high speed and high performance. It also incorporates a seamless self-managed refresh mechanism specially designed to maximize the performance of memory read operation (it does not require the support of DRAM refresh from the system host). It is most suitable for low-power and low-cost portable applications.
The APS6404L-3SQR communicates with MCU using the SPI serial interface that also supports Quad SPI and the two most common modes, SPI Mode 0 (QSPI Mode 1), with a maximum SPI frequency of 133MHz. The APS6404L-3SQR includes an on-chip voltage sensor used to start the self-initialization process. When the main power supply voltage reaches a stable level at or above the minimum supply voltage level, the device will require 150μs and user-issued RESET Operation to complete its self-initialization process. The device powers up in SPI Mode by default configuration but can also be switched into QPI mode. Besides, it is required to have a CS pin on a high logic level before beginning any operations.
The DRAM Click Board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using 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 | DRAM |
Applications | Can be used for low-power and low-cost portable applications |
On-board modules | APS6404L-3SQR - 64Mb PSRAM (Pseudo-SRAM) memory from AP Memory |
Key Features | Low power consumption, SPI/QPI with SDR mode, high performance, organized as 8M x 8bits, page size of 1024 bytes, self-managed refresh mechanism, software reset, and more |
Interface | QSPI,SPI |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the DRAM 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 | IO2 | QSPI IO2 | |
QSPI IO3 | IO3 | 2 | RST | INT | 15 | NC | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT / QSPI IO1 | SDO | 5 | MISO | SCL | 12 | NC | |
SPI Data IN / QSPI IO0 | SDI | 6 | MOSI | SDA | 11 | NC | |
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 |
DRAM CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | - | 3.3 | - | V |
Memory Size | - | - | 64 | Mb |
Operating Temperature Range | -25 | +25 | +85 | °C |
Software Support
We provide a library for the DRAM Click Board™ and 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 DRAM Click Board™ driver.
Key functions
-
dram_memory_write
This function writes the desired number of data bytes starting from the selected memory address. -
dram_memory_read
This function reads the desired number of data bytes starting from the selected memory address. -
dram_memory_read_fast
This function reads the desired number of data bytes starting from the selected memory address performing a fast read feature.
Example Description
This example demonstrates DRAM Click Board™ by writing specified data to the memory and reading it back.
void application_task ( void )
{
uint8_t data_buf[ 128 ] = { 0 };
log_printf ( &logger, " Memory address: 0x%.6LXrn", ( uint32_t ) STARTING_ADDRESS );
memcpy ( data_buf, DEMO_TEXT_MESSAGE_1, strlen ( DEMO_TEXT_MESSAGE_1 ) );
if ( DRAM_OK == dram_memory_write ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Write data: %srn", data_buf );
Delay_ms ( 100 );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( DRAM_OK == dram_memory_read ( &dram, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Read data: %srnn", data_buf );
Delay_ms ( 3000 );
}
log_printf ( &logger, " Memory address: 0x%.6LXrn", ( uint32_t ) STARTING_ADDRESS );
memcpy ( data_buf, DEMO_TEXT_MESSAGE_2, strlen ( DEMO_TEXT_MESSAGE_2 ) );
if ( DRAM_OK == dram_memory_write ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Write data: %srn", data_buf );
Delay_ms ( 100 );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( DRAM_OK == dram_memory_read_fast ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Fast read data : %srnn", data_buf );
Delay_ms ( 3000 );
}
}
The complete application code and ready-to-use projects can be installed directly from NECTO Studio. The package Manager (recommended), is downloaded from our LibStock™ or found on the MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.DRAM
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, 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 MikroElektronika compilers.
MIKROSDK
The DRAM 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 DRAM Click Board™ and 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 DRAM Click Board™ driver.
Key functions
-
dram_memory_write
This function writes the desired number of data bytes starting from the selected memory address. -
dram_memory_read
This function reads the desired number of data bytes starting from the selected memory address. -
dram_memory_read_fast
This function reads the desired number of data bytes starting from the selected memory address performing a fast read feature.
Example Description
This example demonstrates DRAM Click Board™ by writing specified data to the memory and reading it back.
void application_task ( void )
{
uint8_t data_buf[ 128 ] = { 0 };
log_printf ( &logger, " Memory address: 0x%.6LXrn", ( uint32_t ) STARTING_ADDRESS );
memcpy ( data_buf, DEMO_TEXT_MESSAGE_1, strlen ( DEMO_TEXT_MESSAGE_1 ) );
if ( DRAM_OK == dram_memory_write ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Write data: %srn", data_buf );
Delay_ms ( 100 );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( DRAM_OK == dram_memory_read ( &dram, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Read data: %srnn", data_buf );
Delay_ms ( 3000 );
}
log_printf ( &logger, " Memory address: 0x%.6LXrn", ( uint32_t ) STARTING_ADDRESS );
memcpy ( data_buf, DEMO_TEXT_MESSAGE_2, strlen ( DEMO_TEXT_MESSAGE_2 ) );
if ( DRAM_OK == dram_memory_write ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Write data: %srn", data_buf );
Delay_ms ( 100 );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( DRAM_OK == dram_memory_read_fast ( &dram, STARTING_ADDRESS, data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, " Fast read data : %srnn", data_buf );
Delay_ms ( 3000 );
}
}
The complete application code and ready-to-use projects can be installed directly from NECTO Studio. The package Manager (recommended), is downloaded from our LibStock™ or found on the MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.DRAM
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, 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 MikroElektronika compilers.
MIKROSDK
The DRAM 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.