1-Wire-Schnittstelle VHDL

Gast #297554
Lesenswert?

Hallo!
Habe folgendes Problem: In einer Projektarbeit an der Uni ist es meine
Aufgabe die Daten (8Bit) des DS1821 (Temp-Sensor 1-Wire) zu
verarbeiten. Der Sensor hat eine maximale Übertragungsrate von
9600Bit/s
Zu meiner Frage:
Wie lese ich die Daten aus diesem Sensor aus?

Ich habe schon einen Takt mit 9,6khz. Im Prinzip ist es ja eins
Serielle Kommunikation und ich brauche doch bestimmt eine Art
Schieberegister/ Buffer indem ich zuerst die 8 Bit sammel und dann auf
die 7-Segment-Anzeige ausgebe. Leider weiß ich nicht wie man dieses
"Register" in VHDL umsetzt.

Ich hoffe mir kann jemand helfen!
Danke im Voraus!
Sebastian
Angehängte Dateien:
Gast #297555
Lesenswert?

Hallo,

wie Du die Daten aus dem IC ausliest steht im Datenblatt.
Wenn Du an einer UNI studierst gehe ich davon aus, dass
Du weißt, was ein Schieberegister und was serielle Daten
sind.

Was Du jetzt brauchst ist erstmal eine Liste von Aktionen,
die durchgeführt werden muss.
Schau mal ins Datenblatt und poste hier den Ablaufplan,
also was nacheinander gemacht werden muss, um einen
Temperaturwert zu bekommen.
Bei der Umsetzung in VHDL helfe ich gern, aber erstmal
muss das Konzept stehen.
Gast #297556
Lesenswert?

Also hier die Spezifikationen:
- Die Schnittstelle wird mit 9600bit/s betrieben
- um den Sensor zu Initialisieren muss man ihn min 480us max 960 us auf
low ziehen
- danach ist der Sensor im "Programmiermode"
   - wenn man EEh sendet dann wird die Kontinuierliche Wandlung
     gestartet
   - wenn man AAh sendet liest man aus dem Tempregister den Wert aus
Dazu eine Frage, ich weiß leider nicht wie der Sensor aus dem
"Progmode" zurück in den "normalen" Mode zum Auslesen geht

Wenn ich das Datenwort EEh sende, muss ich dann den Port über den ich
sende irgendwie auf Receive umstellen, oder ist das durch dier
Deklaration des Port auf "inout" schon geschehen und der
Datenaustausch geht in beide Richtungen
Im Anhang nochmal das Datenblatt
Sebasian
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren