SPI-Bus, Eingangskapazität und max. Anzahl Bauteile

Gast #352502
Lesenswert?

Hallo!
Zur Zeit entwickle ich einen Schaltplan wo 16 MAX3100 (SPI-UART) an
einem SPI-Bus eines atmega168 hängen sollen. Die MAX3100 haben eine
Eingangskapazität von 5pF.
Um das System möglichst schnell laufen zu lassen wollte ich die
maximale SPI-Frequenz des mega168, der mit 20MHz getacktet ist,
verwenden.
Um die Ausgänge des mega zu entlasten hatte ich vor einen Buffer (z.B.
2x 1/6 74AC14 hintereinander) anzuschalten. Die Frage ist nun ob ein
Buffer ausreicht oder ob ich lieber den SPI-Bus segmentiere (also 2x8
oder 4x4 MAX3100 mit einzelnem Treiber). Man müsste natürlich auch
beachten das die SDO Ausgänge der MAX3100 auch alle zusammenhängen und
hier kein Treiber vorgesehen werden kann...
Gibt es eine Grundregel die man bei solchen Konstellationen beachten
sollte und die ich noch nicht kenne? :)

Für die Abfrage der UART's Bauteile habe ich mir eine
Multiplex-Schaltung überlegt mit der der MCU alle Bauteile schnell
durchscannen kann. Sobald ein UART z.B. Daten hat, bekommt der MCU auf
#INT ein Signal und kann dann den entsprechenden Baustein wählen indem
#CS auf LOW gezogen wird. Wie ist Eure Meinung dazu? Sieht vielleicht
jmd noch einen Fehler?

Vielen Dank im voraus!
Grüße

Bernhard
Angehängte Dateien:
Gast #352504
Lesenswert?

moin moin,

laut Datenblat liegt die max. Taktfreq. des 3100 bei 4,2MHz.
In dem splitting des INT sehe ich keinen Sinn. Die Ansteuerung des
Decoder/Multiplexer erfolgt binär, also ist doch die Adresse des INT
bekannt.

Mit Gruß
Pieter
Gast #352505
Lesenswert?

arc: Wir haben noch einige von den MAX3100 rumliegen, die sollen verbaut
werden :)

Pieter: Meinst Du es funktioniert wenn man den SPI-Bus aller 16
Bausteine zusammenschließt? Ich habe die Befürchtung das die 80pF
Eingangskapazität etwas viel sind bei 4,2MHz Busfrequenz... Deswegen
dachte ich an die Aufteilung.
Zu den INT's: Welches Splitting der INT's? Ich mache im AVR erstmal
nichts anderes als die Decoder/Multiplexer in einer Endlosschleife von
0-15 durchzuscannen. Ist bei einem der INT-Ausgang LOW springt der AVR
in die interrupt-routine und prüft was denn ansteht. Um den passenden
MAX dann zu selektieren muss einfach nur der #CS-Eingang auf Low gelegt
werden und es kommt am richtigen Chip an.
Gast #352506
Lesenswert?

Was ist der Unterschied zwischen der Treiberleistung eines 74AC14 und
des Mega168? Bei 4MHz und leidlich dichter Plazierung sollte das auch
ohne Puffer möglich sein.

Mögliche Alternative zum IRQ-Muxer: Prioritätsencoder '348. Liefert
die IRQ-Nummer frei Haus (auf Ax in umgekehrter Richtung).
Gast #352507
Lesenswert?

moin moin,

bei INT wird ja "rückwärts gemuliplext", ist dann schon klar.
Genauso könnte mann ja auch den MISO schalten und MOSI+ CLK dann
vorwärts.  Eventuell einen 4053 in AC, also immer ein 4053+MAX3100.
MOSI, CLK und Select mit Bustreiber.
Ob der Aufwand lohnt? Nach Datenblatt ist der MAX3100 bei 100pf
angegeben. Eine Frage der Leitungskapazitäten und so blank schwer zu
beantworten.

Mit Gruß
Pieter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren