Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » WAIT am KC85 » Themenansicht

Autor Thread - Seiten: -1-
000
05.11.2013, 20:57 Uhr
maleuma



Eine Frage an die Hardwarespezialisten:

Wann werden beim KC85/4 WAIT-Signale erzeugt?

Ich kämpfe zur Zeit mit einem Programm, bei dem es auf eine taktgenaue CTC-Programmierung ankommt. Dabei habe ich festgestellt, dass die CPU noch gar nicht so weit mit der Programmabarbeitung ist, wie ich an Hand der ausgezählten Takte der einzelnen Z80-Befehle erwartet hätte.
Das heißt, hier können eigentlich nur WAIT-Signale die Programmabarbeitung verzögert haben.

Den einzigen WAIT-Generator habe ich im Schaltplan "BWS/VTG" gefunden. Dieser ist aber meiner Meinung nach nur für den IRM-Zugriff, oder?

Werden auch WAIT-Signale bei RAM- oder ROM-Zugriffen erzeugt?
Werden WAIT-Signale bei der Programmabarbeitung in RAM- oder ROM-Modulen in den Steckplätzen des Grundgerätes erzeugt?
Und wie sieht es bei Modulen in den Aufsätzen D002/D004 aus? Dort gibt es ja verschiedene Brücken (Jumper?) für eine Auswahl. In den Handbüchern habe ich dazu aber auch nichts gefunden.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
05.11.2013, 23:20 Uhr
Enrico
Default Group and Edit



Zitat:
maleuma schrieb
Wann werden beim KC85/4 WAIT-Signale erzeugt?

- bei Zugriffen auf den IRM
- bei Zugriffen auf den Koppel-RAM der D004
- bei Zugriffe auf Module in Busdrivern, je nach Bedarf.
(Wenn ich mich nicht irre, Standartmässig bei /M1)
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
06.11.2013, 13:34 Uhr
kaiOr

Avatar von kaiOr

Das der Z80 bei üblichem Schreibzugriff auf den IRM mittels WAIT synchronisiert wird ist gaaaaaanz seltenes Kino. Hat mich erstaunt, ist aber so. Also z.B. bei Fractal4 oder Ladder ist da Schweigen im Walde.

Jeden zweiten Takt darf die CPU was am IRM machen. Scheinbar ist es aber so, dass nach einmaliger Synchronisierung tatsächlich die CPU nur alle geraden oder ungeraden Takte was schreiben will also kein WAIT generiert wird.

Wenn M1-Zugriffe auf den IRM stattfinden oder D002/D004 mit einzelnen WAITs die Taktung durcheinanderbringen könnte das schon anders aussehen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
06.11.2013, 21:05 Uhr
maleuma



Danke, Eure Aussagen sollten richtig sein.

Das heißt, ich muss die zeitkritischen Programmteile im RAM oder ROM im Grundgerät abarbeiten. Bei Modulen im Schacht 8 oder C funktioniert es auch. Nur bei Modulen in Aufsätzen bzw. Programmabarbeitung im IRM wird pro Befehl ein WAIT-Takt eingefügt.

Ich habe mein Programm daraufhin neu kalkuliert mit je einem zusätzlichen Takt pro Befehl, damit funktioniert es dann z.B. im Steckplatz 18. Das dürfte als Beweis für die Aussage in 001 ausreichen.

Das bedeutet: Der interruptgesteuerte Schrittbetrieb des TEMO im Modul M027 funktioniert nur wenn das Modul im Steckplatz 8 oder C steckt. Also falls jemand einmal darüber stolpern sollte - im M027-Handbuch habe ich jedenfalls keinen Hinweis dazu finden können.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
08.11.2013, 21:19 Uhr
maleuma



Noch ein Nachtrag. Ich habe die Stelle gefunden, wo Mühlhausen die von mir gefundene Situation beschreibt. Und zwar in der Serviceanleitung des D002. Dort steht:

