SPI

H'abend zusammen,

bei einem aktuellen Projekt möchte ich von/zu insg. 5 Mirkrocontroller mittels SPI von einem zentrallem µC Daten übertagen. Datenrate soll irgendwas zwischen

1 und 2 Mbit sein. Die 5 Controller sind so ca. 60cm von dem zentralem entfernt (Stern).

Kann man sowas noch ueber "normale" Flachbandleitungen machen oder braucht man da schon paarig geseilte und geschirmte Leitungen? Leider ist für Kabel/Leitungen kaum Platz und sie muessen auch noch stark flexibel sein.

Ist es sinnvoll die einzelnen Leitungen mit Buffern zu versehn, so das der zentrale immer nur den aktuellen Kommunikationspartner sieht (wg. Kabelkapazitaeten etc.)? /SS geht jeweils noch einzeln. Wenn ja gibt es TRI-State Buffer bei denen man einzelne Leitungen "tri-staten" kann (also nicht wie z.B. beim 74xx241 immer 4).

Auf was sollte man noch so achten?

Fragen ueber Fragen...

Schon mal vielen Dank im Voraus !

Harald Korth

Reply to
Harald Korth
Loading thread data ...

Harald Korth schrieb im Beitrag ...

Klingt wie Robotor = Elektromotoren = viel Stoerung.

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Ich würde so etwas über Buffer machen, wenn überhaupt. Dann kann man noch LVDS-Bausteine verwenden. Evtl. wäre es besser RS422 zu nehmen (4 Draht serielle duplex Kommunikation mit RS485-Treibern.)

Also RS422 würde mir besser gefallen.

Reply to
Ralph Koettlitz

Nominell fängt bei TTL auf Leiterplatte ab 30cm "Kabel" an, d.h. Reflexionen usw. Aber da ist die maximale Frequenz auch 30MHz.

a) im Flachbandkabel zwischen Datenleitung jeweils "ruhige" Leitung also Masse oder DC-Versorgung legen um Übersprechen zu verhindern b) wenn die Leitung unidirektional ist kann man unschwer Terminierung vorsehen. D.h. Abschluß mit Kabelimpedanz. Für Klingeldraht ist die irgendwo bei 120 Ohm. D.h. * am Sender Serienwiderstand z.B. 100 Ohm ( das CMOS-Gate hat ja auch einige Ohm Innenwiderstnad die auf 120 ergänzen ) * am Empfänger um Strom zu sparen z.B. so:

--- 5V | R1 1k | --+--- | C1 330pF | R2 120 | GND

Wenn die Leitung bidirektional ist wirds schwieriger/unsauberer, kann aber mal in der Literatur suchen was für (Kompromiß-)Netzwerke üblich sind.

c) wegen der hohen kapazitiven Belastung bei Flachbandkabel ist das Signal verschliffen. Empfänger sollte also Schmitt-Trigger- Charakteristik haben. d) ein 1mA Controllerport-Pin ist kein idealer Kabeltreiber für kapazitives Kabel. e) insbesondere wenn ESD übers Kabel reinkommt empfiehlt sich um die CPU vor häufigen Abstürzen zu bewahren ein 74HCxx z.B. 74HC14 als Buffer. Er hat seine Masse/5V getrennt auf Massesternpunkt geführt und in Datenleitung zu CPU z.B. Widerstand 1k Ohm ( ob kleiner hängt von Kapazität / Geschwindigkeit ab ) Sowas ist billiger als Suppressordiode und erledigt c) und d) gleich mit.

MfG JRD

Reply to
Rafael Deliano

Rafael Deliano schrieb:

Vorsicht! Digitalsignale terminiert man normalerwiese _entweder_ am Sender _oder_ am Empfänger, da eine Echte Leistungsanpassung die Spannung auf 50% reduziert, das kann man hier nicht gebrauchen.

Reply to
Martin Lenz

--- 5V | R1 1k 74HC14 | 100 74HC14 in --+---Kabel---R3-- out | C1 330pF | R2 120 | GND

Wo wird hier der Pegel auf 50% reduziert ?

Es reicht tatsächlich meist auf einer Seite zu terminieren. Aber es schadet nicht grundsätzlich wenn mans auf beiden Seiten anstrebt.

MfG JRD

Reply to
Rafael Deliano

Rafael Deliano schrieb:

Hier ist es natürlich frequenzabhängig. Ausgehend von einem ebenfalls terminierten Sender wirkt der empfängerseitige Terminierungswiderstand nur oberhalb der Grenzfrequenz des RC Gliedes, dann aber reduziert er den Pegel deutlich.

