Forum: Mikrocontroller und Digitale Elektronik GND-Leitungen bei Datenübertragung auf Huckepack-Platine


von Rike (Gast)


Lesenswert?

Hi,

ich möchte nochmal sicherhaltshalber nachfragen.  Ich möchte einen 
SPI-Bus von einer Platine auf eine andere bringe und das Ganze über 
Stiftleiste. Jetzt habe ich oftmals gelesen, dass man wenn die Daten per 
Flachbandkabel übertragen werden jeweils zwischen den Datenleitungen 
eine GND-Leitung mitgeführt werden sollte. Gilt das bei Übertragung per 
Stiftleisten auch? Wird ja insbesondere dann schwierig wenn zweireihige 
Stiftleisten verwendet werden. Danke

von Falk B. (falk)


Lesenswert?

@ Rike (Gast)

>Stiftleiste. Jetzt habe ich oftmals gelesen, dass man wenn die Daten per
>Flachbandkabel übertragen werden jeweils zwischen den Datenleitungen
>eine GND-Leitung mitgeführt werden sollte.

Das ist der Idealfall. Praktisch reichen auch weniger.

> Gilt das bei Übertragung per
>Stiftleisten auch?

Ja.

> Wird ja insbesondere dann schwierig wenn zweireihige
>Stiftleisten verwendet werden.

Warum? Hast du nicht genügend Pins?

Für SPI reicht es, wenn man 1-2 Masseleitungen mitführt. Wenn es nur 1 
ist, sollte die direkt neben der Taktleitung sitzen, denn das ist die 
kritischste.

von georg (Gast)


Lesenswert?

Rike schrieb:
> Wird ja insbesondere dann schwierig wenn zweireihige
> Stiftleisten verwendet werden.

Wieso das denn ? Es gibt sogar zahlreiche solche Verbindungen, bei denen 
alle Pins einer Reihe an GND liegen, einfacher gehts nicht.Beispiele: 
parallele Druckerschnittstellen, SCSI.

Georg

von Rike (Gast)


Angehängte Dateien:

Lesenswert?

Falk B. schrieb:
> Warum? Hast du nicht genügend Pins?

Ich bekommen maximal 10 Pins/Reihe und maximal 2 Reihen auf die Platine. 
Zudem wird auch noch 3,3V mit übertragen. Mit 5 Signalleitung und 
jeweils GND dazwischen + 3,3V wird es also einreihig schonmal schwierig. 
Um zweireihig den selben Effekt zu bekommen stell ich mir vor, dass 
jeweils zwei Pins aus den beiden Reihen verbunden werden müssen. Dann 
bräuchte ich also 2 Reihen à 10 Pins wie im Bild 1 gezeigt. Richtig? 
Alternativ mit weniger Pins könnte ich mir noch eine gekreuzte Variante 
wie im Bild 2 Vorstellen. Wäre allerdings layouttechnisch ungünstiger. 
Danke

von Lars (Gast)


Lesenswert?

Es sollten halt auf dem Flachbandkabel immer ein Signalpin gefolgt von 
einem Massepin sein (Die Litzen die nebeneinander liegen).

Von was für eine Taktfrequenz reden wir denn?

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Falls es um "normale" Stiftleisten im 2,54mm-Raster geht, reicht es 
völlig aus, jeden zweiten Pin auf ein Versorgungspotential zu legen. Bei 
Deinem Bild 1 wäre nur jeder vierte Pins ein Signalpin.

Bild 2 ist hingegen absoluter Murks, denn dann hast Du auf Deinem 
Flachbandkabel direkt benachbarte Signalleitungen, d.h. auf einer 
wesentlich längeren Strecke als auf der kurzen Stiftleiste und zudem 
noch mit deutlich geringerem Abstand.

Bei SCSI konnte man Leitungslängen von durchaus 5m mit einem einfachen 
Flachbandkabel überbrücken.

Auf jeden Fall solltest Du am jeweiligen Treiberausgang einen kleinen 
Serienwiderstand von ca. 22 Ohm vorsehen, um die Flankensteilheit etwas 
zu begrenzen und Reflektionen zu absorbieren.

Falls Du wirklich die allerbeste Signalintegrität haben willst, musst Du 
Steckverbinder mit einem Masseblech zwischen den Stiftleisten verwenden, 
und alles imedanzkontrolliert führen. Dafür ist SPI aber nicht 
ausgelegt. In der Tat ist SPI aber ziemlich empfindlich bezüglich 
"Klingelns" auf der Taktleitung.

von HildeK (Gast)


Lesenswert?

Nimm eine mit 2*6 Pins oder 2*8 Pins.
In einer Reihe 5 Masse, in der andern Reihe die Signale und an einer 
Stirnseite zweimal VCC_3V3. Auch ein GND weniger und ein VCC mehr sind 
OK.
Und wenn du wirklich was Gutes tun willst, dann nimm zwei Reihen mehr 
und spendiere rechts und links vom SCK auch GND, so z.B.:

GND        GND
GND        MISO
GND        MOSI
GND        GND
GND/Code   SCK
3V3        GND
3V3        !CS
3V3        !DRDY

Eventuell noch 'ne Codierung, falls man das auch verkehrt stecken 
könnte, sonst auch GND.

von Rike (Gast)


Lesenswert?

Andreas S. schrieb:
> Falls es um "normale" Stiftleisten im 2,54mm-Raster geht

Ja genau.

Andreas S. schrieb:
> Bild 2 ist hingegen absoluter Murks, denn dann hast Du auf Deinem
> Flachbandkabel direkt benachbarte Signalleitungen, d.h. auf einer
> wesentlich längeren Strecke als auf der kurzen Stiftleiste und zudem
> noch mit deutlich geringerem Abstand.

Ich habe doch kein Flachbandkabel. Aber okay. Ist Murks. Versuch war es 
Wert :)

Andreas S. schrieb:
> Auf jeden Fall solltest Du am jeweiligen Treiberausgang einen kleinen
> Serienwiderstand von ca. 22 Ohm vorsehen, um die Flankensteilheit etwas
> zu begrenzen und Reflektionen zu absorbieren.

Dachte bei so kurzen Danteleitungen wäre das nicht notwendig

HildeK schrieb:
> Nimm eine mit 2*6 Pins oder 2*8 Pins.
> In einer Reihe 5 Masse, in der andern Reihe die Signale und an einer
> Stirnseite zweimal VCC_3V3. Auch ein GND weniger und ein VCC mehr sind
> OK.
> Und wenn du wirklich was Gutes tun willst, dann nimm zwei Reihen mehr
> und spendiere rechts und links vom SCK auch GND, so z.B.:
>
> GND        GND
> GND        MISO
> GND        MOSI
> GND        GND
> GND/Code   SCK
> 3V3        GND
> 3V3        !CS
> 3V3        !DRDY
>
> Eventuell noch 'ne Codierung, falls man das auch verkehrt stecken
> könnte, sonst auch GND.

Danke das sieht mir plausibel aus. Wie setzt man so 'ne Codierung um? Da 
nur eine Buchsenleiste auf eine Stiftleiste gesteckt wird könnte die 
durchaus falsch aufgesteckt werden.

Lars schrieb:
> Von was für eine Taktfrequenz reden wir denn?

<100 kHz

von Falk B. (falk)


Lesenswert?

@Rike (Gast)

>> Von was für eine Taktfrequenz reden wir denn?

><100 kHz

Die Frequenz ist zweitrangig, wichtig ist die minimale Anstiegszeit, 
siehe Wellenwiderstand.

von georg (Gast)


Lesenswert?

Rike schrieb:
> dass man wenn die Daten per
> Flachbandkabel übertragen werden jeweils zwischen den Datenleitungen
> eine GND-Leitung mitgeführt werden sollte

Rike schrieb:
> Ich habe doch kein Flachbandkabel.

Da erübrigt sich wohl jeder Kommentar.

Georg

von HildeK (Gast)


Lesenswert?

Rike schrieb:
> Wie setzt man so 'ne Codierung um?

In die Buchse wird ein kleiner Plastikpin gesteckt (gibt es zu kaufen, 
den genauen Namen weiß ich nicht) und der dazugehörende Pin auf der 
andern Leiste wird abgezwickt.

von Falk B. (falk)


Lesenswert?

@ georg (Gast)

>> Ich habe doch kein Flachbandkabel.

>Da erübrigt sich wohl jeder Kommentar.

Nein. Denn auch auf einer kurzen Steckerleiste sollte man eine sinnvolle 
Signalbelegung und ausreichend GND-Verbindungen vorsehen. Vor Ewigkeiten 
hatte ich mal mit einem Produkt zu tun, wo über einen 40pol. 
Steckverbinder ein 28 Bit Videobus bei ca. 40 MHz mit sage und schreibe 
EINER Masseverbindung drüber ging! Die Signalqualität war grausam, 
trotzdem lief es irgendwie. Aber solide ist was anderes.

von HildeK (Gast)


Lesenswert?

Rike schrieb:
> Dachte bei so kurzen Danteleitungen wäre das nicht notwendig

Bei den Daten ist es das auch nicht, beim Takt rate ich dir auch dazu. 
Aber nicht nur wegen der Steckverbindung, sondern grundsätzlich. Ich 
nehme da immer etwas mehr als 22Ω, so 27Ω, 33Ω oder bei starken Treibern 
auch mal 39Ω.
Hängt auch vom realisierten Wellenwiderstand ab, ist aber im Wert 
trotzdem nicht kritisch.

Netter Verschreiber: Dante-Leitung. Die gibt es auch :-).
DANTE = Digital Audio Network Through Ethernet

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Nein. Denn auch auf einer kurzen Steckerleiste sollte man eine sinnvolle
> Signalbelegung und ausreichend GND-Verbindungen vorsehen.

Volle Zustimmung!

> Vor Ewigkeiten
> hatte ich mal mit einem Produkt zu tun, wo über einen 40pol.
> Steckverbinder ein 28 Bit Videobus bei ca. 40 MHz mit sage und schreibe
> EINER Masseverbindung drüber ging! Die Signalqualität war grausam,
> trotzdem lief es irgendwie. Aber solide ist was anderes.

Solch einen Kunden hatte ich auch schon. Der Hardwerker fand es 
besonders schlau, den 50MHz-Oszillator für einen Ethernet-MAC auf eine 
separate Leiterplatte zu packen und auch nur eine Masseverbindung zu 
spendieren, trotz zahlreicher anderer hochfrequenter Signale. Das ganze 
funktionierte so einigermaßen, d.h. mit ziemlich vielen defekten 
Ethernetpaketen, aber in der EMV-Kabine schrillten dann die 
Alarmglocken. Dann wurde lieber mit irgendwelchen Folien und 
Aufklappferriten herumgepfuscht, statt die Ursache des Problems zu 
lösen.

von HildeK (Gast)


Lesenswert?

Da hattet ihr mehr Glück.
Wir haben mal eine solche Huckepack-Konstruktion mit 'nem FPGA drauf von 
englischen Kollegen bekommen. Die funktionierte nicht und wir sollten 
herausfinden, was da los ist. Naja, zwei, drei GND-Pins unter rund 
hundert Verbindungen ...
An jedem Eck mal ein Stück Lotsauglitze als GND-Verbindung angebracht 
und schon sah es fürs Erste anders aus.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

HildeK schrieb:
> An jedem Eck mal ein Stück Lotsauglitze als GND-Verbindung angebracht
> und schon sah es fürs Erste anders aus.

