6
\$\begingroup\$

So far the most RAM laden MCU I have found in a hobbyist friendly DIP package is a dsPIC33FJ128GP802, which has 16KB, and the Parallax Propeller, which has 32KB. But does anyone know of chips with more memory in said packages? This is only for prototyping, I also need surface mount chips for production.

\$\endgroup\$
1

3 Answers 3

13
\$\begingroup\$

If you only need the DIP format for prototyping, use some adapter boards and prototype with those. With a steady hand you should be able to solder SOIC and TQFP parts.

This kind of thing:

TQFP to DIP Adapter Image from here

\$\endgroup\$
6
  • \$\begingroup\$ +1 - It's a good idea, but actual DIP's are far easier to work with. Is it me, or does that adapter not have all pins broken out? \$\endgroup\$
    – Thomas O
    Commented Oct 23, 2010 at 0:15
  • 4
    \$\begingroup\$ looks like a bunch are routed on the back. No idea why, all they had to do was put the QFP at a 45deg angle and they could have routed it all on 1 side. \$\endgroup\$
    – Mark
    Commented Oct 23, 2010 at 2:05
  • \$\begingroup\$ Yeah, but where do the pins from the top left to the top right go? There's a whole bunch that aren't connected... (as all pins are used up.) Same on the bottom. \$\endgroup\$
    – Thomas O
    Commented Oct 23, 2010 at 8:20
  • 3
    \$\begingroup\$ @Thomas O, as @Mark said, they're routed on the back, see the circular vias connecting them to the other side \$\endgroup\$ Commented Oct 23, 2010 at 12:45
  • \$\begingroup\$ @thomas I guess i don't see what your talking about, there are obvious vias for 8 pins on the top and the traces are clear on the back. Weirdest thing i see here is the pad under the IC with traces out to those side pins. I guess its so if you have a QFP with a pad under it you could connect to it, but there are exposed via's under the IC. Unless you were really careful with the size of the pad under the QFP i would think it would be really easy to short those vias out. \$\endgroup\$
    – Mark
    Commented Oct 23, 2010 at 19:50
6
\$\begingroup\$

If you just need extra RAM, and you don't need to address it directly as a memory address (i.e. okay to go through a function call), Microchip makes a 32KB SRAM with a 20 MHz SPI interface in an 8-pin DIP (also available as a SMD) for $1.66 in singles, $1 in quantity.

\$\endgroup\$
6
  • \$\begingroup\$ Yeah, I was considering this, but my application needs speed, and it has interrupts, so the operations might be undefined if the code for writing to the memory gets interrupted mid write... would it write half a word? I couldn't have that. \$\endgroup\$
    – Thomas O
    Commented Oct 23, 2010 at 21:02
  • 1
    \$\begingroup\$ @Thomas, assuming you are using SPI interface built into your MCU, your program will be writing and reading SPI registers as atomic operation and you will not use lose any data, even if interrupted. (You could also implement a SPI handler using interrupts.) The clocking and writing and reading of the SRAM will be handled by the hardware interface. Since the MCU is the SPI master, you can't miss data coming from the SRAM. \$\endgroup\$
    – tcrosley
    Commented Oct 23, 2010 at 21:26
  • \$\begingroup\$ As far as speed goes, with a 2 MHz SPI clock (1/10 the rated SRAM speed), it shouldn't take more than 30 us to read or write a byte (even with subroutine overhead), so can write or read 30 bytes/ms, or the entire 32KB in a second. (I haven't looked at the datasheet, just making some educated guess here.) \$\endgroup\$
    – tcrosley
    Commented Oct 23, 2010 at 21:32
  • \$\begingroup\$ Compared to the MCU's internal RAM that's way too slow. I need to clear 8KB in 1/30th second. The 8KB codes for a frame of video information and it needs to update around ~30 fps. At the moment the MCU can do around about 3000 fps when just clearing the screen, so 3000x faster. Can a dsPIC33FJ128GP802 do SPI at 20 MHz? \$\endgroup\$
    – Thomas O
    Commented Oct 23, 2010 at 21:36
  • 1
    \$\begingroup\$ @Thomas, I didn't realize you needed to do a block write of 8KB. It turns out once you have sent the starting address to the SRAM, you can continue to write bytes sequentially. So just a 5 MHz SPI clock, assuming you are using the SPI interrupt, would allow you to write around 600 bytes/ms, or 8 KB in about 1/60 of a second, about twice as fast as your requirement. I wouldn't try to run it any higher than that on a breadboard using DIP's. \$\endgroup\$
    – tcrosley
    Commented Oct 23, 2010 at 23:24
0
\$\begingroup\$

Feel free to update the information below.

8-bit AVR: ATmega1284(p), 16kB RAM, 128kB flash, DIP40

32-bit AVR: None

8-bit PIC: PIC18F(2/4)7K42, 8kB RAM, 128kB flash, SDIP28/DIP40

16-bit PIC: dsPIC33EP512xxx02, 48kB RAM, 512kB flash, SDIP28

32-bit PIC: PIC32MXxxxF256B, 64kB RAM, 256kB flash, SDIP28

32-bit ARM: LPC1114FN28, 4kB RAM, 32kB flash, DIP28

Last updated January 4, 2018

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.