Forum: Mikrocontroller und Digitale Elektronik Spi sternförmiger Takt ca. 15cm


von Nils (Gast)


Lesenswert?

Moin,

ich habe einen SPI Bus an dem 10 Teilnehmer mit jeweils ca. 2 SPI 
Bausteinen hängen. Die Datenleitung SDO und SDI sollten unkritisch sein, 
da diese vom µC aus starten und von Teilnehmer zu Teilnehmer kaskadiert 
wird, also ca 30cm zwischen jeeils einem Teilnehmer.

Ich gehe nicht davon aus, hier etwas treiben zu müssen. Der Takt kann 
sehr langsam gewählt werden (500khz z.b.).

Der SPI Clock hängt nun aber sternförmig am µC Ausgang zu den 
Teilnehmern, also 10x 15cm leitungen. Meine Frage ist, was ich an 
Reflexionen zu erwarten habe und ob ich das ganze treiben sollte? Ich 
habe einen Rs485 Treiber hier, ich denke sowas kann ich da verwenden 
oder?

mfg
Nils

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Nils,
>
> Der SPI Clock hängt nun aber sternförmig am µC Ausgang zu den
> Teilnehmern, also 10x 15cm leitungen. Meine Frage ist, was ich an
> Reflexionen zu erwarten habe

Gar nichts. Rechne einfach die Lichtgeschwindigkeit für die Strecke aus.
Die Frage ist eher, ob der Treiber für den Takt die Kapazitäten schnell 
genug umladen kann.
Beim Atmega sehe ich keine Problem. Aber Sicherheit tut gut, bevor man 
Platinen ätzen lässt und vielleicht viel Arbeit wiederholen muss.

Simuliere Deinen Aufbau einfach mit einem STK500 oder einem ähnlichen 
Bord und schau Dir den Verlauf der Spannungen am Ziel an.

Ciao
Wolfgang Horn

von Michael H. (michael_h45)


Lesenswert?

Wolfgang Horn schrieb:
...
Eine komplett unbrauchbare Antwort...

> Die Frage ist eher, ob der Treiber für den Takt die Kapazitäten schnell
> genug umladen kann.
???
Unsinn.

> Gar nichts.
soso...
> Rechne einfach die Lichtgeschwindigkeit für die Strecke aus.
aha... Meinst du vielleicht die Wellenlänge in Relation zur 
Leitungslänge?

> Simuliere Deinen Aufbau einfach mit einem STK500 oder einem ähnlichen
> Bord und schau Dir den Verlauf der Spannungen am Ziel an.
Das STK500 ist für einen Test ("Simulation" ist hier Käse) genausowenig 
geeignet, weil das eigene Pintreiber mit Pegelanpassung hat.


Nils schrieb:
> Ich gehe nicht davon aus, hier etwas treiben zu müssen.
Ein Treiber ist Unsinn. Leg die Leitung und fertig.
Wenn du es päpstlicher als der Papst machen willst, dann legst du die 
Leitung als Kette aus, setzt eine Anpassung der Leitung mit einem 
Längswiderstand am AVR und einen Abschlusswiderstand am Kettenende. Nimm 
als Hausnummer 27Ohm Längswiderstand und 27k als Abschluss.
Siehe Wellenwiderstand.

> Der Takt kann
> sehr langsam gewählt werden (500khz z.b.).
Der Takt ist irrelevant. Wichtig sind die Anstiegszeiten und die daraus 
resultierenden Spektren.

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>ich habe einen SPI Bus an dem 10 Teilnehmer mit jeweils ca. 2 SPI
>Bausteinen hängen.

??? Warum 2 pro Teilnehmer?

> Die Datenleitung SDO und SDI sollten unkritisch sein,

Jain.

>da diese vom µC aus starten und von Teilnehmer zu Teilnehmer kaskadiert
>wird, also ca 30cm zwischen jeeils einem Teilnehmer.

Hmm.

>Ich gehe nicht davon aus, hier etwas treiben zu müssen.

Irrtum.

> Der Takt kann  sehr langsam gewählt werden (500khz z.b.).

Ist zweitrangig.

>Der SPI Clock hängt nun aber sternförmig am µC Ausgang zu den
>Teilnehmern, also 10x 15cm leitungen.

Schlecht.

>Meine Frage ist, was ich an
>Reflexionen zu erwarten habe und ob ich das ganze treiben sollte?

Treiben tut man es immer, die Frage ist nur womit (dumme Kommentare 
gefällig?)
Direkt mit dem Mikrocontroller oder mit einem zusätzlichen Treiber.

> Ich
>habe einen Rs485 Treiber hier, ich denke sowas kann ich da verwenden
>oder?

