Wenn ich die Verbindung zu einem DS18S20 trenne, z.B. aus dem Steckbrett ziehe, dann zeigt mir mein Programm -0,5 °C an. Bei Wiederherstellen der Verbindung (wieder ins Steckbrett hinein) bekomme ich die bekannten 85°C, danach geht es weiter, als ob nix gewesen wäre. Da für meine geplante Anwendung es durchaus vorkommen kann, dass ein Kabel getrennt werden kann, möchte ich das Fehlen eines Sensors detektieren. Das Datenblatt habe ich gelesen, finde aber nichts zu diesem Thema. RESET und ERROR kann ich abfangen, aber damit kann man keinen "verlorenen" Sensor bemerken.
Jeder sauber programmiere 1-Wire Treiber wird anzeigen, ob das adressierte Gerät überhaupt vorhanden ist. Mit der CRC hat das nichts zu tun, sehr wohl aber mit dem Presence Pulse nach dem Reset.
Hallo, Bernd S. schrieb: > "verlorenen" Sensor bemerken. Martin THOMAS http://www.siwawi.arubi.uni-kl.de/avr_projects/tempsensor/index.html Gruß xmega
>Wenn das Kabel ab ist, wie kann dann ein CRC nützen?
Kabel ab = Kein CRC = Kein Sensor
Bernd S. schrieb: > Da für meine geplante Anwendung es durchaus vorkommen kann, dass ein > > Kabel getrennt werden kann, möchte ich das Fehlen eines Sensors > > detektieren. Hallo Bernd, im Datenblatt wird ein Resetimpuls vom Master (deine MCU) zur einleitung eines neuen Kommunikationsprozesses gesendet. Daraufhin muß der Sensor eine Prescenceimplus (ca 60 bis 240 µs) zur Angabe, ob er anwesend ist, senden. Je nachdem wie Du es programmierst, kannst Du damit den fehlenden Sensor detektieren. Auf Seite 10 des Datenblattes. INITIALIZATION All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the slave(s). The presence pulse lets the bus master know that slave devices (such as the DS18B20) are on the bus and are ready to operate. Timing for the reset and presence pulses is detailed in the 1-Wire Signaling section. Auf Seite 15 siehst Du die Signalfolge. Und das funktioniert auch so. Viel Spaß beim Umsetzen
Hallo! Die Auswertung der CRC ist dennoch zwingend notwendig, denn die Verbindung kann ja auch nach dem presence pulse unterbrochen werden. Auch Störungen (EMV oder Kurzzeitunterbrechungen) können zu fehlerhaften Temperaturwerten führen.
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.