Forum: Compiler & IDEs 1wire Verständniss Frage.


von AVRli (Gast)


Lesenswert?

Hallo,

ich beschäftige mich gerade ein bischen mit 1wire. Das Protokoll finde 
ich interessant aber leider sind noch nicht alle Fragen geklärt.

Als Einstig habe ich mir die AVR Appnote und das Datenblatt von MAXIM 
zum DS18S20 durchgelesen.

Ich habe verstanden wie das Protokoll aufgebaut ist, also das das Timing 
sehr wichtig ist und mit Hilfe der Routinen von Peter Dannegger auch den 
ersten Sensor ausgelesen. Aus Spaß habe ich einen 2. Sensor einfach mit 
an den Bus geklemmt und siehe da der wird auch erkannt und ausgelesen.

Es funktioniert keine Frage, sicher die Stelle wo einige schon zufrieden 
sind, doch ich will auch verstehen warum. ;-)

Nun kommt der Punkt der mir nicht klar ist.
Wie weiß der µC das er 2 Sensoren auswerten muß/kann?
Das leuchtet mir echt nicht ein. :-(

Kann mir das einer erklären?

Gruß AVRli...

von (prx) A. K. (prx)


Lesenswert?

Die Sensoren werden anhand der eindeutigen ID unterschieden und 
adressiert. Und es gibt ein Verfahren, mit dem man nacheinander die IDs 
der am Bus hängenden 1-Wire-Devices ermitteln kann

von Gast (Gast)


Lesenswert?

Das ist gar nicht so schwer. Suchmaschine z.B. guugel
http://www.google.de/search?hl=de&q=wie+funktioniert+1wire&btnG=Google-Suche&meta=

von AVRli (Gast)


Lesenswert?

Danke für die Antworten.

Also was mich wohl genauer interessiert ist der Ablauf beim "SearchRom" 
Komando.

Mit dem kann man wohl die Devices auf dem BUS abfragen. Woher wissen die 
am BUS hängenden Fühler nur wann sie dran sind, das sie nicht alle auf 
einmal los plappern?

Gruß AVRli...

von (prx) A. K. (prx)


Lesenswert?

Ein Bit nach dem anderen wird von den Devices die ID auf den Bus gelegt. 
Wenn einer oder mehrere mit 0 dabei sind, setzen die sich durch und die 
anderen scheiden aus. Wenn alle Bits durch sind bleibt folglich maximal 
einer übrig. Und in den nächsten Runden stellt der sich taub.

von AVRli (Gast)


Lesenswert?

Vielen Dank!

ping Nun kann ich mir einen Reim darauf machen, wenn alle dann die 
Klappe halten kommt folglich der Wert 0 und damit weiß man das man durch 
ist.

Ok da bin ich echt beeindruckt welche Möglichkeiten man mit so wenig 
Aufwand hat.

Gruß AVRli...

von (prx) A. K. (prx)


Lesenswert?

Fast richtig. Nur ist es natürlich nicht die 0.

von AVRli (Gast)


Lesenswert?

#define LAST_DEVICE  0x00    // last device found

ich dachte das wäre der Zustand :-(

von (prx) A. K. (prx)


Lesenswert?

Missverständnis. Das ist der Return-Code von Peters Funktion. So 
interpretiert hast du recht.

von Detlev T. (detlevt)


Lesenswert?

@ARVli
In der Appnote 162 von Maxim ist das Protokoll und vor allem auch das 
Identifizieren der Sensoren sehr gut beschrieben.

http://pdfserv.maxim-ic.com/en/an/AN162.pdf

von AVRli (Gast)


Lesenswert?

Danke für Eure Ausführungen, die Appnote 162 ist echt gut gemacht! Die 
habe ich vorher nicht gefunden.

Gruß AVRli...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.