Bei vielen Leiterplatten mit äußerer Massefläche kratze ich etwas Lack 
herunter und löte mir erst einmal eine ordentliche Öse aus Entlötlitze 
darauf. Das hat sich bisher immer sehr bewährt. Für sehr steilflankige 
Signale ist dann ggf. noch ein separater Masseanschluss in der 
unmittelbaren Nähe des abgegriffenen Signals nötig, aber für die meisten 
Messungen reicht die Masseöse völlig aus.

von Rike (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die vielen Antworten!

HildeK schrieb:
> Netter Verschreiber:

Oops. Ja hab ich sogar selbst schonmal in Studioumgebung mit zu tun 
gehabt.

Um Fehler zu vermeiden hole ich mir ja Tips ein. Niemand kann alles 
wissen und jede/r macht Fehler. Die dann zu finden ist natürlich immer 
lästig :)
Mein ADC der über die Steckverbindung läuft hat bereits Widerstände in 
der Referenzschaltung im Datenblatt vorgesehen. Die sind auch im Layout 
vorhanden. Allerdings sind die mit 100R 'ne ganze Größenordnung höher. 
Wie kommt das?

Sollten auf der Gegenseite am Mikrocontroller auch Widerstände an den 
ankommenende Leitungen vorgesehen werden? Also an DOUT und !DRDY. Lässt 
such vermutlich nicht pauschal sagen.

Falk B. schrieb:
> Nein. Denn auch auf einer kurzen Steckerleiste sollte man eine sinnvolle
> Signalbelegung und ausreichend GND-Verbindungen vorsehen.

Ich werde es jetzt so machen wie von HildeK geschrieben hat mit 2x8 
Pins. Werde also SCK auch noch gut "verpacken".

von Falk B. (falk)


Lesenswert?

@Rike (Gast)

>vorhanden. Allerdings sind die mit 100R 'ne ganze Größenordnung höher.
>Wie kommt das?

Das ist Geschmackssache und von der Verbindung abhängig. Flachbandkabel 
hat um die 120-150 Ohm Wellenwiderstand, da sind 100 Ohm passend. 
Leitungen auf Platinen haben je nach Geometrie 30-200 Ohm, da gibt es 
eine größere Vielfalt.

>Sollten auf der Gegenseite am Mikrocontroller auch Widerstände an den
>ankommenende Leitungen vorgesehen werden?

Nein, nur am jeweiligen Signal AUSGANG. Das ist eine Serienterminierung, 
siehe Wellenwiderstand.

von Lars (Gast)


Lesenswert?

Falk B. schrieb:
> @Rike (Gast)
>
>>> Von was für eine Taktfrequenz reden wir denn?
>
>><100 kHz
>
> Die Frequenz ist zweitrangig, wichtig ist die minimale Anstiegszeit,
> siehe Wellenwiderstand.

Für die Störabstrahlung ja, für die Signalintegrität dann eher wieder 
nicht weil es da logischer Weise um das Timing geht.

von Falk B. (falk)


Lesenswert?

@ Lars (Gast)

>> Die Frequenz ist zweitrangig, wichtig ist die minimale Anstiegszeit,
>> siehe Wellenwiderstand.

>Für die Störabstrahlung ja, für die Signalintegrität dann eher wieder
>nicht weil es da logischer Weise um das Timing geht.

Auch das stimmt nicht wirklich, denn es gibt keine 100kHz Logik-ICs. Die 
üblichen ICs arbeiten alle im Bereich von einigen Dutzend MHz, d.h. die 
Setup-und Holdzeiten liegen auch bei sehr niedrigen Taktraten in dem 
Bereich. oder anders formuliert, man gewinnt mit niedrigen Taktraten 
fast nix, man muss sich fast immer mit dem schnellen Timing und der 
Signalintegrität auseinandersetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.