SPI

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View

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


Re: SPI
Quoted text here. Click to load it
Klingt wie Robotor = Elektromotoren = viel Stoerung.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff /
We've slightly trimmed the long signature. Click to see the full one.
Re: SPI

Quoted text here. Click to load it


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.




Re: SPI
Quoted text here. Click to load it
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

Re: SPI
Rafael Deliano schrieb:
Quoted text here. Click to load it

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.

Quoted text here. Click to load it

Re: SPI
Quoted text here. Click to load it

         --- 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

Re: SPI
Rafael Deliano schrieb:
Quoted text here. Click to load it

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

Re: SPI
Hallo zusammen

und schon mal vielen Dank fuer eure Antworten !

Rafael Deliano schrieb:

Quoted text here. Click to load it

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.

Quoted text here. Click to load it

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.


Quoted text here. Click to load it

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)?


Quoted text here. Click to load it

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

Quoted text here. Click to load it

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


Re: SPI
Quoted text here. Click to load it
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.

Quoted text here. Click to load it
Genau dafür. Der Kerko verhindert Stromverbrauch, wenn DC-Signal
anliegt.

Quoted text here. Click to load it
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.

Quoted text here. Click to load it
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

Re: SPI
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.


Re: SPI
Quoted text here. Click to load it
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.

Quoted text here. Click to load it
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

Site Timeline