Designing with discrete flash is 1/10th the cost, uses a much smaller form factor, and requires significantly less specialized hardware than using SD flash cards.
This Instructable will show you how to add 1MB of discrete external flash memory to your microcontroller project with what I believe to be the least amount of effort possible. This is also a follow-on to my other twoll need to consider these tradeoffs for your design. The list below contains a few tradeoffs I think about when I need to decide if I want to use a single 8-pin DIP chip or a full-on SD solution:
Hardware Complexity (Choose: Discrete)
![]()
PRESTO is a very flexible USB in-system programmer that supports a large variety of integrated circuits — Microchip PIC, Atmel AVR, TI MSP430, ARM and 8051 microcontrollers; serial EEPROMs (SPI, Microwire and I2C); serial data Flash; CPLD; and FPGA. SPI EEPROM chips over a serial port. As usual all code and schematics are. Serial (I2C/SPI) EEPROM Programmer. Flash to allow for more complex. FT2232SPI Programmer. From flashrom. DLP-USB1232H based SPI programmer schematics. It can be as simple as two AA or AAA batteries placed in serial. This page contain electronic circuits about Programmer circuits at category microcontroller programmer circuit: Microcontroller CircuitsCircuits and Schematics. Introduction: If you are looking for a simple but powerful programmer you are right, it's here. PonyProg is a serial device programmer software with a user. FlashProg is USB base flash memory programmer which is specifically design to read and program 3.3V SPI flash memory devices.
One way to add SD flash to an Arduino system is to use a shield, such as this one by Seeed Studio (three 'e's) I bought at my local Radio Shack for $15. While shields provide convenience for prototyping, the final production assembly might not have the budget or the space to include SD hardware. An 8-pin DIP package of a discrete flash chip is much easier to drop on a protoboard than an SD shield, assuming your development board even supports a shield.
Software Complexity (Choose: Discrete)
The SD flash subsystem commonly relies on the SDFat16/32 libraries. While the devices are an SPI interface, it makes sense to use FAT since any PC/MAC can then read this card. These libraries are large and can take up precious EEPROM space on smaller embedded controllers. Compatibility and integration into your build environment may require significant debug. The software required to drive a discrete flash chip with an SPI interface is trivial and very small, as you will soon see. Maybe this says more about me than the SDFat libraries, but I find them cumbersome to work with.
Capacity & Portability (Choose: SD)
Usb Spi Flash Programmer Software
SD flash wins big here, simply pop in a larger capacity SD card into the existing design with no modifications. Discrete SPI flash has lower density limits in the 8-pin DIP format. The SDFat library means any PC/MAC can read the files on the card.
Cost (Choose: Discrete)
Soundlovers surrender midi file. Request Midi. Almost Like Being In Love Jazz Combo (10)Scream and shout Will.i.am feat. Britney Spears (5)Walking on sunshine Jazzystics (5)Coconut tree. THE SOUND LOVERS.Surrender.mid Midi Tracks A total of 1 Midi tracks were detected in THE SOUND LOVERS.Surrender.mid midi; each track has a name and contains a sequence of midi events. Here is a summary of the detected tracks in the file.
SD cards range in price dramatically, and with an SD flash shield, can set you back $20-$30. WinBond 1MB chips cost about $2 from Mouser or Digikey.
Power (Choose: Discrete)
Energy requirements of flash depend on the manufacturer, production lot, device density, and process technology. SD cards are typically higher leakage power due to the higher densities, and higher dynamic power due to the higher access speeds. The WinBond chips I focus on in this Instructable require very little power, 6uW standby, 60mW page program, and 60mW chip erase. I wasn't able to find power data on the high-end super-fast SD cards, but the write speed is about 100x that of the WinBond. Since dynamic power is proportional to frequency, I can't imagine power would be less.
Speed (Choose: SD)
I haven't had any need for very fast flash memory write performance, but SD flash comes in many different product SKUs based on speed (mostly due to the demands of digital photography and the use of raw image formats). The WinBond SPI chips can't really compare: page program speed is 0.7ms for 256 bytes, which translates to 0.360MB/s, which is 100x slower than Team Corp.’s fastest Micro SD cards at ~40MB/s. I suspect they have multiple devices or arrays writing in parallel to achieve those speeds.
While this analysis most likely represents my own lazy biases, I find my brand of laziness to be rather prolific. That being said, any one of these vectors may be more important for your project, but my goal here is to call out the tradeoffs, and then illustrate the simplicity of this wonderful flash chip. (And I haven't even discussed using larger capacity parallel flash chips.)
FlashProg programmer schematic is illustrated in below:
For this project ATmega8 microcontroller needs to be operate on 3.3V with 12MHz clock, therefor ATmega8A microcontroller need to be used with this project and ATmega8 or ATmega8L are not compatible with this project.
Spi Serial Flash
All the supported chips for IC2 are listed in supported devices section of project documentation.
Spi Flash Programmer Software
PCB is the most recommended way to construct this project but it can also be build on breadboard or on veroboard as shown in the above photograph.
Elcomsoft phone breaker serial. Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |