External Memory plus Parallel Bus Expansion for Arduino / Genuino MEGA 2560 and MEGA ADK
Give your Arduino MEGA the ability to do more! The standard MEGA has only 8,192 bytes of SRAM. This is simply not enough to tap the otherwise powerful capability of the ATMEGA2560 microcontroller. Plugging on our XMEM+ and issuing just two simple software commands immediately increases SRAM memory to 40KB bytes. Need More? Use the supplied software routines to manage the XMEM+ on-board High-Speed logic for access up to 512KB. In addition, anyone learning and developing parallel circuitry will appreciate the Parallel Expansion Bus. Your off-board circuits actually become part of the ATMEGA2560 memory space, running at full speed and without the need for "Bit-Banging"!
The XMEM+ is a peripheral board which augments a standard Arduino / Genuino MEGA 2560 or MEGA ADK in two significant ways;
- Increases the amount of available SRAM by 512K bytes
- Adds true Parallel Bus Expansion capability
On-Board High-Speed logic assures that, except for the nineteen I/O pins dedicated to implement the eXternal MEMory interface, no other Arduino digital I/O signals are used. The external space appears seamlessly within the Arduino memory map and operates at full bus speed (no Wait-States).
512K byte External SRAM
A standard MEGA provides only 8,192 bytes of SRAM which must be divided amongst Stack, Heap, and Data purposes. As an Arduino program grows in complexity available SRAM can quickly dwindle. Low memory problems can be catastrophic and obvious or worse may appear as subtle errors and faulty operation occurring intermittently.
The XMEM+ immediately increases Arduino MEGA SRAM by up to 512K bytes, organized as 16 banks of 32K byte each. The active 32K bank follows the internal SRAM and resides in the the MEGA memory space between addresses 0x2200 and 0xA1FF.All address and bank decoding is done by the On-board High-Speed logic. Simple software routines help manage bank swapping.
The additional SRAM makes the MEGA much better suited and easier to use in applications requiring large amounts of fast memory such as buffering data before writing to an SD Card, servicing network communications, or creating and displaying graphical information.
Parallel Bus Expansion
Connecting 8-bit parallel devices to a MEGA system has typically been accomplished through some form of "bit-banging" to emulate the necessary steps of Write and Read operations. This technique is less than ideal due to software overhead and reduced throughput.
Instead, the XMEM+ provides a fixed 23K byte Expansion Bus for connecting custom parallel type circuitry. Buffered ReaD, WRite, ENable, RESetOUT, 8-bit Data, and 16-bit Address signals are fully accessible for off-board prototyping.
The Expansion Bus is true Arduino MEGA memory space, inherently supporting all AVR software instructions and running at full system speed. Optional Wait-States can be inserted to accommodate slower parallel devices. In addition, the logic voltage for attached user circuitry is jumper selectable to operate at either 3.3V or 5V levels.
Buffered SPI Signals
As an additional benefit, the MOSI and SCK Serial-Peripheral-Interface (SPI a.k.a. ICSP) signals are also routed through buffers. The ability to provide voltage translation between 5V and 3.3V is particularly handy when connecting to modern 3.3V only type SPI devices.
- Adds 512K byte SRAM to Mega 2560 or MEGA ADK
- SRAM organized as 16 banks of 32K byte each
- On-Board High-Speed Logic save digital I/O pins
- Integrates seamlessly within Arduino memory space
- Parallel Bus supports 3.3V and 5V off-board circuitry
- Easy access to DATA, ADDRESS, and CONTROL signals
- Use fast software instructions, no emulation or "Bit-Banging" necessary
- Arduino MEGA R3 Stack-Through connector foot print
|SRAM:||512K bytes total additional SRAM. Organized as 16 Banks of 32K bytes each.|
|Expansion Bus:||23K byte space, Buffered, Jumper selectable 3.3V or 5V external logic levels. Data: D[7:0], Address: A[15:0], Control: WR, RD, EN, Reset-Out|
|Speed:||Supports full MEGA bus speed, typically at a 16MHz system clock. No Wait-States are required but can be added through sofware to different segments of external memory space.|
|Digital Logic Levels:||Expansion Bus logic voltage is jumper selectable for either 3.3V or 5V |
|SPI (ICSP):||MOSI - Master-Out-Slave-In, Buffered|
MISO - Master-In-Slave-Out, Non-Buffered
SCK - Clock, Buffered
|Arduino MEGA Connections:||Arduino Mega R3 pattern Stack-through connectors accommodates additional shields. All connections accept 0.025" sq. leads and prototype wires.|
Power: 8 Pos. x 1 Row
Analog: 8 Pos x 1 Row (2)
Digital: 8 Pos x 1 Row (2), 10 Pos. x 1 Row, 18 Pos. x 2 Row
ICSP: 3 Pos x 2 Row
|Power Requirement:||MEGA Supplied, 3.3V and 5V|
|Dimensions:||2.10"W x 4.0"L x 0.75"H overall.|
|Environmental:||Operating Temperature: 0°C to 70°C |
Non-Condensing Relative Humidity: 5% to 95%
|Product Origin:||Designed, Engineered, and Assembled in U.S.A. by SCIDYNE Corporation using domestic and foreign components.|