Nö.

@  Michael H. (michael_h45)

>Wolfgang Horn schrieb:
>...
>Eine komplett unbrauchbare Antwort...

Nix neues.

>> Rechne einfach die Lichtgeschwindigkeit für die Strecke aus.

Muss man nicht, die ist konstant, im ganzen Universum, für jeden 
beliebig bewegten und beschleunigten Beobachter. Einstein sei Dank ;-)

>> Ich gehe nicht davon aus, hier etwas treiben zu müssen.
>Ein Treiber ist Unsinn. Leg die Leitung und fertig.

Nein. 10x30cm ist schon ne ziemliche Hausnummer. Aus der Beschreibung 
schließe ich, dass hier was zentral-kreisförmiges vorliegt, ich tippe 
mal auf ein größeres LED-Projekt ;-)

>Wenn du es päpstlicher als der Papst machen willst, dann legst du die
>Leitung als Kette aus, setzt eine Anpassung der Leitung mit einem
>Längswiderstand am AVR und einen Abschlusswiderstand am Kettenende.

Nö. Er und auh du liest besser mal den Artikel Wellenwiderstand und 
stellt fest, dass für eine Taktleitung mit mehreren Empfängern 
(Multidrop) eine Serienterminierung ins Auge geht.

> Nimm als Hausnummer 27Ohm Längswiderstand und 27k als Abschluss.

Beides Unsinn. Ersteres siehe oben, zweiteres ist meilenweit vom 
Wellenwiderstand entfernt, kann man sich schenken. Sinnvoll ist bei 
einer linear durchgehenden Taktleitung eine Terminierung am Ende, AC 
oder Thevenin.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Michael,

> Eine komplett unbrauchbare Antwort...
Bei solch einer brutalen Antwort kann es nur heißen - auf einen groben 
Klotz gehört ein grober Keil.

>> Die Frage ist eher, ob der Treiber für den Takt die Kapazitäten schnell
>> genug umladen kann.
> ???
> Unsinn.
Mein Rat war und ist richtig, Dein Einwand war falsch, inkompetent und 
zum Nachteil des Fragers.

Begründung:
Die SPI-Übertragung soll fehlerfrei sein bei einer Taktrate von 500 kHz. 
Das entspricht einer Wellenlänge von 600 Metern. Reflexionen laut 
Leitungstheorie werden erst gefährlich ab etwa 1/10 Wellenlänge.

Fehlerfreiheit bedeutet aber auch: Die Flankenwechsel auf der 
Taktleitung müssen in allen SPI-Devices innerhalb der Taktphase 
abgeschlossen sein - also rechtzeitig und steil genug. Die 
Ausgangsimpedanz des Takttreibers ("SCK" beim Atmega) muss also die 
Leitungskapazität gegen Masse schnell genug umladen. Je größer die 
Leitungskapazität, desto flacher und verschliffener die Flankenwechsel 
an den SPI-Devices.

Fehlerfreiheit bedeutet auch Sicherheit gegen Einstrahlung. Auch hier 
muss die Impedanz von SCK klein genug sein. Meiner Erfahrung nach ist 
sie das.

Zusatzinformation für Nils: Auf den RS-485-Treiber kannst Du verzichten, 
wie auch auf die von Michael vorgeschlagene Impedanzanpassung der 
Leitung.


>> Simuliere Deinen Aufbau einfach mit einem STK500 oder einem ähnlichen
>> Bord und schau Dir den Verlauf der Spannungen am Ziel an.
> Das STK500 ist für einen Test ("Simulation" ist hier Käse) genausowenig
> geeignet, weil das eigene Pintreiber mit Pegelanpassung hat.
Für die Simulation genügt die Verdrahtung mit dem SCK-Pin des Atmega.


Tschüss
Wolfgang Horn

