Lösung: Error strong-accessing 1-Wire Device

Hallo,
Ich suche seit mehreren Wochen das Problem in meinem 1-Wire Netz was mir täglich rund 15-tausend Fehler im Logfile bescherte. Die Fehler sind bei mir stets lesefehler der 1-Wire Komponenten gewesen (Error strong-accessing 1-Wire Device). Und nun möchte ich stolz das Ergebnis vieler Tests präsentieren.

Unter anderem habe ich bei mir Torros Hinweis alle DS18B20 Temperatursensoren einzeln zu prüfen vergebens gemacht. Manchmal, diese Erfahrung hat Torro erst kürzlich gemacht, verursacht ein solcher Baustein diesen Fehler und überträgt ihn aufs gesamte 1-Wire Netz. Das hat bei mir aber zu keinem Erfolg geführt. Das verhalten ist also nicht immer das selbe (1-wire != 1-wire :rolleyes:)

Folgendes hat mein Problem aber nun weitgehend gelöst. Ich habe, wie es sich gehört, die Topologie von anfang an eingehalten. Soll heissen ich führe die Datenleitung in die einzelnen Räume und wieder zurück zum Serverraum im Keller, von da aus gehts dann erst wieder weiter zum nächsten Raum, etc. Also beschränken sich meine Stichleitungen auf recht wenige Meter innerhalb der Räume (das war immer schon so und hatte trotzdem abertausende Fehler pro Tag verursacht) Und am Ende kommt die Datenleitung ja wieder von dem letzten Raum zurück und hängt in der Luft, bis ich halt da wieder anknüpfe und weiter düse zum nächsten Ort, und zurück.

Auch eine externe Stromversorgung hat mir hier nichts gebracht. Obwohl ich diese natürlich so lasse, externe Stromversorgung ist gut. Entlastet den USB und versorgt die 1-Wire Komponenten mit Spannung während man beispielsweise den Server mal neu startet. (kein 85° initialisierungs-vorkommen).

Auch bei den einzelnen 1-wire Devices 100nF Kerkos direkt an den Versorgungspins brachte nicht die geringste Verbesserung. Obgleich ich diese natürlich belasse weil sie sicherlich nicht schaden.

Jedenfalls ist auf diese Weise das Ende der Datenleitung wieder am Anfang. Erst ein Elko in Serie in der Datenleitung mit mindenstens 100uF zwischen Anfang und Ende der Datenleitung und schon sind die Fehler von 15.tausend auf rund 150 á Tag gesunken. Das ist eine Verbesserung von ca. 99% :smiley:

Ich habe eine grobe schemenhafte Skizze zur Verdeutlichung dazugegeben. Ich hoffe das der eine oder andere sein Problem damit auch etwas in den Griff kriegt :wink:

Bild geändert 08.03.09, BESTE ERGEBNISSE bis jetzt (nur mehr 10 fehler a Tag) mit diesem Kondiaufbau…

Hallo Hinti,
das ist ja interessant!
Hätte eine direkte Verbindung das Gleiche gebracht?
Gruß Helmut

Hallo Helmut,
nein, daß hat rein gar nix geändert. Direkt verbinden mit dem Anfang machte es glaube ich sogar schlechter, keinesfalls besser. Ich habe allerhand probiert. Zuerst hatte ich das hauptaugenmerk immer nur auf die Versorgung gelegt. 100nF Stüzko bei jedem device, externe Versorgung etc. Bis ich schließlich auf die Idee kam, das es ja eigentlich ein leseproblem der daten ist, beim anschauen eines datenblatts beim „timing diagramm“, dachte ich mir also das hier das problem liegen muß. wie das lösen wußte ich zuerst nicht. Da habe zuerst mal das ende mit dem anfang verbunden, ohne erfolg. Dann habe ich an einen gewöhnlichen Verstärker gedacht, da sind Kondensatoren in serie direkt in der audioleitung. und so begannen diese versuche…

