Autor Thema: Hardware selbstgebaut  (Gelesen 6835 mal)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« am: 23. November 2013, 03:30 »
Hallo,

unten gibt's mal drei Bilder von meinem (Kupferlack-)Drahthaufen.
Da drin laufen ein Z80A (max. 4 MHz, NMOS) als Hauptprozessor und ein ATmega328P als Board-Controller, serielle Schnittstelle und 24 KB "Massen"speicher (später nur Startup-Code), außerdem Timer. Die kleine Steckkarte stellt 32 KB SRAM bereit.
Das Betriebssystem ist im Augenblick CP/M 2.2.


streetrunner

  • Beiträge: 67
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 23. November 2013, 15:40 »
Schick schick Deine Hardware, aber ich hätte da mal zwei Fragen:

1. Was genau tut der ATmega?

2. Kann es sein dass es auch halb so viele Steckplätze für Erweiterungskarten getan hätten? Mir kommt es so vor als wären die Steckplätze zu nah aneinander, so dass bei einer eingesteckten Karte der nächste Platz blockiert ist. (Das kann natürlich auch ander Perspektive liegen)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 23. November 2013, 18:27 »
1. Was genau tut der ATmega?
Der stellt Boot-ROM, Monitor (IHEX/Reset), serielle Schnittstelle und Slot-Konfiguration bereit und erspart mir so eine Menge zusätzlicher Logik. Später kommen noch Timer, Taktfrequenz und Power-Off dazu.

2. Kann es sein dass es auch halb so viele Steckplätze für Erweiterungskarten getan hätten? Mir kommt es so vor als wären die Steckplätze zu nah aneinander, so dass bei einer eingesteckten Karte der nächste Platz blockiert ist.
Die Karten sollen parallel zum Mainboard übereinander liegen, dann passt das genau. Die Dekodierlogik ist auf 8 Slots ausgelegt (der AVR ist der erste), ob ich die nun bestücke oder nicht.

Bei der SRAM-Karte habe ich aber zweimal nicht aufgepasst und die falsche Steckerleiste gespiegelt verlötet. Die Karte ist aber nur zum Testen da und wird später ersetzt.

oern

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 24. November 2013, 18:27 »
Ich habe auch noch einen Z80 mit SRAM und ein paar anderen Bauteilen in einer Kiste, das habe ich mir vor knapp zwei Jahren bestellt und wollte eigentlich eine Art Altair8800-Klon bauen (allerdings noch etwas weniger Komfort, z.B. keine {Examine,Deposit}-Next-Möglichkeit). Ich habe allerdings vorher und nachher nie etwas praktisches mit Elektronik gemacht (außer einen ASURO-Kurs an der örtlichen TU) und irgendwie hat leider nicht einmal das Testen des Z80 funktioniert (NOP an den Datenbus, RS-Flipflop an den Takteingang und LEDs an den Adressbus und dann Single-Steppen), die LEDs taten jedenfalls nicht das, was sie sollten. Seitdem habe ich mich nicht mehr getraut, damit wieder etwas anzufangen... Müsste ich jetzt mal machen.
Wie funktioniert denn die Dekodierlogik bei dir? Wenn ein Slot 32KiB Speicher anbieten kann und es 8 Slots (einschließlich des AVR) gibt, geht meine Rechnung irgendwie nicht auf (64KiB Speicher + 64KiB I/O).
Und wozu genau braucht man diese Bustreiber, durch die alle Signale von/zu der CPU gehen?

oern

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 24. November 2013, 19:34 »
Wenn ein Slot 32KiB Speicher anbieten kann und es 8 Slots (einschließlich des AVR) gibt, geht meine Rechnung irgendwie nicht auf (64KiB Speicher + 64KiB I/O).
Nur ein einziger Slot (Slot 1) kann zusätzlich zu I/O auch Speicher anbieten. Die Signale /MREQ und /RFSH sind an den anderen Slots nicht vorhanden. So können RAM und MMU auf eine einzige Karte.

Da 8 Bit I/O-Zugriffe auf dem Z80 einfacher sind (16 Bit-Zugriffe sind ein nachträglich dokumentierter Zufall und werden nicht von allen Clones und auch nicht vom 8080/8085 unterstützt), dekodiere ich A7 bis A5, um daraus /SEL für die Geräte zu generieren, ergibt 32 I/O-Adressen pro Slot. Geräte, die mehr brauchen, können aber auch volle 16-Bit-Zugriffe benutzen, haben dann aber einen fragmentierten I/O-Adressraum (256 Bereiche zu je 32 Bytes = 8 KB) im Z80.

Und wozu genau braucht man diese Bustreiber, durch die alle Signale von/zu der CPU gehen?
Eine kaputte Hardware kann mir die Bustreiber zerstören, aber nicht die CPU. Mehrere Slots parallel zu schalten führt (wegen der parasitären Kapazitäten) zu hohen kurzzeitigen Strompeaks, der den Bustreibern in der CPU nicht besonders gut tut.

 

Einloggen