Pages: [1]   Go Down
Author Topic: Interfacing with external flash  (Read 348 times)
0 Members and 1 Guest are viewing this topic.
UK
Offline Offline
God Member
*****
Karma: 1
Posts: 530
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A few questions about interfacing with external flash for data storage... Namely, with the following device; http://uk.farnell.com/spansion/s25fl256sagnfi001/memory-flash-256mbit-8wson/dp/2136254

1) Regarding the flash chips clock frequency, does this need to be equal to or lower than the MCUs clock - or does this not matter?
2) To use external flash, do I need to use a flash controller?
3) Almost all devices are built for 3.3V supply by the looks of things, does this mean the SPI interface to them is also 3.3V, not the default 5V the Atmel chips operate at? If this is the case, I assume I'll need to level shift 5V down to 3.3V?
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 546
Posts: 27363
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1.  You can run it as slow as you want. 
2. No. Just the normal SPI signals, and HOLD/ & WP/ if you use them.
3. Yes.  Look at TXB0106 for  that.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

UK
Offline Offline
God Member
*****
Karma: 1
Posts: 530
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

2. No. Just the normal SPI signals, and HOLD/ & WP/ if you use them.

Thank god for that - my board design is quickly filling up!

Regarding the hold function, looks like I can use this to prevent data transfer going wrong if an interrupt comes in? Set the hold pin active at the start of an ISR, then release it at the end of an ISR. Am I correct in thinking this would work?

EDIT: Actually, thinking along those lines - I have 6 other devices on the SPI bus, what will happen if while communicating with one of these devices, an interrupt is triggered? Would it be best to disable interrupts at the beginning of any SPI comms, and reenable at the end and simply let the ISRs queue up?

EDIT 2: Regarding the 3.3v supply to the level shifter, I've just been looking at 3.3v regulators - do I parallel one next to the 5v reg, or inline with the 5v reg etc - but actually, given I have a 5v regulated supply already, it follows that I should just be able to make 3.3V using a voltage divider with very low tolerance resistors. Correct?

In fact, do I need a level shifter at all? Can I not just pass the 5v signals from the MCU through appropriate voltage dividers straight into the flash IC? What is the advantage of using a level shifter?
« Last Edit: December 06, 2012, 11:00:08 am by jtw11 » Logged

Pages: [1]   Go Up
Jump to: