DS18B20 1-Wire Read Zeit tRDV

Gast #921533
Lesenswert?
• ▲
▼
Ich bin gerade dabei die ensprechenden Routinen (C) zu testen. Im 
wesentliche klappt es. Nicht ganz verstanden habe ich den "1-Wire Read 
Zero Time Slot", die Zeit tRDV, welche im Datenblatt mit max. 15us 
angegeben ist. Heist das, dass ich nach 15us erst den korrekten Zustand 
einlesen (Daten gültig) darf oder es binnen max. 15us bereits gemacht 
haben muss?
http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf

Mein Testprogramm kann ich in weiten Grenzen variieren, es wird richtig 
L oder H eingelesen. Ich muss es aber für die Serienfertigung gut 
reproduzierbar machen.
1
// ********************************************************************
2
// 1 Wire Bus
3
// Read Bit Funktion
4
// Rückgabe: 0/1 Bit
5
// ********************************************************************
6
bit w1_read_bit(void) {
7
bit datenbit;
8
  W1_BUS = 0; // 1-Wire Daten-Pin P3_4
9
  delay_us(6);  // ca. 25us (hier größer als tRDV ???)
10
  W1_BUS = 1;
11
  delay_us2();  // ca. 6us
12
  datenbit = W1_BUS; // 
13
  delay_us(30); // ca. 75us
14
  return datenbit;
15
}
#921601
Lesenswert?
• ▲
▼
Du mußt innerhalb von 15µs lesen ab dem 0 setzen, d.h. Dein obiges 
Timing stimmt überhaupt nirgends.

Richtig:
0-Impuls für 1 ... 2µs
Lesen nach weiteren 2 ... 12µs
1-Impuls für >=60µs

Was sind denn das für komische Kommentare hinter den Delays?
Kannst Du die Delays nicht vom Präprozessor richtig berechnen lassen?


Peter
Gast #921668
Lesenswert?
• ▲
▼
Mein Programm ist noch in der Probierphase, deshalb nicht ganz sauber. 
Ich habe es so wie Du es schreibst jetzt gemacht, funktioniert. (Es hat 
aber auch mit meinem Programm schon problemlos geklappt, wahrscheinlich 
aber nicht bei jedem DS18B20, ich hatte nur einen IC bisher zur 
Verfügung.)
Danke

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.