von Nils (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mal eine Zeichnung angewhängt, wie lange die Spi Leitungen sind 
und wie sie so in etwa verlaufen werden.

Die Meinungen gehen hier ja auseiannder.

von Falk B. (falk)


Lesenswert?

@Wolfgang Horn (Firma: AknF) (wolfgang_horn)

>> Eine komplett unbrauchbare Antwort...
>Bei solch einer brutalen Antwort

Mensch bis du weich. Inddor-Wattebällchenwerfer?

>Mein Rat war und ist richtig, Dein Einwand war falsch, inkompetent und
>zum Nachteil des Fragers.

Ohh, der Herr spiel gleich mal selber den obersten Richter. Schau an, 
schau an!

>Begründung:
>Die SPI-Übertragung soll fehlerfrei sein bei einer Taktrate von 500 kHz.
>Das entspricht einer Wellenlänge von 600 Metern. Reflexionen laut
>Leitungstheorie werden erst gefährlich ab etwa 1/10 Wellenlänge.

Tja mei lieber Woflgang, nicht nur im Gebiet der Parapsychologie ist 
dein Wissen oberflächlich, auch bei HF. Die TaktFREQUENZ ist in erster 
Linie egal, die FLANKENSTEILHEIT ist der Knackpunkt. Lies den Artikel 
Wellenwiderstadn und staune.

>Ausgangsimpedanz des Takttreibers ("SCK" beim Atmega) muss also die
>Leitungskapazität gegen Masse schnell genug umladen.

Bei HF-mäßiger Betrachtung ist eine Leitung ein nahezu ohmscher 
Verbraucher, das Umladen geschieht NICHT wie bei einem lokal punktuellen 
RC-Tiefpass!

> Je größer die
>Leitungskapazität, desto flacher und verschliffener die Flankenwechsel
>an den SPI-Devices.

So flach und verschliffen wie deine Antworten. Allerdings ein Ergebnis 
von nicht vorhandener Kapazität. Wie paradox!

>>> Simuliere Deinen Aufbau einfach mit einem STK500 oder einem ähnlichen
>>> Bord und schau Dir den Verlauf der Spannungen am Ziel an.
>> Das STK500 ist für einen Test ("Simulation" ist hier Käse) genausowenig
>> geeignet, weil das eigene Pintreiber mit Pegelanpassung hat.
>Für die Simulation genügt die Verdrahtung mit dem SCK-Pin des Atmega.

Du weißt gar nicht, was der Untschied zwischen Simulation, Emulation und 
Test ist.

http://de.wikipedia.org/wiki/Simulation
http://de.wikipedia.org/wiki/Emulation
http://de.wikipedia.org/wiki/Test

I like Wiki!

von Stampede (Gast)


Lesenswert?

Nils, wenn was problematisch sein könnte, dann sind es die steilen 
Flanken der Clock. Ich würde einen Serienwiderstand (ca. 33 Ohm) nahe an 
den Ausgangstreiber setzen. Damit werden die Flanken schon etwas 
abgeflacht und dann sollten keine Relfexionen auftreten.
Alternativ könntest du die Leitungen "verkürzen" indem du einen Buffer 
(z.b 74LVC1Gxxx / 74HC1Gxxx) an jedem deiner SPI Teilnehmer benutzt. 
Wenn das Ding ähnliche Verzögerung hat wie dein SPI Bautstein hat 
(entsprechend wählen), sollte der Takt auch schön synchron bleiben.

Ohne jetzt den tatsächlichen Aufbau zu kennen würde ich aus dem Bauch 
heraus bei kleinem Serienwiderstand und dieser "langen" SPI Leitung 
keine größeren Probleme erwarten.

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>      spibus.jpg

Ui, und auch noch Stichleitungen. Na denn mal Prost.

>Ich habe mal eine Zeichnung angewhängt, wie lange die Spi Leitungen sind
>und wie sie so in etwa verlaufen werden.

Wie kommst du dann auf die Idee, du könntest sternförmig den Takt mit 
10x15cm verteilen, wenn die Empfänger so weit auseinander liegen? Das 
braucht einen N-dimensionalen Raum |N>10 ;-)

>Die Meinungen gehen hier ja auseiannder.

Es gibt Meinungen und es gibt qualifizierte Meinungen.
Bei 30x10cm=3m SPI-Buslänge sollte man sich schon warm anziehen. Mit 
VORSICHT und Bedacht kriegt man das mit CMOS hin, aber dann bitte mit 
linearer Busführung OHNE Stichleitungen und einem kräftigen Treiber für 
SCK, das MUSS am Ende terminiert werden. UNd verdriller Leitung + Masse 
für SCK. Sonst findest du dich ganz fix in der Liga der gescheiterten 
LD-Ansteuerer wieder, die mit 20cm Flachbandkabel schon baden gehen, 
weil das Taktsignal E klingelt wie Sau.

von Stampede (Gast)


Lesenswert?

ähhh Falk war schneller... ich verstehe den Aufbau jetzt doch nicht 
100%. Vielleicht wäre ein oder meherere Treiber doch empfehlenswert. Ich 
war von einem linear angeordneten Konstrukt ausgegangen. Ich ziehe die 
Buachgefühlaussage zurück :)

von @all (Gast)


Lesenswert?

Bin ich froh nicht studiert zuhaben

5 jahre studium aufs berufsleben mit versuch und irtum umgelegt gehe ich 
mit 70 in rente und hab noch 1,5 jahr übrig.

von Nils (Gast)


Lesenswert?

