NKC Forum
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Kalender | Einloggen



Autor Thema: CTC-SIO-PIO
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 09:53 (#21)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde!

Vielen Dank für die konstruktiven Anregungen! Besonders möchte ich mich bei Tom und Jens bedanken.

Umgesetzt ist u.a. eine beschleunigte DaisyChain. Damit verkürzt sich die Reaktionszeit am Ausgang der Platine auf ca. 1/4 und es wären theoretisch 4 derartige Platinen einsetzbar.
Ziel ist es möglichst innerhalb von ca. 500ns (2,5MHz) das IEO bis zum letzten IC durchgeschleift zu haben. Eine NASA-Zulassung erhalten wir wohl ohnehin nicht!

Für Freunde des IM1: Nach wie vor mit Adapterplatine auf CTC2-Steckplatz s.o. Dafür entfällt dann der 74LS08.
Auf eine erweiterte Adressierung würde ich vorerst verzichten. ...
Erst mal sehen, dass ich das alles sinnvoll auf ne Leiterplatte bringe.

Kritiken, Anregungen, Meinungen sind willkommen!

Grüße, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 10:28 (#22)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Tom,
Zitat:
Für die Pins des PIO schlage ich zwei Pfosten Steckverbinder 2x6 am PCB-Rand vor (jeweils Port A und Port B). Z.B. die Pins RDY und /STB z.b. auf den Pins 1 und 2 sowie auf den Pins 11 5P und auf 12 GND. Auf den Pins 3 bis 10 dann A0 bis A7 bzw. B0 bis B7.


So für die PIO? (2x6 Pfostenstecker hab ich nicht gefunden)


und so für CTC (TO1 - TRG2 usw. kann gleich gebrückt werden)


Und...Vorschläge für die SIO ...aus der Runde?
Gruß, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 16. September 2017 12:33 (#23)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

ich hab noch ein Fehler im Schaltplan gefunden :D

Dein internes /IORQ ist invertiert! Sprich es ist ein IORQ (LS04 P12+13), da dürfte es wohl Probleme bei der IC Ansteuerung geben ;)

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 12:55 (#24)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Jens,

Danke, dass Du aufpasst...ich sehe bald nix mehr vor Strichen.

Das Signal /IORQ durchläuft den LS04 2x müsste also wieder als /IORQ rauskommen! (?)
(Die Pin-Nummern am LS04 haben nicht gestimmt - jetzt korrigiert)

Gruß Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 16. September 2017 13:31 (#25)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

sieht gut aus :)

Übrigens, den LS245er für die Steuersignale, würde ich weglassen. Die Signale werden ja schon auf der CPU Karte gepuffert.

Desweiteren wären 2 Jumper hilfreich. Einen um das INT-(Bus) Signal abzutrenennen und einen um /M1 wahlweise auf den Bus oder auf einen Pullupwiderstand zu legen. Damit müsste man die Karte (ohne Interrupts) eigentlich auch am 68k betreiben können.

Noch ne Kleinigkeit: Der Name CP für das interne Clocksignal ist etwas irritierend ;) Nimm da doch lieber CLK oder auch PHI.

PS: Den Pullup am /INT-Anschluß könntest du auch einsparen, da der auch schon auf der Z80-CPU vorhanden ist.

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 13:45 (#26)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Jens,
die Steuer-Puffen wollte ich gerne, damit die Platine nur eine TTL-Last darstellt. Die Puffer auf der CPU müssen ja u.U. mehrere Platinen bedienen.
Die /INT und /M1 Jumper kann ich vorsehen.

Die PIO hingegen benötigt das /M1 aber auch für eine /RESET Erkennung (= /M1 ohne /MREQ oder /IORQ).
...müsste man /RESET auf PIO-/M1 per Jumper legen!?
Könnte gehen!

Mit der Bezeichnung gibt es halt unterschiedliche Applikationen. Alle drei Bezeichnungen sind für den Takt gebräuchlich.
In der Techn.Beschreibung vom VEB Mikroelektronik K.K.St. steht z.B CP für "Clockpulse".
Dafür hatte ich Phi vorher noch nicht gehört. :eek: :P

/INT-Pullup kommt wieder raus, OK.

DANKE!
Grüße, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 16. September 2017 14:10 (#27)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

trenn /M1 besser am Bus auf und plaziere dort einen Pullup etwa so:


./M1(Bus)---o o---/M1(intern)
..............o
..............|
............Pullup


Sorry die Punkte hab ich genommen, da Space nicht geht, die Formatierung ist trotzdem grausam.

In meinem Buch "Z80 Anwendungen" wird vorgeschlagen, das /M1 Signal für die PIO mit dem /RESET Signal UND zu verknüpfen.

Der Reset der PIO wird bei /M1 und nicht aktivem /RD und /IORQ Signal ausgelöst. Diese Kombi ist im normalen Z80 Betrieb nicht zu erzeugen ;)
Einen Poweron-Reset macht die PIO aber sowieso.

Zu CP, da ich die alten "DDR" Produkte nicht kenne, ist mir diese Bezeichnung noch nie unter gekommen :rolleyes:
Nimm lieber /CLK, das kennen wir alle.

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 16:09 (#28)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Jens,
Zitat:
In meinem Buch "Z80 Anwendungen" wird vorgeschlagen, das /M1 Signal für die PIO mit dem /RESET Signal UND zu verknüpfen.


Das heißt die PIO sieht dann /M1 nur wenn die CPU /M1 & /RESET gleichzeitig sendet ???? ...nicht ein ODER ??
Solange /RESET aktiv ist müsste doch aber der Steuerbus ohnehin nicht aktiv also Hight sein! :confused:
Die PIO braucht den /M1 lt. Techn.Beschr. nur für die Interruptbehandlung und den Reset.
Daten bekommt sie ja nie mit /M1 und sonst arbeitet sie still für sich.
Ich denke, es müsste so gehen, wie ich es gezeichnet habe.

"/M1 Abschaltung" mache ich, wie Du es voschlägst.
Gruß, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 16. September 2017 16:30 (#29)  |  Zitat Zitat   PN PN   E-Mail E-Mail
/M1 und /RESET sind Low-Aktiv! daher wirkt dort ein AND wie ein OR bei positiver Logik ;)

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 16. September 2017 16:47 (#30)  |  Zitat Zitat   PN PN   E-Mail E-Mail
...stimmt!

Ich mach die /M1 vs. /Reset-Umschaltung NUR vor der PIO!

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 17. September 2017 14:26 (#31)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde!

Statusbericht:
Die Platine wird 135 x 100, hab soweit alles drauf.
Nicht realisieren ließ sich eine besondere Außenbeschaltung der SIO, wie bei der SER-enh.
Hab versucht wenigstens eine MAX232 dran zu kleben; ist nicht gut gelungen und hab's gelassen.
Dazu kommt das Problem, dass die SIO in drei Bondvarianten geliefert wird.
Dabei unterscheiden sich 5 wichtige Signale am Port B. Das macht's auch nicht gerade einfacher.
Die SIO soll und kann zunächst ein Experimentierfeld u.a für Syncronübertragung sein.
Aufsatzplatinen mit Pfostenstecker sind ja auch noch möglich und dann gibt's ja noch die SER.

Im Moment quetsche ich noch die Spannungsleitungen dazwischen. Sobald ein herzeigbarer Stand fertig ist, wird er hier zu sehen sein.
Für heute hab ich erst mal genug blaue und grüne Linien. :rolleyes:
Gruß, Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 17. September 2017 14:47 (#32)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

noch ne Kleinigkeit: in der /Int-Leitung reicht ein einfacher Jumper zum unterbrechen. Allerdings braucht die /M1 Leitung einen Pullupwiderstand für die 68k. Denn dieses Signal gibt es dort ja nicht und so wären die /M1 Anschlüsse offen (kann gut gehen braucht es aber nicht).

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 17. September 2017 21:43 (#33)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Steffen,

falls es Dir das Leben leichter macht, wäre auch ein 100x160 Format für die Platine völlig OK. Es gibt ja schon andere NKC-Platinen im Euro Format, und mehr als 6€ kosten die auch nicht in der Fertigung.

MAX232 wäre zwar bequem, die Pfostensrecker für diverse "Arduino"-Module lassen einem aber auch die Flexibilität, eine 9polige Buchse oder USB anzuschließen.

Und ja, für mich wäre es auf jeden Fall vorrangig eine Bastel-, Lern- und Experimentierplatine, mit der man probieren kann, die Z80 Bausteine in jeglicher Variante zu programmieren. Was mit anderen Platinen oder gar Computersystemen oft nicht so einfach möglich ist.

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 17. September 2017 22:00 (#34)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Rene,
nee ich bleibe jetzt bei den Maßen. Stecken schon viele Stunden Arbeit drin.
Gruß Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 24. September 2017 14:02 (#35)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde,

nun ist es vollbracht, die CSP ist fertig.

Für die Außenbeschaltung der SIO (MAX232), war kein ausreichender Platz mehr vorhanden. Die Platine verstehe ich ohnehin mehr als Entwicklungsplattform.

Hier der Schaltplan und das Layout zur kritischen Begutachtung:
(Gelöscht, neuere Version weiter unten)
Die Möglichkeit die IEO-Signale auf Pins des CTC1-Steckplatzes zu legen um evtl. für den IM1-Mode diese Signale abfragen zu können,
habe ich im Schaltplan zugunsten der Übersichtlichkeit nicht dargestellt.
Auf den CTC1-Steckplatz kommt dann der "IM1-Adapter":


Die freien Bereiche am oberen Rand können noch mit Lochraster gefüllt werden.
Unsicher bin ich mir noch mit den nicht benötigten 3x Inverter (LS04).
Gäbe es ausgewählte Signale die man mit LED anzeigen lassen könnte, sollte...die Inverter als Treiber?
Sonst die freien 04'er Eingänge auf Masse legen?

Kritiken, Anregungen und Wünsche willkommen.
Grüße, Steffen

PS.: Bitte nicht verwirren lassen!"
Bei den LS245 sind die Eingänge NICHT mit den Ausgängen kurzgeschlossen! Was oben im Bild noch zu sehen ist,
ist der Bestückungsaufdruck auf der Lötseite in dem ich die "interne Zugehörigkeit"
gekennzeichnet habe um's beim layouten leichter zu haben

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 26. September 2017 20:42 (#36)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin in die Runde,


Sie Schnittstelle für das USB-Pad kann wahlweise RTS oder DTR an PIN 2 verwenden (Zuruf von Tom16).
Das M1 Signal der PIO kann direkt (ausreichend) oder als UND-Verknüpfung mit RESET (damit RESET geht) oder nur mit RESET (für CPU ohne M1) verbindbar.
Die Germanium Dioden (0,2V) sollten die UND-Verknüpfung ausreichend bewerkstelligen.
(Ein Zusätzlicher IC war nicht mehr drin. )
Eigentlich genügt aber die Direktverbindung nur mit M1.
Offene nicht benötigte Eingänge können über Lötjumper mit Masse verbunden oder händisch noch benutzt werden.

Stützkondensatoren an den Schnittstellen-Pfostensteckern auf der Lötseite. War alles zu eng.

Grüße, Steffen

PS.: Bis hier darf nicht unerwähnt bleiben, dass Tom, Creep, DerInder und Michael mich mit Anregungen und Hinweisen tatkräftig unterstützt haben.
Vielen Dank!

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Creep
Voll in Gange
***
ID # 169


  Erstellt am 27. September 2017 14:24 (#37)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Steffen,

wie schon besprochen, die offenen Eingänge natürlich auf +5V. Aber wieso sollen die Stützkondensatoren eigentlich auf die Lötseite? Ich sehe da jetzt kein Platzproblem, jedenfalls nicht im Layout. Da ich die meist SMD bestücke, ist mir das eh egal. Wieso müssen da überhaupt Sützkondensatoren hin?

Gruß, Rene

Beiträge: 651 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 27. September 2017 18:01 (#38)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Rene,
offene Pins hab ich jetzt auf +5V Pulup gelegt.
(Hab es nachgelesen, auf Masse zieht der TTL-Eingang unnötige 1,6 mA und gegen Vcc fast nix.)

Die C's an den Ports waren ein UserWunsch. Why not?
Die CTS werden später seltener eine Außenbeschaltung bekommen. Darum dort nicht; man kann auch ein C auf die Lötpins der Pfostensteckter löten.

Gruß Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
Steffen.111
Kennt sich schon aus
**
ID # 184


  Erstellt am 29. Oktober 2017 10:43 (#39)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Rene, Jens und Tom16,

eben habe ich die ersten Test ohne Interrupt am Prototyp gemacht:

Testbedingungen:
IC 5 (Datenbustreiber) nicht bestückt, Datenleitungen auf Leiterseite entsprechend Aufdruck gebrückt.
JP2, JP3, JP1-A4,A5,A6 gesetzt (Adressen: 80h..8fh)
JP-CTC1,2 jeweils der 2., 3., 4. Jumper gesetzt :|||:
JP4-1 gesetzt

;-----------------------------
CTC:
Fehler: CS1 /CS2 vertauscht, daher falsche Kanal-Adressen, für Test irrelevant

Test"programm":
Kanal 0
OUT (80h), 27h - Timer, ohne INT, 256 Vorteiler
OUT (80h), 9Dh - Teiler

Kanal 1
OUT (82h), 47h - Zähler, ohne INT
OUT (82h), 32h - Teiler

Kanal 3
OUT (81h), 47h - Zähler, ohne INT
OUT (81h), 02h - Teiler

Mit Prüfstift ist am Jumper-CTC1
2. v.l. schneller Takt
3. v.l. 1/2 sec Takt
4. v.l. Sekundentakt feststellbar.

Ebenso an CTC2:
Kanal 0 = 84h
Kanal 1 = 86h
Kanal 2 = 85h
Kanal 3 = 85h

--> Alles IO!
;----------------------------------------
PIO
Adresse
8Ch - Port A, Daten
8Dh - Port A, Befehle
8Eh - Port B, Daten
8Fh - Port B, Befehle

Test"programm":
1.
OUT (8Dh), 0Fh - alle Pins Ausgabe
OUT (8Ch), 00 (oder: 55, AA, FF) Daten mit Prüfstift
kontrollieren
2.
OUT (8Dh), 4Fh - alle Pins Eingabe
IN (8Ch) - an Pins erzeugtes Muster muss sichtbar sein
...........(ggf. Prüfstecker D6,4,2,0 über je 3k3 an +5 / D7,5,3,1 an GND)

Das gleiche für Port B testen

--> Alles IO!
;------------------------------------
SIO - Test
INT - Test steht noch aus

Fazit:
CS1 und CS2 sind vertauscht --> für Layout schon geändert
auch ohne Datentreiber mit IOE, ROA64 und CAS-Neo keine Ausfälle (...muss nicht so bleiben)
Die Anoden der D1 und D2 muss noch mit 3k3 nach +5V gezogen werden. (hatte ich aber jetzt nicht drin!)

Schönen Sonntag noch!
VG
Steffen

Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 29. Oktober 2017 11:19 (#40)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Steffen,

das ist doch schon mal ein schöner Erfolg :)

Du solltest aber die Basisadresse lieber auf 0b0h legen, so wie du sie jetzt eingestellt hast kollidiert sie mit dem Prommer und der Hardcopy/Maus (bzw. Key4).

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

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert



| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Seite in 0,074981 Sekunden erstellt
17 Dateien verarbeitet
gzip Komprimierung eingeschaltet
3609,75 KiB Speichernutzung