Ein Atmega328 steuert einen Z80-Computer

Themabewertung:
  • 2 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#51
25.05.2018, 14:01

Tach auch,

Platinen kamen termingerecht. Gestern habe ich angefangen eine neue "Grafikkarte" zu löten. Beim ersten Test ist mir ein Kerko abgeraucht (der war aber wohl beschädigt, siehe dazu auch meine Signatur). So etwas ist dumm für die Schaltung, weil dann Kurzschlüsse entstehen. Nachdem ich den Kerko ersetzt hatte, war auf dem Bildschirm dennoch nix zu erkennen. --> Kein Signal. Takt und Lesezyklus des MC6847 stimmen aber. Ich hatte gestern allerdings keinen Nerv mehr, noch einmal alles durch zu messen und Signale zu prüfen. Dafür brauche ich Geduld und viel Alkohol Wink

Vielleicht dieses Wochenende...

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2018, 14:03 von Unilein.)
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#52
26.05.2018, 19:47

Hallo zusammen,

auch die Platine des eigentlichen Z80Ardu hatte ich noch einmal neu erstellt. Ich hatte noch ein paar kleinere Designänderungen vorgenommen. Nur an der Platine selbst, nicht an der Schaltung.

Ich hatte das Resetsignal nicht nach außen geführt. Das ist jedoch ungünstig, da dieses Signal auch für andere Bausteine wichtig sein kann. Der UART zum Beispiel. Der benötigt zur Initialisierung das Resetsignal des Z80. Das habe ich jetzt nachgeholt. Zwar muss man jetzt mit einem kleinen Kabel arbeiten, das halte ich aber für vertretbar. Auf der Pin-Leiste ist nämlich leider kein Platz mehr (40 Pins belegt).

Ansonsten ist die Anordnung der Teile leicht verändert.

Beim Aufbau habe ich wieder IC Sockel benutzt. Praktisch, falls mal wieder etwas abraucht. Lediglich die Latches (74HCT573) haben keine. Und das liegt schlicht daran, dass ich keine mehr hatte.

Die Platine ist bereits fertig aufgebaut, jedoch noch nicht getestet.

Bildchen siehe unten.

Gruß,
Uni

[Bild: b023ed548b4eb15f04d3901cb692a6e1.jpg]
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2018, 11:38 von Unilein.)
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#53
27.05.2018, 11:53

Ächz...

Ich bin genervt. Gestern den Z80Ardu neu aufgebaut und er funktioniert nicht. Prozessor wird warm, Strom geht über 500 mA. Da stimmt etwas nicht. Habe die Platine komplett durchgemessen. Alle Verbindungen stimmen soweit. Jetzt geht es an die Logik. Ich vermute ein defektes Gatter (7404, 7432 oder 7408). Die sind für die Speicherlogik und den Resetvorgang verantwortlich.

Wenn zum Beispiel der Resetvorgang nicht funktioniert, bleibt der Z80 im Tristate-Modus, also quasi abgeschaltet. Erste Messungen in der Schaltung lassen eine solche Vermutung zu.... Ich habe neue Gatter bestellt... zur Sicherheit. Die verbauten Gatter werde ich wohl mal außerhalb der Schaltung testen, einbauen werde ich sie aber nicht mehr (wie gut, dass ich dieses mal IC-Sockel verwendet habe Big Grin ).

Tja... und dann wäre da noch die Grafikkarte. Die habe ich auch schon aufgelötet und sie funktioniert ebenfalls nicht. Ich bin den Schaltplan noch einmal durchgegangen und habe alle soweit geprüft. Da scheint es eine Verbindung zu Masse zu geben wo keine hingehört. Ich liebe es, wenn ein Plan funktioniert... Dodgy Ich habe die Stelle allerdings schon gefunden und hoffe das Problemchen mit einem kurzen Kabel und einer durchtrennten Leiterbahn in den Griff zu bekommen.

Wie Ihr seht, alles läuft super! Rolleyes

Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2018, 11:54 von Unilein.)
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#54
29.05.2018, 19:23

Neues Material ist da... Ein neuer Versuch kann starten. Smile

Gruß
Uni

[Bild: d8076f2d4d41ca84c7f203f85d534e7d.jpg]

Gesendet von meinem SM-G930F mit Tapatalk
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 24.06.2018, 13:07 von Unilein.)
Zitieren
Titanes
Member
***

Beiträge: 75
Registriert seit: Aug 2015
Bewertung: 0
#55
10.06.2018, 11:25

(25.05.2018, 14:01)Unilein schrieb: Tach auch,