Also addieren sich die abzweigenden Leitungen zu einer langen Leitung 
10x30cm. Was für ein kräftiger Treiber würde sich denn empfehlen?

Was ist mit den ~30cm von Baustein zu Baustein bei der SDO/SDI Leitung? 
Diese 30cm sollte die SPI Bausteine doch in der Regel schaffen. Es 
handelt sich um Microship digitale Potentiometer.

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>Also addieren sich die abzweigenden Leitungen zu einer langen Leitung
>10x30cm. Was für ein kräftiger Treiber würde sich denn empfehlen?

Gibt es viele, es reicht auch ein paar Gatter aus einem 74HC04 parallel 
zu schalten, damit hat man genug Dampf.

>Was ist mit den ~30cm von Baustein zu Baustein bei der SDO/SDI Leitung?
>Diese 30cm sollte die SPI Bausteine doch in der Regel schaffen. Es
>handelt sich um Microship digitale Potentiometer.

So klein ist das Schiff nicht, es heißt Microchip ;-)
Welches Bauteil GENAU?

von Nils (Gast)


Lesenswert?

Falk Brunner schrieb:
> @  Nils (Gast)
>
>>Also addieren sich die abzweigenden Leitungen zu einer langen Leitung
>>10x30cm. Was für ein kräftiger Treiber würde sich denn empfehlen?
>
> Gibt es viele, es reicht auch ein paar Gatter aus einem 74HC04 parallel
> zu schalten, damit hat man genug Dampf.
>
>>Was ist mit den ~30cm von Baustein zu Baustein bei der SDO/SDI Leitung?
>>Diese 30cm sollte die SPI Bausteine doch in der Regel schaffen. Es
>>handelt sich um Microship digitale Potentiometer.
>
> So klein ist das Schiff nicht, es heißt Microchip ;-)
> Welches Bauteil GENAU?

Ich hätte jetzt nicht gedacht, dass das Bauteil so entscheident ist.
Aber hier das genaue Datenblatt:
http://www.farnell.com/datasheets/12247.pdf

Ich nehme an, jeweils 2 Inverter hintereinander und davon ein paar 
parallel? Nicht vielleicht doch Und-Gatter oder 74HC244?

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>Ich hätte jetzt nicht gedacht, dass das Bauteil so entscheident ist.

Jain.

>Aber hier das genaue Datenblatt:
>http://www.farnell.com/datasheets/12247.pdf

Naja, du willst sie alle zu einem großen Schieberegister 
zusammenschalten, halt kaskadieren. Das ist OK, aber nicht 100% SPI 
Verhalten. Denn normalerweise wird jeder IC direkt an MOSI angeschlossen 
un per individuellem CS angesprochen.

>Ich nehme an, jeweils 2 Inverter hintereinander und davon ein paar
>parallel?

Mach einfach alle sechs Gatter parallel, dann muss man nur den SPI-Takt 
per Software invertieren (CPOL) und fertig.

> Nicht vielleicht doch Und-Gatter oder 74HC244?

Nein.

von Michael H. (michael_h45)


Lesenswert?

Falk Brunner schrieb:
>>Ein Treiber ist Unsinn. Leg die Leitung und fertig.
>
> Nein. 10x30cm ist schon ne ziemliche Hausnummer.
Meine Güte, jetzt kapier ichs erst... 10 MAL 15cm Strecke. Ich hab eine 
10 auf 15 cm Platine im Kopf gehabt...
Okay, dann muss da gerechnet werden.

> Nö. Er und auh du liest besser mal den Artikel Wellenwiderstand und
Kennt er... äh, ich!
> stellt fest, dass für eine Taktleitung mit mehreren Empfängern
> (Multidrop) eine Serienterminierung ins Auge geht.
Richtig. Daher auch der Hinweis, die Verbindung á la Daisy-Chain 
vorzunehmen.

>> Nimm als Hausnummer 27Ohm Längswiderstand und 27k als Abschluss.
>
> Beides Unsinn. Ersteres siehe oben,
Stimmt auch nur, wenn man sternförmig verlegt. Das muss man sich ja 
nicht antun. Eine lange Kette ist weniger "problem"anfällig.
> zweiteres ist meilenweit vom
> Wellenwiderstand entfernt,
stimmt.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Ach, Falk,

was soll Deine Giftspritzerei? Vor allem, was belastet Du den Nils, wenn 
Du doch eigentlich nur mir einen "reinwürgen" willst?

> Die TaktFREQUENZ ist in erster Linie egal, die FLANKENSTEILHEIT ist der
> Knackpunkt.
Wie gesagt - Fehlerfreiheit ist notwendig. Irgend etwas qualitativ Neues 
von Dir außer Stänkerei?

