i'm interesting on how to correctly select SPI flash for microcontroller.
specs:
High-Performance 32-bit RISC CPU:
- MIPS32® M4K® 32-bit core with 5-stage pipeline
- • 80 MHz maximum frequency
- • 1.56 DMIPS/MHz (Dhrystone 2.1) performance
at zero Wait state Flash access - • Single-cycle multiply and high-performance divide
unit - • MIPS16e® mode for up to 40% smaller code size
- • Two sets of 32 core register files (32-bit) to reduce
interrupt latency - • Prefetch Cache module to speed execution from
Flash
Following are some of the key features of SPI module:
- Master and Slave modes support
- Four different clock formats
- Enhanced Framed SPI protocol support
- User-configurable 8-bit, 16-bit and 32-bit data
width - Separate SPI FIFO buffers for receive and
transmit - FIFO buffers act as 4/8/16-level deep FIFOs
based on 32/16/8-bit data width - Programmable interrupt event on every 8-bit,
16-bit and 32-bit data transfer - Operation during CPU Sleep and Idle mode
- Fast bit manipulation using CLR, SET and INV
registers
my concerns:
-
How many bits/pins SPI interface would be the most optimal (32, 16, 8) ?
-
What is the maximum speed can I get for read/write ?
-
Should I consider any other interfaces(PMP, Serial, I^2C, etc.) or memory types for best performance?
Purpose: possible code execution , storing audio files ( badgering from network ). I was looking for about 256-512 mb
Thank you.
Best Answer