Bár az Arduino egy igen barátságos mikrovezérlő, kicsit mélyebbre kell tekintenünk a lelkébe, az AVR-be.
A 27c512-es EPROM 16-bites címbusszal és 8-bites adatbusszal rendelkezik. Utóbbival könnyű a dolgunk, keresünk 8 olyan lábat, amelyet bemenetként tudunk használni és ugyanazon portregiszterhez tartoznak az egyszerűbb beolvasás érdekében.
Itt szeretném megjegyezni, hogy a projektben különálló AVR és a hozzá tartozó 16MHz-es kristály van használatban, nem pedig egy Arduino Uno Board.

A PORTD az, amelyik rendelkezik 8 kivezetéssel, tehát ez lesz a megfelelő az adatbuszhoz.
A címbusszal van egy kis baj. Sehogysem lehet megoldani, hogy legyen elég láb, tehát más megoldáshoz kell folyamodni. Shift regiszterek. Segítségükkel soros adatot párhuzamossá alakíthatunk. Így 3 láb felhasználásával (CLK, DATA, LATCH) el tudjuk küldeni a regisztereknek a 16 bit értékét (2 * 8-at pontosabban) és az EPROM címbuszát már rájuk lehet csatlakoztatni.
Mivel két memória szerepel a projektben, így kétszer két másik lábra is szükségünk lesz. Chip Select és Output Enable. Ezekkel lehet meghatározni, hogy éppen melyik EPROM-ból kérjük az adatot.
Az áramkör memóriához köthető része ezzel készen van. Összegezve:
- EPROM címbusz 16-bites: a címzés 2db shift regiszteren keresztül történik (74HC595)
- EPROM címbusz 8-bites: az ATMEGA 328 PORTD I/O lábaihoz van kötve
- Aktuális EPROM kiválasztása memóriánként +2 lábon
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!