zuerst hatte ich einen 22piko kerko genommen, zuerst mal gegen ground dann gegen versorgung etc. das hats aber nur schlimmer gemacht. Und dann beim verbinden mit dem Anfang über den kerko stellte ich eine leichte verbesserung fest :eek: Dann erhöhte ich auf 100nF und es wurde noch besser. dann nahm ich 10uF und das ergebnis wahr schon sehr erfreulich. und bei 100uF hatte ich echt ein super Ergebniss.

Über di polarität bin ich mir noch nicht ganz sicher. Kerkos mit 100uF gibts ja nicht. Ich habe es beidseitig ausprobiert. beides geht. mit dem mini-oszi das ich habe erkennt man die daten die über die leitung geschickt werden. Und da es sich nicht um dauer-plus oder sowas handelt wirds grundätzlich auch egal sein wie man ihn rein tut :stuck_out_tongue:

Hallo Hinti,

wo ich das jetzt gesehen habe, ist mir bei Dir auch einiges klarer. Ich wuerde mal darauf tippen, dass Dein Spannungsabfall zu gross ist und es dadurch zu Probleme auf dem BUS kommt. Warum fuehrst Du auch immer wieder zurueck?

Ich haette (das habe ich Dir doch auch gesagt?) am USB Adapter einen sternfoermigen Abgang in die einzelnen Raeume gemacht und fertig - nicht wieder zurueck. Und dann den Elko bitte weg.

Du kannst das ja mal noch probieren, sollte ja relativ einfach gehen. Und noch etwas: Wie stabil ist denn Deine 5V Versorgung? Ist die bereits sehr glatt?

Hallo Hinti,

noch etwas: Deine Fehlermenge mit 150 ist mir viel zu hoch. Ich habe 0 Fehler, und nur das ist akzeptabel. Also musst Du in jedem Fall nochmal ran.

Servus Torro,

Ja da geb ich dir natürlich völlig recht. Aber wegen dem sternförmigen. Wenn ich die Topologie richtig verstanden habe, dann sollte es definitiv keine Stichleitungen geben, Nur deshalb führe ich die Leitungen wieder zurück. Sonst habe ich ja eine Sternförmige Verteilung mit a rund 15 Meter…

jetzt verstehe ich nicht wieso ich annahm das dies absolut zu vermeiden galt, nur deshalb habe ich mir die arbeit gemacht die leitung zurückzuführen. Irgendwo habe ich glaube ich gelesen das die einzelnen abgehenden Sub-Leitungen nicht länger als rund 3 meter sein sollten. Aber es ist gut wenn du es mir jetzt anders mitteilst!!! Wer lesen kann ist klar im Vorteil stimmt eben auch nicht immer.

Was meine Spannungsversorgung betrifft, da kannst du dir zu 1000% sicher sein das ich bei jedem abgelegensten Device perfekte glatte 5,1 V habe. Selbst 7 oder 8 Volt ändern dieses Fehlerauftreten nicht im klitzekleinsten. Die Fehler beruhen KEINESFALLS auf schwacher ungeglätteter Spannungsversorgung. Das Unterschreibe ich. Und auch Störungen durch fremdeinwirkung ist weitgehend ausgeschlossen, da ich mit geschirmten Leitungen arbeite und die in eigenen Rohren verlegt sind.

Da ich aber natürlich 0 Fehler anstrebe, bleibt mir nichts anderes übrig als nochmal ran an den Speck,
ich war aber sowieso schon am überlegen wie es weitergeht :cool:

Zitat aus dem Wiki, und deshalb habe ich mich (ursprünglich) für keine Sterntechnologie entschieden:

Bewertung der Topologien:

Jede Abzweigung verursacht an der Anschlussstelle eine Impedanz-Fehlanpassung. Diese erzeugt unerwünschte Reflexionen auf der Leitung, die das Nutzsignal verfälschen können. Je länger ein Abzweig ist, desto stärker treten sie in Erscheinung. Unter diesem Gesichtspunkt betrachtet schneidet die Stern-Topologie am schlechtesten ab. Die verschiedenen Stränge bilden Äste mit starker Fehlanpassung, die sich gegenseitig ungünstig beeinflussen. Diese Topologie ist mit Abstand am schwierigsten in den Griff zu bekommen. In der AN148 wird daher ausdrücklich von nicht-geschalteten Stern-Topologien (unswitched star-type Topologies) abgeraten. Die beste Topologie ist die Linear-Topologie. Bei Abzweiglängen unter 3m treten so gut wie keine Reflexionen auf. Bei dieser Topologie wird die höchste Zuverlässigkeit erzielt.

Eigentlich ist die empfohlene Topologie die, welche ich durch zurückführen der leitung habe! Folglich müßte es schlechter werden wenn ich eine reine Sterntopologie draus mache. Bin gespannt!

Hallo Hinti,

doch, diese sollten aber maximal 3m betragen. Aber auch wenn die mal etwas laenger sind, braucht das noch kein Problem zu sein.

Nur deshalb führe ich die Leitungen wieder zurück. Sonst habe ich ja eine Sternförmige Verteilung mit a rund 15 Meter…

stop. Grundsaetzlich hast Du natuerlich recht. Aber es gibt immer ein ABER. Wenn Du den „Stern“ in der Naehe des BUS Adapters machst, versteht sich das Netz trotzdem nicht als Stern, sondern es gehen einfach vom Adapter mehrere BUS Leitungen ab. Das funktioniert hervorragend, bei mir sind es wie bereits im Forum an andereer Stelle ausgefuehrt, derer 12 Leitungen. Wichtig hierbei sollte nur sein, die Leitungen bis zum „Auftrennen“ kurz zu halten.

Dann brauchst Du auch keine „Rueckfuehrung mehr“ und sparst daduch eine Menge an Gewicht, was wiederum vorteilhaft ist.

jetzt verstehe ich nicht wieso ich annahm das dies absolut zu vermeiden galt, nur deshalb habe ich mir die arbeit gemacht die leitung zurückzuführen. Irgendwo habe ich glaube ich gelesen das die einzelnen abgehenden Sub-Leitungen nicht länger als rund 3 meter sein sollten.

wie nun vorstehend geschrieben, hoffe ich, dass es klarer ist.

Selbst 7 oder 8 Volt ändern dieses Fehlerauftreten nicht im klitzekleinsten.

das solltest Du aber vermeiden, einige ICs vertragen das naemlich nicht.

Da ich aber natürlich 0 Fehler anstrebe, bleibt mir nichts anderes übrig als nochmal ran an den Speck,
ich war aber sowieso schon am überlegen wie es weitergeht

Du wirst das schon schaffen.

Hallo Hinti,

nochmal zum Zitat, damit das nicht falsch rueberkommt:

Bewertung der Topologien:

Jede Abzweigung verursacht an der Anschlussstelle eine Impedanz-Fehlanpassung. Diese erzeugt unerwünschte Reflexionen auf der Leitung, die das Nutzsignal verfälschen können. Je länger ein Abzweig ist, desto stärker treten sie in Erscheinung.

und zwar genau dann, wenn der Abzweig weiter vom Adapter entfernt ist. Um so groesser werden diese Erscheinungen. Aber wenn Du genau liest: können - nicht werden!

Unter diesem Gesichtspunkt betrachtet schneidet die Stern-Topologie am schlechtesten ab. Die verschiedenen Stränge bilden Äste mit starker Fehlanpassung, die sich gegenseitig ungünstig beeinflussen. Diese Topologie ist mit Abstand am schwierigsten in den Griff zu bekommen.

das ist auch korrekt. Wenn man also nach den ersten 30 Metern weiter mehrere Zweige macht, hat man unter Umstaenden automatisch ein Problem, kommt aber auch wieder auf die Laenge des Abzweigs drauf an.

In der AN148 wird daher ausdrücklich von nicht-geschalteten Stern-Topologien (unswitched star-type Topologies) abgeraten. Die beste Topologie ist die Linear-Topologie. Bei Abzweiglängen unter 3m treten so gut wie keine Reflexionen auf. Bei dieser Topologie wird die höchste Zuverlässigkeit erzielt.

genau hier ist der Ansatz zu finden: bei Abzweiglaengen unter 3m - deshalb den Stern in der Naehe des Adapters ausfuehren.

Hi Torro,
Ja ich bin ja jetzt nicht frustriert oder sowas :slight_smile: Ganz im Gegenteil, 0 Fehler sind anzustreben.

