Friday, January 30, 2015

RAM considerations

The ATmega1280/2560 have 8 kilobytes internal RAM; some digital pins (PORTA/PORTC, PORTD bit 7 and PORTG bits 0 to 2) may take avantage of a RAM/SRAM chip on the 0x2200-0xffff addresses, and even switching between 8 banks (up to 8x64k RAM).

Note 1: the initial 0x0000-0x2200 area (8704 bytes) is not available because the internal RAM has precedence over external RAM.

Note 2: a 5V RAM is needed because the ArduinoMega is 5V.

Note 3: the RAM should feature 60ns or lower access time, because the ATmega is clocked at 16 MHz.

Cypress CY7C199CN pinout

I could add 32k SRAM and map it from 0x8000-0xffff. But... hey, 512k is cheaper than 32k! Some examples:
  • Cypress CY7C199CN-15PXC, 32 kilobytes SRAM (32 kbits x 8 = 256 kilobits), PDIP package (0.1"-spaced, easy to solder), 15ns speed; Farnell lists at €5.67 each;
  • BSI BS62LV1027PCP55, 64 kilobytes DRAM (64 kbits x 8 = 512 kilobits), PDIP, 55ns speed; Distrelec lists at €6.60 each;
  • Alliance AS7C4096A-12JCN, 512 kilobytes SRAM (512 kbits x 8 = 4 Mbits), PDIP, 12ns; Mouser has them at €4.50 each (yes, cheaper than the 32k above).

No comments:

Post a Comment