Forum: Mikrocontroller und Digitale Elektronik Bastel Projekt mit Z80: Dioden als OR-Gate


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas M. (schwuuuuup)


Lesenswert?

Hallo,
Als Bastelprojekt habe ich mir meinen Azubi und ein paar Z80 (CMOS 8 
bzw. sogar 20 MHz) geschnappt und wir beide gehen als blutige Anfänger 
nach dem Motto "Der Weg ist das Ziel" an die Sache ran.
Wir folgen absichtlich keinen vorgefertigten Bauplänen, weil wir manche 
Probleme einfach am eigenen Leib erfahren wollen um zu verstehen warum 
etwas so und nicht anders gemacht wird.

Zum logischen Verodern von Signalen haben wir zunächst mit simplen 
OR-Gates gebastelt und sind dann auf extrem schnelle aber winzige 
74LVC1G32 umgestiegen, um uns später keine Steine in den weg gelegt zu 
haben, wenn wir versuchen, die Geschwindigkeit richtung 20MHz zu 
erhöhen.

Damit klappt alles auch ganz nice.

Da unser Projekt jedoch hier und da immer mal ein einzelnes OR-Gate 
benötigt und ich weder Lust habe, winzige SMD Teile auf eine krude 
Lochrasterplatine zu löten noch jedesmal ganze Quad-Gates im DIP zu 
verwenden, streifte mich der gedanke einfach Dioden-Logik zu verwenden.

Ich muss noch mal unterstreichen, dass ich aus der Software Welt komme, 
bei der Theorie und Praxis einfach näher aneinander liegen, als bei 
Hardware. Deswegen ist dies wahrscheinlich eine totale Noobfrage:

Zwei Dioden und ein Pulldown ergeben in der Theorie ein OR-Gate, aber 
ist das in der Praxis auch tatsächlich so verwendbar? Ich kann mir 
vorstellen dass ich zumindest schottky Dioden nutzen muss. Aber wenn 
zwei Signale innerhalb von sagen wir mal 50 Nanosekunden und weniger 
verodert werden müssen reicht das dann noch geschwindigkeitsmäßig aus? 
Alles was ich im Internet dazu finde ist eher theoretischer Natur. 
Außerdem bin ich mir sicher dass es durchaus eine Daseinsberechtigung 
für dedizierte OR-Gates gibt.

Sind diese Überlegungen eine Sackgasse? Wenn ja woran scheitert's? Ich 
hoffe ihr Hardware Füchse könnt einem Software Lurch wie mir hier was 
beibringen ;)

Liebe Grüße
TOM

von Michael B. (laberkopp)


Lesenswert?

Thomas M. schrieb:
> Zwei Dioden und ein Pulldown ergeben in der Theorie ein OR-Gate, aber
> ist das in der Praxis auch tatsächlich so verwendbar?

Nein.

a) ist es langsam, je nach pull down, man bräuchte so 30 Ohm um 
TTL-schnell zu sein was wiederum die Ausgänge nicht schaffen

b) verringert es den high-Pegel, das kann schon mal zu wenig werden

c) vor allem als AND mit 2 zum Eingang gerichteten Dioden und pull up 
macht es den Pegel zuverlässig kaputt

: Bearbeitet durch User
von Thomas M. (schwuuuuup)


Lesenswert?

Danke für die klare Ansage, genau das habe ich erwartet, wird aber in 
vielen Anleitungen im Netz und auch auf YouTube nicht behandelt.

Da wird dann zwar gesagt, dass für höhere Geschwindigkeiten ein 
kleinerer Widerstand benötigt wird, aber dies wird nicht in Relation zu 
Stromfluss und Geschwindigkeit gesetzt so dass diese Aussage nur 
theoretisch korrekt ist.

Schönen Sonntag noch, und noch mal vielen Dank

von Thomas M. (schwuuuuup)


Lesenswert?

Ach eine Nachfrage noch:

Michael B. schrieb im Beitrag
> a) ist es langsam, je nach pull down, man bräuchte so 30 Ohm um
> TTL-schnell zu sein was wiederum die Ausgänge nicht schaffen


Ich nehme an, dass damit die Rise- bzw. Fall-Time gemeint ist richtig?

von Hans (ths23)


Lesenswert?

Thomas M. schrieb:
> Als Bastelprojekt habe ich mir meinen Azubi und ein paar Z80 (CMOS 8
> bzw. sogar 20 MHz) geschnappt und wir beide gehen als blutige Anfänger
> nach dem Motto "Der Weg ist das Ziel" an die Sache ran.
Euch ist aber hoffenlich klar das es dazu keine passende Peripherie wie 
CTC, PIO oder SIO gibt. Mit anderen Worten ihr müßt es alles selbst zu 
Fuß erledigen.

Ich habe mal mit meinem Schwager (der hat das auch entwickelt) ein Z80 
Projekt mit 20MHz angefangen. Seine 2 aufgebauten Rechner laufen 
bereits. Ich habe meinen Rechner zwar auch aufgebaut, aber die 
Inbetriebnahme immer wieder nach hinten geschoben, weil ich auch noch 
andere Projekte hatte die ich erst mal fertig machen wollte/möchte.

Kurz zum Projekt selbst:
Die Logik bei dem ganzen Teil ist mit einem FPGA realisiert. Ansonsten 
gibt es noch 2 74HC573, einen 6-fach Inverter und einen FT245BM für USB 
Gedöns. Um dem Teil erst mal überhaupt etwas beizubringen damit es mit 
einem redet gibt es noch einen Pseudo-Z80 mit einem STM der an Stelle 
des Z80 eingesteckt wird, womit der Flashspeicher programmiert wird. Auf 
EPROM/EEPROM haben wir komplett verzichtet.

von Norbert (der_norbert)


Lesenswert?

Da bin ich jetzt mal einigermaßen verblüfft ob der kategorischen ›Nein‹ 
Aussage..
Gerade kein Oszilloskop verfügbar, darum billiger Softwaretest.
Sehr schnell, sehr schmutzig!
1
#!/python
2
# -*- coding: UTF-8 -*-
3
# vim: fileencoding=utf-8: ts=4: sw=4: expandtab:
4
5
from machine import Pin,PWM
6
from time import sleep_ms
7
# Vcc   ─────────┒
8
#                ┃
9
#               ┃ ┃
10
#               ┃ ┃  10kΩ
11
#                ┃
12
# 17   <─────────┨ Bei niedriger Frequenz mit DMM gemessen 0.31V … 3.28V
13
#                ┃
14
#               │V│
15
#               │━│ BAT41
16
#                ┃
17
# 16   >━━━━━━━━━┛
18
19
pin_out = Pin(16,Pin.OUT)
20
pin_in = Pin(17,Pin.IN, pull=None)
21
pwm = PWM(pin_out)
22
pwm.freq(20_000_000)
23
pwm.duty_u16(2**15)
24
25
hi,lo,q = 0,0,0
26
while True:
27
    if pin_in() == 0: lo += 1
28
    else:             hi += 1
29
    q += 1
30
    if q % 10000 == 0:
31
        print(lo,hi)
32
        sleep_ms(10)
In dieser Konstellation geht es bis ca. 20MHz ganz prächtig.
Senkte man den R (immerhin 10kΩ) weiter ab, würde es mich doch sehr 
wundern wenn nicht auch höhere Frequenzen prima funktionierten.

von Michael B. (laberkopp)


Lesenswert?

Thomas M. schrieb:
> Ich nehme an, dass damit die Rise- bzw. Fall-Time gemeint ist richtig?

Ja, bei pull down vor allem fall

von Thomas M. (schwuuuuup)


Lesenswert?

Hans schrieb:

> Euch ist aber hoffenlich klar das es dazu keine passende Peripherie wie
> CTC, PIO oder SIO gibt. Mit anderen Worten ihr müßt es alles selbst zu
> Fuß erledigen.


Ja danke der Nachfrage, das ist uns klar Teile bauen wir mit simplen 
CPLD aber wie gesagt der Weg ist das Ziel, wenn hinterher nur eine 
blinkende LED herauskommt ist das schon Erfolg genug.

Im Moment sind wir soweit Programme vom Rom und ohne RAM auszuführen, 
und selbst das feiern wir schon groß. Wir backen also ganz kleine 
Brötchen

von Michael B. (laberkopp)


Lesenswert?

Norbert schrieb:
> , darum billiger Softwaretest

Cool was man sich so alles zusammensimulieren kann, ganz ohne 
Berücksichtigung von Eingangs und Kabelkapazitäten und Induktivitäten 
der realen Welt.

von Norbert (der_norbert)


Lesenswert?

Michael B. schrieb:
> Norbert schrieb:
>> , darum billiger Softwaretest
>
> Cool was man sich so alles zusammensimulieren kann, ganz ohne
> Berücksichtigung von Eingangs und Kabelkapazitäten und Induktivitäten
> der realen Welt.

Welche Kabel lötest du denn an ein Bussystem so an? Drei Meter NYFAZ?

Der Test wurde übriges auf einem Breadboard mit schlunzig gestecktem 
ungefähr 20cm Draht vom Eingang zur BAT41 gemacht. Das sollte weit 
entfernt von Optimal sein.

Ach ja, mit einem kleineren R geht's auf über 40MHz.

Aber ich gebe dir recht, theoretisch darf so etwas nicht 
funktionieren. Denn so wurde es beschlossen.

von Motopick (motopick)


Lesenswert?

Michael B. schrieb:
> Norbert schrieb:
>> , darum billiger Softwaretest
>
> Cool was man sich so alles zusammensimulieren kann, ganz ohne
> Berücksichtigung von Eingangs und Kabelkapazitäten und Induktivitäten
> der realen Welt.

Die kommen in Software eben nicht vor!

> Ich muss noch mal unterstreichen, dass ich aus der Software Welt komme

Mein erster Z80, bevor er ein ordentliches Monitorprogramm in einem
EPROM bekan, hatte einen (Tastatur-)Urlader mit einem 74154 und einem
ganzen Sack voll Dioden. :)

von Thomas M. (schwuuuuup)


Lesenswert?

Norbert schrieb:

> Ach ja, mit einem kleineren R geht's auf über 40MHz.


Wenn ich mich mal als Noob und OP einmischen darf, redest du hier von 
Taktgeschwindigkeit, denn der Z80 (CMOS-Version) braucht zum Teil rise 
times von 10 Nanosekunden und weniger. Selbst wenn die Flanken im 40 
megahertz-takt kommen, ist ja die analoge Bandbreite der Flanke selbst 
eher bei 100 MHz, wenn ich es richtig verstehe

von Norbert (der_norbert)


Lesenswert?

Thomas M. schrieb:
> Norbert schrieb:
>
>> Ach ja, mit einem kleineren R geht's auf über 40MHz.
>
> Wenn ich mich mal als Noob und OP einmischen darf, redest du hier von
> Taktgeschwindigkeit, denn der Z80 (CMOS-Version) braucht zum Teil rise
> times von 10 Nanosekunden und weniger. Selbst wenn die Flanken im 40
> megahertz-takt kommen, ist ja die analoge Bandbreite der Flanke selbst
> eher bei 100 MHz, wenn ich es richtig verstehe

Thomas, generiert wird ein 40MHz Rechecksignal mit 50% duty. (12.5ns Hi, 
12.5ns Lo)
Der Mikrocontroller schiebt dieses Signal auf Pin 16 auf das Breadboard 
und zwar auf die Kathode einer Schottky Diode. Diese zieht einen 
externen Widerstand (von Vcc) in der Taktgeschwindigkeit herunter. Mit 
einem (langen) Draht wird dieser Punkt auf einen Eingang des 
Mikrocontroller gelegt und dort die Hi/Lo Wechsel gezählt. Schmutzig 
kodiert, aber es ist ja nicht für's MOMA.
Oberhalb einer gewissen Frequenz werden nur noch HI bzw LO detektiert. 
Wie die Flanken im Grenzbereich aussehen kann ich mangels Skope nicht 
sagen, aber dem Mikrocontroller reicht es um die Signale eindeutig zu 
erkennen.
Es ging mir aber eher um die kategorische Nein Aussage, welche bei hohen 
Frequenzen sicherlich korrekt ist, bei niedrigen muss man's messen ob's 
passt.

Edit: Gerade Risetime sollte bei niedrigem R noch das geringste Problem 
sein.

: Bearbeitet durch User
von Michael B. (laberkopp)


Angehängte Dateien:

Lesenswert?

Norbert schrieb:
> theoretisch darf so etwas nicht funktionieren. Denn so wurde es
> beschlossen.

Nun, das wurde in der Praxis auf die harte Tour gelernt, die Schaltung 
ging nicht und es lag genau an einem pull up, der durch echte OR ersetzt 
werden musste.

Aber woher soll Norberts Verstand was von der Praxis wissen.

von Norbert (der_norbert)


Lesenswert?

Michael B. schrieb:
> …Zeug…

Ach Michael, du könntest so schöne Beiträge schreiben wenn du nur 
(schriftlich gesehen) die Fresse halten würdest.
Verwende die dir verbleibende Zeit damit, dir zumindest ein modicum an 
Benehmen zu erarbeiten.
Aber diese Erkenntnis wird sich irgendwann auch bei dir mal einstellen. 
(Die Hoffnung stirbt zuletzt, aber sie stirbt!)

von Jens G. (jensig)


Lesenswert?

Norbert schrieb:
> Aber ich gebe dir recht, theoretisch darf so etwas nicht
> funktionieren. Denn so wurde es beschlossen.

Ja, wenn man Propagation-Delays und schlappe Flankenanstiege wegdenkt, 
dann funktioniert es natürlich immer. Aber die meisten schnelleren 
Schaltungen wollen eben nicht einfach nur H/L-Pegel sehen, sondern diese 
eben auch zur rechten Zeit ...

von Soul E. (soul_eye)


Lesenswert?

Das "Funkschau Oder-Gatter" aus zwei Dioden und einem Widerstand war bei 
den Heimcomputer-Bastelprojekten der '80er Jahre beliebt. Mit 1 MHz 
Bustakt (also 6502 mit 1 MHz oder Z80 mit 4 MHz) funktionierte das auch 
einigermaßen. Heute findet man es immer noch bei Retro-Projekten. Oft 
weil die Leute es nicht besser wissen, und absurderweise auch wenn 
direkt daneben ein GAL oder CPLD sitzt.

von Thomas M. (schwuuuuup)


Lesenswert?

Ach gott Kinnders, werdet doch erwachsen. Diskussionen wie diese 
versauen einem doch den Spaß am Forum.

Danke für die Antwort des Prakmatikers. Ich hatte explizit nach 
Praxiseinsatz gefragt.

Simulation hin oder her, wenn gerade kein Oszilloskop zur Hand ist, 
hilft die Aussage "Müsste gehen" wenig weiter.
Denn das heißt für mich defacto: musst du ausprobieren. Und wenn ich es 
eh ausprobieren muss, brauche ich dieses Forum nicht.

von Hans (ths23)


Lesenswert?

Thomas M. schrieb:
> Ja danke der Nachfrage, das ist uns klar Teile bauen wir mit simplen
> CPLD aber wie gesagt der Weg ist das Ziel, wenn hinterher nur eine
> blinkende LED herauskommt ist das schon Erfolg genug.
>
> Im Moment sind wir soweit Programme vom Rom und ohne RAM auszuführen,
> und selbst das feiern wir schon groß. Wir backen also ganz kleine
> Brötchen

Ist ja auch in Ordnung und ich wünsche Euch viel Spaß und Erfolg dabei.

von Peter D. (peda)


Lesenswert?

Thomas M. schrieb:
> Im Moment sind wir soweit Programme vom Rom und ohne RAM auszuführen

Wie soll das gehen?
Wo speicherst Du ohne RAM bei Call und Interrupts die Returnadresse?

von Thomas M. (schwuuuuup)


Lesenswert?

Peter D. schrieb:
> Thomas M. schrieb:
>> Im Moment sind wir soweit Programme vom Rom und ohne RAM auszuführen
>
> Wie soll das gehen?
> Wo speicherst Du ohne RAM bei Call und Interrupts die Returnadresse?

Ich habe nicht gesagt, dass wir damit aufregende Software hinbekommen. 
;)

Als RAM müssen bisher die Register herhalten, die Limitierung sind 
natürlich extrem. aber keine Sorge, den RAM anzuschließen ist ja einer 
der nächsten Schritte, genau dafür brauchen wir zumindest im späteren 
Verlauf eben auch einen Haufen or-Gates die entsprechend schnell 
zwischen verschiedenen ramchips hin und her schalten können, deswegen ja 
meine Frage oben

von Soul E. (soul_eye)


Lesenswert?

Peter D. schrieb:
> Thomas M. schrieb:
>> Im Moment sind wir soweit Programme vom Rom und ohne RAM auszuführen
>
> Wie soll das gehen?
> Wo speicherst Du ohne RAM bei Call und Interrupts die Returnadresse?

Es gibt da eine bekannte ostzonale Referenzapplikation, die komplett 
ohne RAM auskommt: http://dg1afg.ov-w38.de/melodienklingel-mit-u880

von Klaus F. (klaus27f)


Lesenswert?

Thomas M. schrieb:
> dafür brauchen wir zumindest im späteren Verlauf eben auch einen Haufen
> or-Gates die entsprechend schnell zwischen verschiedenen ramchips hin
> und her schalten können

Ähhh, vielleicht ist eurer Ansatz irgendwie overengineered.
Da der Z80 einen Adressraum von 64 kByte hat, wäre es am 
allereinfachsten diesen mir EINEM Eprom 32k und EINEM Ram 32k 
abzudecken.
Eprom 0000-7FFF  Typ 27C256
Ram   8000-FFFF  Typ 62256
Da braucht es weder "einen Haufen or-Gates" noch "verschiedene 
ramchips".

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Klaus F. schrieb:
> Da braucht es weder "einen Haufen or-Gates"

Braucht man normalerweise auch nicht, aber schauen wir mal, was hier 
schon wieder für eine Absurdität von Anfängern generiert wird.

von Peter D. (peda)


Lesenswert?

Thomas M. schrieb:
> genau dafür brauchen wir zumindest im späteren
> Verlauf eben auch einen Haufen or-Gates die entsprechend schnell
> zwischen verschiedenen ramchips hin und her schalten können

Der Z80 hat nur 64kB Adreßraum, da reicht ein einziger EEPROM/Flash und 
ein SRAM völlig aus.
Z.B.:
https://www.digikey.de/de/products/detail/microchip-technology/AT28C256-15PU/1008506
https://www.digikey.de/de/products/detail/renesas-electronics-corporation/71256SA25TPG/1915734

OR-Gatter hatte ich noch nie benötigt.
Vielleicht noch Adreßdekoder 74HC139 für die Auswahl von Peripherie-ICs.

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Thomas M. schrieb:
> Als Bastelprojekt habe ich mir meinen Azubi und ein paar Z80 (CMOS 8
> bzw. sogar 20 MHz) geschnappt und wir beide gehen als blutige Anfänger
> nach dem Motto "Der Weg ist das Ziel" an die Sache ran.
> Wir folgen absichtlich keinen vorgefertigten Bauplänen, weil wir manche
> Probleme einfach am eigenen Leib erfahren wollen um zu verstehen warum
> etwas so und nicht anders gemacht wird.

Um ein Minisystem mit einem Mikroprozessor – wie z.B. dem Z80 – zum 
Leben zu erwecken, muss man selbstverständlich keinen fertigen 
Schaltplänen folgen, wenn man allerdings völlig selbständig so ein 
Minisystem entwerfen, bauen und inbetriebnehmen möchte, braucht man 
zumindest ein Grundwissen in diesem Wissenszweig, sonst kann es schnell 
passieren, dass man einen Kühlschrank auf dreizehn Rädern baut, um eine 
Münze von A nach B zu befördern oder einen Kuchen zu backen – das nur so 
als Veranschaulichung in Kfz-Mechaniker-, Elektriker- oder 
Maschinenbausprache. Mit einem „Haufen or-Gates” ist man dem Ziel 
womöglich schon sehr nahegekommen.

