Michael wrote:
1024MAK wrote:
Don’t you need two separate control signals to clock different address data into the 74HC574 flip-flops?
Mark
Hi Mark:
The latch chips copy data on the inputs to the outputs on the rising edge of the CP input signal. Setting up the address requires writing the hi address byte followed by the lo address byte to the latch ICs.
Regards, Mike
I did wonder about that myself - so it's a 2 deep, 8-bit wide shift register... Saves a control pin at the expense of slightly more code complexity (Woz style!)
Just getting my head round this (mostly for my own clarification as I have a project to do something similar but its very deep down my to-do list!)
To program:
- CE, Prg, OE: 1
- Data (address Hi), OE 0-1, Address high now U1 -> U2, EPROM ignored signals as CE high
- Data (address Lo), OE 0-1, Address low now into EPROM, U1 feeding Lo into EPROM, U2 feeding Hi into EPROM
- Data (data 0-7), CE low, PRG 0........1 (held low for programming time)
- and repeat for next byte.
To read/verify it might be:
- CE, Prg, OE: 1
- Data (address Hi), OE 0-1, Address high now U1 -> U2, EPROM ignored signals as CE high
- Data (address Lo), OE 0, (and left 0 for now), Address low now into EPROM, U1 feeding Lo into EPROM, U2 feeding Hi into EPROM
- Data input mode, CE low, read data, CE high
- and repeat for next byte.
The 'trick' as I see it would be matching the baud rate and input buffer on the ATmega which only has 2KB of RAM such that you can download e.g. 512 bytes at a time, program and verify it while the next 512 bytes is still being clocked in via interrupt driven serial, else you might need some sort of flow control from the ATmega to the host PC sending the data down. (which isn't there by default on Arduinos)
As for voltage control - Looks like you're biasing linear regulators with diodes to up their voltages slightly - that's a nice old trick, but I suspect these days I'd have thought about using a pair of the many cheap buck/boost adjustable regulators you can get from e.g. ebay these days for just a few £/$ fed from a 9V, 2A "wall wart" and gate the outputs with TTL gate level mosfets for the 6.2v & 12.6v outputs (Arduno has on-board 5v linear regulator which can be fed from the same 9v source).
(Mostly because I've recently re-built my 30-year old home-made bench PSU with a pair of them to give me 5.2v and whatever else I want)
Quite possibly a bulkier solution to yours though with a separate power 'brick' needed next to the arduino+shield.
-Gordon
Ps. what did you use to draw the schematic?
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/