Go Down

Topic: Good parallel flash memory for the Arduino Due? (Read 1 time) previous topic - next topic

clone45

Hello!

I'm working on a project where I'd like to stream three 16bit 44kHz audio samples from an Arduino Due.  The samples can be fairly long.  Using SPI flash, I was only able to stream two samples at once.  SPI just wasn't fast enough to stream three of them.  So, I'm considering using parallel flash memory to speed things up.  I'll need at least 512 kilobytes of memory.  Has anyone else done this before, and if so, which memory did you use?

Thanks,
Bret

MarkT

Well you'll have a job, A6 (PC27) isn't pinned out on the Due board AFAICT.  Neither
are D8/D9
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

clone45

Sorry Mark, I don't understand what you're talking about.  Are you saying that using parallel flash will require specific pins on the Due that aren't available?

Cheers,
Bret

MarkT

Yes.  The address bus and data bus are bound to specific pins, some of which
are not pinned-out on the Due board.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

clone45

Do you think that if I use a parallel Flash, such as http://ww1.microchip.com/downloads/en/DeviceDoc/20005023B.pdf, and communicate with it using digitalRead and digitalWrite, that it will be slower than using an SPI Flash chip?

Thanks,
Bret

MarkT

digitalWrite? V slow, definitely.  I think nand flash is an asynchronous protocol so its
doable but you'll benefit a lot from finding contiguously mapped pins for address
and data.  The datasheet has gory details...  Anyway writing is ultra slow anyway
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

MarekB

What library have you used for SPI transfers?
SdFat library (https://github.com/greiman/SdFat-beta) uses DMA for SPI transfers between Due and SD card and it speeds things up considerably (if you read/write in blocks of bytes). I used one of the classes from SdFat in my own library (ILI9341_due) which can be used to interface Due with a SPI TFT display and using DMA has helped a lot in terms of speed (you can see the speed difference between a regular SPI and SPI with DMA on this video : https://www.youtube.com/watch?v=vnEwzN14BsU )

Go Up