: Bearbeitet durch User
von Mario M. (thelonging)


Lesenswert?

Peter D. schrieb:
> Wie soll das gehen?
> Wo speicherst Du ohne RAM bei Call und Interrupts die Returnadresse?

CALL ohne RAM geht, indem man die Return-Adresse als DW in den ROM legt 
und vor dem CALL-Befehl SP passend lädt. Geschachtelte Unterprogramme 
oder Interrupt geht natürlich nicht.

von Thomas M. (schwuuuuup)


Lesenswert?

Peter D. schrieb:
> Der Z80 hat nur 64kB Adreßraum

Es sei denn man arbeitet mit Banking...

von Thomas M. (schwuuuuup)


Lesenswert?

Gregor J. schrieb:
> sonst kann es schnell
> passieren, dass man einen Kühlschrank auf dreizehn Rädern baut, um eine
> Münze von A nach B zu befördern oder einen Kuchen zu backen

Da wir kein Konkretes Ziel verfolgen wäre dies für mich ein großartiges 
Stück "Kunst"... Rube Goldberg lässt grüßen.

von Thomas M. (schwuuuuup)


Lesenswert?

Klaus F. schrieb:
> Ähhh, vielleicht ist eurer Ansatz irgendwie overengineered.
> Da der Z80 einen Adressraum von 64 kByte hat, wäre es am
> allereinfachsten diesen mir EINEM Eprom 32k und EINEM Ram 32k
> abzudecken.

Der Sinn ist es die Glue-Logic zu bauen und zu verstehen, es "Einfach" 
zu machen ist nicht zielführend

von Christoph M. (mchris)


Lesenswert?

Hier gäb's noch ein passendes "Bastelprojekt":
Beitrag "ZX81 plus38 Clone"

Das einfachste Experiment geht mit dem Z80 auf dem Steckbrett:
Beitrag "Re: ZX81 plus38 Clone"

: Bearbeitet durch User
von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Thomas M. schrieb:
> Der Sinn ist es die Glue-Logic zu bauen und zu verstehen, es "Einfach"
> zu machen ist nicht zielführend

Diese klebrige Logik ist in der Tat gut zu erkennen – bereits ab Post 1. 
Auch das mit den imaginären Freunden, Nachbarn oder Bekannten, auf die 
man alles schieben kann, ist nicht nur hier im Forum en vogue – die 
Muster wiederholen sich.

von Christoph M. (mchris)


Lesenswert?

Es gibt noch eine praktische "single step" Schaltung für das Debugging:
http://zed80.com/Z80-RETRO/Resources/Schematics/CPU%20Single-Step%20Clock.jpg

von Peter D. (peda)


Lesenswert?

Thomas M. schrieb:
> wenn wir versuchen, die Geschwindigkeit richtung 20MHz zu
> erhöhen.

Was soll das bringen?
Es gibt keine Notwendigkeit mehr, veraltete CPUs zu pimpen. Bleibe bei 
den üblichen 2MHz (= 0,5MIPS).

Und da Du eh keine anspruchsvollen Projekte in Assembler stricken können 
wirst, sollten schon 8kB EEPROM + SRAM dicke ausreichen. Darüber braucht 
es schon ne ordentliche Portion Programmiererfahrung.

Thomas M. schrieb:
> Ich muss noch mal unterstreichen, dass ich aus der Software Welt komme,

Das ist natürlich eine denkbar schlechte Voraussetzung für hardwarenahe 
Programmierung. Bei den kleinen 8-Bittern muß man schon effizient 
programmieren können und nicht verschwenderisch mit GigaBytes um sich 
schmeißen.

von Harald K. (kirnbichler)


Lesenswert?

Peter D. schrieb:
> Das ist natürlich eine denkbar schlechte Voraussetzung für hardwarenahe
> Programmierung.

Sieh es positiv: Da versucht jemand, den güldenen Zaun des mehrere 
Gigahertz schnellen PCs mit zig GByte RAM zu verlassen, und sich mit den 
"Basics" zu beschäftigen.

Die Idee allerdings, ausgerechnet lahme Diodenlogik statt stabil 
funktionierender OR-Gatter zu verwenden, und sich gegen die üblichen 
Varianten im DIL-Gehäuse zu sträuben, ist etwas merkwürdig. Einerseits 
wird man, wenn die "glue logic" diskret entwickelt wird, nicht nur ein 
einzelnes OR-Gatter benötigt werden, und andererseits: Auch wenn, dann 
nimmt so ein DIL14 auch nicht irrwitzig viel Platz weg. Und war nicht 
von einem Frickelbrett, der denkbar schlechtesten Grundlage für 
komplexere Aufbauten die Rede? Da ist so ein lahmes Dioden-OR vieles, 
aber nicht platzsparend und wegen der vielen beteiligten Kontakte auch 
nicht zuverlässig.

Ich habe damals DIL-Sockel in Lochrasterplatinen gelötet, die Kontakte 
mit Fädeldraht (aber keine Fädelkämme!) verbunden, und nach einer Weile 
die Bedeutung von Abblockkondensatoren und brauchbarer 
Versorgungsspannungsführung kennen und schätzen gelernt.

Auf die Weise konnte ich die Bestückungsdichte maximieren (Sockel an den 
Längsseiten ohne Zwischenraum plaziert, zwischen den Querseiten ein oder 
zwei Lochreihen freigehalten, und als Abblockkondensatoren 
SMD-Kondensatoren auf der Lötseite direkt an den Versorgungspins 
untergebracht.
Versorgungsspannungsführung mit direkt auf die Platinenunterseite 
gelötetem CU-Draht (ø 0.5mm o.ä.), Rest gefädelt.

Woran ich scheiterte, war ein brauchbarer DRAM-Controller, den habe ich 
mangels mir zur Verfügung stehender Messtechnik nie stabil hinbekommen 
(war ein 68xx-System mit 2 MHz Systemtakt (was einem 8-MHz-Z80-System 
entspricht). Damals hatte ich halt nur ein Einkanal-Ozilloskop mit 3 MHz 
Bandbreite und einem im Alt-Betrieb laufendem selbstgebastelten 
4-Kanal-Vorsatz ... Das Oszilloskop meinte, die Signale sähen sauber 
aus, aber das Speichertestprogramm war entschieden anderer Meinung.

Mit statischen RAMs aber waren z.B. mit 68k auch 20 MHz problemlos zu 
handhaben.

Zur Planung verwendete ich handgemalte Schaltpläne und einen auf 
Karopapier im Maßstab 2:1 aufgemalten Lötplan, jede Lötstelle ein Punkt, 
und mit feinem Tuschefüller den Signalnamen neben die Lötstelle 
geschrieben.

Ist halt lange her, knapp 40 Jahre.

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Harald K. schrieb:
> Sieh es positiv: Da versucht jemand, den güldenen Zaun des mehrere
> Gigahertz schnellen PCs mit zig GByte RAM zu verlassen, und sich mit den
> "Basics" zu beschäftigen.

Hier versucht jemand wieder einmal dummes Zeug zu machen, weil er in 
erster Linie einen „tollen” Thread haben wollte, sich aber sonst in der 
Thematik nicht genügend auskennt und das schließt ein, dass er gar nicht 
weiß, dass für das Einbinden des Mikroprozessors in ein Minisystem alle 
'Werkzeuge' in TTL-Form bereits vorhanden sind – das waren sie schon vor 
40 Jahren und das sind sie heute immer noch. „Fasziniert” von der 
Funktion eines OR-Gatters, was vermutlich bei irgendwelchen 
Erstschritten mit einem Gatter entstand, ist im Kopf eine Schnapsidee 
entstanden, die dann – beflügelt durch weitere Überlegungen – quasi zu 
einer Art fixen Idee und Orgie mit OR-Gattern wurde, um irgendein 
Verbindungsproblem, das es aber so gar nicht gibt, zu lösen. So eine 
Orgie hat in einem Mikroprozessor-System absolut nichts zu suchen, es 
sei denn, man will gezielt etwas falsch bauen, um zu zeigen, dass es 
z.B. bei moderater Arbeitsfrequenz trotzdem (bedingt) funktionieren 
könnte – für diese spezielle Aufgabe muss man aber sehr gut wissen, wie 
es richtig gemacht wird, um dann das normale Konzept in diese 
aberwitzige Richtung abzuwandeln, was hier leider nicht gegeben ist und 
deswegen am Ende im Grunde genommen nur Quatsch dabei herauskommen kann.

: Bearbeitet durch User
von Thomas M. (schwuuuuup)


Lesenswert?

Gregor J. schrieb:
> Hier versucht jemand wieder einmal dummes Zeug zu machen, weil er in
> erster Linie einen „tollen” Thread haben wollte,

Alter was raucht ihr?

Ich Frage "ich habe keine Ahnung und möchte lernen: ist es doof, wenn 
ich folgendes machen würde? [...]"

Dann antwortet einer: "ja, stimmt, ist doof" (Super, problem geklärt und 
ich hätte ab hier nicht weiterlesen dürfen)

Einer sagt: "ich habe das Problem mit ganz anderer Hardware simuliert, 
und damit geht's"

Dann muss ich mich rechtfertigen überhaupt gefragt zu haben

Und am Ende wird mir unterstellt das ganze für Internet Clout gemacht zu 
haben?

Als logische Schlussfolgerung kann ich nur feststellen, dass man mich 
als User hier offenbar vergraulen möchte, und dem habe ich nichts 
entgegenzusetzen.

Mein aufrichtiger Dank an alle, die sich sachlich beteiligt haben, aber 
nächstes Mal frage ich dann doch lieber wieder Chat GPT, die Antworten 
dort sind zwar auch nicht hilfreich, aber wenigstens freundlich /s

Ich schließe für mich diesen Track damit ab, habe den beobachten-haken 
rausgesetzt, somit könnt ihr weiterhin alleine euch über euch 
gegenseitig oder mich aufregen. Ich bin zu alt für so einen Scheiß

Liebe Grüße an alle die es verdient haben

von Hans (ths23)


Lesenswert?

Peter D. schrieb:
> Was soll das bringen?
> Es gibt keine Notwendigkeit mehr, veraltete CPUs zu pimpen. Bleibe bei
> den üblichen 2MHz (= 0,5MIPS).

Da braucht man nix zu pimpen, der Z84C0020PEC von ZILOG 
(https://www.mouser.de/datasheet/2/240/ps0178-3531828.pdf) kann das ganz 
ohne Pimpen

Harald K. schrieb:
> Da versucht jemand, den güldenen Zaun des mehrere
> Gigahertz schnellen PCs mit zig GByte RAM zu verlassen, und sich mit den
> "Basics" zu beschäftigen.
So ist es und das hilft für's allgemeine Verständnis durchaus. Ich hätte 
mich mit dem Z80 zu meiner Sturm und Drangzeit auch gern intensiver 
beschäftigt, aber das ging damals rein finanziell nicht. Zum Erlernen 
der Mikrocontroller Grundlagen ist der Z80 schon gut geeignet.

Gregor J. schrieb:
> Hier versucht jemand wieder einmal dummes Zeug zu machen
Manche Leut machen dummes Zeug, was eigentlich nicht dumm ist, während 
andere dummes Zeug schwätzen.
Ne die Idee vom TO ist schon OK, allerdings würde ich an der Stelle auch 
ein OR als echtes Logikgatter bevorzugen, zumal es die auch in 
verschiedenen Geschmackrichtungen gibt.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Norbert schrieb:
> In dieser Konstellation geht es bis ca. 20MHz ganz prächtig.

Hänge da mal eine realistische kapazitive Last dran und kontrolliere mit 
einem Oszilloskop. Es soll ja zuverlässig (nicht zufällig) 
funktionieren.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.