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
- 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
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
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
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..
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.