Neue Entwicklungen zum USB-Portchip

(26.8.02)

Experimente mit dem USB rücken immer mehr in das Interesse vieler Anwender und der Medien. Der WDR-Computerclub hat das Thema aufgegriffen und plant eine längere Reihe von Experimenten. Der USB-Port von Modul-Bus wurde von der c´t-Redaktion ausgewählt, um erste Experimente vorzustellen. Vor allem die Zusammenarbeit mit c´t brachte Anregungen, die zu zwei Neuerungen geführt haben:

Der bisherige Chip USB-Port auf der Basis des CY7C63001A stellt dem Anwender bereits 12 Ports zur Verfügung, die als Eingänge und als Aushänge benutz werden können. Nach dem Anschluss an den USB werden alle Ports im Low-Zustand initialisiert. Per Software können sie dann eingeschaltet werden. Im High-Zustand ist auch die Verwendung als Eingänge möglich.

Die Initialisierung im Low-Zustand bringt bei einigen Anwendungen ein Problem, das durch die zweite Version des Portchips beseitigt wurde. Moderne PCs mit ATX-Netzteil schalten die Betriebsspannung am USB nicht ab, wenn der PC heruntergefahren wird. Die Betriebsspannung von 5 V liegt also weiterhin an. Über den USB wurde aber ein Prozessor-Reset ausgeführt. Dieser setzt die Ports dann in den High-Zustand. Beim nächsten Einschalten wird der Chip neu gestartet und setzt die Ports wieder herunter. Der High-Zustand kann erst wieder durch eine gestartete Software eingeschaltet werden. Wenn nun ein Verbraucher über einen einzelnen Portanschluss gesteuert werden soll, kommt es zu einem Einschalten entweder beim Herunterfahren oder beim Hochfahren des PCs, je nachdem ob positive oder negative Logik verwendet wird.

Der neue Chip USBport-2 stellt bei der Initialisierung zuerst den High-Zustand aller Ports her. Dieses Verhalten entspricht dem des Controllers im Reset-Zustand. Von nun an ist also klar, dass Verbraucher in negativer Logik angesteuert werden müssen, ein Low-Zustand soll also den Verbraucher einschalten. LEDs können einfach gegen Vcc angeschlossen werden. Ein einzelner PNP-Transistor reicht aus, wenn ein Verbraucher aus der 5-V-Spannung über den USB versorgt werden soll.

Mit dieser einfachen Schaltung können Ströme bis 100 mA geschaltet werden. Mehr darf bei Verwendung des Portchips nicht aus dem USB-Anschluss entnommen werden. Mit dem USB-Port2 verhält sich die Schaltung auch beim Herunterfahren des PCs normgerecht und schaltet den zusätzlichen Verbraucher ab.

Vielfach soll der Chip vielleicht Lasten an einer zusätzlichen Versorgungsspannung schalten. Dann scheidet die einfache PNP-Stufe aus. Die folgende Schaltung zeigt die Ansteuerung einer Last mit 12V/5W.

Für die Ansteuerung werden zwei NPN-Transistoren verwendet. Die Schaltung zeigt zwei Emitterstufen, wobei die erste Stufe als Inverter arbeitet. Jeder Portpin liefert im High-Zustand wie auch im Reset-Zustand einen Pullup-Strom von 300 µA. Der Transistor BC548 steuert damit durch und sperrt den zweiten Transistor. Erst ein Low-Zustand schaltet den Verbraucher ein.

Ein Software-Beispiel für Visual Basic kann hier geladen werden. USBport2.vbp (port2.zip, 4 k, berichtigt 10.12.02). Alle Ports können durch Anklicken verändert werden. Der Ruhezustand nach einem Neustart ist High. Die entsprechenden Lesezustände werden ebenfalls angezeigt. Bei einem Anschluss externer Schaltkontakte muss der Port hochgesetzt bleiben, so dass ein gegen Masse geschlossener Schalter den Pegel verändern kann.


Die Experimentierplatine zum CY7C63001

Zur Erleichterung der experimentellen Arbeit mit dem Chip wurde eine kleine Platine entworfen.

Die neue Platine verfügt über einen Sockel, den erforderlichen Quarz und den USB-Anschluss. Ein zusätzliches Experimentierfeld erleichtert den Aufbau kleiner Zusatzschaltungen. Folgende Chips können bestückt werden:


Treiberanpassung für Windows XP

Der ursprüngliche Treiber hatte einen Namen, der zufällig unter Windows XP anders vergeben wurde. Dank der freundlichen Hilfe von Herrn Herbert Schmid von der c´t-Redaktion gibt es jetzt eine Lösung: Der Treiber heißt nun MBUSBprt.sys. Die zugehörige Datei MBUSBprt.inf hat einige zusätzliche Anpassungen erfahren, die ein reibungsloses Installieren des Treibers ermöglichen.

port.zip (51 k mit Handbuch und Treiber, VB-Beispiel in der letzten Version vom 10.12.02)

Die MBUSBprt.sys und MBUSBprt.inf sollten sich auf einer Diskette im Laufwerk A: befinden. Dann läuft die Installation des Treibers automatisch. Es gibt nur eine Sicherheitsabfrage, die man mit "Installation fortsetzen" bestätigen muss.

Es geht hier um die Zertifizierung des Treibers bei der Firma Microsoft, die sich aber kleinere Firmen kaum leisten können.

Übrigens wurde auch die INF-Datei zum CompuLAB-USB angepasst und kann nun problemloser unter XP eingesetzt werden.

www.ak-modul-bus.de/technik/inf.zip


Weitere Informationen zum Thema:

Technische Daten und Beispielsoftware zum USB-Portbaustein: www.ak-modul-bus.de/technik/port.html
c´t
17/2002 vom 12.8.02, S.176ff: USB - Messen und Steuern, www.heise.de
USB-Informationen und Literatur: www.b-kainka.de/usb.htm


Zurück zur Startseite der MB-News
Zurück zur Startseite AK-Modul-Bus