www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Addressbus Latch


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gern drei Platinen erstellen, die die selbe Ausstattung 
aufweisen.
Über den Address- und Datenbus des µC sollen jetzt die entsprechenden 
Daten geschickt werden - nacheinander werden die Daten für die erste, 
zweite und dritte Platine übertragen. Auf jeder der drei Platinen 
befindet sich zu Beginn ein Latch in dem die Daten zwischengespeichert 
werden, die vom Datenbus ankommen und für die jeweilige Platine bestimmt 
sind. Mit dem Addressubs hab ich aber noch meine Probleme bei der 
Realisierung.

Ziel ist es, dass die drei Platinen wirklich identisch sind, d.h. 
gegeneinander ausgetauscht werden können. Wenn ich jedoch einen 
3-to-8-Decoder verwende ist dies nicht der Fall, da bei jeder dieser 
drei Platinen natürlich ein anderer Ausgang mit dem Latch verbunden 
werden muss.

Welche Möglichkeiten gibt es noch?

Martin

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Für jede der 3 Karten ein getrenntes CS-Signal (Chip select) auf der 
Backplane zum selektieren.
- Jede Karte bekommt einen Jumper der für jeder Karte unterschiedlich 
gesetzt wird.
- Jede Karte liest von der Backplane 2 Pins ein, welche die Karte 
identizieren und konfigurieren.

Klaus

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit dem SPI bus?, der ist zwar seriell, das prinzip könnte 
aber auch auf 8bit aufgeweitet werden:

Master              Karte1             Karte2              Karte3
 => ------------------X-----------------X--------------------X-----o
                                                                   |
 <= ---------------------------------------------------------------o

X: Schieberegister zB 74xx595
Annahme: jede karte benötigt 1Byte eingang(vom µC zur Karte)
    und 1Byte Ausgang (von der Karte zum µC)

schiebt jetzt der µC der reihe nach Byte 1,2,3 heraus, so landet byte in 
der karte3, byte2 in der karte2 und byte3 in der kart1. und die bytes, 
die vorher im srg (also in der karte im schiebereg) waren, landen im µC

Somit landet immer das Byte, was zuerst gesendet wird an der "letzten" 
karte (die die am weitesten weg ist) usw. es bestimmt also die 
"steckreihenfolge" über die "adresse"

möchtest du daten explizit einer karte zuordnen, egal wo sie steckt, 
musst du mit adressen(schaltern) arbeiten, siehe Beitrag  Klaus Falser

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die sehr interessanten beiträge....

Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetzt mal die Lösung mit dem Dip-Schalter umgesetzt... noch eine 
Frage hab ich aber, nachdem es sich um 3 Platinen handelt besitzt jeder 
Dip-Schalter drei Schalter... jetzt kann es passieren, dass zwei 
Dip-Schalter die gleiche Konfiguration aufweisen (sprich die gleiche 
Einstellung haben)...

welche Möglichkeit habe ich, dass im µC erkennen zu können? So dass ich 
den User drauf hinweisen kann...

Martin

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Adressierung von drei Karten benötigt man nur zwei Schalter.

Ja, auf Anhieb fällt mir da nur ein, dass du das über das Erkennen von 
Kolissionen auf dem Bus machen musst. Wüsste sonst auch nicht wie..

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>hab jetzt mal die Lösung mit dem Dip-Schalter umgesetzt... noch eine


Hmm. Ich würde nochmal über die Lösung von Klaus via Backplane 
nachdenken. Deine drei Karten stecken ja in einer Art 
Motherboard/Backplane. Dort kannst du problemlos und ohne DIP-Schalter 
jedem Steckplatz eine individuelles Chip-Select Signal zur Verfügung 
stellen. Plug&Play. DIP-Schalter sind out, Gott sei Dank.

MFG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.