Platinen kamen termingerecht. Gestern habe ich angefangen eine neue "Grafikkarte" zu löten. Beim ersten Test ist mir ein Kerko abgeraucht (der war aber wohl beschädigt, siehe dazu auch meine Signatur). So etwas ist dumm für die Schaltung, weil dann Kurzschlüsse entstehen. Nachdem ich den Kerko ersetzt hatte, war auf dem Bildschirm dennoch nix zu erkennen. --> Kein Signal. Takt und Lesezyklus des MC6847 stimmen aber. Ich hatte gestern allerdings keinen Nerv mehr, noch einmal alles durch zu messen und Signale zu prüfen. Dafür brauche ich Geduld und viel Alkohol Wink

Vielleicht dieses Wochenende...

Gruß
Uni
Hi Uni,

ich drück Dir mal die Daumen, daß diesmal die Schaltung und die Bauteile in Ordnung sind.


Gruß

Titanes

Gesendet von meinem SM-T800 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#56
10.06.2018, 13:34

@titanes: schön wäre es. Momentan funktioniert irgendwie gar nix.

Ich hatte sowohl für die "Grafikkarte" als auc für die "Zentraleinheit" neue Platinen bestellt. Bei der Grafikkarte hatte ich definitiv einen Fehler gemacht. Den habe ich korrigiert. Und bei der Z80-Karte habe ich einen ganz kleinen Fehler auf der Platine korrigiert (den ich auf der alten Platine mit einem kurzen Kabel gefixed hatte) und außerdem die Anordnung der Bauteile ein wenig verändert.

Die Grafikkarte will gar nicht anlaufen. Messungen haben ergeben, dass der Quarz, der vom MC1372 zum schwingen gebracht werden sollte, gar nicht anschwingt. Leider kann so etwas mal passieren. Kleine Toleranzen bei den Kapazitäten der Kerkos reichen schon aus, um den Oszillator nicht schwingen zu lassen. Also ist die erste Grafikkartenrunde erst einmal gescheitert. ich habe zum Glück auch Trimkondensatoren da... Vielleicht bekomme ich es damit zum laufen.

Tja... und bei der Zentraleinheit verstehe ich die Welt gerade nicht mehr. Im Gunde ist ja alles gleich geblieben. Trotzdem will das System nicht anlaufen. Gestern Abend habe ich noch einmal kurz ein paar Signale gemessen. Der Atmega tut prinzipiell mal seinen Dienst. Aber irgendwie kommt im Speicher nix an und auch der Z80 läuft am Ende der Boot-Prozedur nicht an. Da muss ich mit dem Logiktester ran.

Momentan fehlt mir aber leider ein wenig die Zeit... Der Garten muss gepflegt werden, diverse Renovierungsarbeiten im Haus, wieder mal sehr viel im Job und nächste Woche auf Geschäftsreise. Das projekt muss also ein wenig zurückstehen.

Der Mut hat mich aber dennoch nicht verlassen. Ich weiß ja, dass alles funktioniert hat. Es können also wirklich nur Kleinigkeiten sein...

Viele Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#57
24.06.2018, 12:55

Hallo zusammen,

ganz kurzes Update. Die Z80Ardu-Platine funktioniert wieder. Was ist schief gelaufen? Ich hatte neue Platinen bestellt, da ich die Bauteilanordnung ein wenig optimiert hatte und einen kleinen Designfehler beseitigt hatte. Dabei ist offensichtlich bei der Erstellung der Platine der Anschluss für die SD-Karte verdreht worden. Ich habe keine Ahnung, wie das passieren konnte, aber dadurch waren alle Anschlüsse logischerweise spiegelverkehrt. Durch gründliches Messen ist mir das letztendlich aufgefallen.

Also einfach den SD-Slot rumgedreht und schon geht's...

Was die Grafikkarte anbelangt: Weiterhin schwingt der Oszillator nicht. Das werde ich heute Nachmittag noch einmal zu beheben versuchen. Ich glaube, dass da etwas mit den Kerkos am Quarz nicht stimmt... Ich muss da wohl den Schaltplan noch einmal genauer prüfen. Dazu hatte ich bislang leider keine Zeit.

Inzwischen habe ich noch eine kleine Idee entwickelt: Ich könnte als Grafikprozessor auch einen TMS9918A einsetzen (der steckte beispielsweise im TI99/4A). Davon habe ich noch 2 rumliegen. Eine kleine Einschränkung ist, dass dieser Chip nur mit DRAM arbeitet. Das beudetet mehr Bauteile und ein anderes Speicherkonzept. Jetzt habe ich allerdings beim surfen eine Schaltung mit Flip-Flops gefunden, die den Anschluss von SRAM ermöglicht. Ich werde sie mal auf einem Breadboard aufbauen und prüfen, ob das eine Alternative ist. Der VDP TMS9918A ist nämlich um einiges leistungsfähiger als der MC6847.

Ja und dann wäre da noch das Speichermedium, welches uns das speichern von Daten erlauben soll. Ich habe ein CF-to-IDE Modul bestellt. Zusammen mit ein paar Flip-Flops und etwas Logik lässt sich das Teil am Z80 anschließen. Da muss ich dann "nur noch eben" das IDE-Protokoll implementieren.. Wink

Achja... ich bekomme es aktuell nicht hin, eine AT-Tastatur auszulesen um das Thema "Eingabemöglichkeit" zu verwirklichen... Blöd!

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#58
26.06.2018, 19:18

Und noch ein kurzes Update:

Die Grafikkarte ist Schrott. Ich habe die Schaltung erneut überarbeitet und nochmals geprüft und dann neue Platinen bestellt (So langsam geht's echt ins Geld. Aber das kommt davon, wenn man zu schnell zu viel will!)

Das Ding mit dem TMS9918A-Grafikchip nehme ich mir mal für später vor. Ich bin ja schon froh, wenn ich eine stabile Anzeige mit der von mir aktuell entworfenen Karte hin bekomme. Da ich sowieso bislang keine "Grafikroutinen" implementiert habe, ist das auch egal. Ich könnte sogar Versuche mit dem TMS9918 machen, während die MC6847-Karte arbeitet. Die kommen sich nicht in die Quere. Die Teile für die TMS9918-Geschichte hätte ich jedenfalls da.

---

Ein Schnäppchen in der Bay hat mich veranlasst, zwei Z80-Prozessoren mit 10 MHz Taktfrequenz zu kaufen. Damit können wir den Z80Ardu um den Faktor 2,5 beschleunigen. Die passenden Oszillatoren sind auch schon unterwegs. Ob das zusammen mit den anderen Bauteilen klappt, wird sich rausstellen. Big Grin

---

Tja... Und dann habe ich im Netz noch ein HEX-Monitorprogramm gefunden, welches den Speicherinhalt anzeigen kann. Es macht die Ausgabe über die serielle Schnittstelle. Würde also prinzipiell funktionieren.... auch OHNE Grafikkarte! Das Programm ist von Max Francis. Ich passe es gerade auf meine Z80Ardu-Hardware an. Als Testprogramm würde es sich sicher bezahlt machen. Die Ausgabe später auf die Grafikkarte umzuleiten, erscheint mir nicht sehr schwer.

---

Und die letzte Sache in diesem Beitrag: Ich hatte im vorigen Beitrag von der IDE-Schnittstelle gesprochen. Den Schaltplan, angepasst auf die Z80Ardu-Hardware, habe ich inzwischen fertig. An der Schaltung lässt sich per IDE-Kabel eine Festplatte oder die oben genannte CF-Card anschließen. Ich muss die Schaltung noch kontrollieren und vielleicht sollte ich sie auch mal auf dem Breadboard aufbauen, aber wenn ich soweit sicher bin, werde ich auch dafür Platinen erstellen (lassen) und dann (schnell wie der Blitz) mal eben die passenden Programme schreiben (Ähm... Ich werde versuchen, ein bestehendes Programm anzupassen).

Schaltpläne, Bilder und Programme folgen...

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Titanes
Member
***

Beiträge: 75
Registriert seit: Aug 2015
Bewertung: 0
#59
26.06.2018, 22:52

Hi Uni,

ich bin schon auf die Ergebnisse gespannt!

Gruß

Titanes
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#60
08.07.2018, 15:52

Moin!

Ich bin auch schon total gespannt Dodgy

Ich bekomme die Sch*?§$e einfach nicht mehr zum laufen. Ich bin mir nicht mal mehr sicher, ob die "Zentraleinheit" noch tut, was sie soll. Es wird mir wohl nichts anderes übrig bleiben, als alle Messungen erneut durchzuführen, die Grafikeinheit wegzulassen und die Funktion wieder mit dem seriellen Baustein zu testen (Anzeige per Terminalprogramm). Erst wenn ich sicher bin, dass die Zentraleinheit (noch) funktioniert, kann ich mich wieder der Grafikeinheit widmen, die tut auch nicht, was sie soll. Angry

Ich gebe allerdings zu, dass ich bei dem geilen Wetter lieber faul auf der Terrasse sitze als in meiner Bastelkammer. Meine Bastelkammer hat nämlich kein Fenster und ist direkt unterm Dach... Da wirds mucklig warm, wenn ich die Tür zu mache (muss sein, da mine Katzen mich sonst besuchen) und die Rechner an sind... Rolleyes

Gruß
Uni
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste