Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Reset-Erzeugung » Themenansicht

Autor Thread - Seiten: -1-
000
14.04.2015, 18:37 Uhr
Rolly2



Mich interessiert gerade die Erzeugung des Reset-Signals beim 5120 und 8924. Gibt es da Unterlagen oder einen Schaltplan? Habe leider nichts gefunden. Kann mir da jemand helfen?

vG. Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
14.04.2015, 18:45 Uhr
felge1966
Default Group and Edit


Im Orginal macht das die SST (Sockelstromversorgung), wenn du allerdings einen Minimalaufbau machen willst, wirst du um einen Eigenbau nicht rumkommen. Dass Problem bei der K2526 ist, daß das Reset Signal dort eine bestimmte Länge haben muß, aber auch nicht zu lang sein darf.
Ich habe dazu auch schon mal eine Überlegung mit einem TL7705 gemacht. Aufgrund der Vorbereitung zum Treffen konnte ich das aber bisher nicht weiter verfolgen.

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif

Dieser Beitrag wurde am 14.04.2015 um 18:46 Uhr von felge1966 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
14.04.2015, 19:04 Uhr
Rolly2



Hallo Jörg,
genau das habe ich jetzt vor. Ich habe das mit einem A302 zum Entprellen und einem 74121 gemacht. Damit komme ich auf eine Impulslänge von ca. 24mS. Soweit ist das OK. Jetzt habe ich das ja noch mit "M1" verknüpft, damit mein Ram-Inhalt nicht verloren geht. Das funktioniert auch. Wichtig ist jetzt noch der Power-On-Reset. Wie wird das im 5120 gemacht? Klar, ich könnte hintendran ein Open-Kollektor-Gatter hängen und einen C.
Deshalb suche ich die Schaltungsunterlagen.
Danke für deine schnelle Antwort.

vG. Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
14.04.2015, 19:22 Uhr
felge1966
Default Group and Edit


Beim A5120 wird der Reset mittels Einschaltsteuerung erzeugt, also kein Power on Reset.
Meines Wissens ist aber der Resetimpuls im Normalzustand nur 2ms lang.

Gruss Joerg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
14.04.2015, 21:59 Uhr
Early8Bitz

Avatar von Early8Bitz

Vor einem Power On ist nichts im DRAM, was erhalten werden müßte
(ohne Spannung keine Daten). Da kann das Reset Signal wahrscheinlich
beliebig lang sein. Es sei denn, irgend ein Garät, was vom Rechner gesteuert wird,
fordert etwas anderes.
Ich kenne es auch mit dem A302.
Reset bei laufenden System darf den DRAM-Refresh nicht zu lange unterbrechen,
deshalb neben der Synchronisierung mit dem Maschinenzyklus auch die Zeitbegrenzung.
Da sind die 2ms auf jeden Fall plausibler als 24ms.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 14.04.2015 um 22:00 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
14.04.2015, 22:11 Uhr
holm

Avatar von holm

:-)

Da fällt mir doch glatt was ein:

Auf der OPS K3526, also der "Bürocomputer RAM Karte" gibts einige leere Plätze die für einen autarken Refresh gedacht sind, da gehören Zähler und ein 8212 drauf.
Hat Jemand schon mal eine komplett best+ckte Karte dieser Art oder die Schaltungsunterlagen für diese Bestückung gesehen?

(So viel zu Power On, Reset und D-RAMs)

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
14.04.2015, 22:31 Uhr
edbru



Hab ich mich auch schon gefragt. In der Beschreibung wird es erklärt als ob dieser Refresh Standard ist. Aber so einen voll bestückten Plan hab ich auch noch nicht gesehen.

Warum soll bei einem RESET der RAM-Inhalt bestehen bleiben? Zumindest bei CP/M (und Derivaten) macht das doch keinen Sinn.

Gruß
Eddi
--
ich brauch es nicht, so sprach der Rabe.
Es ist nur schön wenn ich es habe.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
14.04.2015, 22:44 Uhr
holm

Avatar von holm

Die K1520 Geschichten sind aber nicht primär als Bürocomputer und auch nicht für CP/M entwickelt worden. Das waren eigentlich wohl Steuerrechner..da kann man Sowas evtl. schon brauchen.

Dann gabs SIOS von Robotron, das ich bis heute nicht kenne. UDOS aka RIO und SCP aka CP/M waren doch Westprodukte die nur wegen der großen Anwender-Softwarebasis portiert wurden.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
15.04.2015, 13:06 Uhr
ambrosius



Hallo Holm,

schau bitte mal bei mir auf meine Datenhalde. Da müßten Speichersteckeinheiten_K3521.20_K3626.31_K3526_K3822.02_Betriebsdokumentation und dito.Schaltplan zu finden sein. Auf dem Schaltplan ist die komplette Schaltung bei 64k-dyn-RAM enthalten. Bekomme so große Dateien von hier aus nicht verschickt.

Beste Grüße
Holger
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
15.04.2015, 17:54 Uhr
Rolly2



004
Hallo Ralf,
ein Power-On-Reset braucht man immer nach dem einschalten. Es gibt Anwendungen, wo die Daten im RAM nach einem händischen RESET nicht verloren gehen sollen. Genau das ist der Sinn der Verknüpfung mit "M1".
Die 24 mS sind wahrscheinlich wirklich zu lang.

vG. Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
15.04.2015, 18:52 Uhr
Klaus



Hallo Andreas,

ich schicke Dir mal per Mail die Reset-Schaltung vom NANOS.
Wie lang der Impuls ist, kann ich Dir auch nicht sagen (habe ich noch nie gemessen).
Auf jeden Fall ist bei meinen Tests der Inhalt der Ramdisk (192k auf der 256k NANOS-DRAM-Karte) nach einem Reset noch nie verloren gegangen.

Kleine Ergänzung:
Das ist nur die Schaltung für Reset über den Taster. Bei einem Power-ON Reset (auch nur ein RC-Glied+A302 auf der ZRE) sind die Daten im DRAM natürlich weg.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 15.04.2015 um 19:15 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
15.04.2015, 19:24 Uhr
Rolly2



Danke Klaus,
vG. Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
15.04.2015, 23:35 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
Rolly2 schrieb
ein Power-On-Reset braucht man immer nach dem einschalten. Es gibt Anwendungen, wo die Daten im RAM nach einem händischen RESET nicht verloren gehen sollen. Genau das ist der Sinn der Verknüpfung mit "M1".
Die 24 mS sind wahrscheinlich wirklich zu lang.



Hab ich doch gesagt.
Für das Reset laufender Rechner sind die 24ms nicht nur wahrscheinlich zu lang sondern definitiv, wenn mit DRAMS gearbeitet wird.
Da jede Zeile im DRAM alle 2ms (bei den damaligen DRAM-Typen) aufgefrischt werden muss (bei Anfalltypen wie S256D sogar alle 1ms),
muss ein Reset eigentlich noch deutlich kürzer als 2ms sein. Bei Rechnern ohne DRAM ist es diesbezüglich unkritisch.

Beim Power On Reset ist es bzgl. RAM-Inhalt/-Erhalt unkritisch, da wie gesagt, beim Einschalten dort noch nichts definiertes drin steht.
Allerdings kann ich mir Fälle vorstellen, wo das Power On Reset nicht zu kurz sein darf.
z.B. wenn EPROMs mit mehreren Betriebsspannungen verwendet werden (2708).
Dort darf das Resetsignal erst inaktiv werden, wenn alle Spannungen im Normbereich liegen.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 15.04.2015 um 23:35 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
16.04.2015, 10:00 Uhr
kaiOr

Avatar von kaiOr

/M1 definiert nicht die Länge des Impulses sondern den bestmöglichen Startzeitpunkt. Schließlich werden mit Reset Adress- und Datenbus hochohmig und ein bereits begonnener Schreibzugriff schreibt je nach Timing dann sonstwas/sonstwohin. Ein durch Reset abgekürzter Refresh-Zyklus kann eine komplette RAM-Zeile zerstören, denn das Auffrischen ist intern für den DRAM auch nichts anderes als ein kombinierter Lese-Schreib-Zyklus.

MfG

Dieser Beitrag wurde am 16.04.2015 um 10:02 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
16.04.2015, 15:28 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
kaiOr schrieb
/M1 definiert nicht die Länge des Impulses sondern den bestmöglichen Startzeitpunkt.


Die Synchronisation des Beginns des Reset-Signals mit /M1 für Datenerhalt in den RAMs ist unstrittig.
Es ging zuletzt nur noch um die Dauer.
Die minmale Zeit steht in den Datenblättern der Z80-CPU, nämlich mindestens drei volle Taktzyklen.
(wären be 2,5MHz also 3*400ns=1,2µs, bei 4MHz Takt entsprechend 750ns).
Da während der aktiven Zeit des Reset-Signals keine Signale von der CPU generiert werden,
findet natürlich auch kein DRAM-Refresh in dieser Zeit statt.
Weder durch RFSH-Zyklen noch indirekt durch Lese- oder Schreiboperationen.

Rechnen wir also mal den Ernstfall durch.
Wir nehmen mal an, der Programmcode besteht aus einer Warteschleife,
wo ein Bit gestestet wird, welches erst in einer Interruproutine
gesetzt wird, die irgendwann mal durch ein externes Ereignis
generiert wird (z.B. Alarmanlage). Könnte so aussehen:

Quellcode:
     ld ix,flagbyte
              xor a
              ld (ix+0),a
wait-for-nmi: bit 7,(ix+0)      ; Bit wird durch NMI gesetzt
              jr z,wait-for-nmi
               ....             ; Hurra, endlich Alarm.            


Hier stehen die paar Bytes der Programmschleife auf Adressen,
die maximal 6 Adresszeilen durch das normale Lesen ansprechen.
D.h. ein indirektes Refresh eines ganzen DRAMs durch normales
Befehlslesen findet nicht statt. Wir sind also auf die Refresh-Zyklen
in T3/T4 jedes M1-Zyklus angewiesen.

Wir brauchen 128 RFSH-Zyklen, um alle Zeilen des DRAMs einmal aufzufrischen.
das muss alle 2ms (1ms bei Anfalltypen) wiederholt werden.
Obiger Befehlsschleife haben wir
23 Takte bei "bit" und 12 Takte bei "jr"
In dieser Schleife sind drei M1-Zyklen, damit auch drei RFSH-Zyklen.
Also sind nach 43 Schleifendurchläufen 128 Refreshs passiert.
Dauert also
(23+12)*43*400ns=602µs (gilt bei 2,5MHz).

Bleiben also maximal 398µs wo die CPU durch das Reset-Signal am Boden gehalten werden
darf (bei 2,5MHz und DRAMs mit 1ms Refresh Periode).
Bei getypten Bauelementen mit 2ms haben wir 1398µs Zeit fürs Reset.

Ich gebe zu, des Befehlsbeispiel ist etwas an den Haaren herbeigezogen,
Ich wollte auch nur mal eine Grenzwertbetrachtung machen.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 16.04.2015 um 15:29 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
16.04.2015, 15:40 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

in den Unterlagen zu den DDR-Mikroelektronik-Symposien war ein interessanter Beitrag über DRAMs drin. Da stand, dass aller 2ms per Datenblatt refresht werden sollte, im Test aber auch 100ms lang die Daten ohne Refresh-Zyklus behalten haben.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
16.04.2015, 15:52 Uhr
holm

Avatar von holm

Das ist überhaupt nicht erstaunlich. Beim ersten Test von Enricos P8000 RAM Platine liefen die P8000 auch obwohl der DRAM niemals refresht wurde. Es hat ausgereicht das der Rechner mal irgendwann auf die Zeilen zugegriffen hat.
Nur im Debugger war zu sehen das die RAMs nach Minuten langsam leer wurden..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
17.04.2015, 12:07 Uhr
Early8Bitz

Avatar von Early8Bitz

die 2ms gibt der Hersteller im Datenblatt vor.
Will man eine Schaltung konform zu den Spezifikationen der verwendeten Bauelemente aufbauen,
muß man sich schon an die vorgegebenen Betriebsbedingungen halten.
D.h. Timing-, Versorgungspannungs- und sonstige Kennwerte einhalten.

Beim Refreshintervall von 2ms garantiert der Hersteller den Datenerhalt unter allen Randbedingungen,
also über den kompletten Temperaturbereich, an den zulässigen Betriebsspannungsgrenzen, Flankensteilheiten etc.
Mit Sicherheit sind da noch 500% Sicherheitsreserve drin, um produktionsbedingte Schwankungen zwischen den Chargen auszugleichen.

100ms mögen im beschriebenen Testumfeld funktioniert haben, unter anderen Randbedingungen (15°C mehr)
oder mit einer anderen Bauelemente Charge hätte es vielleicht nicht funktioniert.

Für private Basteleien ist ja auch ok, solange es funktioniert.
Bei industriellen Produkten sollt man es schon richtig machen.
Auch zu DDR-Zeiten wäre man mit einer Reklamation beim Halbleiterhersteller nicht durchgekommen,
hätte man die Betriebsbedingungen nicht eingehalten.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 17.04.2015 um 12:09 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
17.04.2015, 13:12 Uhr
kaiOr

Avatar von kaiOr

Ist die ABS vom 5120 oder 8924 auf WAIT-Generierung gewickelt? Worst-Case wäre dann bestimmt ne Schleife mit Zeichenausgabe.

Der KC85/4 mit seinen 1,77Mhz zieht Reset 8 Takte lang runter (extra Counter verbaut worden), M1 wurde einbezogen, Reset-Verzögerung nach Power-On separat für 100ms.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
17.04.2015, 14:31 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
kaiOr schrieb
Ist die ABS vom 5120 oder 8924 auf WAIT-Generierung gewickelt? Worst-Case wäre dann bestimmt ne Schleife mit Zeichenausgabe.

Der KC85/4 mit seinen 1,77Mhz zieht Reset 8 Takte lang runter (extra Counter verbaut worden), M1 wurde einbezogen, Reset-Verzögerung nach Power-On separat für 100ms.


Macht 4,52µs (1,77MHz => 565ns * 8).
Wie lang konnte das WAIT bei der ABS werden? Max. eine sichtbare Bildschirmzeile?
Da fehlen mir jetzt die Zahlen fürs Bildschirmtiming, um da eine Rechnung draus zu machen.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?
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