Hallo, ich hab hier ein kleines, aber hartnäckiges Problem mit der SPI-Verkabelung. Es handelt sich um folgenden Aufbau: Das Gerät besteht aus einer Hauptplatine und zwei Frontplatinen; letztere beherbergen jeweils 12 DOG-Displays sowie zwei Schieberegister 74HC595. Auf der Hauptplatine befinden sich weitere 4 Schieberegister. Die Schieberegister sind als Kaskade Geschaltet (Q'H -> SER usw.). Angebunden sind sie an die SPI-Schnittstelle eines AT90CAN128 über ein Transmissiongate 4052. Mit dem 4052 kann entweder die Schieberegisterkaskade oder die LCDs an SCK&MOSI des AT geschaltet werden. (Zur Erklärund: Die Schieberegister steuern diverse Relais sowie die CS-Eingänge der LCDs.). Die beiden Frontplatinen mit den Displays sind jeweils über ca. 15cm lange Flachbandkabel mit der Hauptplatine verbunden. MOSI führt von Frontplatine 1 zu Frontplatine 2. Und jetzt kommt das Problem: Hinter dem zweiten Schieberegister auf der ersten Frontplatine bekomme ich ein stark verändertes Ausgangssignal auf MOSI; es sieht im Oszillogramm aus, als ob Bits "zusammengerutscht" wären. Der Effekt verschwindet, wenn man die nachgeschaltete zweite Platine aussteckt. Daher vermute ich, daß es sich um eine Reflektion auf der Leitung handelt. Vertauscht man beide Platinen, ändert sich nichts. Hat jemand irgend eine Ahnung, was man dagegen machen kann? Das SPI hab ich schon so weit möglich heruntergetaktet. Kann man die Leitung irgendwie terminieren? Was wäre ausichtsreiche Wert für ein RC-Glied? TIA, Harald
@ Harald Horn (harald_horn) >Die beiden Frontplatinen mit den Displays sind jeweils über ca. 15cm >lange Flachbandkabel mit der Hauptplatine verbunden. MOSI führt von >Frontplatine 1 zu Frontplatine 2. Ich hoffe, dass weniogsten eine Ader auf dem Flachbandkabel mit masse beschaltet ist, in zwar an beiden Enden. Idealerweise neben SCK. >Und jetzt kommt das Problem: Hinter dem zweiten Schieberegister auf der >ersten Frontplatine bekomme ich ein stark verändertes Ausgangssignal auf >MOSI; es sieht im Oszillogramm aus, als ob Bits "zusammengerutscht" >wären. Der Effekt verschwindet, wenn man die nachgeschaltete zweite >Platine aussteckt. Daher vermute ich, daß es sich um eine Reflektion auf >der Leitung handelt. Klingt eher wie ein arger Layoutfehler oder Kurzschluss. Wie hast du gemessen? Mit welchem Tastkopf und welchem Oszillospok (Bandbreite). >Vertauscht man beide Platinen, ändert sich nichts. Was meinst du damit? Gleicher Fehler oder kein Fehler mehr? >Hat jemand irgend eine Ahnung, was man dagegen machen kann? Das SPI hab >ich schon so weit möglich heruntergetaktet. Dann klingt es erst recht nach Kurzschluss/Layoutfehler. Oder messfehler. Um bei den Leitungslängen Reflexionen zu sehen braucht man schon 100 MHz +++ am Scope. >Kann man die Leitung irgendwie terminieren? Was wäre ausichtsreiche Wert >für ein RC-Glied? Erstmal richtig messen un analysieren. MfG Falk
Hallo Falk, Falk Brunner wrote: > @ Harald Horn (harald_horn) > >>Die beiden Frontplatinen mit den Displays sind jeweils über ca. 15cm >>lange Flachbandkabel mit der Hauptplatine verbunden. MOSI führt von >>Frontplatine 1 zu Frontplatine 2. > > Ich hoffe, dass weniogsten eine Ader auf dem Flachbandkabel mit masse > beschaltet ist, in zwar an beiden Enden. Idealerweise neben SCK. GND liegt mit auf dem Kabel. Was meinst du mit beiden Enden? Daß die Masseleitung eine Schleife bildet? > Klingt eher wie ein arger Layoutfehler oder Kurzschluss. Halte ich für unwahrscheinlich, die bezogen auf den Kontroller als erste angeschlossene Leiterplatte funktioniert ja (Und abgesehen von den Leitungslängen ist bei ihr nichts anders.). Dazu kommt noch, daß ich auf Platine #2 ja auf allen Leitungen die entsprechenden Signale messe. Aber ich werde das morgen mit frischem Kopf trotzdem nochmal kontrollieren. >Wie hast du gemessen? Mit welchem Tastkopf und welchem Oszillospok (Bandbreite). Typ des Tastkopfs weiß ich jetzt nicht auswendig, bin inzwischen daheim. Oszi ist ein Tektronix TDS5000irgendwas bis 1GHZ. Tastkopf ist ebenfalls bis 1GHZ angegeben. Das mit der Reflektion hab ich inzwischen auch verworfen, weil bei ~8kHz Takt eher unwahrscheinlich. Aus irgenwelchen Gründen kippt das entsprechende Bit. >>Vertauscht man beide Platinen, ändert sich nichts. > > Was meinst du damit? Gleicher Fehler oder kein Fehler mehr? Die beiden Frontplatinen sind gleich, das hab ich noch nicht erwähnt, glaub´ich. Wenn man sie tauscht, bleibt der Fehler bestehen. Er ist also nicht einer bestimmten Platine zuzuordnen, sondern hängt eindeutig von der Reihenfolge der Leiterplatten relativ zum Kontroller ab. >>Hat jemand irgend eine Ahnung, was man dagegen machen kann? Das SPI hab >>ich schon so weit möglich heruntergetaktet. > > Dann klingt es erst recht nach Kurzschluss/Layoutfehler. Oder > messfehler. Um bei den Leitungslängen Reflexionen zu sehen braucht man > schon 100 MHz +++ am Scope. Ist vorhanden :-). Sogar mit Digitalphosphor (der einem dann eine hübsche, dünne blaue Linie zeigt, wo vorher mal das Bit war...). >>Kann man die Leitung irgendwie terminieren? Was wäre ausichtsreiche Wert >>für ein RC-Glied? > > Erstmal richtig messen un analysieren. Ok. Wie gesagt, ich werde das Layout nochmal kontrollieren. Aber was diese Variante noch unwahrscheinlicher mach, ist daß auf der relativ zum Kontroller zweiten Platine der gleiche Fehler nochmals zwischen den Beiden Schieberegistern auf der gleichen Leiterplatte auftaucht (d.h., da verschwindet nochmal ein Bit.) Für einen Messfehler spricht dabei allerdings, daß man auf der Platine den Fehler abhängig davon sieht, an welchem Ende der Leiterbahn man misst. Und dagegen spricht wieder, daß sich die angesteuerten Displays (ohne, daß gerade gemessen wird) ungefähr dem gemessenen Fehlerbild entsprechend verhalten. Gruß, Harald
Ich würde keinen 4052 nehmen, sondern 1 bis 2 4-fach AND-Gates und dann auch einen HC/HCT-Typen. Nur der kann die eventuell bis 8Mhz gehenden SPI-Signale schnell genug schalten. Ein normaler 4052 macht bereits bei ein paar Mhz schlapp und verschleift die Flanken (un)anständig.
@ Harald Horn (harald_horn) >GND liegt mit auf dem Kabel. Was meinst du mit beiden Enden? Daß die >Masseleitung eine Schleife bildet? Nein, damit es eine kurze Masserückleitung gibt. >Das mit der Reflektion hab ich inzwischen auch verworfen, weil bei ~8kHz >Takt eher unwahrscheinlich. Aus irgenwelchen Gründen kippt das >entsprechende Bit. FALSCH! Die Taktfreqeunz ist egal, die Anstiegszeit ist das Problem. Wellenwiderstand Mach mal nen Screenshot. >nicht einer bestimmten Platine zuzuordnen, sondern hängt eindeutig von >der Reihenfolge der Leiterplatten relativ zum Kontroller ab. Hmmm. >Ist vorhanden :-). Sogar mit Digitalphosphor (der einem dann eine Nobel geht die Welt zugrunde. ;-) MFG Falk
Hallo Falk, habe heute noch ein paar Oszillogramme des Fehlers gemacht, sind angehängt. Noch einige Details zum Aufbau: Die Schieberegister sind entsprechend ihrer Position in der Kaskade relativ zum MC nummeriert, d.h. SR1 ist das erste, SR6 das sechste Schieberegister nach dem MC. SR1-SR4 befinden sich auf der Hauptplatine. Der Fehler wirkt sich inzwischen -oder eben gerade heute- auch auf SR1...SR4 aus, was vorher nicht so war. Das obere Oszillogramm zeigt das Ausgangssignal des MC, das Clock-Signal am MC und das Ausgangssignal an Q'H von SR1; das mittlere und das untere Oszillogram zeigt jeweils den Ausgang von SR6 (2. Schieberegister auf der Linken Frontplatine; von dort aus geht es zurück zur Hauptplatine und von dort zur rechten Frontplatine). Die unteren beiden Oszillogramme sind beispielhaft zwei unterschiedliche Ausprägungen des selben Fehlers, d.h., es treten diese und auch noch andere Fehlerbilder auf, wenn die linke Platine angeschlossen ist. Ich hoffe, das Material ist hilfreich. Gruß und TIA, Harald EDIT: Ich sehe gerade, daß sich das Signal hinter SR6 um einen halben Clock-Zyklus verschoben zu haben scheint...
Harald Horn wrote: > Angebunden sind sie an die SPI-Schnittstelle eines AT90CAN128 über ein > Transmissiongate 4052. Mit dem 4052 kann entweder die > Schieberegisterkaskade oder die LCDs an SCK&MOSI des AT geschaltet > werden. Zeig mal den Schalplan. Der 4052 ist als Ausgangsmultiplexer denkbar schlecht geeignet, die nicht selektierten Anschlüsse floaten lustig in der Gegend herum. Daß nur Mist passiert, ist also normal. Nimm nen richtigen Dekoder (z.B. 74HC138). Peter
@ Harald Horn (harald_horn) >preview image for fehlerbild.JPG Bildformate >SR1-SR4 befinden sich auf der Hauptplatine. Ein Schaltplan wäre auch ganz brauchbar. Das erste Oszillogramm ist relativ nichtssagend, da mit 8 Takten Daten reingeschoben werden und gleichzeitig die Daten. welcher vorher reingeschrieben wurden, wieder rausgeschoben werden. Du müsstest auf jeden Fall mal zwei Übertragungen direkt hintereinander aufnehmen. Das gilt auch für die anderen Messungen. >EDIT: Ich sehe gerade, daß sich das Signal hinter SR6 um einen halben >Clock-Zyklus verschoben zu haben scheint... Warum? Die 74xx595 schalten auf der steigenden Flanke, das ist OK. Alle anderen Screenshots zeigen das Gleiche. Wenn scheinbar Bits verschluckt werden kann das ein Hinweis auf Reflexionen sein. Das kann man messen, gutes Equipment hast du ja. Also schau dir die Flanken des Taktes mal bei 10ns/DIV an, an allen Schieberegistern. Und bitte ordentliche Masseanbindung für den Tastkopf verwenden! Du kannst mal eine AC-Terminierung für SCK versuchen, 100 Ohm und 220pF sind ein guter Ausgangspunkt. Wellenwiderstand MFG Falk
Hallo Peter, > Der 4052 ist als Ausgangsmultiplexer denkbar schlecht geeignet, die > nicht selektierten Anschlüsse floaten lustig in der Gegend herum. > Daß nur Mist passiert, ist also normal. Die Augänge hier liegen über Pull-Ups immer auf einem definierten Potential. > Nimm nen richtigen Dekoder (z.B. 74HC138). Bin leider schon an den 4052 gebunden. Aber das nächste mal schau ich mir das mal an. Gruß, Harald
Harald Horn wrote: > Die Augänge hier liegen über Pull-Ups immer auf einem definierten > Potential. Sollten aber wenigstens schön niederohmig sein (<1k), wenns sogar auf andere Platinen geht. > Bin leider schon an den 4052 gebunden. Aber das nächste mal schau ich > mir das mal an. Hoffentlich dann aber wenigstens die 5V-Typen 74HC4052, denn die Hochvolttypen CD4052 sind bei nur 5V noch sehr hochohmig (>1k). Peter
@ Harald Horn (harald_horn) >> Nimm nen richtigen Dekoder (z.B. 74HC138). >Bin leider schon an den 4052 gebunden. Aber das nächste mal schau ich >mir das mal an. So schlecht ist der nicht, 5..15ns Durchlaufverzögerung bei 4,5V ist OK, auch für 8 MHz Takte (125ns). MFG Falk
Hallo Falk, > Ein Schaltplan wäre auch ganz brauchbar. [X] Done. > Das erste Oszillogramm ist relativ nichtssagend, da mit 8 Takten Daten > reingeschoben werden und gleichzeitig die Daten. Man sieht das in der Zoom-Darstellung jetzt natürlcih nicht mehr, aber ich habe vorhin im Labor natürlich zwei Übertragungen hintereinander beobachten können, und auch das vorhergehende Byte sad h aus wie das abgebildete. > Du kannst mal eine AC-Terminierung für SCK versuchen, 100 Ohm und 220pF > sind ein guter Ausgangspunkt. Werd´ ich gleich mal machen, danke. Gruß, Harald
Falk Brunner wrote:
> So schlecht ist der nicht, 5..15ns Durchlaufverzögerung bei 4,5V ist OK,
Das ist ein Analogschalter, der hat keine Verzögerung.
Der hat nur einen Innenwiderstand, der mit der Schaltungskapazität einen
RC-Tiefpaß bildet.
Es geht aber hauptsächlich um die nicht durchgeschalteten Ausgänge.
Da würde ich riesige 10k Pullup als super Antenne für Störungen
bezeichnen.
10k eignen sich bestenfalls für Tasten, die noch per Software entprellt
werden.
Peter
Hallo, hier einige Aufnahmen von den Signalflanken am Eingang der 2. Platine. Gruß, Harald
Also... ...Anstiegszeit ca. 20ns. 20ns/6 = 3,33ns. 3,33ns*21m/ns = ca. 70m. Die Länge alleine kann´s dann nicht sein, oder? Ich werde das jedenfalls mal mit der vorgeschalagenen Terminierung versuchen. Gruß, Harald
@ Peter Dannegger (peda) > So schlecht ist der nicht, 5..15ns Durchlaufverzögerung bei 4,5V ist OK, >Das ist ein Analogschalter, der hat keine Verzögerung. Ach ja? Dann solltest du das vielleicht mal den Jungs von NXP näherbringen. Oder das Datenblatt nebst Schaltbild studieren. http://www.standardics.nxp.com/products/hc/pdf/74hc4052.hct4052.pdf >Da würde ich riesige 10k Pullup als super Antenne für Störungen >bezeichnen. >10k eignen sich bestenfalls für Tasten, die noch per Software entprellt >werden. Paranoia. Sooo lang sind die Kabel nicht, 10K passt schon. Die Starkstromtechnik der TTL-Ära haben wir hinter uns. MFG Falk
@ Harald Horn (harald_horn) >Dateianhang: flanke.PNG (296,2 KB, 3 Downloads) Hast du den Artikel KOMPLETT in RUHE gelesen? Dein Bild ist mit PNG grösser als mit JPG. PNG ist richtig, aber 256 Farben tuns auch. Damit ist das Bild nur noch 61kB. >hier einige Aufnahmen von den Signalflanken am Eingang der 2. Platine. Naja, MOSI ist unkritisch, das wird abgetastet. SCK ist das Problemkind! Und es wird wahrscheinlich schlimmer als MOSI aussehen, das hat ja schon sichtbare Stufen, nahe VCC/2. Ein Terminierungsproblem wird immer wahrscheinlicher. MfG Falk
@ Harald Horn (harald_horn) >Also... ...Anstiegszeit ca. 20ns. Wie kommst du darauf? In deinen Screenshots sehe ich eher 5ns. > 20ns/6 = 3,33ns. Mathematisch richtig, aber bei 5ns sind wir eher bei 0,83ns. > 3,33ns*21m/ns = ca.70m. Mathematisch richtig, physikalisch Unsinn. Die Ausbreitungsgeschwindigkeit ist eher 21_C_m/ns Macht also 0,83 * 20 ~17cm. Aber das gilt nur bei halbwegs impedanzrichtiger Leitung. Und schon gar nicht bei Y-Verzweigungen, wie du sie für SCK verwendest. >Die Länge alleine kann´s dann nicht sein, oder? Ich werde das jedenfalls Doch. >mal mit der vorgeschalagenen Terminierung versuchen. Tu das. MFG Falk
Falk Brunner wrote: > Paranoia. Sooo lang sind die Kabel nicht, 10K passt schon. Die > Starkstromtechnik der TTL-Ära haben wir hinter uns. Aber auch deren Langsamkeit. Moderne CMOS reagieren schon recht fix auf kurze Schaltflanken, insbesondere durch ihren Hochohmigkeit. Bei TTL hatte ich grundsätzlich unbenutzte Eingänge offen gelassen, bei LS-TTL ging das schon nicht mehr. Ob das Paranoia ist, müßte man erstmal nachprüfen. Schließlich haben die beiden FETs im Schalter ja auch eine D-S-Kapazität im offenen Zustand (Crosstalk). Mit den riesigen 10k könnte das schon ausreichen, schmale SCK-Impulse durchzulassen. Ich nehme daher für Digitalsignale auch digitale Multiplexer, die haben immer niederohmigen High/Low-Pegel. Peter
@ Peter Dannegger (peda) >Ob das Paranoia ist, müßte man erstmal nachprüfen. >Schließlich haben die beiden FETs im Schalter ja auch eine D-S-Kapazität >im offenen Zustand (Crosstalk). Sicher. Aber was soll der Pull-Up dort bewirken? Wenn es IM IC koppelt hat der Pull-Up keinerlei Wirkung, egal ob gross oder klein. > Mit den riesigen 10k könnte das schon >ausreichen, schmale SCK-Impulse durchzulassen. Und bei rein kapazitiver Kopplung (zwischen den Leitungen) und relativ niederohmiger Quelle hat die Grösse des Pull-Ups keinen Einfluss auf die eingekopplete Störamplitude. Ein RC-Hochpass hat immer die volle Amplitude am Ausgang, egal wie gross R ist. >Ich nehme daher für Digitalsignale auch digitale Multiplexer, die haben >immer niederohmigen High/Low-Pegel. Sicher. MfG Falk
Hallo Falk, Falk Brunner wrote: > @ Harald Horn (harald_horn) > >>Dateianhang: flanke.PNG (296,2 KB, 3 Downloads) > > Hast du den Artikel KOMPLETT in RUHE gelesen? Dein Bild ist mit PNG > grösser als mit JPG. > PNG ist richtig, aber 256 Farben tuns auch. Damit ist das Bild nur noch > 61kB. ich hab hier grade nur Paint zur Verfügung. Dort konnte ich keine Einstellmöglichkeit für solche Parameter finden, sorry. Habe aber gerade festgestellt, daß cih direkt auf dem Oszi auch in .png speichern kann, das produziert vernünftige Dateigrößen... >>hier einige Aufnahmen von den Signalflanken am Eingang der 2. Platine. > > Naja, MOSI ist unkritisch, das wird abgetastet. SCK ist das Problemkind! > Und es wird wahrscheinlich schlimmer als MOSI aussehen, das hat ja schon > sichtbare Stufen, nahe VCC/2. Ein Terminierungsproblem wird immer > wahrscheinlicher. An der CLK-Flanke scheint sich einiges zu tun, sie wird merklich flacher. (Vgl. Bild). Hätte ich aber auch dran denken können... ...für MOSI wird die Leitung ja nicht wirklcih länger, da die 74HC595 ja immer ein "frisches" Signal liefern. Bei CLK ist das natürlcih anders. Terminierung werde ich Montag mal ausprobieren, muß erst die Bauteile organisieren. Das andere Labor ist schon zu. Gruß, Harald
Hallo Falk, >>Also... ...Anstiegszeit ca. 20ns. > > Wie kommst du darauf? In deinen Screenshots sehe ich eher 5ns. 10ns/Teil, 10%...90% des Endwertes. Oder hab ich mich da mit der Definition vertan? >> 20ns/6 = 3,33ns. > > Mathematisch richtig, aber bei 5ns sind wir eher bei 0,83ns. > >> 3,33ns*21m/ns = ca.70m. > > Mathematisch richtig, physikalisch Unsinn. Die > Ausbreitungsgeschwindigkeit ist eher 21_C_m/ns Oups. Da hab ich mich wohl verlesen. :-(. > Macht also 0,83 * 20 ~17cm. Aber das gilt nur bei halbwegs > impedanzrichtiger Leitung. Und schon gar nicht bei Y-Verzweigungen, wie > du sie für SCK verwendest. > >>Die Länge alleine kann´s dann nicht sein, oder? Ich werde das jedenfalls > > Doch. Ack. Gruß, Harald
@ Harald Horn (harald_horn) >Habe aber gerade festgestellt, daß cih direkt auf dem Oszi auch in .png >speichern kann, das produziert vernünftige Dateigrößen... Kaum macht man es richtig, schon funktionierts. ;-) >An der CLK-Flanke scheint sich einiges zu tun, sie wird merklich >flacher. Ja, aber sieht erstmal gut aus. Komisch ist, dass die fallende Flanke sauber ist, die steigende aber komische Zappeleffekte im oberen Bereich liefert. Hmmm. MFG Falk
Hallo, das Problem konnte ich gerade lösen. Vielen Dank nochmal! Terminierungsversuche blieben leider erfolglos, daher beschloß ich , in die Leitungsführung einzugreifen. Einige unterbrochene Leiterbahnen und abgeänderte, kürzere Wege für die Signale haben jetzt tatsächlich geholfen. Gruß, Harald
@ Harald Horn (harald_horn) >das Problem konnte ich gerade lösen. Vielen Dank nochmal! Schön zu hören. >die Leitungsführung einzugreifen. Einige unterbrochene Leiterbahnen und >abgeänderte, kürzere Wege für die Signale haben jetzt tatsächlich >geholfen. Was hast du denn unterbrochen und was geändert? MFg Falk
Hallo Falk,
> Was hast du denn unterbrochen und was geändert?
ich hatte MOSI etwas unglücklich geroutet; die Leitung ging von Links
nach Rechts durch die Schieberegister auf der Hauptplatine und von dort
wieder die ganze Platinenbreite (~200mm) zurück zum Anschluß für die
Linke Displayplatine, durch diese hindurch, zurück zur Hauptplatine,
wieder quer ´rüber zum anderen Anschluß und von dort in die rechte
Displayplatine.
Jetzt geht es erst in die rechte Platine und von dort aus in die Linke,
was erheblich Leitungslänge einspart.
Gruß,
Harald
@ Harald Horn (harald_horn) >Jetzt geht es erst in die rechte Platine und von dort aus in die Linke, >was erheblich Leitungslänge einspart. Das heisst das Datensignal hat sich Müll eingefangen, nicht der Takt? Hmmm, kaum zu glauben. Was hast du denn noch so auf der Platine? Irgendwelche starken geschalteten Ströme, DC-DC Wandler, Leistungsendstufen? Sind deine Schieberegister mit 100nF an der Versorgung entkopplet? MfG Falk
Hallo Falk, >>Jetzt geht es erst in die rechte Platine und von dort aus in die Linke, >>was erheblich Leitungslänge einspart. > > Das heisst das Datensignal hat sich Müll eingefangen, nicht der Takt? Ja. Der Takt war überall sauber. Interessanterweise konnten die Reflektionen die kaskadierten Schieberegister rückwärts "durchdringen". Nach der Lektüre des Artikels über Leitungstheorie hier erscheint es mir aber nicht so abwegig, daß das Datensignal stärker gefährdet ist: Schließlich bekommt es in jedem Schieberegister frische, messerscharfe Flanken verpasst. (Ist nur so ein Idee...) > Hmmm, kaum zu glauben. Was hast du denn noch so auf der Platine? > Irgendwelche starken geschalteten Ströme, DC-DC Wandler, > Leistungsendstufen? Auf der Platine selbst gibt es davon nichts; auf der separaten Stromversorgung sitzt allerdings ein Schaltregler, die die Hintergrundbeleuchtung der LCDs (LEDs, ~1A insgesamt) versorgt. Diesen Schaltregler hatte ich auch als erstes mal versuchsweise stillgelegt, er hat aber definitif keinen Einfluß. (Inzwischen arbeitet er wieder, und es sind nirgends Störungen zu beobachten.) > Sind deine Schieberegister mit 100nF an der > Versorgung entkopplet? Jepp. Gruß, Harald
@ Harald Horn (harald_horn) >Ja. Der Takt war überall sauber. Interessanterweise konnten die >Reflektionen die kaskadierten Schieberegister rückwärts "durchdringen". ??? Was meinst du damit? >Nach der Lektüre des Artikels über Leitungstheorie hier erscheint es mir >aber nicht so abwegig, daß das Datensignal stärker gefährdet ist: >Schließlich bekommt es in jedem Schieberegister frische, messerscharfe >Flanken verpasst. (Ist nur so ein Idee...) Nein, definitiv nicht. Denn du hast ja nach eigenen Angaben die SPI stark runtergetaktet und es gab immer noch Fehler. Die Daten müssen ja nur ganz kurz vor und nach der Taktflanke stabil anliegen (ein paar dutzend Nanosekunden), das reicht. > Sind deine Schieberegister mit 100nF an der > Versorgung entkopplet? >Jepp. Merkwürdig. MfG Falk
Hallo Falk, >>Ja. Der Takt war überall sauber. Interessanterweise konnten die >>Reflektionen die kaskadierten Schieberegister rückwärts "durchdringen". > > ??? > Was meinst du damit? MOSI ist ja nicht durchgehend verlegt, sondern von Schieberegister zu Schieberegister. Wenn ich z.B. die zweite Platine mit angeschlossen hatte, dann wirkte sich die Störung "rückwärts" durch mehrere Schieberegister aus, nicht nur auf den Ausgang des letzten Schieberegisters vor der zweiten LCD-Platine. >>Schließlich bekommt es in jedem Schieberegister frische, messerscharfe >>Flanken verpasst. (Ist nur so ein Idee...) > > Nein, definitiv nicht. Denn du hast ja nach eigenen Angaben die SPI > stark runtergetaktet und es gab immer noch Fehler. Die Daten müssen ja > nur ganz kurz vor und nach der Taktflanke stabil anliegen (ein paar > dutzend Nanosekunden), das reicht. Hmm. Ich versteh nicht, was du meinst. Ein Schieberegister besteht AFAIK aus mehreren Flipflops; d.h. wenn ich jetzt ein Signal mit Flanken, die aus welchen Gründen auch immer flacher geworden sind, durch das Schieberegister schicke, dann erzeugt diese ja am Ausgang wieder eine steilere Flanke. Gerade habe ich aber was ganz neues herausgefunden: Ich wollte die Modifikationen noch ein wenig sorgfältiger gestalten und verwendete anstatt einer Litze, die MOSI quer über die Hauptplatine schickt, eine der nicht mehr benötigeten Leiterbahnen, und: siehe da! kam der Fehler zurück. Eine überprüfunf im Layout ergab, daß auf der anderen Platinenseite zu dieser Leiterbahn +5V parallel laufen. Gruß, Harald
@ Harald Horn (harald_horn) >MOSI ist ja nicht durchgehend verlegt, sondern von Schieberegister zu >Schieberegister. Wenn ich z.B. die zweite Platine mit angeschlossen >hatte, dann wirkte sich die Störung "rückwärts" durch mehrere >Schieberegister aus, nicht nur auf den Ausgang des letzten >Schieberegisters vor der zweiten LCD-Platine. Dann ist noch was anderes faul. Und ich tippe auf den Takt. Kanns im Moment aber nicht genauer erklären. >Hmm. Ich versteh nicht, was du meinst. Ein Schieberegister besteht AFAIK >aus mehreren Flipflops; d.h. wenn ich jetzt ein Signal mit Flanken, die >aus welchen Gründen auch immer flacher geworden sind, durch das >Schieberegister schicke, dann erzeugt diese ja am Ausgang wieder eine >steilere Flanke. Ja und? Ist doch OK. >Eine überprüfunf im Layout ergab, daß auf der anderen Platinenseite zu >dieser Leiterbahn +5V parallel laufen. Das ist doch kein Problem. Ich vermute, dass da irgendwas sehr bösartig von den Daten auf den Takt überkoppelt. Vor allem lange Leitungen mit schlechter Masseführung machen das. Wie ist die Masse auf deinem Board? Mach mal nen Dauertest mit 0x55 in einer Endlosschleife. Damit kannst du Bitfehler ganz gut erkennen (Messung mit Infinite Persistence). MFG Falk
Setz einfach mal die Pullups von den riesigen 10k auf 1k runter. Peter
@ Peter Dannegger (peda) >Setz einfach mal die Pullups von den riesigen 10k auf 1k runter. Peter, wieder mal auf dem Starkstrom-Trip? Wenn du die Schilderung der Fehler mal überdacht hättest, wäre dir aufgefallen, dass es KEINE Übersprechen auf hochohmige Leitungen gibt, sondern Aussetzer im aktiven Fall, wenn die Leitungen aktiv vom uC über den MUX getrieben werden. Die 10K sind damit quasi unsichtbar! Ebenso wie die 1K nichts nenenswertes ausrichten. OK, 100 Ohm würden den AVR ins Schwitzen bringen. Willst du das? MfG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.