Adressdecodierung

OP #4283821
Hallo zusammen,

ich habe vor einen Bus für den Slaveselect am SPI zu bauen.
Der Bus soll 8bit breit sein um damit bis zu 256 Teilnehmer auswählen zu 
können. Pro Decoder hätte ich gern 8 Teilnehmer, also ein IC mit 
mindestens 20 Pins (8 Bus,8 Teilnehmer, 2 Spannungsversorgung).

Jetzt ist die Frage auf welche Technologie ich setzen soll.
EEPROM, GAL, CPLD oder uC?
Hat schon mal jemad so eine Aufgabe in letzter Zeit abgeschlossen und 
kann mir eine Kosten/Nutzen Info geben.

Danke!
Keines davon. GAL ist ein Stromfresser und kaum noch zu bekommen. uC 
bringt dir Verzögerungszeit zwischen Wahl des Slaves und Aktivierung des 
passenden Ausgangs. CPLD kostet viel. EEPROM mit 256*8 und parallel 
Ansteuerung kenne ich nicht. Da musst du was größeres nehmen und das 
kostet Platz.

Ich würde mehrere 74HC138 nehmen. Hat 8 Ausgänge, aktiv Low.
3 Eingänge wählen 1/8 aus. Ein "Chef" 74HC138 wählt einen von 8 
Unterverteilern aus (macht 6 ausgewertete Bits). Die restlichen 2 Bit 
kannst du über die drei G-Eingänge der Chefs passend anschließen.
(Firma: TravelRec.) Persönliche Seite
Michael S. schrieb:
> ich habe vor einen Bus für den Slaveselect am SPI zu bauen.
> Der Bus soll 8bit breit sein um damit bis zu 256 Teilnehmer auswählen zu
> können.

Nimm einen Bus, an dem Du 256 Teilnehmer ohne Select einfach über 
Adressen im jeweils ersten Byte eines Datenframes anschließen kannst, 
wie zum Beispiel RS485 mit 1/8 Load Teibern und entsprechend 
konfigurierten Controllern als Transceiver. Spart einen Haufen Leitungen 
und ist ultrakompakt und störsicher. Mit 10Mbit-Treibern ist das Ganze 
auch noch pfeilschnell.
Gast
SPI ist kein Feldbus!

sonder ein Systembus der das Gerät nicht verlassen soll.
Deswegen hat er in unteren Schichten auch keine Absicherung.
ab 8 Teilnehmern und ca. 20cm  Länge  wird es schwierig
und die Taktrate muss auch stark reduziert werden.
OP
@Volle
Ich habe nicht vor das Gerät zu verlassen!
Es geht darum auf einen Orange Pi 2 mehrere Extension Boards zu stacken 
und dabei einen Adressbus und einen Datenbus zu verwenden, wobei der SPI 
für z.B. ADCs und DACs verwendet werden soll.
Für die I/Os werde ich dann den I²C benutzen.
Das ganze soll Modular sein.
Busqualität bekomme ich dann schon in den Griff.

@Knut Ballhause
Option RS485... bis zu welcher Teilnehmerzahl welche Lösung die 
überlgene ist...?

@Georg G.
Das Hintereinanderschalten ergibt wieder Laufzeiten und mit Stacking 
wirds dann auch schwierig, da sich die Teilnehmer ja auf einer anderen 
Platine befinden und der Daten und Adressbus ja 1:1 weiter geleitet 
werden soll.
Michael S. schrieb:
> Das Hintereinanderschalten ergibt wieder Laufzeiten

Mit zwei 1/8 Decodern hintereinander hast du Laufzeiten von max 90ns. Da 
/SS nur einmal am Anfang der Übertragung aktiviert wird, sollte das 
tragbar sein. Aber viele Wege führen nach Rom.
Interessant wird, wie du das Fanout bei 256 Teilnehmern mit den 
Datenleitungen in den Griff bekommen willst.
OP
@ Georg G.
Das wird ein anderes Thema.
Die 256 sind von mir vorerst angestrebt, im weiteren Verlauf wird sich 
dann zeigen bis zu welcher Anzahl von Teilnehmern das ganze 
Funktioniert.
Für mich ist momentan hauptsächlich von Interesse wie man die 
Adressierung umgesetzt bekommt. Sollte die maximale Teilnehmeranzahl 
geringer werden, dürfte das donwsizing sicherlich kein großes Problem 
darstellen.

Aber ich behalte deinen Ansatz mal im Auge ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 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.