Hallo,
Es geht um das Thema SI und die Verbindung zweier Module, die ich nicht
umbauen kann, da von Drittherstellern zu erwerben. Diese sind für ein
privates, nicht sicherheitsrelevantes Projekt, müssen aber sicher
funktionieren. Bevor ich die kaufe, möche ich gerne sicherstellen, was
ich da plane und ob das geht. Nun die Frage:
Wie kann ich mit einer einfachen Verdrahtung einen Datenstrom von einem
MicroController zum anderen verschieben, ohne Leitungstreiber nehmen zu
müssen? Ich benutze u.a. einen LM3S9Bxx mit PWM-Ausgabe bei ideal bis zu
20MHz / bps. Im PWM steckt die Info drin, die übertragen werden soll. Es
handelt sich um 16 Bit-Werte, die alle 16 Takte umgeladen werden.
Kann ich da einfach Leitungen wie beim früheren IDE-Bus nehmen? Ich habe
als Kontake nur 2,54er Pins und Lötaugen und die IDE-Kabel wären
passend. Mit welchen Raten kann ich da sicher arbeiten? Die Ausgänge des
Controllers gehen über 0-Ohm raus- es wäre also ein Serien-Term
nachzubestücken (müsste von Hand gemacht werden, ginge aber). Mit dem
Kabel könnte ich auch Abstände zwischen den Daten einhalten und
dazwischen GNDs verdrahten.
Optimal wäre allerdings ein Kontakt direkt am Controller. Dort sitzen an
einigen Ausgängen Testpunkte / Lötaugen. Kann ich dort jeweils 2
Litzekabel nehmen und sie als wisted pair benutzen?
Oder etwas Anderes besonders abgeschirmtes?
Es sind wenigesten 4 Verbindungen, die auf den anderen Controller, sowie
externe Schieberegister (595) laufen sollen. Das entfernte PCB hat
mehrere solcher sequenziellen Schieberegister = 4 parallele Daten /
Takteingänge als Belastung. Wenn ich spezielle abgeschirmte Leitungen
wie COAX nehme, fürchte ich zuviel Kapaziztät, die der Controller gfs.
nicht treiben kann. Leider habe ich keine Infos was der Controller kann.
Oder wäre so eine flexibles Flachband, das man einlötet (es sind genug
Lötaugen und Pins vorhanden) eine gute Wahl?
Ich habe versucht, Infos über Kapazitäten zu bekommen, bin da aber noch
nicht weit geklangt.
Die Distanz der Platinen beträgt wenigstens 50cm, die Leitungslänge kann
70cm ausmachen.
Silvain Freiberg schrieb:> Es geht um das Thema SI
SI - zwei Buchstaben - das ist sehr aussagekräftig.
Kann man SI essen? Oder trinken? Oder kaufen oder leihen?
Klasse, wie sich manche Autoren in die Leserschaft einfühlen können.
Man wirft ihnen einfach was vor die Füsse, die werden dann schon
was tolles damit machen.
Mein Tipp: nur nicht zuviel Information preisgeben, es könnte
ja dabei eine Lösung herauskommen.
Innerhalb eines funkdichten Gehäuses können 70cm noch funktionieren. Ich
würde eher Ethernet STP Patchkabel nehmen, 4x Signal mit 4x GND
verdrillt paßt doch genau. Ausgänge über 100Ω in die Leitung.
boooaaahh schrieb:> SI - zwei Buchstaben - das ist sehr aussagekräftig.
Ja, wenn man sich in der Elektrotechnik etwas auskennt, dann assoziiert
man diese beiden Buchstaben mit Signalintegrität, denn darum geht es
offenbar.
Silvain Freiberg schrieb:> Wie kann ich mit einer einfachen Verdrahtung
Kommt immer auch darauf an, was der Empfänger tut und kann. Das
vorgeschlagene Ethernetkabel klappt z.B. GBIT nur, WEIL der Empfänger
deemphasis und echo canceling beherrscht. Und richtig getrieben werden
die Signale durch den PHY ebenfalls. Vor allem ist es eine
differentielle Übertragung. Hast du das ? Bei stumpfer Übertragung
single ended macht man sich von den äußeren Einflüssen abhängig.
>ohne Treiber
Es hat seinen Grund, warum man Leitungstreiber benutzt, wenn es um
längere Kabel geht. Aber:
Irgendein taugliches Ausgangsverhalten werden deine PINs schon bringen,
wenn sie auf Kontakte gedrahtet wurden. Da würde ich ansetzen. Fangen
wir mal bei der Leitungslänge an und überlegen und die erste Reflektion.
Silvain Freiberg schrieb:> Kann ich da einfach Leitungen wie beim früheren IDE-Bus nehmen?
Die ersten IDE ATAPI Busse hatten so 10...33MB/s, bei 16 Leitungen für
die Daten sind das rund 5...15mbps. Könnte knapp werden und auch die
hatten entsprechende Leitungstreiber. Andererseits habe ich schon
ähnlich geroutete parallele Daten mit Takt über die Platinen geschickt
und 80MHz verschickt.
Silvain Freiberg schrieb:> Ich habe versucht, Infos über Kapazitäten zu bekommen, bin da aber noch> nicht weit geklangt.
Kann man leicht selber ausrechnen wenn man den Wellenwiderstand und den
Verkürzungsfaktor (notfalls messen) weiß.
Eine 50 Ohm Koaxleitung (Verkürzungsfaktor 0.67) hat ~100 pF/m.
Eine (verdrillte) 2-Draht-Leitung (~100 Ohm) und angenommen gleichem
Verkürzungsfaktor (Dielektrikum) dann 50 pF/m.
Dazu kommt noch die Eingangskapazität des Empfängers (3-5pF) und ggf.
noch Stecker und Durchkontaktierungskapazitäten (1-2 pF jeweils).
Silvain Freiberg schrieb:> Im PWM steckt die Info drin, die übertragen werden soll. Es> handelt sich um 16 Bit-Werte, die alle 16 Takte umgeladen werden.> Es sind wenigesten 4 Verbindungen, die auf den anderen Controller, sowie> externe Schieberegister (595) laufen sollen.
Du redest wirres Zeugs: ist das jetzt ein PWM mit 20 MHz oder eine
SPI-Verbindung?
Die größten Probleme (ohne differentielle Treiber) sind durch externe
Störungen zu erwarten. (konventionelle Leuchtstofflampen, Motoren und
andere geschaltete Induktivitäten).
Aber da es nicht Sicherheitskritisch ist darf ja die eine oder andere
Übertragung auch mal fehlschlagen. Nicht wahr?
Gruß Anja
Anja schrieb:> ist das jetzt ein PWM mit 20 MHz oder eine> SPI-Verbindung?
Es handelt es sich um mehrere (momentan 4) PWM-Generatoren, die alle 16
Takte neu geladen werden und mit ideal 20MHz (das vertragen die
Empfänger) getaktet sind. Diese 20*4/16=5MHz sind durch die Ansteuerung
gerade so leistbar. Möglich, es werden auch nur 16 MHz PWM. Die PWM
trägt damit 16 serielle Bits hinaus und ist somit eine Art SPI.
Interpretationsfrage also.
Anja schrieb:> Aber da es nicht Sicherheitskritisch ist darf ja die eine oder andere> Übertragung auch mal fehlschlagen.
Das nicht, es wird nur niemand dafür haftbar gemacht, d.h es kommt kein
Staatsanwalt oder sonst einer, der dich verzeigt. Sehr wohl schon kommen
die Kunden und lamentieren.
Anja schrieb:> Die größten Probleme (ohne differentielle Treiber)
Habe ich leider nicht.
Andi schrieb:> Fangen> wir mal bei der Leitungslänge an und überlegen und die erste Reflektion.
Das wären bei 50cm .. 80cm etwa 3..4ps. Was fange ich mit denen an?
boooaaahh schrieb:> Mein Tipp: nur nicht zuviel Information preisgeben, es könnte> ja dabei eine Lösung herauskommen.
Mein Tipp: Ruhig bleiben, oder rückfragen, wenn man kein Wissen hat und
nichts beitragen kann.
Helge schrieb:> Innerhalb eines funkdichten Gehäuses können 70cm noch funktionieren. Ich> würde eher Ethernet STP Patchkabel nehmen, 4x Signal mit 4x GND> verdrillt paßt doch genau. Ausgänge über 100Ω in die Leitung.
Die Lösung ist mir sehr symphatisch. Aber warum 100 Ohm?
Und wie schließe ich die Leitungen auf der Empfängerseite ab?
Silvain Freiberg schrieb:> Andi schrieb:>> Fangen>> wir mal bei der Leitungslänge an und überlegen und die>> erste Reflektion.> Das wären bei 50cm .. 80cm etwa 3..4ps.
Das würde ich nochmal nachrechnen.
> boooaaahh schrieb:>> Mein Tipp: nur nicht zuviel Information preisgeben,>> es könnte ja dabei eine Lösung herauskommen.>> Mein Tipp: Ruhig bleiben, oder rückfragen, wenn man> kein Wissen hat und nichts beitragen kann.
AKüFi ist behandelbar. Kümmer' Dich mal drum.
> Helge schrieb:>> Innerhalb eines funkdichten Gehäuses können 70cm noch>> funktionieren. Ich würde eher Ethernet STP Patchkabel>> nehmen, 4x Signal mit 4x GND verdrillt paßt doch genau.>> Ausgänge über 100Ω in die Leitung.>> Die Lösung ist mir sehr symphatisch. Aber warum 100 Ohm?
Weil das der Wellenwiderstand der Leitung ist?!
> Und wie schließe ich die Leitungen auf der Empfängerseite> ab?
Gar nicht.
Suchwort: "Serienterminierung".
Achtung: Das funktioniert nur für EINEN Empfänger vernünftig,
nicht für Bussysteme mit mehreren Empfängern je Strang.
Silvain Freiberg schrieb:> Die PWM trägt damit 16 serielle Bits hinaus und ist somit eine Art SPI.
Zeige mal das Signal. Normalerweise gibt es bei PWM eine fest
Pulswiederholfrequenz und die Information wird im Duty-Cycle kodiert.
Man kann eine differentielle Leitung jederzeit mit 2 OPs selber
aufbauen, z.B. in Form eines Adapters, um schmutzige Umgebungen zu
überwinden. Habe ich schon mit I2C gemacht, um es 100m weit zu
verkabeln.
Eigentlich würde ich bei diesen Frequenzen und Kabellängen LVDS nehmen
aber Ultra-SCSI hat das mit Single-ended 5V Pegeln über Flachbandkabel
geschafft. Allerdings war aktive Terminierung notwendig was auch nicht
wesentlich weniger Aufwand als Leitungstreiber sein dürfte. Bei der
folgenden SCSI-Generation wurde differentielle Übertragung dann
zwingend.
Für LVDS sieht auf die schnelle das MAX9121/MAX9129 Paar passend aus.
Auf einer TSSOP-Platine in Sender bzw. Empfänger reinverdrahten und mit
Ethernetkabel plus Masse verbinden. Sind mit 3,3 V und GND nur zwei
Adern mehr zu löten als bei deiner Variante ohne Treiber.