>>Ausgangsimpedanz des Takttreibers ("SCK" beim Atmega) muss also die
>>Leitungskapazität gegen Masse schnell genug umladen.
>
> Bei HF-mäßiger Betrachtung ist eine Leitung ein nahezu ohmscher
> Verbraucher, das Umladen geschieht NICHT wie bei einem lokal punktuellen
> RC-Tiefpass!
Nils, prüf selbst. Simuliere den Aufbau und leg den Tastkopf des Scopes 
an den Enden der Stichleitungen an.
Bei einer maximalem Länge der längsten Stichleitung von 35cm, 500 khZ 
Takt und einem Prozessor wie Atmega und Vergleichbare passiert nicht 
viel.
Falk kann wohl seine Wut auf mich nicht kontrollieren.

Nils, Dein System müsste anders beurteilt werden, wenn Du da mit 
ECL-Schaltkreisen arbeiten würdest. Aber dann hättest Du das in Deiner 
Frage erwähnt.

Ciao
Wolfgang Horn

von Falk B. (falk)


Lesenswert?

@  Wolfgang Horn (Firma: AknF) (wolfgang_horn)

"Never argue with a fool. He will drag you down on his level and beat 
you with experience."

von HildeK (Gast)


Lesenswert?

Wolfgang Horn schrieb:
> Bei einer maximalem Länge der längsten Stichleitung von 35cm, 500 khZ
> Takt und einem Prozessor wie Atmega und Vergleichbare passiert nicht
> viel.
Da kann sehr viel passieren. Die 500kHz sind sch...egal! Das macht auch 
mit 1kHz die selben Schwierigkeiten wie bei 50MHz.
 SPI-Bausteine sind auf 100MHz und mehr designed und entsprechend steil 
sind die Flanken und entsprechend schnell reagiert der Baustein.  Und 
das was du bei einer schönen Darstellung eines 500kHz-Signals auf dem 
Skope siehst, ist nicht das, was der Baustein sieht und auf was er 
reagiert.
Was damals ein ECL-Baustein an Speed auf Platine brachte, das kann heute 
auch eine schnelle CMOS-Logikfamilie. Anstiegszeiten unter 1ns sind 
heute nichts besonderes mehr.

> Falk kann wohl seine Wut auf mich nicht kontrollieren.
Er hat keine Wut - er hat einfach nur sehr viel Wissen und Erfahrung und 
die hat er dem TO zur Verfügung gestellt. Und, er hat in allen Punkten 
in diesem Thread recht!

von Helmut S. (helmuts)


Lesenswert?

Wenn das Bild von Nils stimmt (alle 10 Abzweige(a' 20cm) innerhalb eines 
10cm Stücks), dann ist die sternförmige Clockverteilung bei 
CMOS-Eingängen das Beste. Lieber alle mit etwas niedergeknüppelter 
Anstiegszeit durch die vielen parallelen Leitungen als eine Treppe im 
Bereich der Schaltschwelle bei den vorderen Empfängern im Falle der 
Serienschaltung.
Wenn man den Clock mit Reihenschaltung verlegt, "verharrt" das Signal u. 
U. beim 1. Empfänger für lange Zeit im Bereich um Vcc/2. Das lässt sich 
nur dadurch vermeiden, in dem man einen so kräftigen Treiber nimmt der 
die Leitung sofort auf fast volle 5V Hub bringt. Dann gibt es aber am 
Leitungsende kräftige Überschwinger und EMV-mäßig ist das auch schlecht.

von Michael H. (michael_h45)


Lesenswert?

Wolfgang Horn schrieb:
> Vor allem, was belastet Du den Nils, wenn
> Du doch eigentlich nur mir einen "reinwürgen" willst?
Was postest du hier mit deinem Halbwissen und siehst dann nicht mal ein, 
wenn du Unrecht hast?
Jeder macht mal Fehler, aber zum x-ten Mal das hier von dir:
> Bei einer maximalem Länge der längsten Stichleitung von 35cm, 500 khZ
> Takt und einem Prozessor wie Atmega und Vergleichbare passiert nicht
> viel.
Ist einfach Mist. Begreif doch bitte endlich mal, dass die 500kHz hier 
völlig Wurschd sind!

von Mirosa (Gast)


Lesenswert?

Die Frequenz ist aber nur dann egal wenn man mit schnellen Treibern 
ungebremst auf eine Leitung geht. Mit begrenzter Anstiegszeit (slew rate 
control, im einfachsten Fall nur ein Widerstand) sieht das dann wieder 
anders aus. Bei 30cm und 500khz könnte die Anstiegszeit sogar im 
Kriechfall noch ausreichen.

von noname (Gast)


Lesenswert?

Hmm ,  mal so doof gefragt.

Könnte man für so ein Bastelprojekt nicht einfach Kapazitäten 
hinzuschalten um die Anstiegszeiten zu erhöhen ?

Ich weiß das man ein verschleifen der Signale unter allen Umständen 
vermeiden will, aber bei 500 KHz.
Das ist natürlich total unprofessionell und Murkserei aber technisch 
ginge das doch oder ?

von Falk B. (falk)


Lesenswert?

@  Mirosa (Gast)

>Die Frequenz ist aber nur dann egal wenn man mit schnellen Treibern
>ungebremst auf eine Leitung geht.

Jain.

> Mit begrenzter Anstiegszeit (slew rate
>control,

Ja.

> im einfachsten Fall nur ein Widerstand)

NEIN! Ein einfacher Widerstand macht das NICHT! Dazu müsste man 
mindestens einen Kondensator noch am Pin zuschalten, natürlich NACH dem 
Widerstand.

> sieht das dann wieder
>anders aus. Bei 30cm und 500khz könnte die Anstiegszeit sogar im
>Kriechfall noch ausreichen.

von Falk B. (falk)


Lesenswert?

@  Helmut S. (helmuts)

>Wenn das Bild von Nils stimmt (alle 10 Abzweige(a' 20cm) innerhalb eines
>10cm Stücks), dann ist die sternförmige Clockverteilung bei
>CMOS-Eingängen das Beste.

Es ist eine Möglichkeit. Aber aus mechanischen und "logistischen" 
Gründen eher ungünstig.

> Lieber alle mit etwas niedergeknüppelter
>Anstiegszeit durch die vielen parallelen Leitungen als eine Treppe im
>Bereich der Schaltschwelle bei den vorderen Empfängern im Falle der
>Serienschaltung.
>Wenn man den Clock mit Reihenschaltung verlegt, "verharrt" das Signal u.
>U. beim 1. Empfänger für lange Zeit im Bereich um Vcc/2.

Falsche Schlussfolgerung. Die Treppe gibt es nur bei falsch gewählter 
Serienterminierung.

> Das lässt sich
>nur dadurch vermeiden, in dem man einen so kräftigen Treiber nimmt der
>die Leitung sofort auf fast volle 5V Hub bringt.

Genau das war mein Vorschlag.

> Dann gibt es aber am
>Leitungsende kräftige Überschwinger

Nicht, wenn man eben DORT eine Terminierung platziert.

>und EMV-mäßig ist das auch schlecht.

Nein.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Ja, noname, hi, Nils,

> Könnte man für so ein Bastelprojekt nicht einfach Kapazitäten
> hinzuschalten um die Anstiegszeiten zu erhöhen ?
Natürlich könnte man das, würde aber einen höheren Stromverbrauch zur 
Folge haben. Deshalb, wie Du richtig schreibst, "Murks". Weil der 
SCLK-Pin des Prozessors diese Kapazitäten mit umladen müsste.
Diesen erhöhten Stromverbrauch könnte man dann wieder reduzieren mit 
RC-Kombinationen, also Widerstand zwischen SCLK-Pin des Prozessors und 
jedem SCLK-Pin am SPI-Device, sowie an letzterem ein C nach Masse.

Aber unnötig bei einem Prozessor wie einem ATmega, ATTiny oder ähnliche, 
auch nicht bei SPI-IC's für diese Prozessoren. Der ATmega1284P kann mit 
bis zu 20 MHZ Systemtakt betrieben werden und dann einen SPI-Takt von 
bis zu 5 MHz.
Bei 15cm passiert da eher nichts. Sicherheit gewinnst Du, Nils, wenn Du 
den Aufbau an Deinem Experimentierboard mit genau Deinem Prozessor und 
genau Deinen SPI-ICs ausprobierst. Verdrahte, vielleicht mit einer 
zusätzlichen Lochrasterplatte (ich verwende noch gern die Fädeltechnik) 
MISO, MOSI, SCLK am SPI-IC mit dem längsten Draht. Dann miss mit einem 
hochohmigen Tastkopf und Scope, was am Ende zu erleben ist.
Schreib in das SPI-IC hinein, lese es aus, und prüfe, ob es korrekt 
gelesen wurde.

Nils, ich bedaure, dass Du hier Opfer des Kollateralschadens 
mittelalterlicher Hexenjagd geworden bist, die heute noch als 
Trolljägerei vorkommt. Da versteift sich dann jemand auf eine Person, 
die er mit dem Teufel im Bunde wähnt, deutet alle ihre Handlungen in 
diesem Sinne, bis er sie auf dem Scheiterhaufen brennen sieht und sich 
selbst bestätigen kann, er habe wieder mal Recht gehabt.
Auch Stalker-Geschädigte wissen ein Lied zu singen, bei denen ist die 
"Versteifung" dagegen von einer etwas anderen Art.

Diese Hexen- oder Trollübersensibilität ist Symptom eines 
pathologischen, krankhaften Geistes.

Halte Dich dabei weder an mich, noch an Falk, denn wir sind hier beide 
befangen.
Halte Dich besser an
1. Dritte, die Dir besonnen geantwortet haben und sachlich, weil sie 
weder Anlass haben zur Hexenverfolgung, noch, sich verfolgt sehen zu 
müssen.
2. An die Natur, an die Technik, an Dein Experimentierboard, Dein 
Testprogramm und Dein Scope. Die sind ziemlich sicher gegen Irrtümer und 
Wahn. Wie ich diesen Thread in seiner Abartigkeit hier sehe, kostet Dich 
dessen Verfolgung mehr Zeit als das Fädeln von zwei IC-Sockeln, 
programmieren und testen.


Ich bedaure, dass wir nach dem Fortschritt seit den Hexenverbrennungen 
durch solche Leute wie Falk wieder einen moralischen Rückschlag erleben 
müssen.

Ciao
Wolfgang Horn

von Nils (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe einen kleinen Testaufbau gemacht.

Ich habe bereits 2 Effektschaltungen für Gitarre in SMD geroutet und die 
Potentiometer durch Digitalpotentiometer ersetzt. Zum Glück habe ich in 
der Hochschule die Möglichkeit, selber doppelseitige Platinen 
durchzzukontaktieren. Im Bild sieht man diese langen Leitungen. Das sind 
hier jetzt so 50cm insgesamt auf CS und CLK, die von den Effektgeräten 
direkt an den µC gehen. Dieser taktet beim hochfahren einfach einmal die 
Informationen in die Schieberegister der Digitalpotentiometer.

Das sind jetzt jeweils 2 Teilnehmer mit 5 Spi Bausteinen. Hier konnte 
ich nun keine Probleme feststellen. Wann werden die Probleme auftauchen?

Es handelt sich da um ein Equalizer und ein Delay. Für den späteren 
Aufbau sind komplexere analoge Effekte natürlich interessanter.

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>durchzzukontaktieren. Im Bild sieht man diese langen Leitungen. Das sind
>hier jetzt so 50cm insgesamt auf CS und CLK, die von den Effektgeräten
>direkt an den µC gehen. Dieser taktet beim hochfahren einfach einmal die
>Informationen in die Schieberegister der Digitalpotentiometer.

Netter Drahtverhau ;-)
Wie prüfst du, ob die Daten richtig in die Potis geschrieben wurden? Wie 
OFT prüfst du? Einmal ist keinmal.

>Das sind jetzt jeweils 2 Teilnehmer mit 5 Spi Bausteinen. Hier konnte
>ich nun keine Probleme feststellen. Wann werden die Probleme auftauchen?

Dann, wenn du sie am wenigsten gebrauchen kannst ;-)

>Es handelt sich da um ein Equalizer und ein Delay. Für den späteren
>Aufbau sind komplexere analoge Effekte natürlich interessanter.

Na dann klemm mal ein so langes Kabel dran, wie es später im Vollausbau 
sein wird. Klemm ein Gerät in die mitte des Kabels, eins ans Ende. Dann 
teste ausgiebig, dauerhaft Daten schreiben, lesen, vergleichen.

von µC-Bastler (Gast)


Lesenswert?

noname schrieb:
> Ich weiß das man ein verschleifen der Signale unter allen Umständen
> vermeiden will, aber bei 500 KHz.

Verschliffene Flanken sind nur das halbe Problem. Der Ärger kommt, wenn 
das Clk-Signal an der Flanke klingelt und dadurch am Empfänger die 
Schaltschwelle mehrmals über-/unterschritten wird, so dass ein Clk-Puls 
vom Sender beim Empfänger als eine ganze Folge von schnellen Pulsen 
ankommt.

von Nils (Gast)


Lesenswert?

Falk Brunner schrieb:
> Netter Drahtverhau ;-)
> Wie prüfst du, ob die Daten richtig in die Potis geschrieben wurden? Wie
> OFT prüfst du? Einmal ist keinmal.

