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


von Linekeying (Gast)


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 ; )

von Frank K. (fchk)


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

von Linekeying (Gast)


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.

von Wayne (Gast)


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

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.