DS2450: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
Zeile 17: Zeile 17:
  
 
Grundsätzlich gilt für alle Befehle:
 
Grundsätzlich gilt für alle Befehle:
* als erstes Argument kann optional die 64 Bit ROM Id des DS2450 angegeben werden, der angesprochen werden soll (match rom). Wird die ROM Id <b>nicht</b> angeben, so werden alle im Bus befindlichen 1-wire Devices (egal welchen Typs) angesprochen (skip rom). Dies macht nur Sinn, wenn sich <b>genau</b> ein Device im 1-wire Bus befindet (skip rom führt bei mehreren Devices unweigerlich dazu, dass mehrere Devices gleichzeitig antworten werden, was zu Bit-Salat führen wird, das Datenblatt spricht von "a wired-AND result").
+
* als erstes Argument kann optional die 64 Bit ROM Id des DS2450 angegeben werden, der angesprochen werden soll (match rom). Wird die ROM Id <b>nicht</b> angeben, so werden alle im Bus befindlichen 1-wire Devices (egal welchen Typs) angesprochen (skip rom). Dies macht <b>nur</b> Sinn, wenn sich <b>genau</b> ein Device im 1-wire Bus befindet (skip rom führt bei mehreren Devices unweigerlich dazu, dass mehrere Devices gleichzeitig antworten werden, was zu Bit-Salat beim bus master (d.h. Ethersex) führt, das Datenblatt spricht von "a wired-AND result").
 
* wird ein Kanal angeben, so ist dieser mit einem Buchstaben (entsprechend Datenblatt) zu bezeichnen (case-insensitiv).
 
* wird ein Kanal angeben, so ist dieser mit einem Buchstaben (entsprechend Datenblatt) zu bezeichnen (case-insensitiv).
 
* wird mit einem Befehl ein Wert gesetzt, so kann mit dem gleichen Befehl der Wert gelesen werden, in dem man kein Werte-Argument angibt.
 
* wird mit einem Befehl ein Wert gesetzt, so kann mit dem gleichen Befehl der Wert gelesen werden, in dem man kein Werte-Argument angibt.
Zeile 23: Zeile 23:
 
==== <code>1w ds2450 res</code> ====
 
==== <code>1w ds2450 res</code> ====
  
Hierüber wird die Auflösung der analog-digital Umwandlung gesetzt per Kanal. Die Auflösung kann zw. 1 und 16 Bit eingestellt werden. Die Eingabe erfolgt als 8 Bit Hexadezimalwert, wobei eine Auflösung von 16 Bit durch den Wert 0x00 oder alternativ 0x10 erreicht wird. Außerdem ist die Kanal-Bezeichnung anzugeben.
+
Hierüber wird die Auflösung der analog-digital Umwandlung gesetzt (pro Kanal). Die Auflösung kann zw. 1 und 16 Bit eingestellt werden. Die Eingabe erfolgt als 8 Bit Hexadezimalwert, wobei eine Auflösung von 16 Bit durch den Wert 0x00 oder alternativ 0x10 erreicht wird. Außerdem ist die Kanal-Bezeichnung anzugeben.
  
 
Default-Wert: 0x08
 
Default-Wert: 0x08
Zeile 30: Zeile 30:
 
  1w ds2450 res c 08
 
  1w ds2450 res c 08
  
(setzt die Auflösug für Kanal C auf 0x08, d.h. 8 Bit)
+
(setzt die Auflösung für Kanal C auf 0x08, d.h. 8 Bit)
 +
 
 +
==== <code>1w ds2450 oc</code> ====
 +
 
 +