Und keine bange, alles was ich bisher in meinem 1-wire Netz habe verträgt die 7/8V, das habe ich zuvor schon abgecheckt. Wozu gibt es Datenblätter.

Ich selber designe Leiterplatten beruflich. Habe deshalb täglich mit reflexionen und impedanzen zu tun. In gewisserweise ähneln sich die Phänomene… Da gibts Beschaltungen um Reflexionen zu minimieren. Abschlußwiderstände und 22 Ohm Serienwiderstände. Alles stark abhängig von den flanken und Frequenzen. Und wie du schon sagtest, je weiter weg der Knoten, desto mehr Reflexionen handelt man sich ein. Auf der Platine fangen wir ungewollte, wenn unvermeidlich, ab durch dämpfung. Aber das sagen mir dann immer die eigentlichen Entwickler der Forschungsabteilung mit der wir natürlich direkt zusammenarbeiten. Ich selber bin sozusagen nur der Designer :rolleyes:
Darüber will ich auch gar nicht weiter eingehen, schließlich ist jede Platine ein eigenes Projekt mit Schulungen und Sitzungen und Eigenheiten.

Ich bin, und das weiß ich selber, noch lange nicht fertig mit meinem 1-Wire Netz. Dennoch muß ich sagen, es ist schon interessant wie stark die Reflexionen und Störungen durch den Elko um 99% verringert wurden :smiley:

Hallo Uwe,

ich muss schon sagen, Deine Argumentation ist mehr als abenteuerlich und widerspricht so ziemlich allen gängigen Theorien.

Die Tatsache, dass der Master im Zentrum des Sterns sitzt, macht die Sterntopologie noch lange nicht zu einem zuverlässigen Netzwerk. Der Stern bleibt ein Stern.

MAXIM hat die AN148 im September letzten Jahres noch einmal überarbeitet. Dort wird genau vor der Art Sterntopologie gewarnt, wie Du sie jetzt als Patentlösung propagierst.

Eine Fehlanpassung tritt im Stern grundsätzlich immer auf, egal, an welcher Stelle der Master sitzt. Die einzelnen Stränge des Sterns sind in ihrer Impedanz niemals gleich, schon allein deswegen, weil sie meist verschieden lang sind. Wenn eine 1-Wire Sterntopologie also dennoch funktioniert, dann bedeutet das lediglich, dass die Reflexionen zufällig unterhalb der Störgrenze liegen.

Ich glaube Dir ja, dass Dein eigenes Netzwerk funktioniert, aber allzugroßes Vertrauen würde ich bei dieser Topologie nicht hineinsetzen. Und vor allem würde ich daran keine größeren Veränderungen mehr vornehmen (und damit vorhandene Symmetrien stören).

Prinzipiell hat Hinti mit seiner „Rückführung“ den Stern völlig korrekt in eine Linie umgesetzt. Dagegen ist nichts einzuwenden. Warum allerdings der Kondensator einen so positiven Einfluss hat, kann ich mir nicht erklären. Normalerweise sollte man Kapazitäten von der sehr empfindlichen Datenleitung unbedingt fernhalten.

Gruß
HJH

Hallo HJH,
es freut mich das du meine Meinug teilst. Ich war ja auch ein wenig vor den Kopf gestoßen muß ich sagen. Aber wie auch immer, dafür sind diese threads und post ja da.

Ich war gerade am überlegen wie ich das jetzt am besten umsetze, meine Rückführung zu entfernen und einen Stern drauß zu machen. Aber ich glaube ich lasse es vorerst mal. Nämlich schon deshalb, weil ich in den Räumen selber noch genug Stichleitungen erzeuge. Schließlich bin ich der Meinung ich habe die Lineartopologie mit meiner Rückführung realisiert. und in den Räumen sind dann jeweils die „relativ“ kurzen Stichleitungen. Also entspricht es dann der Abzweigtopologie.

Meine Theorie warum der Elko hier hilft, und ich sage dir, er hilft Wunder. ist folgende. Der Elko sitzt ja nur in der Datenleitung und nicht zu ground und nicht zu VCC. Ich denke er verursacht Eine spannung, beschleunigt vielleicht die flanken wenn die Daten auf ground gezogen werden und umgekehrt. Jetzt gerade habe ich zum testen mal den Treiber auf Strong pullup gesetzt. Das verstärkt glaube ich dieses verhalten und ich habe nochmal eine kleine Verbesserung erzielt.

Er wirkt sehr gut. Ich werde das demnächst mal mit ein paar Arbeitskollegen diskutieren. Da sind ein paar echt erfahrene Leute dabei… mal sehen ob sie mir ein wenig Zeit dafür opfern…

Hallo Hinti,

wenn Du alle 1-Wire Devices mit eigener Stromversorgung ausgestattet hast, dann fließt auf der Busleitung ein Strom in der Größenordnung von einigen µA. Das bedeutet zwischen Anfang und Ende der Busleitung tritt praktisch keinerlei Spannungsabfall auf.

Es hat daher den Anschein, dass der Kondensator irgendwelche Störungen kurzschließt. Für hochfrequente Signale ist aber ein Elko nur sehr schlecht geeignet. Daher mein Vorschlag: schalte noch einen oder mehrere Keramikkondensatoren parallel zum Elko. Diese können vorhandene Störungen (Rauschen) wesentlich besser bedämpfen. Vielleicht hilft das ein wenig.

Falls Du von Deinen Kollegen noch etwas erfährst, lass es mich bitte wissen. :slight_smile:

Gruß
HJH

…selbstredend :wink:
plus danke für den tipp, es gibt eh noch einiges zu testen.

wie das begefügte BILD-1 zeigt, möchte ich sagen, habe ich fast 0 Fehler. Genau genommen habe ich den fehler jetzt total eingeengt. Die einzigsten Fehler die jetzt vereinzelt pro Stunde noch auftreten, stammen von ein und demselben device, einem DS2405 den ich als digitalen Eingang verwende!

Diesen lasse ich sekündlich abfragen und daran soll sich auch nichts ändern.

HJH, hilf mir bitte mal. Ich vermute nämlich das ich evtl. mit dem pullup oder mit der Gesamtbeschaltung vielleicht was nicht ganz richtig ist oder verbessern kann, soll, muß bild-2.gif.

Ich mußte ihn ano z.b. beim einrichten in ips invertieren, das der status stimmte. vielleicht sollte ich den pio auf ground geben und zum schalten auf high ziehen? wieviel R empfiehlst du in diesem einen Fall?

Schön Grüß, Jürgen (Hinti)

BILD-2.gif

Hallo Jürgen,

Elkos sind, wie schon erwähnt, denkbar ungeeignete Bauteile um Störimpulse zu unterdrücken. Bei niedrigen Frequenzen können sie gute Dienste leisten, im Hochfrequenzbereich dagegen versagen sie zumeist völlig. Störimpulse enthalten immer auch einen hochfrequenten Anteil. Daher setzt man zusätzlich zu Elkos auch noch Keramikkondensatoren ein. Diese kümmern sich um die HF.

Da Du jetzt den Fehler eingrenzen konntest, mache ich folgenden Vorschlag:
Nimm alle Kondensatoren wieder raus und entferne zusätzlich auch den fraglichen DS2405. Wenn jetzt das Netzwerk einwandfrei läuft, dann hast Du die Störquelle gefunden.

Du kannst ja nachträglich die Kondensatoren wieder einbauen (nur so zur Sicherheit ;)). Aber vergiss nicht, jedem Elko einen Keramikkondensator (100nF) parallel zu schalten.

Nun zum DS2405:
Die gezeigte Schaltung ist in Ordnung. Wenn Du den Eingangspegel umdrehen willst, kannst Du so vorgehen:
Einen Widerstand R1 in Reihe zum PIO-Eingang schalten. Am anderen Anschluss von R1 einen Widerstand R2 nach GND als Pulldown schalten. An die Verbindung von R1 und R2 kommt der Schalter nach +5V. Alle Widerstände haben den selben Wert zwischen 10k…100k.

Der Widerstand R1 dient nur als Schutz, falls Du bei geschlossenem Schalter versehentlich den DS2405 als Ausgang programmierst. Dann würde bei LO-Pegel der Baustein nämlich die +5V-Versorgung kurzschließen und dabei in Rauch aufgehen.