Die Drähte sind mit diesen 30cm natürlich worst case. Je nachdem, wie 
nacher Platz im Gehäuse ist, könnten diese auch deutlich gekürzt werden.

Ich teste direkt mit einem Gitarrenverstärker und höre ja was passiert. 
Verhält sich alles total normal, wie gewollt. Ich habe nun auch ein 
Potentiometer an den ADC angeschlossen und lasse ein zufälliges Digipoti 
kontinuierlich ändern. Funtioniert auch wunderbest. Also das ganze in 
Endlosschleife takten..

Falk Brunner schrieb:
> Na dann klemm mal ein so langes Kabel dran, wie es später im Vollausbau
> sein wird. Klemm ein Gerät in die mitte des Kabels, eins ans Ende. Dann
> teste ausgiebig, dauerhaft Daten schreiben, lesen, vergleichen.
Na, das ganze würde jetzt ja nur noch reproduziert werden auf max. 10 
Teilnehmer. Einen habe ich noch hier, fertig aufgebaut, allerdings 
müsste ich erst weitere Kabel basteln.

von Nils (Gast)


Lesenswert?

Ich hab mal ein kleines Video gemacht. Das Rauschen im Hintergrund kommt 
übrigens von ner Baustellenpumpe vorm Fenster.

Der Code steht am Ende des Beitrages. In einer Endlosschleife wird nun 
CS auf 0 gesetzt, Daten reingetaktet und Cs wieder auf 1. Eines der 
Potis wird ruch adc() gesetzt (delay Länge).