Hierüber kann der Ausgang ein- oder ausgeschaltet werden (pro Kanal). Voraussetzung ist, dass über [[DS2450#1w_ds2450_oe]] der Kanal als Ausgang geschaltet wurde (ansonsten wird das OC-Bit ignoriert).
 +
Die Eingabe erfolgt über 0 (Ausgangstransistor leitend) bzw. 1 (Ausgangstransistor nicht-leitend). Außerdem ist die Kanal-Bezeichnung anzugeben.
 +
 
 +
Default-Wert: 0
 +
 
 +
Beispiel:
 +
1w ds2450 oc a 1
 +
 
 +
(der Ausgangstransistor des Kanal A wird leitend)
  
  
==== <code>1w ds2450 oc</code> ====
 
 
==== <code>1w ds2450 oe</code> ====
 
==== <code>1w ds2450 oe</code> ====
 +
 +
Hierüber kann der Kanal als Ein- oder Ausgang gesetzt werden (pro Kanal). Eine analog-digital Umwandlung ist <b>nur</b> möglich, wenn das OE-Bit auf 0 gesetzt ist. In diesem Fall wird das OC-Bit ignoriert. Ist das OE-Bit auf 1 gesetzt, kann der Ausgang über [[DS2450#1w_ds2450_oc]] ein- bzw. ausgeschaltet werden.
 +
 +
Default-Wert: 0
 +
 +
Beispiel:
 +
1w ds2450 oe d 1
 +
 +
(Kanal A wird als Ausgang gesetzt)
 +
 
==== <code>1w ds2450 range</code> ====
 
==== <code>1w ds2450 range</code> ====
 
==== <code>1w ds2450 por</code> ====
 
==== <code>1w ds2450 por</code> ====
 
==== <code>1w ds2450 convert</code> ====
 
==== <code>1w ds2450 convert</code> ====
 
==== <code>1w ds2450 get</code> ====
 
==== <code>1w ds2450 get</code> ====

Version vom 31. Dezember 2009, 13:23 Uhr

Dallas 1-wire DS2450 4 Kanal ADC

Der DS2450 ist ein 4 Kanal ADC mit einer maximalen Auflösung von 16 Bit (vgl. Datenblatt). Die analog-digital Umwandlung erfolgt durch einen internen four-to-one multiplexer. Kanäle, die nicht als Eingänge genutzt werden, können als Ausgänge (open drain) geschaltet werden (max. 4mA und 6V).

ECMD Interface

Über ECMD sind folgende Befehle für den DS2450 bekannt:

  • 1w ds2450 res
  • 1w ds2450 oc
  • 1w ds2450 oe
  • 1w ds2450 range
  • 1w ds2450 por
  • 1w ds2450 convert
  • 1w ds2450 get

Grundsätzliches

Grundsätzlich gilt für alle Befehle:

  • als erstes Argument kann optional die 64 Bit ROM Id des DS2450 angegeben werden, der angesprochen werden soll (match rom). Wird die ROM Id nicht angeben, so werden alle im Bus befindlichen 1-wire Devices (egal welchen Typs) angesprochen (skip rom). Dies macht nur Sinn, wenn sich genau ein Device im 1-wire Bus befindet (skip rom führt bei mehreren Devices unweigerlich dazu, dass mehrere Devices gleichzeitig antworten werden, was zu Bit-Salat beim bus master (d.h. Ethersex) führt, das Datenblatt spricht von "a wired-AND result").
  • wird ein Kanal angeben, so ist dieser mit einem Buchstaben (entsprechend Datenblatt) zu bezeichnen (case-insensitiv).
  • wird mit einem Befehl ein Wert gesetzt, so kann mit dem gleichen Befehl der Wert gelesen werden, in dem man kein Werte-Argument angibt.

1w ds2450 res

Hierüber wird die Auflösung der analog-digital Umwandlung gesetzt (pro Kanal). Die Auflösung kann zw. 1 und 16 Bit eingestellt werden. Die Eingabe erfolgt als 8 Bit Hexadezimalwert, wobei eine Auflösung von 16 Bit durch den Wert 0x00 oder alternativ 0x10 erreicht wird. Außerdem ist die Kanal-Bezeichnung anzugeben.

Default-Wert: 0x08

Beispiel:

1w ds2450 res c 08

(setzt die Auflösung für Kanal C auf 0x08, d.h. 8 Bit)

1w ds2450 oc

Hierüber kann der Ausgang ein- oder ausgeschaltet werden (pro Kanal). Voraussetzung ist, dass über DS2450#1w_ds2450_oe der Kanal als Ausgang geschaltet wurde (ansonsten wird das OC-Bit ignoriert). Die Eingabe erfolgt über 0 (Ausgangstransistor leitend) bzw. 1 (Ausgangstransistor nicht-leitend). Außerdem ist die Kanal-Bezeichnung anzugeben.

Default-Wert: 0

Beispiel:

1w ds2450 oc a 1

(der Ausgangstransistor des Kanal A wird leitend)


1w ds2450 oe

Hierüber kann der Kanal als Ein- oder Ausgang gesetzt werden (pro Kanal). Eine analog-digital Umwandlung ist nur möglich, wenn das OE-Bit auf 0 gesetzt ist. In diesem Fall wird das OC-Bit ignoriert. Ist das OE-Bit auf 1 gesetzt, kann der Ausgang über DS2450#1w_ds2450_oc ein- bzw. ausgeschaltet werden.

Default-Wert: 0

Beispiel:

1w ds2450 oe d 1

(Kanal A wird als Ausgang gesetzt)

1w ds2450 range

1w ds2450 por

1w ds2450 convert

1w ds2450 get