DS2450 - 4-Fach 16 Bit A/D-Wandler

Der DS2450 ist Ideal für die Verwendung zur Abfrage verschiedener Sensoren. Leider wird er nicht von allen "Smarthome" Systemen unterstützt. So ist dieser Sensosr nicht im Web-Interface von Wiregate enthalten. Auch die Loxone 1-Wire Extension unterstützt diese Sonsoren bis jetzt noch nicht.

In der Vergangenheit wird mit unter von Problemen des Chips berichtet wie z.B. CRC-Fehler bei der Abfrage. Auch ich hatte solche Probleme mit den originalen Chips, allerdings kann ich nicht auschließen, dass es am 1-Wire Bus selbst lag. Die Simulation funktionert sehr gut und ist auch schon in vielen Systemen z.B. als Multisensor im Einsatz (Vorzugsweise FHEM und IP-Symcon).

Vielfach unbekannt ist die Tatsache, dass die Eingänge des DS2450 auch als digitale Ausgäng verwendet werden können. Allerdings ist im Datenblatt kein Hinweis über maximale Ströme zu finden. Nur die Spannung bei 4mA und gegen Masse geschalteten Transistor ist angegeben.

Simulation des DS2450

Eine komplette Referenzsimulation ist in der Git-Repository im Verzeichnis owSlave2/DS2450 zu finden.

Die 1-Wire Commandos werden in der Assempler-Datei common/OWDS2450.S behandelt. Die Kommunikation erfolgt über die Struktur:

typedef union {
	volatile uint8_t bytes[0x20];
	struct {
		//Page0
		uint16_t A;  //0
		uint16_t B;  //2
		uint16_t C;  //4
		uint16_t D;  //6
		//Page1
		uint8_t CSA1;
		uint8_t CSA2;
		uint8_t CSB1;
		uint8_t CSB2;
		uint8_t CSC1;
		uint8_t CSC2;
		uint8_t CSD1;
		uint8_t CSD2;
		//Page2
		uint8_t LA;
		uint8_t HA;
		uint8_t LB;
		uint8_t HB;
		uint8_t LC;
		uint8_t HC;
		uint8_t LD;
		uint8_t HD;
		//Page3
		uint8_t FC1;
		uint8_t FC2;
		uint8_t FC3;
		uint8_t FC4;
		uint8_t VCCP;
		uint8_t FC5;
		uint8_t FC6;
		uint8_t FC7;
		uint8_t convc1;
		uint8_t convc2;
	};
} pack_t;
volatile pack_t pack;

Diese Refernzvariante verwendet nur 10 Bit für den A/D-Wandler. Mit vielen Messungen nacheinander könnte die "Auflösung" noch etwas erhöht werden. Bei der Messeinstellung 0 .. 2,55V wird die interne Spanungsrefernz von 1.1V für den A/D-Wandler verwendet.

You have no rights to post comments

Zum Seitenanfang