0
\$\begingroup\$

I am looking into writing data onto some Flash memory serially, the requirement is to replace the old parallel programmer with a serial based programmer example Cheetah SPI Host Adapter. The Flash memory has 19 address lines, and 8 data lines, meaning they will need to be converted to serial most likely with 3 shift registers for the address, and 1 for the data.

The current proposal is to use an use a programmer to communicate with an SPI chip then to shift the serial data and store onto the Flash. I know with this the difficulty will be with the timing parameters of all the hardware.

My question is how is this proposal possible or is there something else more suitable.

Thanks for the help.

\$\endgroup\$
  • \$\begingroup\$ It probably comes down to the throughput you need. How much data and how fast do you need to write it? \$\endgroup\$ – Reinstate Monica Jul 23 at 15:03
  • \$\begingroup\$ Hi Justin, thanks for the prompt reply. In terms of data it's two flash chips of 512 K x 8-bit each and there is no restrictions on how fast it must be written. As the flash chips will be accessed by an MCU after being programmed the speed of writing is not of concern. \$\endgroup\$ – Bhavik Jul 23 at 15:20
  • \$\begingroup\$ Often your best bet is to use an MCU for this. Ugly as the design environment may be an Arduino (maybe a Mega for the pins, or if the part is 3v3 one of the ARM varieties, either from Arduino or an alterantive with good support like Adafruit) can be a fast way to whip up one-off solutions, though of course you can actually use almost any dev board. Or why not just modify an instance of whatever is going to read the chip with software to make it a programmer? While various USB I/O chips exist, you'll get the fastest throughput if you can put the algorithm in an MCU and send only the data. \$\endgroup\$ – Chris Stratton Jul 23 at 15:39
  • \$\begingroup\$ I was thinking about using another MCU but we want to keep the solution mainly hardware based with minimal software additions. But this may be the quickest method, thanks for the suggestion. \$\endgroup\$ – Bhavik Jul 23 at 15:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.