Zitat:
Das WAIT ist bei Programmlaufzeiten zu beachten, z. B. bei der Realisierung von Zeitschleifen durch Dekrementieren von Registern. Wenn das aufsatzinterne WAIT völlig abgeschaltet ist, ist der Modul Development ohne Einschränkung im Bustreiberaufsatz einsetzbar. Bei Betrieb mit WAIT ist die Schrittbetriebsfunktion des Testmonitors nicht nutzbar, sofern der Modul im Aufsatz steckt.

Übrigens ist in dieser Serviceanleitung auch beschrieben, wie man die Brücken für die WAIT-Steuerung setzen muss.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
08.11.2013, 23:01 Uhr
Lötspitze



Paßt vielleicht gleich hier mit rein: Läßt sich über die Jumpereinstellung RB01 1-2, RB02-1 und RB03-3 auf der Bustreiberplatine des D004 (=Wait für alle Zugriffe) auch die Zusammenarbeit zwischen D001 und D004 verbessern? Es geht um die Behebung meiner D004-Probleme aus http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=2931.

Matthias
--
___________________
...geboren, um zu löten.

Wer rennen soll, muß auch mal stolpern dürfen.

Dieser Beitrag wurde am 08.11.2013 um 23:09 Uhr von Lötspitze editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
09.11.2013, 00:11 Uhr
Enrico
Default Group and Edit


Jetzt, wo Du das sagst, wäre durchaus denkbar.
Es ist die gleiche Platine, wie im Bustreiber.
Du kannst es ja mal versuchen.

http://www.kcclub.de/dlarchiv/09/RUBRIK46.HTM
--
MFG
Enrico

Dieser Beitrag wurde am 09.11.2013 um 00:19 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
09.11.2013, 20:25 Uhr
maleuma



Eine Frage in diese Richtung habe ich noch:

Werden beim Zugriff auf den D004-ROM auch WAITs eingefügt oder nur bei den beiden Modulsteckplätzen? Der D004-ROM ist ja auch wie ein Modul zu sehen, wird der mit von der WAIT-Steuerung auf der Bustreiberplatine bedient?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
10.11.2013, 00:13 Uhr
Enrico
Default Group and Edit


Das kann ich Dir nicht sagen.
Das lässt sich nur am Schaltplan rausfinden.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
12.11.2013, 20:39 Uhr
maleuma



Also auf dem Schaltplan finder ich das Signal /KWAIT bisher nur auf Blatt 5.
Das kommt aus dem D408/D406 und verarbeitet als Eingangssignale:

- /KCP, das Taktsignal vom Grundgerät
- /KZKR, das denke ich ist der ausdecodierte Zugriff auf den Koppel-RAM
- /KIORQ, also I/O-Befehl vom Grundgerät
- FMREQ, Speicherzugriff vom D004-Prozessor
- FC00H, Adresse des Koppel-RAM

Das müsste demnach die WAIT-Logik für den Fall des gleichzeitigen Zugriffs auf den Koppel-RAM darstellen.

Eine Verbindung mit den ROM-Signalen kann ich nicht finden, da müsste dann z.B. das Signal /SR mit eingebunden sein. Das kann ich aber nur auf diesem Plan am /OE-Eingang des ROM und am Ausgang des Gatters direkt darüber finden.

Fazit: kein WAIT beim Zugriff auf den EPROM - w.z.b.w.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
12.11.2013, 23:15 Uhr
kaiOr

Avatar von kaiOr

Wenn Modulfreigabe (MEI) vom tieferem Stockwerk und Befehlsholzyklus (/M1) auf der Treiberplatine des D004 zusammenkommen wird genauso übergreifend ein WAIT ans Grundgerät gesendet wie beim D002 (Standardeinstellung). Das gilt auch für den D004-ROM.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
14.11.2013, 20:30 Uhr
maleuma



Also wenn Seite 1 und 2 dieses Schaltplans:
http://www.sax.de/~zander/kc85/bus/bus_s.pdf
auch für die D004 gilt, würde ich die letzte Aussage bestätigen.

Statt des Schaltungsteiles auf Seite 3 könnte dann dort die D004-CPU-Platine dran stecken.

Irgendwie fehlt in allen mir bekannten D004-Schaltplänen der Teil mit der Bustreiber-Platine...
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek