Prototype RS232 AVR parallel flash programmer
AVR to Flash interface pinout
The interface on the AVR side consists of
- 8-bit direct databus
- 3-bit control bus (CE/OE/WE)
- 4 line address bus - expands upto 24-bit
- data bits 7..2 = PD7 - PD2
- data bits 1..0 = PB1 - PB0
- !CE = PC3
- !OE = PC4
- !WE = PC5
The address bus consists of 3 shift registers (74HC164N) with common clock signal and outputs arranged so that with 1 clock pulse one can set A2..A0 - so with 6 pulses (12 toggles) one can set A17..A0, 8 pulses (maximum) would give A23..A0.
The shift register that outputs A0,3,6,9,12,15... A1,4,7,10,13,16... A2,5,8,11,14,17... is at PC1 PC0 PB4
The clock line is PB2 - usage is that you set the bit values to "send", then send a pulse (up+down transitions) on the clock line.