http://www.youtube.com/watch?v=TXHqOtnVuQE
1
while(1){
2
    PORTB &= ~(1<<PORTB0);
3
    write(0b00010001);
4
    write(0xff);
5
    write(0b00010001);
6
    write(adc()); //delay länge
7
8
    write(0b00010001);
9
    write(0x66);
10
    write(0b00010001);
11
    write(0xff);
12
    write(0b00010001);
13
    write(0x80);
14
    PORTB |= (1<<PORTB0);
15
  
16
    PORTB &= ~(1<<PORTB0);
17
    write(0b00010010);
18
    write(0xa0); //mix
19
    write(0b00010010);
20
    write(0xf0); //repeats
21
22
    write(0b00010010);
23
    write(0x80);
24
    write(0b00010010);
25
    write(0x80);
26
    write(0b00010010);
27
    write(0xd0);
28
    PORTB |= (1<<PORTB0);
29
  }

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

Du hast Glück, CS, SCK und SI haben einen Schmitt-Trigger Eingang, 
das entschärft das Problem deutlich. Da kann SCK auch ein wenig unsauber 
sein. Trotzdem sollte man SCK solide führen, wie beschrieben. Auf den 
Treiber kann man vielleicht verzichten.

von Falk B. (falk)


Lesenswert?

@  Nils (Gast)

>Ich hab mal ein kleines Video gemacht.

Ist das zur Problemlösung sinnvoll?

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Jawoll, Nils!

> Ich habe einen kleinen Testaufbau gemacht.
Mit diesen Steckbrettern ist das auch gut zu machen, sogar ohne die 
Gefahr von Lötspritzern auf dem Hemd.

> Ich habe bereits 2 Effektschaltungen für Gitarre in SMD geroutet und die
> Potentiometer durch Digitalpotentiometer ersetzt.

Fein, dass Du Dich nicht hast bremsen lassen durch die Unsicherheiten, 
die dieser Thread erzeugen musste.

> Das sind jetzt jeweils 2 Teilnehmer mit 5 Spi Bausteinen. Hier konnte
> ich nun keine Probleme feststellen. Wann werden die Probleme auftauchen?
Da stimme ich Falk zu:
„Alles, was schief gehen kann, wird schief gehen.“ („Murphys Law“)
(Grundgesetz der Qualitäter)

Deshalb ist die Überlegung gut, welche Gefahren drohen. (Vor allem 
Einkopplung von Netzfrequenz. Insbesondere in der Zeit, vom Einschalten 
der Versorgungsspannung bis Deine Firmware den Treiber des SCLK auf 
niederohming geschaltet hat.

Die Pfrüfung mit einem Testprogramm hast Du ja schon gemacht, alles o.k.

Aber da fühle ich mich noch unsicher, weil ich nicht wissen kann, was 
sich an de SCLK.Leitung abspielt. Deshalb ist die  Prüfung des 
Geschehens auf den langen Drähten gut mit einem getriggerten Oszilloskop 
und einem Teilertastkopf, ob an der SCLK-Leitung irgendwelche Flanken, 
Abnormitäten oder gar Überschwinger zu beobachten sind.

Dann ist das Wichtisgste untersucht und der Schlaf ruhig und gesund.


Ciao
Wolfgang Horn

von Jobst M. (jobstens-de)


Lesenswert?

Wolfgang Horn schrieb:
> Weil der SCLK-Pin des Prozessors diese Kapazitäten mit umladen müsste.

Welche denn noch?
(Wellenkapazität???)


Gruß

Jobst

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.