www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Keyboard - Treiber, EEROM und 1Wire


Autor: Linekeying (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöle...

und zwar habe ich folgendes Problem:

Ich habe ein Temperatorsensor DS ..(noch irgendwas), dieser läuft über 
den 1wire Bus. Nun habe ich ein kleines Tool gebaut um die ROM-ID 
auslesen zu können. Ich möchte an einem ATmega jetzt mehrere DS... 
Tempsens. anschließen. Das ist erstmal kein Problem. Allerdings möchte 
ich dem jeweiligen Gerät jeweils alle ROM-ID's übergeben, damit das 
Gerät auch alle Sensoren auslesen kann.

Wie bekomme ich die ROM-IDs in den EEROM? Meine Idee war folgende: Ich 
benutze an jedem selbstgebauten Gerät einen 25pol. D-Sub Stecker, damit 
kann ich mittels selbstgebauten Diagnose-Gerät Spannungen an 
Kontrollpunkten abfrage uvm. und darüber läuft auch der ISP. Da ist noch 
Platz für die Datenleitung und Clock einer Tastatur. Meine Vorstellung 
war jetzt bei jedem Gerät einen Tastatur Treiber mit reinzupacken, um 
dann mit Hilfe einer Tastatur jeweils bei starten des Geräts Esc zu 
drücken, damit in ein Menü zu kommen (anzeige über LCD) und die 
jeweiligen ROM-IDs einzugeben.

Wo ich jetzt nicht weiter komme ist, wie schreibe ich die ROM-IDs in den 
EEROM und wie lese ich diese beim Start aus?

Meines Wissens zu folge ist das EEROM in verschiedenen Registern 
aufgeteilt. Wie bringen ich also den "Treiber" dazu, dass er die IDs 
immer an die selben Stellen des EEROMs schreibt und diese auch wieder 
ausließt? Ich möchte nicht bei jedem Projekt den Treiber ändern! Auch 
wenn möglich nicht bei den verschiedenen Controllern! Ich benutze 
hauptächlich: ATmega16, ATmega32, ATmega64 und ATtiny2313.

Meine Kenntnis in C ist nicht unbedingt schlecht, allerdings ist das 
Arbeiten mit dem Rom neu. Ich weiß nicht, wie ich HEX Werte da rein 
bekomme und wieder auslesen kann um die verschiedenen Sensoren 
anzusprechen.

Jemand ne Idee?

Liebe Grüße aus Gründau ; )

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst doch feststellen, welche 1w-Devices am Bus sind und deren IDs 
auslesen. Den Algorithmus dafür findest Du auf der Webseite von Maxim. 
Damit brauchst Du die ROM-IDs nicht fest irgendwo abzulegen - das geht 
dann automatisch.

fchk

Autor: Linekeying (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, dies geht leider nicht. Angenohmen ich habe 3 DS... Sensoren 
innerhalb des Bus. Schicke ich nun eine Anfrage rauß um die IDs 
auszulesen, sendet wohl jeder einzelle Sensor gleichzeitig eine 
Antwort. Somit wird es wohl schwierig die antworten richtig zu emfangen!

Darin liegt ja das Problem. Aus diesem Grund muss ich sie ja angeben.

Autor: Wayne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falsch. Es ist definitiv möglich, die IDs zu ermmitteln, da ja jeder 
Sensor eine andere hat.
Maxim hat den Such-Algorithmus hier beschrieben:
http://www.maxim-ic.com/app-notes/index.mvp/id/187

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.