Bus-Interface multiplexen

OP #1297928
Hi,
ich würde gerne einen STR710FZ2 an einen S1D13743 anschließen. Der 
STR710 hat ein recht simples Bus-Interface, das nicht gemultiplext ist. 
Es sind also A[0..23] und D[0..15] getrennt als eigene Pins 
herausgeführt. Der S1D13743 hat nun aber nur die Pins MD[0..15], die für 
16Bit Daten und Adressen stehen. Zusätzlich verfügt der IC über ein 
DC-Signal, das angibt ob gerade Adresse (Low-Pegel) oder Daten 
(High-Pegel) anliegen.

Jetzt frage ich mich, ob ich eine Chance habe das ganze sinnvoll 
miteinander zu verdraten?
Gast #1297972
Ich befürchte beihnahe du mußt dir einen Converter bauen, der beide 
Busse zueineinader kompatibel macht. Du mußt sozusagen den STR710FZ2 
auch multiplexen. Hinzu kommt dann auch noch, daß der STR710FZ2 mehr 
Adressleitungen hat als der S1D13743. Du kannst also nicht den vollen 
STR710FZ2 benutzen. Eine andere Möglichkeit sehe ich erstmal nicht.
OP #1297996
Ich dachte nun daran zwei Bus-Switches zu nehmen, z.B. hiervon 
"SN74CB3Q16244". Auf der Host-Seite an je einen IC die Adressen und 
Daten anlegen. Auf der Seite des S1D13743 werden die 16Bit jeweils 
miteinander verknüpft. Über die Output-Enable-Leitungen der Switches 
kann man nun entweder Daten oder Adressen durchlassen. Die 
Output-Enable-Leitungen kommen an eine weitere Adressleitung und lassen 
sich durch das Bus-Interface steuern. Noch ein wenig Logik dazwischen 
und fertig ist der Drahtverhau.

Das ermöglicht mir nacheinander Daten oder Adressen zu schreiben. Ich 
muss dann Softwaretechnisch, dafür sorgen das zunächst die Adresse und 
dann die Daten geschrieben werden.
Das ist auch nicht so schlimm, da der S1D13743 die Adresse automatisch 
inkrementiert bei jedem Lesen und Schreiben.

Bessere Vorschläge?
OP #1298031
A. K. schrieb:
> Ich habe mir das nicht en Detail angesehen, aber vielleicht kann man das
> zu Fuss multiplexen, vielleicht ist das auch exakt so vorgesehen.
>
> Indem man A0 des Controllers als Adress/Daten-Signal werwendet und vor
> dem eigentlichen Datentransferzyklus mit A0=1 einen Schreibzyklus mit
> der gewünschten Adresse als Datenwort und A0=0 durchführt. Ist natürlich
> weniger elegant als direkte Adressierung, aber kommt ohne Hardware aus.

Ich kann aber ja nicht einfach die Datenleitungen und die 
Adressleitungen zusammenbinden ohne das dort ein IC für die nötige 
Trennung sorgt.
#1298035
Deine Beschreibung klingt ganz so, als ob der Adressbus des Controllers 
dafür weder vorgesehen noch notwendig ist. Ausser A0.

D.h. du verbindest A0 mit der besagten Adress/Datenleitung und die 16 
Datenleitungen (plus Steuerkram) schreibst mit A0=0 erst die Adresse als 
Daten in das Gerät und liest/schreibst anschliessend mit A0=1 die 
eigentlichen Daten.

Im Adressraum des Controllers belegt das Gerät also nur 2 Adressen, eine 
für die Adresse, eine für die Daten.
OP #1298102
Ahh jetzt klingelts bei mir.
Du meinst also die Datenleitungen verbinden und das Schreiben der 
Adresse, erfolgt dann indem man einfach erstmal eine Adresse in Form der 
Daten schreibt.
Das ist doch eine sehr gute Lösung von dir, Danke!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.