PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SPI-störung bei stiftleisten



Roboman93
21.05.2010, 16:21
hallo,

ich habe für ein led-projekt porterweiterungen mit 74HC595 gebaut. das sind kleine platinen mit jeweils einem 74HC595 + treiber. verbunden werden sie mit stift- bzw. buchsenleisten in "reihe", das heißt, die signale werden über die platine durchgeschleift. das funktioniert eigentlich ganz gut, aber nur bis man vier platinen angesteckt hat. ab der fünften kommt es zu fehlern in der übertragung. am ende sollen bis zu 15 module angesteuert werden.
ist es normal, das bei solchen losen verbindungen die übertragung gestört ist? ich habe die spi-geschwindigkeit auf fcpu/16 gesetzt. hardware ist ein atmega8 mit internem 1mhz. ich habe auf den erweiterungen keine abblockkondensatoren, kanns daran liegen?

bin auf tipps gespannt!

mfg

roboman

Besserwessi
21.05.2010, 17:02
Es könnte schonmal daran liegen das die Enkoppelkondensatoren fehlen. Die sollten schon zur vermeidung von Funkstörungen unbedingt dran.

Der 2 te kritische Punkt bei SPI bzw Schieberegistern ist ein Überschwingen auf der Taktleitung. Wenn die Leitung länger als etwa 20 cm wird, kann die Laufzeit entlang der Leitung wichtig werden und es können sich dann stehen Wellen auf der Leitung bilden auf Grund der Steilen flanken - unabhängig von der Frequenz. Als erste Gegenmaßnahme bietet sich ein Widerstand von etwa 50-80 Ohm an der Signalquelle an.

Die anderen Leitungen sind erstmal weniger wichtig.

Roboman93
21.05.2010, 17:26
danke für den tipp.
mit widerstand an der signalquelle meinst du einen widerstand in reihe zwischen atmega8 und 74HC595?

mfg roboman

Besserwessi
21.05.2010, 17:58
Der Widerstand in Reihe und dicht am Ausgang des Mega8 sorgt für das Ende für eine Anpassung des Leitungswiderstandes. Das ganze nennt sich dann Serien-terminierung.

Roboman93
21.05.2010, 18:09
danke, kanns leider erst am mittwoch ausprobieren.

bin segeln aufm ijsselmeer.

mfg und schönes wochenende

roboman

yaro
21.05.2010, 18:22
http://www.mikrocontroller.net/articles/Wellenwiderstand

Serienterminierung eignet sich hier nicht. (Dem Link zufolge)
Abee ein Kondensator gegen GND sollte helfen.

Gruß, Yaro

Roboman93
21.05.2010, 20:00
was würde ich denn da nehmen? 10nF, 100nF?

mfg

roboman

Besserwessi
21.05.2010, 20:22
Die 10 nF bis 100 nF sind gut für die Versorgungsspannung. Für die Signalleitung, wenn überhaupt eher 10-100 pF, sonst werden die Flanken zu stark verwaschen um man kriegt eher mehr Störungen.

Der Einwand zur Serienterminierung stimmt. Bleibt als doch eher eine Terminierung am Ende der Leitung. Hier wohl als AC Terminierung mit z.B. 120 Ohm und etwa 1-10 nF gegen Masse

Roboman93
21.05.2010, 20:30
ok, werds einfach probieren und dann bereichten.
wird aber noch bis mittwoch dauern.

mfg
roboman