View attachment 11598Hello,
I have been recently working on a simple EEPROM programmer using only 74XX series logic. I am currently using Logicworks to simulate my design. Click on logic works to download the tool, which is very useful for designing with logic chips, my design is attached to this post.
A bit of reference. Most parallel EEPROMs contain three control signals; write enable, chip enable, and output enable. (Active Low) So for a basic write procedure you would want the chip enabled (Low), the output disabled (High), and to start the Write disabled (High). You would then put the address you would like to program your data into on the address bus pins, and the data you want to program on the data bus pins. If you then transition Write from disabled (High) to enabled (Low) you would program that data on the data bus into the address on the address bus. Seems easy enough.
It got me to thinking, could I use shift registers and counters to do this automatically? By the miracle of logic works I think I have. The flow of steps is simple.
1.) Shift data into a 8-bit serial to parallel register one bit at a time (8 clock cycles)
2.) On the 9th clock cycle toggle write enable (one clock cycle)
3.) On the 10th clock cycle count up the address and clear the serial to parallel register (one clock cycle)
4.) Go to step one and repeat until you have programmed every adress up to the highest address.
Schematic PDF
To explain this in terms of my schematic. The lower 74LS595 accepts a toggle button (for now) which simulates data in. Each time the clock source pulses is shifts in a bit of data into the 74LS595 register. The 74LS590 8-bit counter directly above the 74LS595 then counts up. When it 74LS590 reaches the 9th count and all 8-bits of data have been shifted in, it triggers a NAND gate whose output will be connected to the write enable pin on the EEPROM. One the 10th cycle another NAND gate triggers the clear pin on the 74LS595 and the clock pins on the upper two cascaded 74LS590s which are keeping track of the 16-bit address. Then the cycle continues until you reach the upper address which toggles the output enable pins to shut down for the whole design.
This current design focuses around programming a 32KB x 8-bit CAT28C256, but the design could be expanded for any size EEPROM with any word length given the EEPROM has active low control signals, which most EEPROMs have.
My problem is developing input from a computer. I have considered using an RS232 to TTL adapter, but I am not use how I would implement the clocking.
I am looking for a simple solution to send a data and clock line directly from my computer without using a micro-controller. If anyone has any suggestions I would greatly appreciate it. Thanks
I have been recently working on a simple EEPROM programmer using only 74XX series logic. I am currently using Logicworks to simulate my design. Click on logic works to download the tool, which is very useful for designing with logic chips, my design is attached to this post.
A bit of reference. Most parallel EEPROMs contain three control signals; write enable, chip enable, and output enable. (Active Low) So for a basic write procedure you would want the chip enabled (Low), the output disabled (High), and to start the Write disabled (High). You would then put the address you would like to program your data into on the address bus pins, and the data you want to program on the data bus pins. If you then transition Write from disabled (High) to enabled (Low) you would program that data on the data bus into the address on the address bus. Seems easy enough.
It got me to thinking, could I use shift registers and counters to do this automatically? By the miracle of logic works I think I have. The flow of steps is simple.
1.) Shift data into a 8-bit serial to parallel register one bit at a time (8 clock cycles)
2.) On the 9th clock cycle toggle write enable (one clock cycle)
3.) On the 10th clock cycle count up the address and clear the serial to parallel register (one clock cycle)
4.) Go to step one and repeat until you have programmed every adress up to the highest address.
Schematic PDF
To explain this in terms of my schematic. The lower 74LS595 accepts a toggle button (for now) which simulates data in. Each time the clock source pulses is shifts in a bit of data into the 74LS595 register. The 74LS590 8-bit counter directly above the 74LS595 then counts up. When it 74LS590 reaches the 9th count and all 8-bits of data have been shifted in, it triggers a NAND gate whose output will be connected to the write enable pin on the EEPROM. One the 10th cycle another NAND gate triggers the clear pin on the 74LS595 and the clock pins on the upper two cascaded 74LS590s which are keeping track of the 16-bit address. Then the cycle continues until you reach the upper address which toggles the output enable pins to shut down for the whole design.
This current design focuses around programming a 32KB x 8-bit CAT28C256, but the design could be expanded for any size EEPROM with any word length given the EEPROM has active low control signals, which most EEPROMs have.
My problem is developing input from a computer. I have considered using an RS232 to TTL adapter, but I am not use how I would implement the clocking.
I am looking for a simple solution to send a data and clock line directly from my computer without using a micro-controller. If anyone has any suggestions I would greatly appreciate it. Thanks
Attachments
Last edited: