NKC Forum |
Autor | Thema: CTC-SIO-PIO | ||||||
---|---|---|---|---|---|---|---|
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 07:11 (#1)
Zitat
PN E-Mail
Moin in die Runde,
ich beabsichtige für den NKC eine Platine mit zwei CTC, SIO und PIO fertigen zu lassen. (Schaltplan gelöscht, aktuell s.u.) Grüße, Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
Creep Voll in Gange ID # 169 |
Erstellt am 11. September 2017 09:12 (#2)
Zitat
PN E-Mail
Hallo Steffen,
als erste Bemerkung: Hevorragende Idee! Ich hatte auch schon seit Monaten den Plan, eine oder modulare I/O Platinen mit den echten Z80 Komponenten zu erstellen, die ich im Originalkonzept leider vermißt habe. Ich möchte ENDLICH auch die leistungsfähigen Z80-Komponenten benutzen können, die das ausgefeilte Interruptkonzept überhaupt erst möglich machen. Leider würde das bei mir bestimmt noch viele Monate auf sich warten lassen. Deshalb freue ich mich über Deinen Vorstoß! Du weißt ja: Es eilt nicht! Lieber eine ausgereifte Lösung, die nachher keine Krücken braucht. Mehr kann ich im Moment erstmal nicht beitragen Gruß, Rene |
||||||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 10:20 (#3)
Zitat
PN E-Mail
Hallo Rene,
danke für Deine Aufmunterung! Ich beginne gerade die Leiterplatte zu entwerfen, die ich dann gerne über Dich fertigen und an Interessenten abgeben lassen würde. Sobald ich einen brauchbaren Leiterplattenentwurf habe, werde ich den hier ebenfalls erst einmal vorstellen. Man übersieht ja auch gern mal etwas . Grüße, Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
Creep Voll in Gange ID # 169 |
Erstellt am 11. September 2017 11:04 (#4)
Zitat
PN E-Mail
Hallo Steffen,
das klingt gut! Wichtig dabei aber neben dem Hardwareentwurf: Eine erste Teststrategie und -software. Da diese HW ja noch nicht unterstützt wird, bleibt nur eine eigene Testsoftware, die z.B. über eine Verbindung aller PIO-Leitungen wechselweise die Ein-/Ausgaben überprüft, ebenso die seriellen Interfaces und die CTC Funktion mit Interrupterzeugung, Zählfunktion usw. Gruß, Rene |
||||||
Beiträge: 666 | Mitglied seit: Januar 2017 | IP-Adresse: gespeichert | |||||||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 11. September 2017 11:40 (#5)
Zitat
PN E-Mail
Moin Steffen,
vom Prinzip her bin ich sehr angetan von deiner Schaltung, denn gerade Timer fehlen bis jetzt ja (ausser auf der GDPHS-FPGA). Die Frage wäre nur, ob man die Schaltung auch dahingehen ändern kann, dass sie auch mit anderen Prozessoren (68k) läuft. Denn der NKC ist ja kein Z80 System, sondern unter anderem auch ein Z80 System. ----------------------- Gruß -=jens=- |
||||||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |||||||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 11. September 2017 11:56 (#6)
Zitat
PN E-Mail
Noch zwei Kleinigkeiten:
- Der SIO würde ich gleich ein MAX232 spendieren. Zumindest auf einem Kanal. - Die IEI und IEO Signale werden, eines Wissen, bisher von keiner einzigen NKC-Karte benutzt/unterstützt. Von daher könnte es z.B. mit der FLO Probleme geben, da die beim Z80 ja auch den Interrupt braucht. ----------------------- Gruß -=jens=- |
||||||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 13:09 (#7)
Zitat
PN E-Mail
Mir fällt eben auf, der IEI vom BUS kommend, muss "nach innen" über einen Jumper wahlweise auf Hi gelegt werden können, wenn die Platine die erste oder einzige mit Interrupts ist. Zum Thema Testprogramme: Da werde ich sicher etwas machen, aber nicht forciert. Jedoch so, wie ich die Bausteine selbst benötige. So z.B. fehlt mir der CTC-Interrupt um DCF77 zu decodieren. Auch möchte ich, dass sich meine zwei NKC über die SIO's unterhalten können. Dafür stehen sehr komfortable Modi zur Verfügung. Gruß, Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 11. September 2017 13:46 (#8)
Zitat
PN E-Mail
Moin Steffen,
der Z80 läuft mit dem FLOMON im Interrupt Mode 1 (IM 1), die FLO kann nichts anderes. Das M1-Signal gibt es, soweit ich weiss, ausschließlich beim Z80. Von daher bliebe mit 68k-Systemen nur die Möglichkeit nach einem Interrupt, alle Peripheriebausteine abzufragen. Nur dazu muss auch gegeben sein, das die Bausteine auch ohne M1 laufen. ----------------------- Gruß -=jens=- |
||||||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 14:06 (#9)
Zitat
PN E-Mail
Ja...auf Adresse 1C36h steht
DB CO IN A,(0C0h) Das heißt das Programm springt bei einem Interrupt immer auf die Adresse 38h. Dort muss das auslösende "Gerät" gefragt werden wer es war bzw. was getan werden soll. (falls es mehr als eines gibt) Dann kann man eben die Interrupts von CTC, SIO & Co. nicht zusammen mit FLOMON verwenden!? FLOMON würde sofern man es nicht umprogrammiert, immer die FLOMON-Interruptroutine starten, auch wenn es nur der Zeitimpuls der CTC war. ..... ...doof...aber nicht die Schuld von CTC, SIO & Co. Man kann ja aber den Interrupt-Mode softwaremäßig ändern, wenn die FLO nicht gebraucht wird und grad ein "IM2-Programm" läuft. Gruß, Steffen
IM0 = per ext. Hardware wird auf den Datenbus ein Befehl gelegt IM1 = per Software wird der INT-Auslöser ermittelt und entspr. verzweigt IM2 = Z80 macht /IORQ + /M1 und der Auslöser meldet sich mit einem Interruptvektor ...dieser + Interruptregister I = Verzweigungsadresse. |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 11. September 2017 14:20 (#10)
Zitat
PN E-Mail
Tja,
nur wenn ein IM2 Programm läuft, muss man sicherstellen, das die FLO sich nicht einmischt, sonst ergibt es Müll Gleiches gilt natürlich für Interrupts von CTC und Co, im IM1 Betrieb. Wie gesagt, für die 68k bliebe sowieso nur ein Polling wie im IM1, falls die Bausteine auch ohne M1 laufen. PS: die Z80 Interruptmodes sind mir geläufig ----------------------- Gruß -=jens=- |
||||||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 14:39 (#11)
Zitat
PN E-Mail
Phuuuu.... ...man könnte die IEO Ausgänge der IC's auswerten und auf einen IN-Port legen. Den könnte man dann abfragen, wer es war. Dann bräuchte man ein 5./CE oder eine CTC bleibt weg!? ...ooooder statt der 2.CTC Huckepack IN-Port (nur 1 IC nötig!) zur IM1 Auswertung. Alle nötigen Signale liegen ja an der CTC an (bis auf zwei IEO = Drahtbrücken/Jumper). Grüße, Steffen PS.: nix für ungut Jens, ich kannte vor 2 Stunden nur den IM2 |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
DerInder Fast schon Admin Seitenadmins ID # 2 |
Erstellt am 11. September 2017 15:07 (#12)
Zitat
PN E-Mail
Kann ich gut nachvollziehen, ist ja auch der leistungsfähigste Modus. Bei den 68k gibt es auch so ein Modus, nur auch der wird beim NKC nicht unterstützt. Der NKC ist halt ein System, das für alles mögliche offen sein soll. Da bleiben natürlich Speziallitäten der einzelnen Systemfamilien auf der Strecke. Hmm, die Idee mit den IEO Leitungen auf einen Port gefällt mir. Der müsste dann über die Int-Leitung getriggert werden. Wie wäre es, wenn man dafür einen Port der PIO "missbraucht"? ----------------------- Gruß -=jens=- |
||||||
Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 15:30 (#13)
Zitat
PN E-Mail
stelle ich mir so vor:
...wenn ich kein Fehler auf die Schnelle gemacht habe. Die IOE's liegen immer an und werden halt über eine beliebige Adresse der 2.CTC abgefragt, oder nicht. Weis allerdings nicht wie lange die anliegen, müsste aber bis zum RETI sein, da ja der Zweck ist, dass kein "niederer" Baustein INT anmelden kann so lange ein höherwertiger INT abgearbeitet wird. Also was will man mehr!? Ein PIO-Port ist dafür zu wertvoll |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 11. September 2017 16:11 (#14)
Zitat
PN E-Mail
Evtl. muss dafür ein anderer IC her oder.....(Tristate)
Es dürfen ja keine Signale auf die IEO-Ausgänge ausgegeben werden! Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
m.haardt Voll in Gange ID # 93 |
Erstellt am 11. September 2017 19:06 (#15)
Zitat
PN E-Mail
Wenn es nur um eine Timerfunktion geht: Wenn man bei der UHR3 die Interruptleitung verbindet, hätte man einen Timer.
Es gab irgendeinen Trick, wie man Z80 Komponenten am 68k betreiben kann, um ihnen ein RETI zu zeigen. Ich meine die serielle Karte vom mc 68000 Computer benutzte das. Es wäre auch denkbar, dass beliebige CPU Karten den Vektorinterruptzyklus ausführen, um den Interruptgrund zu erfahren. Die Frage ist: Tut das not? Wieviele Interruptquellen hat der NKC? Michael |
||||||
Beiträge: 501 | Mitglied seit: April 2008 | IP-Adresse: gespeichert | |||||||
tom16 Ganz neu hier ID # 179 |
Erstellt am 12. September 2017 07:36 (#16)
Zitat
PN E-Mail
Schoen, dass sich jemand einer PCB diese Art annimmt!
Die /INT-Ausgänge der Z80-I/Os sind low aktive OpenDrain Ausgänge. Diese werden parallel geschaltet und muessen im System irgendwo einen pullup-R haben. Damit ist die Zusammenschaltung mit 74LS32 zu einem "Karten-/INT" hinfaellig und auch am BUS schädlich, falls weitere /INT-PCB dazukommen sollten. 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. |
||||||
Beiträge: 4 | Mitglied seit: April 2017 | IP-Adresse: gespeichert | |||||||
tom16 Ganz neu hier ID # 179 |
Erstellt am 12. September 2017 08:17 (#17)
Zitat
PN E-Mail
Sollten mehr als vier Z80-Peripherie-ICs (also ab zwei o.a. PCBs) eingesetzte werden, wäre eine erweitere Umgehungslogik für die Interruptsprioritaetenkette zu empfehlen. D.h. ein 74LS08 und ein 74LS20.
Dann müsste aber noch die /IEI-/IEO-Kette auf dem BUS verdrahtet werden. Wie im Schaltungsvorschlag PI / PO. Fuer CTC1 IEI einen pullup-R vorsehen, falls dieser CTC die höchste Priorität haben soll. |
||||||
Beiträge: 4 | Mitglied seit: April 2017 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 12. September 2017 08:56 (#18)
Zitat
PN E-Mail
Hallo Tom,
danke für Deine Anregungen! Hab nicht daran gedacht, dass die /INT Ausgänge "open Collector" sind. Da wirds einfacher. An den IEI-pull-up für die erste CTC habe ich schon gedacht. Der kann allerdings auch rückseitig auf den Bus. Je wie man es mag. Deinen Einwand bezüglich einer zweiten CSP (Counter-Seriell-Paralell ), verstehe ich nicht ganz. Ich würde bei der internen Priorität pro Karte bleiben. Die Zweite ist dann eben die Zweite. Deinen Vorschlag mit der/den PIO Port-Buchsen nehme ich gerne so auf. Da hatte ich noch keine Präferenzen. Grüße, Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert | |||||||
tom16 Ganz neu hier ID # 179 |
Erstellt am 12. September 2017 09:45 (#19)
Zitat
PN E-Mail
Hallo Steffen, wenn mehr als vier Z80-Peripherie-ICs in der INT-daisy-chain sind (z.B. eine zweite CSP) kann es zu Zeitproblemen im Interruptanerkennungszyklus bei den niedriger priorisierten ICs kommen. Darum die o.a. Umgehungslogik. Wenn zwei oder mehr CSP im Sytem sein sollen - also nuetzlich. (Lit): z.B. Kieser/Meder 2. Auflage Kap. 4.2.3.1 S. 172 Prioritaet Die interne daisy chain auf der CSP ist in der Prioisierung CTC->CTC->SiO->PIO voll ok. Gruesse, Tom |
||||||
Beiträge: 4 | Mitglied seit: April 2017 | IP-Adresse: gespeichert | |||||||
Steffen.111 Kennt sich schon aus ID # 184 |
Erstellt am 12. September 2017 11:45 (#20)
Zitat
PN E-Mail
Ja Tom, da hst Du natürlich Recht!
Werde ich berücksichtigen. Danke Grüße, Steffen |
||||||
Beiträge: 140 | Mitglied seit: August 2017 | IP-Adresse: gespeichert |
| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung
Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts
Seite in 0,041391 Sekunden erstellt
19 Dateien verarbeitet
gzip Komprimierung eingeschaltet
2888,72 KiB Speichernutzung