Martin

Reply to
Martin Lenz

Hallo zusammen

und schon mal vielen Dank fuer eure Antworten !

Rafael Deliano schrieb:

So was hatte ich auch schon mal eingeplant. Sehr interressant find ich auch die Flachbandkabel bei denen immer zwei Leiter paarig verseilt sind - leider konnte ich so was (bei den ueblichen Versendern) nirgends in hochflexibel finden.

Wenn ich's irgendwo bekommen wuerde, wuerde ich auch ein duennes hochflexibel Signalkabel verwenden - konnte aber auch ein solches nicht finden.

Das einzig passende (leider "normales") high-flex Flachbandkabel das ich fand ist das 3M Typ3319.

Vielen Dank fuer das Angebot, aber zum Glueck ist SPI auf allen Leitungen unidirektional. Ich bin nicht sicher ob ich's verstanden hab:

Das RC-Glied schliesst Stoerungen oberhalb seiner Grenzfrequenz von ca. 4MHz gegen GND kurz - oder dient es nur dem Abschluss mit Kabelimpendanz ? Wozu dient der Pullup R1? Wie terminiert man ein Kabel richtig? Die Impendanz des o.g. Flachbandkabel ist laut Datenblatt 107Ohm bei einer Kapazitaet von 43.6pF/m.

Ja an sowas hatte ich auch mal gedacht. Im "Sternpunkt" wuerde ich gern noch einen Analog-Multiplexer vor den Schmitttriger HC14 platzieren (um die MISO-Leitung umzuschalten) geht das bei den Frequenzen noch (es ist immer nur "Verkehr" auf der geschalteten Leitung)?

Zur Zeit versieht diesen Dienst ein ATMega dessen Port bis max 40mA bringen koennte (absolut maximum).

Es gab vorher schon mal einen Aufbau, bei dem Flachbandkabel genau so verlegt worden sind, wie sie jetzt wieder liegen sollen. Zum Glueck gab es damals keine Stoerungen, so dass auch diesmal da !hoffentlich! nichts zu erwarten ist.

Nochmals vielen Dank !

Harald Korth

Reply to
Harald Korth

Bei den alten Intel-Emulatoren und ähnlich überteuerten Geräten üblich. twisted wire ist gegen magnetische Felder. Hat nominell keine Auswirkung auf Terminierung. Da das Kabel aber durch die Dreherei real länger wird, hat man mehr Kapazität, Widerstand. Bei 60cm kein Nachteil.

Genau dafür. Der Kerko verhindert Stromverbrauch, wenn DC-Signal anliegt.

ApplicationNotes der Hersteller für 74HC lesen:

  • Es gibt eine von RCA 4 Seiten.
  • 2 Seiten von Philips. Bei Bedarf scanbar.

  • Sowie AM393 "Transmission Line Effects Influence high-speed CMOS" von National. Bei Fairchild per google findbar.

Am Empfänger sollte der unkritisch sein, wobei die Kabelterminierung natürlich davor an der Leitung sein muß. Bei Sender macht er nichtlinearen Innenwiderstand wohl 50 Ohm.

MfG JRD

Reply to
Rafael Deliano

Hallo Rafael,

wo Du gerade dabei bist...

Auch SPI, unidir. 74HC125 Ausgang - FB-Leitung - 560Ohm - HCPL2631.

Kann man da noch was tunen um notfalls längere Leitungen hinzubekommen? Datenrate ist recht gering 10-20kBit/s.

Jörg.

Reply to
Joerg Schneide

Bei so niederigen Datenraten kann man ja schlicht die Anstiegszeit des Senders vermindern. Dann reflektiert die Leitung nichtmehr. Damit ist es jedenfalls kein transmission-line Problem.

Sooo klar ist mir Schaltung nicht. Der HCPL2631-Optokoppler wird als dual ( gut wegen Symmetrie ) high speed ( angeblich 10 MBd ) TTL-compatible angepriesen. Das TTL-compatible bezieht sich wohl auf Ausgang, am Eingang seh ich nur die LEDs.

Ist das Problem der Bau einer Eingangsbeschaltung für den Optokoppler die flotter als der

560 Ohm Vorwiderstand für das LED ist ? Erster Vorschlag wäre natürlich immer ein Kerko über den Vorwiderstand.

MfG JRD

Reply to
Rafael Deliano

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.