Flash programmer
Ale
Posts: 2,363
in Propeller 1
HEi,
I was wondering if anyone attempted to build a Flash programmer (Parallel Flash/EPROM/EEPROM) using the propeller. For some other projects I would like to program some 29F010s. The Prop has not enough RAM but who cares ? Flashing say 16 kBytes per round would be tolerable for some low-volume flashing .
The question is... If I use the serial port with some FullDuplex Serial and send say a ihex file, will be spin able to keep up ? (155 kBaud) or I'D have to go down to say 9600... dumb question, I don't think does it really matters....
I was wondering if anyone attempted to build a Flash programmer (Parallel Flash/EPROM/EEPROM) using the propeller. For some other projects I would like to program some 29F010s. The Prop has not enough RAM but who cares ? Flashing say 16 kBytes per round would be tolerable for some low-volume flashing .
The question is... If I use the serial port with some FullDuplex Serial and send say a ihex file, will be spin able to keep up ? (155 kBaud) or I'D have to go down to say 9600... dumb question, I don't think does it really matters....
Comments
I'ts possible. I used it to read and program 2716 and 2732 eproms. Probably easier to do for more modern chips than for the oldies that need high voltages for programming. For larger memories you may want to look at using qspi ram chips. Prop downloads the data, stores it in qspi ram, provides address bits to eprom, and steps through qspi ram.
Tachyon has the speed and everything in place to do this fairly easily as I am very familiar with programming these devices from back in their day. You could download an Intel Hex file at 2M baud if you wanted or better still, just FTP it or transfer it across on an SD card. To save I/O lines I would just use shift registers for the address lines as these can be updated at a very high rate, especially if you have one for the lower 8-bits that has its own clock and another for all the higher bits although it isn't really necessary either. The SPIWR operation is only a single byte opcode and takes 2.6us for 8-bits.
Here the circuit I'm going to use.
The address bus could be driven directly from I/O as well so that even with 19 bits of address, 8 of data, and 3 control lines that will still fit if you use the I2C lines for address lines. When you access the EEPROM the state of the address won't matter. So if you do it this way you just need 8 resistors in addition to the basic Prop circuit.
The datasheet for the 27C256 indcates TTL level compatibility as Vih is 2V, so no need for level shifters.
As for the console I sometimes just dedicate another Prop for that due to lack of I/O on the main Prop. Just tie your serial comms across so my original suggestion would work fine. You could even slave the programmer Prop from the console Prop if you wanted. Then again serial bluetooth to a phone/tablet is a very handy console.