Gruß
HJH

Servus HJH,
ja ja, das die elkos nun die denkbar ungeeignetsten bauteile sind für störimpulsunterdrückung weiß ich ja eh. aber ich habe anstelle der elkos auch kerkos in verschiedensten größen probiert. piko wie nano bereich. parallel zu elkos und nur kerkos. Der Nutzen steigt hier aber lediglich mit der Erhöhung der uF, also den „schweren“ elkos :stuck_out_tongue:

natürlich werde ich den DS2405 mal austauschen, wegnehmen und sehen wie es dann ist (vorallem ohne elkos). Das ändert aber NICHTS daran, das die Elkos hier außerordentlich gute Dienste leisten. Also werde ich sie später wohl weiterverwenden, denn es scheint, und das habe ich belegt, sie machen insgesamt den Datenbus leichter lesbar.

Es gibt viel zu tun. Ich werde natürlich berichten was weiter raus kommt :slight_smile:

Also eine erste Therorie hab ich schon, aber leider sind die Herren der Schöpfung immer so gestreßt. Jemand mit dem ich noch unbedingt drüber reden muß ist diese Woche noch dazu auf Urlaub <stopp> Aber folgendes mal vorab. Die Elkos könnten helfen, weil sie zum einen den Ground sauberer halten bzw., helfen weil die Datenleitung ja in direktem Bezug zur Groundleitung steht, und vorallem (aber das war bisher noch theroretisch und erst der erste gedanke eines Kollegen von mir), weil der Signalgang einzelner Devices nicht durch den ganzen ring quetschen muss, sondern den weg über die Kapazität abkürzt. Die eigenschaften des elkos sind dabei hilfreich (wechsel durch, gleichspg, sperren) <stopp> Und weiter soll ich beim ds2405 einen oder zwei ferrite übers kabel ziehen (keinesfalls im ring, sondern auf der stichleitung zum ds2405) <stopp> Und ich könnte doch mal eben eine NICHT-Stromkompensierte Drossel in die zuleitung der externen Spannungsversorgung in serie in die plus Leitung geben <stopp> :cool:

Bezüglich DS2405: Ich habe ja definitiv den ds2405 als übeltäter entpuppt. Gestern habe ich wieder vieles probiert, zuerst tauschte ich den ds2405 gegen einen neuen aus: änderte nichts! dann änderte ich den pullup auf 5k, änderte auch nichts. und ich habe einen ganz anschaulichen ferrit auf die leitung direkt beim ds2405 gegeben (gleich danach richtung 1-wire netz eben), aber änderte auch nichts. ich habe auch die beschaltung an sich geändert. ich hatte zuvor den PIO hochgezogen und geschalten auf ground gezogen. jetzt habe ich den pin auf ground gezogen und ziehe ihn zum schalten auf high-level.

Aber auch das änderte nichts! Etwas aber sehr sehr wenig, unterschiedlich verhalten tuts sichs schon wenn ich den pullup widerstand ändere. Wichtig ist auch in den einstellungen auf ‚strong-pullup‘ zu gehen, sonst schnellt die fehleranzahl rapide nach oben.

Kann es sein das der nachfolger vom ds2405, nämlich der ds2413 technisch um einiges besser ist?

Und nochwas immerzu auffälliges: wenn ich mit iViewbutton oder dem neuen TMEX html-Viewer, mein 1-wire netz beobachte, stelle ich immer wieder fest, das sich IPS stets sehr viel schwerer tut, die devices zu finden und öfter fehler aufweist, als die tmex software! wieso ist das so? Schön Grüß… :slight_smile:

Hallo Hinti,

ich meinte aber, alle Bausteine, also nicht nur der DS18B20. Er ist nur der erste, der so ein Fehlverhalten impliziert, bei den DS2405 hatte ich das bisher nur einmal, also weniger als bei den DS18B20.

Das Problem dabei ist, dass die ICs ja noch gehen, aber nicht mehr einwandfrei. Ehrlich gesagt tippe ich darauf, dass die betroffenen einen ESD Schaden erhalten haben…