Ringwelt

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern

GPIB-USB-Adapter

Drucken PDF

Inhaltsverzeichnis[Verbergen]

Ich wollte meine paar Messgeräte, die mit GPIB ausgestattet sind, mit einem einfachen GPIB-Adapter steuern.
Leider sind aber die kommerziellen GPIB Karten bzw. Adapter sehr teuer.
Und da ich nur eine "einfache" Steuerung meiner Messgeräte brauche, habe ich einen GPIB-USB-Adapter auf Basis eines PIC18F2550 gebaut.
Die Idee es doch selber zu machen kam mir von dieser Seite.
Da ich den USB mit dieser Software nicht zum laufen bekommen habe, habe ich die Software selber umgesetzt. Der Microchip PIC18F2550 Mikrocontroller ist für "full speed USB" konfiguriert. Es wird mit 20MHz betrieben und benutzt die interne PLL für 48MHz core speed und 12MHz USB speed. Alle IO-Leitungen haben 100 Ohm Schutzwiderstände. Der PIC kann maximal 25 mA Treiben, was nicht ganz der IEEE 488 Norm entspricht (hier sollten es 48 mA sein). Für kurze Kabel reicht es aber allemal.

Bei der Entwicklung habe ich auf mein Tool "IEEE488 Plugin für Zeroplus Lap C16032" zurückgegriffen.



Eagle-Schaltung



Der fertige Adapter sieht so aus:

Der erste Test lief erfolgreich mit einem Frequenzzähler RACAL-Dana 1991. Benutzt wurde der USB-Stack libusb-win32-1.2.6.0.


Es gibt zwei verschiedene Versionen der Firmware für den PIC18F2550:

VersionBeschreibungCompilerAnmerkungenSourcen
V1.0.1 USB-Treiber von CCS und auch mit diesem compiliert CCS Da ich nicht weiss, ob der USB-Treiber von CCS weitergegeben werden darf, ist dieser nicht bei den Sourcen enthalten.
Funktioniert nur mit Daten, die kleiner als 60 Bytes sind.
https://sourceforge.net/projects/usbgpib/files/
ab V2.0 USB-Treiber von Microchip Microchip C18 Toolsuite Sourcen vollständig frei https://sourceforge.net/p/usbgpib/code/4/tree/

Die Test-Software für den PC wurde mit CodeGear geschrieben. Sie ist nur zum testen des USB-GPIB-Adapters gedacht und als Anschauung der Ansteuerung vom PC aus.

Das Ansteuern von Java aus kann in dem Sourcen von USB-GPIB-Adapter-JavaDriver eingesehen werden. Ist ähnlich wie JPIB, den ich schon für den OsciViewer angepasst habe.
Hier ist das zugehörige Javadoc.

Die neuere Version (>= V2.0) ist erweitert worden, und kann jetzt sehr große Datenmengen (getestet bis 25007 Bytes) problemlos empfangen.
Das Senden scheint auch mit größeren Datenmengen zu funktionieren.

Bei den Treibern habe ich auf LibUsb aufgebaut (siehe auch OsciViewer). Es funktioniert sehr gut.

Die Geschwindigkeit liegt bei 25000 Bytes bei ca. 1-2 Sekunden. Die Software ist zur Zeit auf der sicheren Seite. Könnte aber bestimmt noch mehr an Geschwindigkeit raugeholt werden.

1. Einschränkungen

Auf Grund der einfachen Schaltung und geringen Treiberleistung, reicht es nur für kurze Kabel.
Getestet habe ich mit einer Sternverkabelung mit jeweils max. 1-2 m Kabeln und 4 Geräten.

Probleme gibt es mit dem HP8620 wenn mehrere Geräte zusätzlich dranhängen. Alleine funktioniert es.

2. Links


Genannte Marken oder Produktnamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Eigentümer.


Zuletzt aktualisiert am Dienstag, den 21. Februar 2012 um 12:29 Uhr  

Suche

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHeute17
mod_vvisit_counterGestern102
mod_vvisit_counterDiese Woche516
mod_vvisit_counterLetzte Woche1246
mod_vvisit_counterDiesen Monat3421
mod_vvisit_counterLetzten Monat6767
mod_vvisit_counterGesamt184960

We have: 1 guests online
Deine IP: 38.107.179.244
 , 
Heute: Feb 23, 2012

RokDownloads Most Downloaded

Rokdownloads Recently Updated