-Selbstbau Computer - NDR- Klein-Computer (RDK) - Z80 and more
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Einloggen



Autor Thema: Neuauflage NKC Platinen
Creep
Stammgast
**
ID # 169


  Erstellt am 01. August 2017 10:10 (#101)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Michael,

ja, eine sollte bestimmt noch da sein. Möchtest Du auch noch einen SER Prototypen testen?

Gruß, Rene

Beiträge: 206 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 01. August 2017 20:43 (#102)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Klar, mache ich gerne.

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
netmercer
Ganz neu hier
*
ID # 176


  Erstellt am 04. August 2017 00:18 (#103)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo NKC-Fans,

falls jemand die kommende SRAM1024 von Creep mit Batteriepufferung nachbauen möchte und dafür noch 7432 sucht:

http://www.ebay.de/itm/10x-DM7432N-quad-2-input-OR-Gate-National-Semiconductor/282198015862?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Viele Grüße
netmercer

Beiträge: 2 | Mitglied seit: April 2017 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 05. August 2017 19:43 (#104)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Kann mir jemand sagen, welche Anzahl von Waitstates man beim 68008 für welche Zyklenlänge braucht? Im Buch steht 1 für langsam EPROMs (was ist langsam?) und 2 Waitstates bei der FLO2, aber es werden keine Zeiten angegeben.

Ich werde nicht aus den Timingdiagrammen im Buch schlau. Wenn ich das Diagramm für zwei Zyklen auf Seite 351 anschaue, dann steht da: Scrn Intv 2.5 us. Ein /MREQ ist ca. 20%, also 500 ns. Das wäre ja schon sehr lang. Da das Schieberegister mit 8 MHz angetrieben wird, würden je Zyklus 125 ns dazukommen, richtig?

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 12. August 2017 12:07 (#105)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Nachtrag zur SER: Der Reset funktioniert nicht, aber das ist schon bei RDK nicht in Ordnung. Der Reset wird beim 6551 ähnlich wie die Datenübernahme durch Phi2 gesteuert und ist kein eigenständig wirksames Signal. Die Generierung von Phi2 erzeugt aber während eines Resets vom Z80 kein Signal. Die Verwendung von /RFSH war lieb gemeint, aber der Z80 erzeugt kein /RFSH beim Reset. Das Datenblatt sagt klar, dass Phi2 kein kontinuierlicher Takt ist, sondern die Datenübernahme steuert. Ansonsten würde die SER am 68k ja auch nicht laufen.

Ich frage mich, ob die Taktprobleme mancher 6551 in Wahrheit gar nicht vom Quarz kommen, sondern durch den fehlenden Reset verursacht werden.

Möglicherweise würde es helfen, statt /RFSH lieber /RESET zu verwenden, um während eines Resets Phi2 zu erzeugen. Das Ende des Resets könnte ein Problem geben, weil die Erzeugung von /RESET nicht zum Takt synchronisiert ist.

Wenn ich mir aber ansehe, dass Phi2 eigentlich auch vor dem Ende von /IORQ wieder enden soll, was es nicht tut, dann haben wir da vielleicht Glück.

Die Sache schreit nach ein paar Stunden am Logic Analyzer, aber da habe ich im Moment keine Zeit für. Wenn es hilft, könnte das eine wertvolle Revision für die neue SER sein.

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 13. August 2017 13:50 (#106)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ich hatte gestern abend doch noch Zeit, aber ich habe den SER Prototypen nicht ans Laufen bekommen. Mit HCTs lief es minimal besser als mit LS, aber insgesamt sendet die Karte Müll, wenn man mehrere Zeichen hintereinander schickt. Also habe ich mich mit dem Timing befasst und verstanden, wie die originale SER eigentlich arbeitet. Ich sehe nur nicht den Unterschied, warum die geht und der Prototyp nicht. Der UART ist in der laufenden SER getestet. Hier meine Notizen, falls jemand eine Idee hat:

Unterschiede zwischen Z80 und 6502 Bus

Sowohl Z80 als auch 6502 legen bei einem Schreibzugriff erst Daten und Adresse auf den Bus.

Der Z80 führt den Transfer danach mit gleichzeitigem /IORQ und /WR durch.

Der 6502 legt zusätzlich zu Daten und Adresse noch R/W für die Richtung auf den Bus und führt den Transfer mit Phi2 durch. Phi2 ist zwar ein Takt, weil der 6502 ein festes Bustiming hat, und z.B. ein 6522 kann Phi2 auch als Takt benutzen, aber für die meisten Bausteine ist es nur ein Steuersignal.

Anforderungen an Phi2 beim 6551

Der Transfer beginnt mit der steigenden Flanke frühestens t_WCW = 70 ns (2 MHz Version des 6551) nach Gültigkeit von R/W. Zu diesem Zeitpunkt müssen noch keine Daten auf dem Bus liegen. Weiterhin müssen die Adressen bereits t_ACW = 70 ns gültig sein. Phi2 darf also erst 70 ns nach /WR erzeugt werden. Zu dem Zeitpunkt sind die Adressen schon länger stabil.

Die Daten werden mit der fallenden Flanke übernommen und müssen zu dem Zeitpunkt bereits t_DCW = 60 ns stabil sein und noch t_HW = 20 ns stabil bleiben. Weiterhin muss R/W noch t_CWH = 0 ns stabil bleiben. Phi2 muss also vor /WR enden und die Daten müssen danach noch stabil gehalten werden.

Phi2 muss wenigstens 200 ns aktiv sein.

Generierung von Phi2 bei der SER

RDK benutzt ein Flipflop, was mit der steigenden Flanke des Systemtakts getaktet wird und ein aktives /IORQ übernimmt. Wenn /IORQ inaktiv wird, wird das Flipflop sofort gelöscht. Das führt zu einem Signal, welches wie gefordert später als /WR beginnt. Leider endet es durch das Propagation Delay des Flipflops erst nach /WR (typ. 25 ns, max. 40 ns), statt vorher. Es sieht also so aus, als ob die Transferrichtung kurz vor Ende des Transfers umgeschaltet wird!

Weiterhin erzeugt /RFSH unregelmässige Phi2 Impulse. Der 6551 braucht sie nicht und bei einem 6522 kann man aufgrund der unbestimmten Frequenz nichts damit anfangen. Ein 68k erzeugt kein /RFSH, aber da es nicht gebraucht wird, läuft die SER auch dort.

Der 6551 braucht einen Phi2 Impuls während des Resets, der nicht erzeugt wird. Ein Software Reset ist nicht identisch mit dem nie stattfindenden Hardware Reset.

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 13. August 2017 14:07 (#107)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Michael,
ich finde deine Analysen immer höchst interresant.
Dennoch scheint zumindes bei der deiner SER das Problem an anderer Stelle zu sein. Denn bei allen anderen, die diese Karte getestet haben (incl. mir) lief sie ohne Probleme am Z80 und am 68k.
Evtuell falsch gesetzte Jumper?

-----------------------
Gruß
-=jens=-

Beiträge: 525 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 13. August 2017 16:57 (#108)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Die Jumper stimmen. Ich hatte gestern abend den Logicanalyzer am Board und alles wird korrekt angesprochen. Lasse ich das Testprogramm mit single stepping im Debugger laufen, schickt es auch brav korrekte Bytes, wie ich an Pin 10 vom UART sehe. RS232 Analyse vom Analyzer ist schon was Feines. :)

Aber sowie das Programm frei läuft, kommt nur noch Bitmüll mit weitgehend gesetzten Bits heraus. Ich habe mir das Bit 4 im Status Register im Analyzer angeschaut: In Abständen von jeweils etwas mehr als 1 ms wird es 1 und dann wird ein neues Byte ins Senderegister geschrieben. Das passt bei 9600 Baud. Unmittelbar danach ist das Bit wieder gut 1 ms low.

Übrigens ist das Senderegister nicht das Schieberegister: Der Baustein kann also immer ein Byte auf Vorrat speichern. Zum Glück ist der Code auch langsam genug, denn im Datenblatt steht, dass das Statusbit eine Verzögerung 1/16 der Baudrate hat, d.h. wenn man sehr schnell ist, könnte man beim Senden einen Überlauf verursachen. Passiert beim Z80 aber im Leben nicht.

Auf dem Datenbus gibt es auch keine Probleme, während /CS sieht der vor und hinter dem 245 gleich aus.

Was für Chips hast Du verwendet, LS oder HCT? Hast Du alle Pulls bestückt? MAX oder USB?

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 13. August 2017 17:07 (#109)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Michael,
meine 6551 sind von Rockwell, bestückt habe ich komplett mit LS. Die Pullups zwischen '245 und 6551 hab ich nicht bestückt. USB und MAX funzen gleichermassen.

-----------------------
Gruß
-=jens=-

Beiträge: 525 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
edbru
Ist öfters hier
**
ID # 172


  Erstellt am 13. August 2017 18:01 (#110)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hi,
ich hab den SX6551 drin und alles LS-Typen außer dem 688, der ist HCT. Pullups auch drin.
Lief seriell auf Anhieb.
Mehr kann ich auch nicht zu sagen.

Gruß
Eddi

Beiträge: 38 | Mitglied seit: Februar 2017 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 13. August 2017 20:06 (#111)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hier mal das Testprogramm (mit SLR assemblieren):

http://www.moria.de/~michael/tmp/sertx2.z80
http://www.moria.de/~michael/tmp/sertx2.com

Es sollte einen Strom von 'j' bei 9600 8N1 produzieren.

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 13. August 2017 20:20 (#112)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin,

abgesehen von der ersten Zeile (out (0f5h),a;reset) und einer anderen Basisadresse, hab ich exakt dieses Programm zum testen am Z80 genommen. Es hat wunderbar geklappt. Ach ja, die nops waren bei mir nicht mit drinn.

PS: Eingegeben habe ich das Programm über EZASS.

-----------------------
Gruß
-=jens=-

Beiträge: 525 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 13. August 2017 23:11 (#113)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Wo ist der Schaltplan zur neuen SER? Ich habe nur eine ältere Version gefunden.

Vielleicht versuche ich demnächst, alle Daten am 6551 zu beobachten und mit meiner funktionierenden SER zu vergleichen.

Michael

Beiträge: 235 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
edbru
Ist öfters hier
**
ID # 172


  Erstellt am 14. August 2017 07:28 (#114)  |  Zitat Zitat   PN PN   E-Mail E-Mail

Beiträge: 38 | Mitglied seit: Februar 2017 | IP-Adresse: gespeichert
Creep
Stammgast
**
ID # 169


  Erstellt am 14. August 2017 09:20 (#115)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Nicht ganz, für das letzte korrigierte Layout (v1.0a) hat mir Marcel noch die Daten geschickt. Da ist u.a. auch die Option drin, RTS/CTS 1:1 oder gekreuzt anzuschließen. Hab nur die KiCad-Daten und das Doku-PDF. Ich denke, Marcel hat sicher nichts dagegen, wenn ich das an H-W schicke, da auf der NKC-Page noch die Version 1.0 liegt.

Gruß, Rene

Beiträge: 206 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert



| NKC Forum | Boardregeln


Tritanium Bulletin Board 1.6
© 2010–2016 Tritanium Scripts


Seite in 0,053517 Sekunden erstellt
20 Dateien verarbeitet
gzip Komprimierung ausgeschaltet
3232,08 KiB Speichernutzung