Günstigster iButton (1-Draht) Adapter/Programmierer-Schema

Ich möchte in der Lage sein, iButton- Geräte (1-Wire) zu lesen, zu schreiben und zu programmieren, hauptsächlich DS1990A und EPROMs. Das Problem ist, dass alle Treiberchips und Lesegeräte und Adapter von Maxim hier teuer sind.

Gibt es eine andere billigere Do-it-yourself-Lösung, um iButton über übliche Schnittstellen (USB, seriell, parallel usw.) mit dem Computer zu verbinden?

Antworten (6)

Die meisten Mikrocontroller reichen aus. Das 1-Wire-Protokoll ist nicht schwer zu implementieren, es gibt viele Beispiele. Ein UART bietet Ihnen eine serielle Verbindung (Sie benötigen einen Treiber wie MAX232, um eine Verbindung zu einer echten seriellen Schnittstelle herzustellen). Viele Mikrocontroller haben heutzutage auch USB-Gerätecontroller. Das Schreiben von Firmware, die eine Brücke implementiert, sollte keine schwierige Aufgabe sein (mit einer möglichen Ausnahme einiger vorhandener Software, die mit einem Lesegerät unter Verwendung eines unbekannten Protokolls kommuniziert). Sie können eines von vielen handelsüblichen Entwicklungsboards auswählen, wenn Sie nicht auch Ihr eigenes entwerfen möchten.

Ich würde vorschlagen, einen FTDI USB-to-Logic-Level-Serial-Konverter zu verwenden (erhältlich als vorgefertigtes Kabel von Digi-Key für etwa 20 US-Dollar in den USA; nicht sicher, ob es anderswo erhältlich ist). Verbinden Sie Masse mit IButton-Masse und Rx mit den IButton-Daten; Binden Sie den Tx-Pin über einen 1K-Widerstand an Rx. Man kann einen Reset-Impuls senden, indem man eine niedrige Baudrate wählt und ein Null-Byte sendet. Andernfalls kann man Nullen und Einsen senden, indem man eine Baudrate von etwa 115.200 auswählt und FF sendet, um einen kurzen Impuls zu erzeugen, oder F0, um einen langen zu erzeugen. Man sollte damit rechnen, einen FF, FE oder FC für einen kurzen Impuls und wahrscheinlich einen FC, F8, F0 oder E0 für einen langen zu erhalten.

Die oben genannten Optionen sind möglicherweise etwas kostengünstiger, aber wenn Sie Ihre Zeit schätzen, werden Sie schnell feststellen, dass Sie sie für die Implementierung von 1-Wire aufwenden müssen, was ein sorgfältiges Timing erfordert, um einen ordnungsgemäßen Betrieb sicherzustellen.

Wenn Sie eine kostengünstige und schnelle Lösung suchen, die einfach funktioniert, ist The Bus Pirate ein großartiges Tool. Der Bonus ist, dass es so viel mehr als 1-Wire unterstützt, sodass es im Grunde alles tun kann, was Sie brauchen (und wenn Sie daran arbeiten, können Sie es weiter ausbauen). Für 30 US-Dollar kann man nichts falsch machen, was alles tut, was man will und mehr.

Die Wahl des Fahrers hängt von der Entfernung Ihres 1-Draht-Busses ab. Wenn es sich innerhalb einer Leiterplatte oder ein paar zehn Zentimeter befindet, können Sie das Protokoll von Ihrem Mikrocontroller aus bit-bangen. Wenn Sie eine längere Twisted-Pair-Verbindung mit mehreren Geräten auf Leitungen bis zu 300 Metern benötigen, lohnt sich der Kauf der Maxim-Treiberchips. Wenn sie für den Long-Line-Modus konfiguriert sind, verwenden sie kontrollierte Anstiegszeiten und einstellbare Treiberströme, um das Klingeln zu reduzieren. Sie sind eine UART-gesteuerte Protokollzustandsmaschine und ein analoger Treiber in einem winzigen Teil.

Ich habe einen DS2480 verwendet, um einen 100 m langen CAT5-Bus mit DS1822 + PAR-Temperatursensoren zu betreiben, und er ist im Feld zuverlässig.

Es gibt das Maxim DS1413 , das Maxim DS9097 und das DS9490 . Oder in so viel wie dem internen Schaltplan, der in den Datenblättern dargestellt wird. Die erste wird nur mit Dioden durchgeführt . Der zweite und der dritte erfordern einen Maxim-Treiberchip, der Ihrer Meinung nach teuer ist.

Hier ist eine Transistor + USB-Uart-Kabelversion.

Die andere Möglichkeit besteht darin, Ihre eigenen zu erstellen. Jeder arduino/avr, pic, msp430 kann es tun. Die meisten haben Bibliotheken zur Verfügung. Hier ist ein v-usb/atmega8-Projekt (aktuelles Projekt auf Polnisch) Hier ist eine attiny v-usb-Version.

Sie können es ein paar Cent kosten, wenn Sie etwas Programmierarbeit leisten.

Einfache COM-Port-Schnittstelle mit Delphi-Quelle: http://www.rtcs.ru/article_detail.asp?id=73