![]() My first idea was to use a complete 8bit GPIO port form the Arduino to simplify reading and writing data. The next thing was to set the data on my 8 bit data bus right. ![]() While counting up all possible addresses in a loop, I could check that all 16 bits are shifted out in the right order. But it's important to push the bytes in the right order and also set the right direction for the single bits (MSB or LSB). The Arduino IDE provides a simple function to shift out data to a single IO-line, using a second line as clock. The first thing was to test the output of the address-lines. Additionally I created a simple “16 bit line-sniffer” with 16 small LEDs and two ULN2803 darlington drivers to protect the “sniffed” bus from too much current consumption. To be sure that everything works as expected, I first build up everything on a breadboard. But for the address-lines I only need output and no input lines so I can use two 74HC595 shift register to get up to 16 address-lines with only 3 GPIOs used on the ♜. My preferred ♜ has only 20 GPIO pins that seems to be too less for my programmer. The programmer should be used by a serial connection, so I need 2 more lines for RX and TX. I also need 8 data lines and 3 additional lines for /WE, /OE and /CE. The 28C64 and 28C256 are 28 pin DIP chips and have up to 14 address lines (28C256). ![]() I'm quite familiar with the AVR ATMega micro-controllers, especially with the Arduino boards and so I decided to build my own programmer based on the Atmega328 ♜. In preparation for my own homebrew 6502 system I need a possibility to write data on a 28C64 or eventually the 28C256 EEPROM. I hope this is the right place for this topic. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |