Forum: Mikrocontroller und Digitale Elektronik Decodier-Logik neu anpassen


von Ingolf O. (headshotzombie)


Angehängte Dateien:

Lesenswert?

Hallo,
auch wenn sich das Folgende wie eine Uni-Aufgabe liest, ist es nicht so.
Es liegt nur an den vorhandenen Defiziten, die Anpassung selbst 
vornehmen zu können.
Also, worum geht es:
In der angehangenen Schaltung wird ein DiskOnModul mit einer von 3 
wählbaren Adressen selektiert, deren Decodierung mittels 74HCT138 
erledigt wird, wovon aber insgesamt 2 St. benötigt werden.
Ich habe aber in vergleichbaren Schaltungen häufig den 74HCT688 und 
diesen auch nur 1x benötigt, vorgefunden!
Die Änderung der Decodierung ist mir allerdings wegen fehlender 
Kenntnisse nicht möglich. Das mir vorliegende DB zum IC beinhaltet 
dbzgl. leider keine Applikationshinweise.

Mein Ziel ist es jedenfalls, eine Gesamtschaltung zu erhalten, wo 
wahlweise bis zu 3 DOMs mit 32MB mit je einer der 3 Adressen 
festverdrahtet möglich sind. Also DOM_1 mit C8000, DOM_2 mit D0000 und 
DOM_3 mit D8000 dauerhaft von je einem 74HCT688 selektiert werden!
Im Anhang befindet sich ein weiterer Plan, der eine Kombination von 
einem DOM und einem RTC zeigt, wo beide Schaltungsteile ihre Adresse von 
einem 74HCT688 beziehen. Die Adressierung mittels 8-fach DIP-Schalter 
ist für meine Anwendung oversized, kann aber sicher als Beispiel 
fungieren, wie die endgültige Decodierlogik aussehen könnte bzw. müßte.

Danke schonmal für Eure Bemühungen, mir bei der Problemlösung behilflich 
zu sein!
Ingo

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Diesen wild zusammengewürfelten Schnipseln kann ich nicht entnehmen, was 
du hast und was daraus werden soll. Zu viel Text, zu wenig konkrete 
Schaltpläne.

Allerdings: Da du mit solchen simplen Logikgattern (ohne 
"Applikationshinweise") schon nicht klar kommst, sehe ich keine reale 
Chance, hier weiter zu kommen.

Ich empfehlen dir, die Grundlagen zu Logikgattern zu lernen und auf 
einem Steckbrett mit Schaltern und Leuchtdioden auszuprobieren, damit du 
ein Gefühl dafür bekommst, wie sie funktionieren. In einem halben Jahr 
kannst du dann nochmal auf diese DiskOnModule zurück kommen.

von Thomas Z. (usbman)


Lesenswert?

Dein PDF zeigt die Anbindung des Moduls an einen ISA 8Bit Bus (für einen 
alten PC). Die Decodierung ist dafür ausgelegt die ISA Steckkarte unter 
3 verschiedenen Addressen im 1MB Addressraum einzublenden.

Den Rest deiner Ausführungen, insbesondere die Sache mit den 688er, 
verstehe ich leider nicht. Kann es sein dass du nicht verstehst wie ein 
DOM funktioniert? Ist die die IDE Spec ein Begriff? Wo sollen die DOMs 
denn eingebaut werden?
Deine Address Angaben sind jedenfalls falsch.

von Ingolf O. (headshotzombie)


Lesenswert?

Na, Stefan, Du scheinst Dich ja beim Chess Master Diamond komplett 
verausgabt zu haben! Also sorry, dass ich Deinen Ansprüchen nicht 
genügen kann.

von Stefan F. (Gast)


Lesenswert?

Ingolf O. schrieb:
> Na, Stefan, Du scheinst Dich ja beim Chess Master Diamond komplett
> verausgabt zu haben! Also sorry, dass ich Deinen Ansprüchen nicht
> genügen kann.

Was ist "Chess Master Diamond"?

Wenn du hier deine Helfer verhöhnst, kannst du gleich einpacken. Jetzt 
wird dir keiner mehr helfen, weil keiner ebenso behandelt werden will.

von Karadur (Gast)


Lesenswert?

688 passt gar nicht.

Die linke Schaltung hat doch alles was du brauchst. Rechts von den 
Steckbrücken dann 3x.

von Ingolf O. (headshotzombie)


Lesenswert?

Es ist richtig, Thomas, das die Schaltungen die Anbindung eines DOMs an 
den 8bit-ISA-Bus eines XT-PCs zeigen und damit ein Controller sind. Die 
DOMs fungieren als Speicherlaufwerke und werden über das PC-BIOS 
angesprochen. Dazu ist je DOM eine Adresse auszuwählen bzw. vorgegeben, 
die mit der Decodierung des HCT138 bzw. auf andere Weise im HCT688 
erfolgt. Dabei möchte ich den Aufwand in der Anzahl verwendeter ICs, 
aber auch bei der mechn. Adreßselektierung minimieren, um die LP z.B. in 
einem EURO-PC einsetzen zu können.
Was soll an den gen. Adressen denn nicht stimmen? Die stehen doch so 
schon im linken Plan drin!

Ingo

@Karadur
Dein "paßt gar nicht" kann ja nicht stimmen, wenn die rechte Schaltung 
damit korrekt funktioniert.
Und ja, die linke Schaltung hat alles, ist aber aufwändiger! 3 DOMs, 6 
74HCT138, 3 Jumperfelder u.a.m. Das geht mit weniger Aufwand und weniger 
LP-Größe.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Also da hätte das PDF gereicht zusammen mit der der Frage wie es geht 3 
DOMs auf die Platine zu setzen die jeweils unter den angegebenen 
Addresse eingeblendet werden....

Von was für Controllern sprichst du? Da ist kein Controller. Du brauchst 
eine Zielhardware die im BIOS schon Support für diese DOMs bietet, da 
dein Decoder keine IDE Schnittstelle bereitstellt. Ob dein System mit 3 
DOMs umgehen kann und alle 3 Adressenreiche frei sind hast du ja 
wahrscheinlich geprüft. Ich kenne deinen EuroPC nicht, habe aber einen 
Verdacht, dass das ein System von Taskit sein könnte.

Der Rest ist simpel: Einfach anstelle des Jumperblocks die Leitungen 
direkt als /CS verwenden und ev die A13 und A14 noch einweben. Geeignet 
wäre dafür z.b ein Dual 2to4 Decoder HC148 ???

von Karadur (Gast)


Lesenswert?

688 liefert nur einen Adressblock. Der 138 liefert alle 3 gleichzeitig 
an den Jumpern.

von Georg (Gast)


Lesenswert?

Ingolf O. schrieb:
> deren Decodierung mittels 74HCT138
> erledigt wird, wovon aber insgesamt 2 St. benötigt werden.
> Ich habe aber in vergleichbaren Schaltungen häufig den 74HCT688 und
> diesen auch nur 1x benötigt, vorgefunden!

2 HCT138 kosten 96 Cent, in SMD sogar nur 28. Ist das für dich so ruinös 
dass du eine andere Schaltung entwickeln musst, obwohl alles 
funktioniert?

Georg

von Thomas Z. (usbman)


Lesenswert?

und um deine Eingangsfrage zu beantworten.
Du brauchst 1 x 138 und 1.5 x 148 um das Problem adäquat zum PDF zu 
lösen oder alternativ sollte es auch mit 2 138er gehen. Stell einfach 
mal eine Wahrheitstabelle auf. Mit 688er wird's auch irgendwie gehen, 
aber die sind m.M. nach EOL und eher ungeeignet.

von Thomas Z. (usbman)


Angehängte Dateien:

Lesenswert?

im Anhang mal ein Beispiel wie man das machen könnte. Vollständig 
ausdecodiert, d.h. A13 und A14 müssen low sein.

von Ingolf O. (headshotzombie)


Lesenswert?

Boa-eh, 2x 74HCT138 um die 3 DOMs auszuwählen?!
Z.Z. habe jeweils 2 je DOM, was eine tolle Effizienz bedeuten würde.
Und da meine ich nicht die Kosteneinsparung, nicht wahr Gerhard, sondern 
den deutlich geringeren Platz auf der LP. Damit würde der Einsatz im 
Schneider-Euro-PC definitiv kein Problem sein, bei einer Slotlänge von 
ca. 10cm.
Meinst Du, Thomas, ich kann das Layout dazu routen und in Fertigung 
geben?
Auf alle Fälle erstmal eine Danke an Dich - ich muss jetzt Eagle 
fordern!

Ingo

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Thomas Z. schrieb:
> Vollständig
> ausdecodiert, d.h. A13 und A14 müssen low sein.

Hmmm. Das soll so tun? Ich wuerd' mal mutmassen, dass bei dem rechten 
138 nur einer der Ausgaenge 3,5,6,7 auf low gehen koennte. Wieso sollte 
da was an 0,2,4 haengen?
Das wuerd' ich erstmal noch nicht in Kupfer giessen.

Gruss
WK

von Thomas Z. (usbman)


Lesenswert?

Na ja zu den Einschränkungen hab ich ja schon was geschrieben. Der 
komplette Addressraum muss frei sein, ich kenne die Memory Map des 
Schneider PCs nicht.

Der Dekoder blendet 8k Sektor Addressen in den Addressraum ein. Falls 
das BIOS keine spezielle Unterstützung für solche DOMs hat, kannst du 
nicht davon booten. Der Zugriff geht dann nur über eine Treiber den du 
ev selber schreiben musst. Diese simple Schaltung stellt kein IDE 
Interface bereit.

Der Decoder selbst funktioniert korrekt. Wenn du das Ding irgendwie 
Bootfähig haben willst must du ein extra Bootrom mit einer BIOS 
Extension dazu bauen. Das funktioniert dann so ähnlich wie die Bootroms 
auf alten Netzwerkkarten. Näheres dazu sollte in den RBIL Docs zu finden 
sein.

Edit WK hat Recht ich hab die falschen Ausgänge eingezeichnet.

: Bearbeitet durch User
von Dergute W. (derguteweka)


Lesenswert?

Moin,

Wo ich drueberstolper ist sowas wie: Damit /CS_DOM1 auf low geht, 
muesste ja /CS_C8XXX, /CS_D0XXX und /D8XXX gleichzeitig low sein. Wie 
soll das passieren, wo die aus einem 138 rauskommen, bei dem 
definitionsgemaess immer nur hoechstens ein Ausgang low sein kann?

edit: zu langsam getippt...

Gruss
WK

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Ingolf O. schrieb:
> Mein Ziel ist es jedenfalls, eine Gesamtschaltung zu erhalten, wo
> wahlweise bis zu 3 DOMs mit 32MB

MB ? Im 1MB ISA Adressraum ?
Ich weiss auch nicht, warum die disc on chip heissen, die EEPROMs  sind 
ja schon voll bevor eine FAT mit Stammverzeichnis angelegt ist.
Gigantisch übertriebenes Werbegeschwätz.
War da nicht auch mal was mit 16 bit auf ISA ?

> mit je einer der 3 Adressen
> festverdrahtet möglich sind.

Na dann häng halt vor /CE jedes der 3 DOC2000 je einen 74HC688.

Die Schaltung kann ja nur besser werden.

Da 32kB aber nur 5 bit Adresse brauchen, kommen die übrigen 3 Eingänge 
des 688 eben auf Masse.

von Ingolf O. (headshotzombie)


Angehängte Dateien:

Lesenswert?

@Mawin
So sieht der Plan bei mir seit paar Tagen auch aus, wie Du es eben 
geschildert hast. Oder vermute ich da falsch?
Summasummarum ist das die rechte Schaltung von oben verdreifacht und 
ohne dem RTC. Der Aufwand mit den Mäuseklavieren ist mir aber eben zu 
oversized und nimmt auch unnütz viel Platz im Layout ein.
Die Anregung stammt von ==> 
https://www.smbaker.com/8-bit-isa-diskonchip-rtc-board

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Ingolf O. schrieb:
> Der Aufwand mit den Mäuseklavieren ist mir aber eben zu
> oversized

Wenn dir die Mäuseklavier zu groß sind, lass sie weg und benutze die 
Jumper. Oder nagel die Adresse gleich ganz fest, wenn du die 
Konfiguriererei nicht brauchst.

von Stefan F. (Gast)


Lesenswert?

Wolfgang schrieb:
> Wenn dir die Mäuseklavier zu groß sind, lass sie weg

Und benutze den frei gewordenen Platz für die IC, die dir zu viel waren.

von Ingolf O. (headshotzombie)


Lesenswert?

Wolfgang schrieb:
> Ingolf O. schrieb:
>> Der Aufwand mit den Mäuseklavieren ist mir aber eben zu
>> oversized
>
> Wenn dir die Mäuseklavier zu groß sind, lass sie weg und benutze die
> Jumper. Oder nagel die Adresse gleich ganz fest, wenn du die
> Konfiguriererei nicht brauchst.

War ja von mir oben bereits geschrieben worden! Denn was soll das Ganze, 
wenn daran sowieso nichts mehr geändert wird.
@Stefan
Ich schrieb doch schon, seit dem "Chess Master Diamond - Buzzer läuft 
ständig" bist Du, beim Fussballer würde man sagen, überspielt! Du bist 
jedenfalls drauf und dran, Dein Image bei mir so peaux a peaux bröckeln 
zu lassen. ;)

von Stefan F. (Gast)


Lesenswert?

Ingolf O. schrieb:
> Ich schrieb doch schon, seit dem "Chess Master Diamond - Buzzer läuft
> ständig" bist Du, beim Fussballer würde man sagen, überspielt!

Ich habe keine Ahnung was das heißen soll. Was habe ich mit diesem 
ominösen Chessmaster zu tun? Auch mit Fußball habe ich absolut gar 
nichts zu tun.

von Ingolf O. (headshotzombie)


Lesenswert?

Sorry, Stefan, da scheine ich mich in der Tat vertan bzw. irgendwas 
verwechselt haben! Ich wollte lediglich zum Ausdruck bringen, das ich 
von Dir schon deutlich bessere Aussagen gewohnt war. Das hast Du hier 
nach meinem Gefühl eher ins Gegenteil verkehrt. Aber man kann nicht 
jeden Tag gut drauf sein.

von Stefan F. (Gast)


Lesenswert?

Ingolf O. schrieb:
> ich von Dir schon deutlich bessere Aussagen gewohnt war.
> Das hast Du hier nach meinem Gefühl eher ins Gegenteil verkehrt.

Haha, jetzt verstehe ich dich. Ich nehme das mal unkommentiert an.

von Thomas Z. (usbman)


Lesenswert?

Ich habe gestern noch mal gegoogelt. Diese DOMs stellen komplette HDD 
Controller dar. Sie verfügen über eigene BIOS Extensions und wickeln den 
Datentransfer über das 8k Memory Interface ab.
Das ist vergleichbar mit den alten XT HDD Controllern die ja auch mit 
eigenem BIOS daherkamen.

Entgegen meinem Plan von gestern hängt DOM1 an Y6 DOM2 an Y5 und DOM3 an 
Y3

von Ingolf O. (headshotzombie)


Lesenswert?

Genauso ist, wie Du es schriebst, Thomas, ich kenne diese DOMs noch aus 
Thin client-PC-Zeiten, wo sie diese Nutzung hatten.

Danke für die Korrektur, die ich umgehend einarbeiten werde; es war also 
noch nicht zu spät. Das Einfügen je einer Aktivity-LED je DOM will auch 
noch erledigt sein, aber dazu ist im obigen rechten Plan eine 
Vorleistung enthalten, wo der 10k-Pullup 220R wird und in Reihe dazu die 
LED.

von Thomas Z. (usbman)


Lesenswert?

Die LEDs kannst du auch direkt an die CS Leitungen hängen (gegen VCC) 
den Vorwiderstand würde ich größer machen. Je nach LED zwischen 680R und 
1k.
Extra Treiber braucht es nicht schaden aber auch nicht.

Eine andere Idee die vermutlich auch funktionieren wird:
Das BIOS scannt in 2k Schritten nach BIOS Extensions.
Man könnte also die Selektion mit den Jumpern lassen und die Selektion 
der DOMs mit dem 2. 138 über A13 und A14 machen. Damit wären dann bis zu 
max 4 DOMs möglich. Diese Lösung hätte den Charme, dass nur ein 
selektierbarer 32k Block belegt wäre. Das wäre sogar die kompatibler 
Lösung, da es sonst ev zu Problemen mit einer Herkules Karte kommen 
kann.

: Bearbeitet durch User
von Ingolf O. (headshotzombie)


Lesenswert?

Liest sich sehr interessant, Thomas! Solltest Du dazu eine nachnutzbare 
Schaltung entwickeln, würde ich diese gern alternativ übernehmen.
Aber bitte kein easter egg einbauen. ;)

von Thomas Z. (usbman)


Angehängte Dateien:

Lesenswert?

so kkönnte das aussehen, diesemal mit einem 2to4 mux. Die 2. Hälfte kann 
dann die Leds ansteuern.


Ein kleines Easter Egg ist drin .. Konnte ich mir jetzt nicht verkneifen
Bei IC2B ist A13 und A14 vertauscht :-)

: Bearbeitet durch User
von Ingolf O. (headshotzombie)


Lesenswert?

O.k., aber wieso ist jetzt eine Jumperung eingefügt? Ich möchte doch 
jedem DOM "seine" Adresse zuweisen. Ich bin für ein einmalige 
Festverdrahtung ohne Anlaß einer Adressänderung. Bin jetzt leicht 
irritiert wie Du merkst...

Achja, ich kann allerdings den Sinn dieser Schaltung im Zusammenhang mit 
dem 4. DOM nicht erkennen?
Oder sind dazu beide Y3 vorgesehen und nur nicht verschaltet mit dem 4. 
DOM?

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Die Adressierung der DOMs ergibt sich automatisch. Die belegen jeweils 8 
KByte.
Beispiel:
Jumper auf C8xx
DOM1  C8000 .. C9FFF
DOM2  CA000 ..CBFFF
DOM3. CC000 .. CDFFF

bedeutet die Karte belegt nur 24K zusammenhängend im Adapterbereich. Die 
andere Version würde jeweils 3 mal 8k in den unterschiedlichen 
Speicherbereichen belegen.
Die Gefahr dass es Adresskonflikte gibt ist bei der ersten Version viel 
größer.

von Ingolf O. (headshotzombie)


Lesenswert?

Ja, das macht Sinn! Bliebe nur die Frage nach dem 4. DOM, welches Du 
selbst ins Gespräch brachtest.

von Thomas Z. (usbman)


Lesenswert?

Ingolf O. schrieb:
> Oder sind dazu beide Y3 vorgesehen und nur nicht verschaltet mit dem 4.
> DOM?

Genau so ist es, das 4. Modul hab ich nicht eingezeichnet. 4 DOMs 
ergeben nicht so viel Sinn oder?
Wäre aber möglich.

von Ingolf O. (headshotzombie)


Lesenswert?

Nun, man muss ja keine Vollbestückung vornehmen, wenn eine abgespeckte 
Version ausreicht! Jeder nach seinem Bedarf an Speicher bzw. 
DOM-Verfügbarkeit etc.
Bei den LEDs gehst Du doch sicher von low currents aus, oder?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ingolf O. schrieb:
> Bei den LEDs gehst Du doch sicher von low currents aus, oder?

Normale LEDs sind inzwischen bei weniger als 1mA heller, als die alten 
Low-Current LEDs bei 2mA. Gibt es die überhaupt noch in neu?

von Thomas Z. (usbman)


Lesenswert?

Ingolf O. schrieb:
> Bei den LEDs gehst Du doch sicher von low currents aus, oder?

Ja klar du wirst solche trüben Funzeln sicher nicht mehr kaufen können 
die 220R als Vorwiderstand bei 5V brauchen.

von Stefan F. (Gast)


Lesenswert?

Thomas Z. schrieb:
> Ja klar du wirst solche trüben Funzeln sicher nicht mehr kaufen können

Sollte man meinen, aber Conrad hat seinen bestand aus den 80er jahren 
wohl  immer noch nicht unters Volk gebracht: 
https://www.conrad.de/de/p/tru-components-1573738-led-bedrahtet-rot-rund-5-mm-8-mcd-50-20-ma-2-1-v-1573738.html

Der selbe Hersteller hat auch welche, die 300 mal so hell sind (gleiche 
Bauform, wohlgemerkt).

von Thomas Z. (usbman)


Lesenswert?

Naja nichts nervt mehr als super helle LEDs die Aktivität anzeigen. Ich 
betreibe deshalb die billigsten SMD LEDs von Reichelt (RND) mit 1k bei 
3.3 Volt. Das ist für wild blinkende Indikatoren für mich genau richtig.

von Ingolf O. (headshotzombie)


Lesenswert?

Nichts was kritisch ist, da die LEDs lediglich auf der LP sitzen. Da 
geht es weder um Helligkeit oder sonstwas.

von Ingolf O. (headshotzombie)


Angehängte Dateien:

Lesenswert?

Ich habe heute von einem Bekannten einen Lösungsvorschlag mit der Bitte 
erhalten, diesen zur Diskussion zu stellen. Nicht daran stossen, dass 
die 1. Adresse hier C0XXX ist.

Ich füge auch mal einen neu recherchierten Link hinzu, aus dem 
hervorgeht, dass die DOS-Software von M-Systems nur 2 DOM auf einer 
Adresse unterstützt. Wenn man also bei 4 DOMs bleiben möchte, müßte die 
Logik erneut geändert werden. Ist aber reine Theorie! => 
http://www.digital-circuitry.com/MyLAB_IC_PROG_DISKONCHIP.htm

: Bearbeitet durch User
von Ingolf O. (headshotzombie)


Lesenswert?

Nachtrag:
Eventuell macht ja fdisk von DOS aus den 4 DOMs auch ein Laufwerk...

von Dergute W. (derguteweka)


Lesenswert?

Ingolf O. schrieb:
> Nachtrag:
> Eventuell macht ja fdisk von DOS aus den 4 DOMs auch ein Laufwerk...

Ernie sagte in einem richtungsweisenden Sketch
> Ja, Bert, Ja.
> Wenn ich die Glocke bewege, dann laeutet sie.
> Aber es koennte doch auch sein, dass ein Monster kommt und auf der Floete 
spielt...

Will sagen: So ein Adressdecoder ist doch echt keine 
Raketenwissenschaft. Wenn du's selbst nicht kannst aber unbedingt machen 
willst, dann lern's lieber, als irgendwelche Links ausm Internet zu 
sammeln und irgendwas zusammenzuspaxen, von dem du keine Ahnung hast.

Gruss
WK

von Thomas Z. (usbman)


Lesenswert?

Ingolf O. schrieb:
> Eventuell macht ja fdisk von DOS aus den 4 DOMs auch ein Laufwerk...

Nein fdisk baut ganz sicher nicht ein großes LW aus mehreren DOMs. Wenn 
überhaupt kann das nur ein spez. Treiber in der Config.sys.

In dem Link sehe ich nichts was auf ein Limit auf nur 2 LWs hindeutet.

Wie viele LWs letztendlich unterstützt werden hängt vom Design der BIOS 
Extension ab, auf die du keinen Einfluss hast. Es ist durchaus auch 
möglich, dass du nur ein LW (das letzte bestückte) bekommst. Das würde 
z.B. passieren, wenn beim Scan immer der Disk Interrupt überschrieben 
wird anstelle die Extension in den Interrupt einzuhängen. Das Maximum 
dürfte bei 4 LWS liegen, wenn ich das richtig in Erinnerung habe, kann 
der Disk Interrupt nicht mehr.

Dein neuer Entwurf wird vermutlich auch gehen, aber Finger Weg vom F0xxx 
und F8xxx Bereich. Da liegt das PC BIOS.

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.