Hallo!
Ich habe in der Beschreibung eines Projektes, bei dem ein Display von
einem Mikrocontroller angesteuert wird folgenden Satz gelesen: "Da die
Taktfrequenz 3MHz beträgt, ist unbedingt ein Widerstand von 50 Ohm in
Serie einzubauen"
Es ging um die Datenleitung vom Mikrocontroller zum Display
(Kontrollerlos, Grafikdisplay)
Warum gehört so ein Widerstand?
Ich möchte ein Schieberegister von einem Mikrocontroller ansteuern, mit
ca 100kHz-1MHz.
Muss ich auch so einen Widerstand in Serie in die Datenleitung und in
die Clock-Leitung einbauen?
Danke im Voraus!
Viele Grüße!
@Hochfrequenz (Gast)
>Warum gehört so ein Widerstand?
Siehe Wellenwiderstand>Ich möchte ein Schieberegister von einem Mikrocontroller ansteuern, mit>ca 100kHz-1MHz.>Muss ich auch so einen Widerstand in Serie in die Datenleitung und in>die Clock-Leitung einbauen?
Das kommt auf die Leitungslänge an, siehe oben.
Hochfrequenz schrieb:> Ich möchte ein Schieberegister von einem Mikrocontroller ansteuern, mit> ca 100kHz-1MHz.> Muss ich auch so einen Widerstand in Serie in die Datenleitung und in> die Clock-Leitung einbauen?
Falls die Leitungen länger als 50cm sind, kann so ein Widerstand
nötig sein (kann, nicht muss) und zwar geht es in die Datenleitung,
Clockleitung ist nicht so kritisch.
Zwischen 47 und 150 Ohm past da so ziemlich alles.
Marc V. schrieb:> Hochfrequenz schrieb:>> Ich möchte ein Schieberegister von einem Mikrocontroller ansteuern, mit>> ca 100kHz-1MHz.>> Muss ich auch so einen Widerstand in Serie in die Datenleitung und in>> die Clock-Leitung einbauen?>> Falls die Leitungen länger als 50cm sind, kann so ein Widerstand> nötig sein (kann, nicht muss) und zwar geht es in die Datenleitung,> Clockleitung ist nicht so kritisch.> Zwischen 47 und 150 Ohm past da so ziemlich alles.
Nicht ganz. Der Takt ist ein Rechteck kein Sinus (hoffe ich doch ;-)).
Entsprechend sind darin auch die harmonischen enthalten.
Da hilft eine Serienterminierung oft, Abstrahlung zu verhindern. Der
Serienwiderstand sollte ähnlich groß sein, wie der Wellenwiderstand.
Die Clockleitung hat nämlich - Im Gegensatz zu den Datenleitungen - das
Problem, dass sich die gesamte Energie auf einige wenige Peaks
konzentriert. Die sticht dann heraus, bei der Abstrahlung. Wenn man Pech
hat (wie ich gerade mit SDIO), kann man die harmonschen hinauf bis zu
400MHz bewundern.
Das ist ja der Krux an der Digitaltechnik - das ist mitnichten weniger
anspruchsvoll als der analoge Kram. Ein 50MHz Clock ist fiese
HF-Technik, das geht rauf bis 400MHz und darüber.
@Marc Vesely (Firma: Vescomp) (logarithmus)
> nötig sein (kann, nicht muss) und zwar geht es in die Datenleitung,> Clockleitung ist nicht so kritisch.
Genau anders herum wird ein Schuh draus.
Falk B. schrieb:>> nötig sein (kann, nicht muss) und zwar geht es in die Datenleitung,>> Clockleitung ist nicht so kritisch.>> Genau anders herum wird ein Schuh draus.
Bei dir vielleicht.
LPD6803 mit 5m 3-adrigen Kabel (stinknormales Netzkabel):
- 100 Ohm in die Datenleitung, Clockleitung direkt, 2MHz -
funktioniert ohne Probleme.
- Datenleitung direkt, 100 Ohm in die Clockleitung, 2MHz -
funktioniert überhaupt nicht oder mit Farben wild durcheinander.
Marc V. schrieb:> Falls die Leitungen länger als 50cm sind, kann so ein Widerstand> nötig sein (kann, nicht muss) und zwar geht es in die Datenleitung,> Clockleitung ist nicht so kritisch.> Zwischen 47 und 150 Ohm past da so ziemlich alles.
Fast alles falsch.
Bei den Datenleitungen ist das weniger kritisch, die Clockleitung muss,
auch schon bei weniger als 50cm, einen Serienwiderstand nahe der Quelle
haben.
Auch die 47-150Ω sind nicht richtig. Es sollte irgendwas um die 30Ω
sein, wenn der Ausgang ein einigermaßen ordentlicher CMOS-Treiber ist.
Natürlich tut es den Datenleitungen auch gut, besonders in Hinsicht auf
EMV-Abstrahlung.
Ob dies auch bei kurzen Leitungen notwendig ist bzw. ab welcher Länge
man Serienterminierung verwendet, hängt von der Flankensteilheit der
Quellsignale ab.
BTW: wenn mit Serienwiderstand gearbeitet wird, dann gibt es nur
Punkt-zu-Punktverbindung, keinesfalls einen Bus. Eine Ausnahme kann man
zulassen, wenn empfangsseitig zwei oder drei Eingänge nur einige mm
auseinander liegen.
HildeK schrieb:> Fast alles falsch.
Fast alles (falsch) gegoogelt.
Wir leben im 21-sten Jahrhundert, das was du so schnell abgeschrieben
hast, nennt sich Theorie, hätte der TO auch selber rausgoogeln können.
Jetzt versuche mal rauszugoogeln, warum die Clockleitung bei sauberem
Datensignal (meistens) nicht so kritisch ist.
> HildeK schrieb:> > Fast alles falsch.
Kann es sein das du Clock und Daten verwechselst? So dumm wie du kann
man doch sonst garnicht sein. Hilde hat es dir doch perfekt erklaert.
Der Zustand der Datenleitung ist zwischen den aktiven Flanken des
Clocksignals relativ bedeutungslos. (ausser fuer EMV)
Olaf
Marc V. schrieb:> Fast alles (falsch) gegoogelt.
Ich habe gar nichts gegooglet!
Ich weiß das und ich kenne die Theorie dahinter und habe sie auch
gelernt. Und ich weiß, wie die Signale aussehen, wenn sie nicht oder
falsch terminiert sind und wie sie aussehen, wenn man es richtig macht.
Und ein Takt, der auf Grund falscher oder fehlender Terminierung mit
einer Flanke zwei Ereignisse auslöst, den habe ich auch schon erlebt.
Dein Einzelversuch mit völlig falschen Widerständen ist irgend ein
Zufallsprodukt und weder mit Google noch mit irgendeiner Theorie zu
belegen.
Aber, du musst mir natürlich nichts glauben, dann erarbeite es
wenigstens. Selbst mit LTSpice kann man schön zeigen, wozu eine falsche
oder fehlende Terminierung führen kann.
Olaf schrieb:> Der Zustand der Datenleitung ist zwischen den aktiven Flanken des> Clocksignals relativ bedeutungslos.
Korrekt. Nur an den aktiven Taktflanken (+/- Setup und Hold) muss das
Datensignal einen definierten Zustand haben - dazwischen kann es machen
was es will.
Hochfrequenz schrieb:> Ich möchte ein Schieberegister von einem Mikrocontroller ansteuern, mit> ca 100kHz-1MHz.
Die Wiederholfrequenz deiner Signale ist bedeutungslos. Wichtig ist die
Anstiegszeit der Flanken, letztlich also der eingesetzten
CMOS-Technologie. Und dann gibt es noch den Begriff 'elektrisch kurz',
also wenn diese Anstiegszeit >> als die Laufzeit auf der Leitung ist
(10...15cm/ns), dann kannst du auf die Serienterminierung verzichten.
Schaden würde sie allerdings trotzdem nicht.
Wenn eine Taktflanke - egal wie selten sie kommt - auf Grund von
unerwünschten Reflexion nicht monoton steigt oder fällt, dann kann diese
zwei Ereignisse auslösen, sich eben wie zwei Taktflanken verhalten.
Olaf schrieb:> Kann es sein das du Clock und Daten verwechselst? So dumm wie du kann> man doch sonst garnicht sein. Hilde hat es dir doch perfekt erklaert.
Man kann wesentlich dümmer sein, du bist der Beweis.
HildeK schrieb:> Korrekt. Nur an den aktiven Taktflanken (+/- Setup und Hold) muss das> Datensignal einen definierten Zustand haben
LOL.
Sage ich doch.
Marc V. schrieb:> Olaf schrieb:> Kann es sein das du Clock und Daten verwechselst? So dumm wie du kann> man doch sonst garnicht sein. Hilde hat es dir doch perfekt erklaert.>> Man kann wesentlich dümmer sein, du bist der Beweis.>> HildeK schrieb:> Korrekt. Nur an den aktiven Taktflanken (+/- Setup und Hold) muss das> Datensignal einen definierten Zustand haben>> LOL.> Sage ich doch.
Wenn alle anderen etwas anderes sagen, würde ich mir vielleicht mal
Gedanken darüber machen, ob ich mit so großer Klappe falsche Dinge
erzählen würde...
HildeK schrieb:> Wenn eine Taktflanke - egal wie selten sie kommt - auf Grund von> unerwünschten Reflexion nicht monoton steigt oder fällt, dann kann diese> zwei Ereignisse auslösen, sich eben wie zwei Taktflanken verhalten.
Sicher.
Wenn man eine "unerwünschte" Neonleuchte gerade in dem Moment
einschaltet, kann auch vieles passieren.
Oder wenn beim Nachbarn ein "unerwünschter" Blitz einschlägt...
Horst schrieb:> Wenn alle anderen etwas anderes sagen, würde ich mir vielleicht mal> Gedanken darüber machen, ob ich mit so großer Klappe falsche Dinge> erzählen würde...
Du vielleicht, nur weiss ich aber zufällig, dass es so ist, kann das
auch belegen.
Aber da Ihr alle so schnell am Google seid, bitteschön, ran ans
googeln.
P.S.
Natürlich sind Clockflanken von 0 - 100% und wieder zurück zu 0%
so etwas von üblich und können schon bei Leitungslängen > 25cm
auftreten - nur nicht IRL.
Marc V. schrieb:> Du vielleicht, nur weiss ich aber zufällig, dass es so ist, kann das> auch belegen.
Dann tue es endlich!
> Aber da Ihr alle so schnell am Google seid, bitteschön, ran ans> googeln.
Zeige den Link, auf den du dich dauernd beziehst. Ich brauche keine
Google-Links auf dubiose E-Technik-Seiten (hast du sie verfasst?) zu
diesem Thema.
Und - du darfst es gerne weiterhin falsch machen, nur bring andere, wie
z.B. den TO, nicht auf schwachsinnige Fährten.
What? schrieb:> ??? Du sprichst in Rätseln!
IRL - "in real life".
HildeK schrieb:> Dann tue es endlich!
Warum sollte ich ?
HildeK schrieb:> Zeige den Link, auf den du dich dauernd beziehst.
Ich beziehe mich auf keinen Link.
HildeK schrieb:> Und - du darfst es gerne weiterhin falsch machen, nur bring andere, wie> z.B. den TO, nicht auf schwachsinnige Fährten.
Wieso ich ?
Zitat aus Post No.1 vom TO:
Hochfrequenz schrieb:> Ich habe in der Beschreibung eines Projektes, bei dem ein Display von> einem Mikrocontroller angesteuert wird folgenden Satz gelesen: "Da die> Taktfrequenz 3MHz beträgt, ist unbedingt ein Widerstand von 50 Ohm in> Serie einzubauen"> Es ging um die Datenleitung vom Mikrocontroller zum Display> (Kontrollerlos, Grafikdisplay)
Wollte da auch jemand den TO auf schwachsinnige Fährten bringen ?
Oder ist vielleicht ein bisschen nachdenken doch besser, als stupides
wiederholen von rausgegoogeltem Quasi-Wissen und darauf beegründetem
Dogmatismus ?
Marc V. schrieb:> Falls die Leitungen länger als 50cm sind, kann so ein Widerstand> nötig sein (kann, nicht muss)
Schon bei wesentlich kürzeren Leitungen ist das nötig und sinnvoll. Und
um das mal bildlich ins Spiel zu bringen den
Beitrag "Re: Signalproblem bei langem Kabel"> und zwar geht es in die Datenleitung,> Clockleitung ist nicht so kritisch.
Allein die Taktleitung ist hier interessant. Bis der Takt kommt, ist
die Datenleitung sowieso stabil...
Lothar M. schrieb:>> und zwar geht es in die Datenleitung,>> Clockleitung ist nicht so kritisch.> Allein die Taktleitung ist hier interessant. Bis der Takt kommt, ist> die Datenleitung sowieso stabil...
Sage ich doch.
Wenn die Datenleitung erstmal stabil ist, ist der Clock unkritisch -
ob mit oder ohne Überschwinger, mit Jitter oder ohne - es wird
meistens klappen.
Umgekehrt ist das aber nur sehr selten der Fall.
Marc V. schrieb:> Sage ich doch.
Du drehst mir und HildeK das Wort im Maul um...
> Wenn die Datenleitung erstmal stabil ist, ist der Clock unkritisch -> ob mit oder ohne Überschwinger
Was ich sage ist genau das Gegenteil und ich kann das begründen. Erst
mal die Aussage: das kritischste Signal überhaupt ist ein Taktsignal,
weil es dabei lediglich auf Flanken ankommt.
Wenn so ein Taktsignal anständig überschwingt, dann läuft eine
angeschlossene Schaltung doppelt so schnell, oder Daten werden doppelt
in Schieberegister eingetaktet...
Deshalb nochmal: das Taktsignal ist kritisch, weil 1. die Flanken
ausreichend steil sein müssen, und es 2. niemals "zu weit"
überschwingen darf.
Sowohl 1. wie auch 2. ist für ein Datensignal absolut unkritisch,
solange die Setup- und die Hold-Zeit eingehalten werden.
> es wird meistens klappen.
"meistens klappen" wäre mir a) zu selten und b) zu unsicher.
Lothar M. schrieb:> Allein die Taktleitung ist hier interessant.
----------------------
Marc V. schrieb:> Sage ich doch.
--------------
> Wenn die Datenleitung erstmal stabil ist, ist der Clock unkritisch
------------------------
Bin ich hier im falschen Film?
Marc V. schrieb:> Jetzt versuche mal rauszugoogeln, warum die Clockleitung bei sauberem> Datensignal nicht so kritisch ist.
Dafür gibt's keine Treffer. .
Ich kontrolliere in einem neuen Prototypen zuallererst die Versorgung,
dann die Takte. Und wenn die passen, dann funktioniert das Design.
Bestenfalls dann, wenn eine Datenleitung so richtig misraten ist, oder
hohe Datenraten vorliegen (50MHz aufwärts) muss ich auch mal da dran
messen...
Lothar M. schrieb:> ich sage ist genau das Gegenteil und ich kann das begründen. Erst> mal die Aussage: das kritischste Signal überhaupt ist ein Taktsignal,> weil es dabei lediglich auf Flanken ankommt.> Wenn so ein Taktsignal anständig überschwingt, dann läuft eine> angeschlossene Schaltung doppelt so schnell, oder Daten werden doppelt> in Schieberegister eingetaktet...
Aha.
Und anständig überschwingen ist was ?
200% und dann wieder runter auf 20% und so 10 Mal hintereinander ?
Takt- und Dateneingänge unterscheiden sich in der Beziehung, dass
ein Takteingang nur Eingang ist, dementsprechend entworfen und
dimensioniert. Reagiert meistens auf Flanken.
Und Überschwingen und Welligkeit stört meistens nicht.
Dateneingang ist da anders. Reagiert meistens auf Level und nicht
auf Flanken. Kann auch Ausgang sein, muss also HiZ können.
Und Überschwingen und Welligkeit stört meistens sehr.
Nur in diesem Fall scheint die Datenleitung perfekt zu sein, die
Taktleitung dagegen ist massiv gestört, obwohl diese nur eine
einigermassen anständige Flanke liefern soll, was ja auch meistens
oder in 99% der Fälle auch funktioniert.
Aber OK, mir soll es egal sein.
P.S.
Und "meistens", weil nichts auf dieser Welt immer und zu 100%
funktioniert.
Marc V. schrieb:> Aha.> Und anständig überschwingen ist was ?
Nur so viel, dass zwei Flanken kurz nacheinander erkannt werden. Da
reichen 50% schon mal aus. Im Besonderen, wenn man weiß, dass daraus
dann ohne Oszi-Tastkopf gerne noch viel mehr wird (nicht umsosnt
funktionieren so viele Schaltungen nur mit Oszi...).
> Dateneingang ist da anders.> Reagiert meistens auf Level und nicht auf Flanken.
Der Dateneingang reagiert überhaupt nicht. An dem kannst du herumändern
so viel du willst. Gerne auch 10 oder 20 mal. Erst dann, wenn der
zugehörige Takt kommt muss sie stabil sein.
> ein Takteingang nur Eingang ist, dementsprechend entworfen und> dimensioniert. Reagiert meistens auf Flanken.
Soweit korrekt. Aber jetzt kommt ein logischer Kurzschluss:
> Und Überschwingen und Welligkeit stört meistens nicht.
Auch mit hartnäckiger Wiederholung werden falsche Aussagen nicht
richtig.
Oder gib wenigstens an, wie viel denn von diesem Überschwingen und der
Welligkeit "meistens nicht stört".
Warum ist denn im Datenblatt eine Flankensteilheit und Schaltzeiten nur
für den Takteingang angegeben, wenn der schon so unkritisch ist?
Für Datenleitungen ist dagegen meist nur die tsu (Setupzeit) angegeben,
also nur die Zeit, wie viel diese Datenleitungen vor der relevanten
Taktflanke stabil sein müssen. Und schlimmstenfalls noch eine th (=
Haltezeit).
> Dateneingang ist da anders. ...> Kann auch Ausgang sein, muss also HiZ können.
Schon wieder so ein logischer Kurzschluss. Natürlich kann es
bidirektionale Dateneingänge geben. Aber dass dehalb jeder
Dateneingang automatisch HiZ können muss, ist schlicht falsch. Es ist
sogar falsch, dass ein Datenausgang HiZ können muss.
Denn in der Betrachtung hier sind z.B. auch Adressleitungen
"Dateneingänge", weil sie eben keine Takteingänge sind.
Falk B. schrieb:> beat you with experience.
Ja, es muss aber nicht jeder auch diese Erfahrung machen.
Im Besonderen nicht, wenn diese "Erfahrung" so aussieht, wie
Marc V. schrieb:> LPD6803 mit 5m 3-adrigen Kabel (stinknormales Netzkabel):> - 100 Ohm in die Datenleitung, Clockleitung direkt, 2MHz -> funktioniert ohne Probleme.> - Datenleitung direkt, 100 Ohm in die Clockleitung, 2MHz -> funktioniert überhaupt nicht oder mit Farben wild durcheinander.
Denn mich hätte da die Frage umgetrieben: Warum?
Und ich hätte da mal mit einem Oszi nachgemessen.
Und dann wäre ich vermutlich darauf gekommen, dass durch den zu
hochohmigen Widerstand und die daraus entstehende
Verschiebung/Abflachung der Taktflanke im 2. Fall die Taktflanke zu spät
kommt und eben genau die Setup-Zeit verletzt wird...
Marc V. schrieb:> P.S.> Und "meistens", weil nichts auf dieser Welt immer und zu 100%> funktioniert.
Und weil mann sich immer ein Schlupfloch aufhalten muss...
Falk B. schrieb:> Never argue with a fool. He will drag you down on his level and beat you> with experience.
Recht hast du.
Deswegen widerspreche ich dir auch nicht.
Marc V. schrieb:> - 100 Ohm in die Datenleitung, Clockleitung direkt, 2MHz -> funktioniert ohne Probleme.
Mit solchen Erfahrungen können heutige HiSpeed-Techniker natürlich
niemals mithalten, wir haben ja bloss Aufgabenstellungen mit ns und GHz.
Vor Erkenntnissen mit 2 MHz können wir uns nur ehrfurchtsvoll verbeugen,
bei mir ist das mehr als 30 Jahre her und die meisten Jungen haben mit
sowas nie gearbeitet.
Georg
Marc V. schrieb:> Deswegen widerspreche ich dir auch nicht.
Nein, das tust du nicht.
Du stimmst erst zu:
> Sage ich doch.
Und sofort im nächsten Satz erzählst du genau das Gegenteil.
Das kann man wirklich nicht direkt als "widersprechen" bezeichnen :-)))
Lothar M. schrieb:> Ja, es muss aber nicht jeder auch diese Erfahrung machen.> Im Besonderen nicht, wenn diese "Erfahrung" so aussieht, wie> Marc V. schrieb
Ja, das war auch mein Grund, warum ich solange mitdiskutiert habe. Aber
inzwischen habe ich es aufgegeben.
Wenn ein Suchender später mal diesen Thread findet, so hoffe ich, dass
er die Kompetenz von Lothar Miller und von Falk Brunner (u. anderen)
bereits aus vielen anderen Beiträgen kennt und so das Spreu vom Weizen
in diesem Thread trennen kann.
Um es nochmals klar zu sagen: Marc Vesely hat keine Ahnung von
schneller digitaler Signalübertragung! Und wenn was nicht geht, dann
geht er der Sache nicht auf den Grund, sondern probiert so lange herum,
bis irgendwas geht und macht dann daraus ein Dogma.
Lothar M. schrieb:>> LPD6803 mit 5m 3-adrigen Kabel (stinknormales Netzkabel):>> - 100 Ohm in die Datenleitung, Clockleitung direkt, 2MHz ->> funktioniert ohne Probleme.>> - Datenleitung direkt, 100 Ohm in die Clockleitung, 2MHz ->> funktioniert überhaupt nicht oder mit Farben wild durcheinander.> Denn mich hätte da die Frage umgetrieben: Warum?
Mich auch, vor allem weil es mit Clockleitung direkt und Dataleitung
direkt überhaupt nicht funktioniert hat.
100 Ohm in der Dataleitung hat das Problem gelöst, 100 Ohm in der
Clockleitung aber nicht...
> Und dann wäre ich vermutlich darauf gekommen, dass durch den zu> hochohmigen Widerstand und die daraus entstehende> Verschiebung/Abflachung der Taktflanke im 2. Fall die Taktflanke zu spät> kommt und eben genau die Setup-Zeit verletzt wird...
Warum sollte die Flankenverschiebung daran schuld sein, wenn es
ohne Flankenverschiebung auch nicht funktioniert hat ?
> Warum ist denn im Datenblatt eine Flankensteilheit und Schaltzeiten nur> für den Takteingang angegeben, wenn der schon so unkritisch ist?
Weil es ein Takteingang ist und einzig die Flankensteilheit zählt.
Und die wird fast immer erreicht (weil der entsprechende Bereich
für die Flankenerkennung natürlich nicht von 0% bis 100% geht).
Und selbst mit einem Bereich von 20%-80% werden aus 2us max.
Anstiegszeit 3,3us Gesammtzeit, was ja meistens mehr als
ausreichend ist.
Auch deswegen ist Überschwingen bei Clock unkritisch.
Und wenn für steigende Flanken 20% bis 80% zählt, gilt das
dementsprechend für fallende Flanken auch, also müsste ein Signal
von z.B. 0% bis 130% gehen (Überschwingen), danach aber wieder von
130% bis auf 20% genauso schnell runtergehen, um als fallende Flanke,
bzw. beim nächsten Anstieg als doppelter Impuls erkannt zu werden.
Deswegen meine Bemerkung, dass so etwas nicht IRL passiert.
Dateneingang dagegen, hat einen Bereich garantiert HIGH und einen
Bereich garantiert LOW.
Alles dazwischen ist undefiniert, kann so oder so gelesen werden.
Deswegen reagieren Dateneingänge (im Gegensatz zu Takteingängen)
sehr empfindlich auf Überschwinger und Welligkeit.
Wer versteht, wird auch begreifen.
Oder auch nicht...
>> Und "meistens", weil nichts auf dieser Welt immer und zu 100%>> funktioniert.> Und weil mann sich immer ein Schlupfloch aufhalten muss...
Das ist ein bisschen beleidigend...
Ich brauche keine "Schlupflöcher", weil ich nirgendwo schlüpfen
will, das ist nicht mein Stil, warum auch ?
Wenn ich sehe, dass ich im Unrecht bin, gebe ich es auch offen
zu - ist schon mehrmals passiert. Im Gegensatz dazu stehen mehrere
sogenannte Experten, die nach irgendeiner Falschbehauptung auf
nimmerwiedersehen aus dem Thread "entschlüpfen" - auch schon
mehrmals passiert.
P.S.
Apropos Experten:
Ein Theoretiker weiss bis ins letzte Detail, wie etwas funktioniert,
kann aber selber nichts zum Laufen bringen.
Ein Praktiker weiss nicht bis ins letzte Detail, wie etwas
funktioniert, bringt aber so ziemlich alles zum Laufen.
Georg schrieb:> Mit solchen Erfahrungen können heutige HiSpeed-Techniker natürlich> niemals mithalten, wir haben ja bloss Aufgabenstellungen mit ns und GHz.
Schwierigkeiten mit lesen ?
TO spricht von 100KHz bis 1MHz.
Was wolltest du eigentlich sagen ?
HildeK schrieb:> Um es nochmals klar zu sagen: Marc Vesely hat keine Ahnung von> schneller digitaler Signalübertragung!
Marc Vesely hat sehr wohl Ahnung davon, im Gegensatz zu dir.
Falls du überhaupt imstande bist, es zu begreifen, die
Erklärung steht im vorigen Beitrag.
Oder soll ich es für dich noch einfacher schreiben ?
Und was Experten betrifft, das wurde auch kurz erwähnt.
Marc V. schrieb:> Weil es ein Takteingang ist und einzig die Flankensteilheit zählt.
Richtig.
> Und die wird fast immer erreicht (weil der entsprechende Bereich> für die Flankenerkennung natürlich nicht von 0% bis 100% geht).
Richtig.
> Und selbst mit einem Bereich von 20%-80% werden aus 2us max.> Anstiegszeit 3,3us Gesammtzeit, was ja meistens mehr als> ausreichend ist.
Mit welchen Technologien arbeitest du denn? Übliche CMOS-Bausteine
(heute 90% Anteil in der Digitaltechnik) definieren die maximale
Anstiegstzeit im Bereich von höchstens 100ns...200ns. Praktisch liegt
man bei Zeiten unter 10ns und bei sehr schnellen Technologien weit unter
1ns.
Solltest du tatsächlich Anstiegszeiten im µs-Bereich haben: da kann man
ohne jegliche Probleme auf beliebigen Leitungen mehrere Meter
überbrücken ohne Terminierung. Wenn du bereits damit Probleme hattest,
dann war noch was ganz anderes faul.
> Auch deswegen ist Überschwingen bei Clock unkritisch.
Ein Überschwingen ist völlig unkritisch, solange der IC den Pegel
verträgt. Allerdings folgt direkt danach auch die Umkehrung und die kann
bei unbrauchbarer Terminierung in den Pegelbereich gehen, in dem der
Takteingang bereits wieder als LOW gesehen wird. Und dann wieder zurück
auf HIGH und schon hat man eine doppelte Flanke.
Übrigens: mit passender Serienterminierung gibt es kein Überschwingen
sondern die Takte sehen aus, wie gemalt im Lehrbuch.
> Und wenn für steigende Flanken 20% bis 80% zählt, gilt das> dementsprechend für fallende Flanken auch, also müsste ein Signal> von z.B. 0% bis 130% gehen (Überschwingen), danach aber wieder von> 130% bis auf 20% genauso schnell runtergehen, um als fallende Flanke,> bzw. beim nächsten Anstieg als doppelter Impuls erkannt zu werden.> Deswegen meine Bemerkung, dass so etwas nicht IRL passiert.
Das passiert im wahren Leben immer dann, wenn der Takt steile Flanken
hat, die Leitungen lang sind und keine Terminierung verwendet wurde!
Eine Serienterminierung verhindert das wirkungsvoll. Wenn du das noch
nie beobachtet hast, dann klemm dich einfach mal dahinter und kaschiere
deine Probleme nicht einfach mit Widerständen in den Datenleitungen.
Mit einem schnellen Scope kann ich dir aus diesen Unstetigkeiten die
Länge der Leiterbahn auf einem IC-Interposer bestimmen!
> Dateneingang dagegen, hat einen Bereich garantiert HIGH und einen> Bereich garantiert LOW.
Richtig.
> Alles dazwischen ist undefiniert, kann so oder so gelesen werden.
Es wird aber nur dann gelesen, wenn die aktive Taktflanke (incl. Setup-
und Holdzeit) wirkt. Zu allen anderen Zeiten ist der Pegel der
Datenleitung irrelevant. Nur zur Taktflanke müssen die HIGH bzw.
LOW-Pegel eingehalten sein. Überschwinger klingen schnell ab und bis
z.B. in Datenmitte der Takt kommt, hat die Datenleitung längst ihren
Ruhepegel eingenommen. So geht Datenübertragung!
#
> Deswegen reagieren Dateneingänge (im Gegensatz zu Takteingängen)> sehr empfindlich auf Überschwinger und Welligkeit.
Eben nicht. Takteingänge veranlassen dann dein z.B. Schieberegister, die
Daten eine Stelle weiterzuschieben und schon hast du Mist an den
Ausgängen.
> Wenn ich sehe, dass ich im Unrecht bin, gebe ich es auch offen> zu - ist schon mehrmals passiert.
Mag sein, nur diesmal bemerkst du es nicht mal.
Marc V. schrieb:> Ein Theoretiker weiss bis ins letzte Detail, wie etwas funktioniert,> kann aber selber nichts zum Laufen bringen.> Ein Praktiker weiss nicht bis ins letzte Detail, wie etwas> funktioniert, bringt aber so ziemlich alles zum Laufen.
Ich kenne sowohl die Theorie hinter der Angelegenheit als auch die
Praxis.
Du wohl weder noch.
Marc V. schrieb:> Oder soll ich es für dich noch einfacher schreiben ?
Nein, nicht nötig. Nötig ist, dass du begreifst, was da elektrisch Sache
ist. Probier doch einfach mal LTSpice aus, da kann man das wundervoll
nachvollziehen oder nimm einen Generator, Leitungen und miss anständig.
Dein Scope sollte aber schon deutlich mehr als 1 GHz Bandbreite haben.
Marc V. schrieb:> Georg schrieb:>> Mit solchen Erfahrungen können heutige HiSpeed-Techniker natürlich>> niemals mithalten, wir haben ja bloss Aufgabenstellungen mit ns und GHz.>> Schwierigkeiten mit lesen ?>> TO spricht von 100KHz bis 1MHz.> Was wolltest du eigentlich sagen ?
Habe ich auch schon gesagt: Die Frequenz spielt keine Rolle, wichtig
ist die Anstiegszeit der Signal und die zu überbrückende
Leitungslänge.
Und auch ein Takt von 1kHz ist High-Speed, wenn er z.B. von einem
schnellen IC generiert wird, weil er ggf. im Sub-Nanosekundenbereich
Anstiegszeiten der Signale liefert. Deshalb hat Georg genau das Richtige
bemerkt.
Anbei ein Sreenshot einer LTSpice-Simulation. Quellsignal ist ein Takt
mit 2ns Anstieg und wird auf eine 50Ω-Leitung gegeben. Das grüne Signal
ist quellseitig mit 50Ω terminiert und ist am Ende einer 2ns langen,
verlustfreien Leitung zu sehen. Rot zeigt das Signal aus der selben
Quelle mit 5Ω Quellterminierung, ebenfalls nach einer 2ns langen
Leitung.
Das rote Signal will ich nicht an einem Takteingang haben.
Marc V. schrieb:> Dateneingang dagegen, hat einen Bereich garantiert HIGH und einen> Bereich garantiert LOW.> Alles dazwischen ist undefiniert, kann so oder so gelesen werden.> Deswegen reagieren Dateneingänge (im Gegensatz zu Takteingängen)> sehr empfindlich auf Überschwinger und Welligkeit.
Wiederholte Wiederholungen machen es nicht besser.
Sie reagieren ganz einfach gar nicht. Sie müssen nur genau zu diesem
einen winzigen Zeitpunkt, der sich "Taktflanke" nennt, stabil sein. Und
pro Taktimpuls darf nur 1 Flanke kommen. Bei den Daten ist das
piepegal...
Marc V. schrieb:> Marc Vesely hat sehr wohl Ahnung davon, im Gegensatz zu dir.
Warum kommen dann solche mit simplem Nachdenken als "falsch" zu
klassifizierende Aussagen zustande? Ist es evtl. tatsächlich nur
"Ahnung" und nicht "Wissen"? Oder müssen wir gar einen
Mehrheitsentscheid machen?
HildeK schrieb:> Mit welchen Technologien arbeitest du denn? Übliche CMOS-Bausteine> (heute 90% Anteil in der Digitaltechnik) definieren die maximale> Anstiegstzeit im Bereich von höchstens 100ns...200ns. Praktisch liegt> man bei Zeiten unter 10ns und bei sehr schnellen Technologien weit unter> 1ns.
Das, z.B. sind Zeiten für MCP2515, SPI bis 10MHz, wird immer noch gerne
von uns verwendet.
Und glaubt irgendeiner von euch Experten ernsthaft dran, dass irgend-
jemand bei geforderten Anstiegszeiten um 1ns oder weniger noch mit
Werten im Bereich von "ungefähr" oder "etwa" hantiert ?
Der TO hat gefragt, ich habe ihm meine Meinung gesagt, Falk war
anderer Meinung, da habe ich geschrieben, was bei mir passiert ist
und was geholfen und was nicht geholfen hat.
Ich habe weder geschrieben, dass ich das so mache, noch dass ich es
so für richtig halte.
Es ging vielmehr um die Frage was kritischer ist - Datenleitung oder
Taktleitung, von richtigen oder falschen Werten war überhaupt keine
Rede.
Und jetzt nimm dein Bild und übertrage den Signalverlauf auf dieDatenleitung - was wird da wohl als Wert eingelesen ?
Im ersten Drittel, sogar noch im zweiten ?
Und dann die Werte langsam von gut nach schlechter verändern und
beobachten, was als Erstes falsch (oder nicht definiert) eingelesen
wird - Takt oder Daten ?
Lothar M. schrieb:> Sie reagieren ganz einfach gar nicht. Sie müssen nur genau zu diesem> einen winzigen Zeitpunkt, der sich "Taktflanke" nennt, stabil sein.Siehe oben - stabil mag (bei deiner Definition) noch zutreffen, nur
ob in diesem winzigen Zeitpunkt auch der richtige Wert eingelesen
wird - da happert es ein bisschen...
Lothar M. schrieb:> Warum kommen dann solche mit simplem Nachdenken als "falsch" zu> klassifizierende Aussagen zustande?
Das allerdings frage ich mich auch.
Marc V. schrieb:> Und jetzt nimm dein Bild und übertrage den Signalverlauf auf die> Datenleitung - was wird da wohl als Wert eingelesen ?
Das würde wunderbar funktionieren - mit dem grünen Takt. Das rote ist
auch ein Takt, wenn es eine Datenleitung wäre, dann würde diese bis zu
t=100ns auf HIGH sein und bei t=55ns gelesen werden. Die Datenleitung
wird ja erst mit der negativen Taktflanke übernommen, wenn man sie mit
der positiven aus der Quelle taktet. Und da wären kaum noch 200mV Ripple
drauf. Oder, wie z.B. bei Schieberegistern üblich, erst mit der
nächsten positiven Taktflanke, kurz vor dem neuen Wechsel.
Jetzt setze mal das rote Signal bis an den rechten Bildrand fort:
wieviel Ripple hast du dann noch auf der Datenleitung? 100mV, 50mV oder
noch weniger? Wäre perfekt!
Aber ich habe nie abgelehnt, bei Datenleitungen auch
Serienterminierung zu verwenden. Nur in meinem Bildbeispiel ist es für
die Daten noch nicht unbedingt erforderlich, für den Takt jedoch
unerlässlich, weil der bereits nach 10ns eine erneute Flanke hat, die
ausreicht, um ein Fehlverhalten der Schaltung zu haben. Genau deshalb
ist die erste Maßnahme, den Takt zu terminieren und dann, bei noch
längeren Übertragungswegen auch die Daten.
Du darfst es gerne machen wie du willst, nur bringe nicht unerfahrene
Leute auf völlig falsche Fährten!
Marc V. schrieb:> Ein Praktiker weiss nicht bis ins letzte Detail, wie etwas> funktioniert, bringt aber so ziemlich alles zum Laufen.
Und der wirklich gute Praktiker überlegt sich hinterher: Warum? Und er
sucht nach der Ursache...
Marc V. schrieb:> Lothar M. schrieb:>> Sie reagieren ganz einfach gar nicht. Sie müssen nur genau zu diesem>> einen winzigen Zeitpunkt, der sich "Taktflanke" nennt, stabil sein.>> Siehe oben - stabil mag (bei deiner Definition) noch zutreffen, nur> ob in diesem winzigen Zeitpunkt auch der richtige Wert eingelesen> wird - da happert es ein bisschen...
Genau so funktionieren synchrone Designs in FPGAs: nach einem Takt
herrscht Hektik und Unruhe bis die Kombinatorik die neuen Werte
berechnet hat. Diese Daten müssen dann einfach rechtzeitig vor dem
nächsten Takt stabil sein, dann beginnt das Spiel von vorn.
Und exakt das selbe passiert auch bei solchen externen Signalen.
Marc V. schrieb:> Dateneingang dagegen, hat einen Bereich garantiert HIGH und einen> Bereich garantiert LOW.> Alles dazwischen ist undefiniert, kann so oder so gelesen werden.
Ganz richtig. Und genau deshalb muss diese Spezifikation auf der
Datenleitung rechtzeitig vor der Taktflanke eingehalten werden Allein
dafür ist sie da. Nur dann werden gültige Pegel eingelesen.
Was die Datenleitung zwischen zwei Taktflanken macht, ist schnurzegal.
Probiers einfach mal mit irgendeinem Flipflop aus.
> Wer versteht, wird auch begreifen.
Ja, hoffentlich.
Sodele, nach so viel Mutmaßungen und theoretischen Abhandlungen musste
ich doch mal einen kurzen Testaufbau machen:
Ein Tiny85 gibt an 2 Pins ein Graycode Muster aus. An einen Portpin wird
ein Oszi-Tastkopf direkt angeschlossen (rot) der andere kommt an eine
40cm lange Leitung (blau):
Und dann wird der Trigger des Oszis (also der Takteingang) einmal auf
das verzerrte blaue Signal gelegt und einmal auf das unverzerrte rote
Signal (die Triggerschwelle und den Triggerkanal erkennt man am kleinen
Dreieck rechts im Bildrand).
Bild "Trigger_ohne_Ueberschwinger.png":
Daten = blau, verzerrt
Trigger,Takt = rot, unverzerrt
Wie zu erwarten triggert das Oszi beim unverzerrten roten Signal
tadellos und ganz wichtig: obwohl die blauen Daten die Grenzwerte im
Datenblatt sicher verletzen, kann man die Daten an der Triggerflanke
(=Taktflanke) einwandfrei erkennen. Sie sind an dieser relevanten Stelle
innerhalb der Toleranzen und verletzen keine Spec.
Bild "Trigger_mit_Ueberschwinger.png":
Trigger,Takt = blau, verzerrt
Daten = rot, unverzerrt
Hier wird auf das verzerrte Signal getriggert. Obwohl die Daten hier
absolut erstklassig jederzeit innerhalb der Spec sind, können sie nicht
erkannt und gelesen werden. Der Takt/Trigger wird mehrfach ausgelöst,
die Daten können nicht zuverlässig zugeordnet werden.
Bild "50R_Terminierung.png":
Trigger,Takt = blau, verzerrt, mit 50R Serienterminnierung
Daten = rot, unverzerrt
Hier ist der Aufbau gleich wie im Bild "Trigger_mit_Ueberschwinger.png",
allerdings wurde in die blaue Taktleitung ein 50 Ohm Serienwiderstand
eingebaut. Und voila: die Daten lassen sich durch die Bereinigung des
Taktes jetzt tadellos erkennen und ablesen.
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite
>Bild "50R_Terminierung.png":>Trigger,Takt = blau, verzerrt, mit 50R Serienterminnierung>Daten = rot, unverzerrt>Hier ist der Aufbau gleich wie im Bild "Trigger_mit_Ueberschwinger.png",>allerdings wurde in die blaue Taktleitung ein 50 Ohm Serienwiderstand>eingebaut. Und voila: die Daten lassen sich durch die Bereinigung des>Taktes jetzt tadellos erkennen und ablesen.
Deutlich besser, aber für eine gescheite Terminierung immer noch zuviel
Überschwingen. Wahrscheinlich hast du bei der 40cm Leitung kein
zugehörige Masse mitgezogen und auch bei der Messung keine kurze
Masseanbindung genutzt.
Falk B. schrieb:> Wahrscheinlich hast du bei der 40cm Leitung kein zugehörige Masse> mitgezogen und auch bei der Messung keine kurze Masseanbindung genutzt.
Korrekt: hier sind einfach die Masseklemmen des Oszis am Tiny85
angeklemmt und die 40cm sind eine Schleife auf dem Schreibtisch...
Aber jetzt weiter im Text... ;-)
Aufbau zum Bild "1m_kein_R.png":
Wie zu erwarten war, kann bei diesem Aufbau keinerlei Signal erkannt
werden. Das Oszi triggert wie blöd auf irgendwelche Pseudotakte.
Zum Bild "1m_50R_auf_Daten.png":
Obwohl hier die Daten terminiert wurden, können sie nicht erkannt und
zugeordnet werden, weil die Überschwinger im Takt weiterhin für
Verwirrung sorgen.
Zum Bild "1m_50R_auf_Takt.png":
Weil der Takt jetzt ein wenig besser aussieht, triggert das Oszi
einwandfrei und so können die Daten, die an sich ja vogelwild aussehen,
an der Triggerstelle einwandfrei ohne jegliche Verletzung der Spec
eingelesen werden.
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite
>Weil der Takt jetzt ein wenig besser aussieht,
Ja, ein "wenig". UNd wenn du jetzt für beide Signal einfach verdrillte
Leitungen nimmst und den Tastkopf gescheit anschließt sehen die SIgnale
lehrbuchartig aus.
> triggert das Oszi>einwandfrei und so können die Daten, die an sich ja vogelwild aussehen,>an der Triggerstelle einwandfrei ohne jegliche Verletzung der Spec>eingelesen werden.
Naja, solche Signale möchte ich nicht in meinen Schaltungen haben, das
klingelt immer noch viel zuviel!
Dem Ergebnis nach haben die Leitungen einen deutlich höheren
Wellenwiderstand als 50Ω. Vermutlich Freilandleitungen?
Also: mit einem anderen Quellwiderstand werden die Signale noch besser.
HildeK schrieb:> Vermutlich Freilandleitungen?
Ja.
> Also: mit einem anderen Quellwiderstand werden die Signale noch besser.
So ist es. Ich hatte es nochmal mit 22 Ohm und 100 Ohm gemessen. Bei 22
Ohm wie zu erwarten deutlich schlechter und bei 100 Ohm wird es
besser...
Falk B. schrieb:> Naja, solche Signale möchte ich nicht in meinen Schaltungen haben, das> klingelt immer noch viel zuviel!
Ich auch nicht. Aber hier würde ich zuerst nochmal nach dem Takt
schauen, der muss noch besser werden. Letztlich geht es darum, solche
Signale wie am Ende des schon mal verlinkten
Beitrag "Re: Signalproblem bei langem Kabel" zu
bekommen.
Falk B. schrieb:> UNd wenn du jetzt für beide Signal einfach verdrillte Leitungen nimmst> und den Tastkopf gescheit anschließt sehen die SIgnale lehrbuchartig> aus.
Ja, das schon, aber ich habe den Verdacht, dass ich dann auch ohne
Terminierung das Kingeln nicht so anschaulich hinbekomme... ;-)
HildeK schrieb:> Dem Ergebnis nach haben die Leitungen einen deutlich höheren> Wellenwiderstand als 50Ω.
Leiterbahnen liegen eher bei 100 als bei 50 Ohm. ABER: die Ausgangsstufe
hat auch einen Innenwiderstand, der ist beim Serienwiderstand
abzuziehen.
Georg
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite
>Ja, das schon, aber ich habe den Verdacht, dass ich dann auch ohne>Terminierung das Kingeln nicht so anschaulich hinbekomme... ;-)
Klemm's doch einfach mal an!
(Immer diese endlosen theoretischen Diskussionen . . . )
Georg schrieb:> ABER: die Ausgangsstufe hat auch einen Innenwiderstand, der ist beim> Serienwiderstand abzuziehen.
Es geht mir hier überhaupt nicht um den absoluten Betrag des
Serienwiderstands oder um dessen optimalen Wert. Es geht hier lediglich
darum, zu zeigen, dass es wichtig ist, einen zuverlässigen Takt zu
haben. Die Datenleitung ist dagegen nachrangig.
Das es letztlich natürlich erstrebenswert ist, sowohl die Daten wie
auch den Takt ohne Verzerrungen und Überschwinger von der Quelle zum
Ziel zu bekommen, das dürfte ohnehin klar sein.
Lothar M. schrieb:> Die Datenleitung ist dagegen nachrangig.
Gottseidank ist das so. Bei einem 16bit-Bus müsste man ja 16
Serienwiderstände einbauen.
Georg
@ Georg (Gast)
>> Die Datenleitung ist dagegen nachrangig.
Stimmt, aber . . .
>Gottseidank ist das so. Bei einem 16bit-Bus müsste man ja 16>Serienwiderstände einbauen.
Stell dir vor, das macht man sogar! Auch bei DEUTLICH beiteren
Datenbussen. Denkst du, daß schnelle RAMs sich so ein Geklingel leisten
können? Nö.
Falk B. schrieb:> Klemm's doch einfach mal an!
Also gut... ;-)
Ich habe mal die Signale jeweils mit Masse verdrillt. Länge wie vorher
1m. Gemessen wird mit Tastkopf und Masseklemme am Ende der verdrillten
Leitung.
Im ersten Bild ist kein Serienwiderstand drin, in den anderen beiden ist
einer drin. Und jetzt ein kleines Ratespiel: in welcher Leitung (blau
oder grün) ist der 50 Ohm-Widerstand?
Georg schrieb:> Leiterbahnen liegen eher bei 100 als bei 50 Ohm.
Das kann man nicht generell sagen. Das Z hängt ab von der Leiterbreite,
vom Abstand zur nächsten Massefläche, auch etwas von der Leiterdicke und
natürlich vom eps_r des Basismaterials.
Mit Aufbauten, die eine ordentliche Bezugsmasse haben, liegt man eher im
Bereich von 40Ω ... 60Ω. Wie es mit einer einseitigen Platine ist, weiß
ich nicht.
Natürlich muss man den Innenwiderstand der Quelle mit berücksichtigen.
Daher sind die gängigen Werte der Serienwiderstände auf Leiterplatten
(nach meinem beschriebenen Aufbau) auch um die 30Ω. Ich habe meist 33Ω
verwendet.
Für Kabel, z.B. Flachbandkabel, Freilandleitungen usw. liegen die Zs
höher. Bei Koaxleitungen ist das Z ja sauber definiert mit 50Ω oder 75Ω.
Lothar M. schrieb:> Und jetzt ein kleines Ratespiel: in welcher Leitung (blau> oder grün) ist der 50 Ohm-Widerstand?
Mach ich mit :-)
Im dritten Bild "1m_verdrillt_2.png" hat das grüne Signal 50Ω, beim
blauen wurde ein größerer verwendet.
Und damit letztlich auch ich mit dem Signal zufrieden bin, hier die
Messungen mit verdrilltem Kabel und 100R Serienwiderstand. Zuerst zwei
Suchbilder, dann so wie ich es haben möchte: beide Leitungen tadellos...
HildeK schrieb:> Im dritten Bild "1m_verdrillt_2.png" hat das grüne Signal 50Ω, beim> blauen wurde ein größerer verwendet.
Ähm, nein... ;-)
Es waren immer nur 50 Ohm. Aber der Freilandaufbau mit der
Leiterschlaufe reagiert in diesem Maße schon allein auf die Veränderung
bei Kabel umstecken... :-/
Lothar M. schrieb:> Und der wirklich gute Praktiker überlegt sich hinterher: Warum? Und er> sucht nach der Ursache...
Es war nur ein Aufbau um etwas anderes auszuprobieren, hat mich auch
nicht besonders interessiert damals. Mit 100 Ohm in der Clockleitung
hat es nicht funktioniert, mit 100 Ohm in der Datenleitung hat es
funktioniert - Aufbau auseinander gerissen, fertig.
HildeK schrieb:> Jetzt setze mal das rote Signal bis an den rechten Bildrand fort:> wieviel Ripple hast du dann noch auf der Datenleitung? 100mV, 50mV oder> noch weniger? Wäre perfekt!
Richtig, wieso ging es dann bei mir nicht ?
Und du hast mich mit deiner Bemerkung fast den ganzen Tag lang in den
alten DVDs von 2008 bis 2009 suchen lassen...
Als ich es endlich gefunden habe, war es ein Aufbau mit Tiny2313/20MHz
und Bitbanging, Assembler.
Codeschnippsel:
1
SD_hi:
2
lsl r24
3
brcs SetOne
4
SetNull:
5
cbi LED_Port, Dat_Pin
6
rjmp ClockBit
7
SetOne:
8
sbi LED_Port, Dat_Pin
9
ClockBit:
10
sbi LED_Port, Clk_Pin ;* _____
11
nop ;* / \ Data steigend
12
cbi LED_Port, Clk_Pin ;* _____/ \______
13
dec BitCntReg
14
brne SD_hi
Und da ich "das rote Signal bis an den rechten Bildrand fort" leider
nicht gesetzt habe, kam bei DATA=1 die Clockflanke satte 50ns nach der
steigenden Flanke von Datenleitung.
Bei Wechsel von 0 auf 1 war das wahrscheinlich zu wenig Zeit, um Daten
stabil werden zu lassen, es wurde irgendein zufälliger Wert übernommen.
Mit Serienterminierung war die Datenleitung aber schnell genug auf
definierten Werten, es funktionierte.
Was aber interessant ist:
Takt war anscheinend in beiden Fällen (mit und ohne Terminierung)
sauber (oder gerade gut genug) und die Flanke wurde richtig erkannt,
bei den Daten war das aber nicht der Fall.
Lothar M. schrieb:> Es geht mir hier überhaupt nicht um den absoluten Betrag des> Serienwiderstands oder um dessen optimalen Wert. Es geht hier lediglich> darum, zu zeigen, dass es wichtig ist, einen zuverlässigen Takt zu> haben. Die Datenleitung ist dagegen nachrangig.
Siehst du, das ist ein bisschen dogmatisch.
Genauso wie es in meinem Fall umgekehrt war, kann es auch irgendwo
anders genauso sein. Auf jeden Fall scheint die Datenleitung viel
empfindlicher auf Schwankungen zu reagieren, als die Taktleitung.
Eine Flankenerkennung bei Takt scheint doch viel zuverlassiger zu
funktionieren, als Levelerkennung bei Daten.
Lothar M. schrieb:> Das es letztlich natürlich erstrebenswert ist, sowohl die Daten wie> auch den Takt ohne Verzerrungen und Überschwinger von der Quelle zum> Ziel zu bekommen, das dürfte ohnehin klar sein.
Das war doch niemals in Frage gestellt worden.
P.S.
Bevor es mit Theorie und sinnlosen Erklärungen endlos weitergeht:
ich weiss wie es funktioniert, weiss auch wie es richig gemacht
werden soll, es ging um die Frage, was kritischer ist - Takt
oder Daten.
Wenn man es falsch macht, können sowohl Takt als auch Daten
kritischer sein, wenn man es richtig macht, stellt sich die
Frage uberhaupt nicht...
P.P.S.
@HildeK: Ich möchte mich hiermit öffentlich und in aller Form bei
dir entschuldigen, betrachte dies als ein Bouquet mit 99 Rosen.
Marc V. schrieb:> Lothar M. schrieb:>> Es geht mir hier überhaupt nicht um den absoluten Betrag des>> Serienwiderstands oder um dessen optimalen Wert. Es geht hier lediglich>> darum, zu zeigen, dass es wichtig ist, einen zuverlässigen Takt zu>> haben. Die Datenleitung ist dagegen nachrangig.> Siehst du, das ist ein bisschen dogmatisch.
Du tust dir ein wenig schwer mit dem "Glauben"... ;-)
> Genauso wie es in meinem Fall umgekehrt war, kann es auch irgendwo> anders genauso sein. Auf jeden Fall scheint die Datenleitung viel> empfindlicher auf Schwankungen zu reagieren, als die Taktleitung.
Meist sind solche Daten- und Takt-Pins ja gleichzeitig/umkonfigurierbar
normale IO oder ADC oder sonstwas (mehrere Funktionen pro Pin). Deshalb
sind die Eingangstreiber auf dem Chip für beide Signale üblicherweise
die gleichen. Und damit sind auch die Schaltschwellen die gleichen.
> Eine Flankenerkennung bei Takt scheint doch viel zuverlassiger zu> funktionieren, als Levelerkennung bei Daten.
Das sind lediglich 2 Seiten der selben Medaille, denn wenn ein
bestimmter "Level" unter- und dann wieder überschritten wird, hat man
einen "Takt".
Dein Problem war wie vermutet, dass die Daten noch nicht hinreichend
stabil waren, als der Takt kam. Das ist dann eine Setupzeit-Verletzung.
Dass du dann mit einer beruhigten Datenleitung eine stabile(re)
Übertragung hinbekommen hast, ist nicht verwunderlich. Das hat mit der
Diskussion oben aber prinzipiell nichts zu tun. Denn du hättest mit ein
paar sinnvoll eingestreuten NOPs die Übertragung locker stabil
bekommen...
Der Witz an den Überschwingern beim Takt ist ja, dass dann ungeachtet
der Taktgeschwindigkeit Fehler autreten werden. Wenn bei einer
schnarchlangsamen Taktfrequenz von 1 Hz der Takteingang pro Flanke 2 mal
"triggert", dann werden falsche Daten übertragen, obwohl sich ein
"zappeliges" Datensignal nach 500ms garantiert schon längst beruhigt
hat.
Oder andersrum: wenn sich Übertragungsprobleme durch Reduzierung der
Datenrate bessern, dann muss man sich mal die Datenleitung und deren
Bezug zum Takt ansehen. Wenn sich auch bei ziemlich langsamer Datenrate
keine Besserung zeigt, dann ist der Takt "an allem Schuld".
Marc V. schrieb:> @HildeK: Ich möchte mich hiermit öffentlich und in aller Form bei> dir entschuldigen, betrachte dies als ein Bouquet mit 99 Rosen.
Angenommen! Eine Entschuldigung ist aber wirklich nicht notwendig bzw.
es gilt auch umgekehrt: ich bin bisher niemand in diesem Forum so hart
angegangen wie dich. Ich entschuldige mich dafür auch!
Die technischen Seite hat ja Lothar Miller schon kommentiert. Dem muss
ich nichts hinzufügen.
Warum ich überhaupt unterscheide bei der Terminierung von Takt und Daten
ist auch anderen Überlegungen geschuldet und oft ein Abwägen vieler
Randbedingungen:
- die Fertigung will zu jedem Widerstand Testpunkte: ggf. Platzproblem,
Signalverschlechterung wegen Stiche. Die TPs müssen ja einen
Mindestabstand zueinander haben.
- der Widerstand sollte idealerweise mit 0 Abstand an der Quelle sitzen,
bei BGAs (zusammen mit den Testpunkten) geht das oft nicht gut genug.
Für eine Leitung ist das möglich, für viele oft nicht. Dann hat der Clk
den Vorzug.
- der Kaufmann will sogar jeden Widerstand einsparen und der Platzbedarf
bei parallelen Interfaces kann sich auch in der Platinenfläche (=
Kosten) niederschlagen.
- ein Widerstand sitzt bei den meisten Designs noch auf der Außenseite
der Platine und gerne hat man die Leitungsführung auf Innenlagen mit
außen liegenden Massenflächen(EMV): Dukos notwendig, Platz notwendig,
EMV-Konzept verschlechtert.
- sicher noch weitere ...
Dann freut man sich, wenn man mit gutem Gewissen auch vom Optimum
abweichen kann, ohne an Qualität zu verlieren. Und recht hast du mit:
Marc V. schrieb:> wenn man es richtig macht, stellt sich die Frage uberhaupt nicht...
In diesem Sinne: schönen Tag an alle!