ARhodes - 2013-10-12

This project is a simple USB-to-GBIB (IEEE488) interface from PC to GPIB-based devices.

I have a simple PC interface to my Tektronix 2430A Oscilloscope, and a Arduino Nano based USB-to-GBIB interface.

I used an Arduino Nano because they are cheap and plentiful and bring out all the I/O pins to the headers. I replaced the bootloader with one that is compatible with the ZBasic programming language I used for the code. Any applicable bootloader could be used.

The USB interface can have any arbitrary command set in the firmware, but I am presently using a subset of the Prologix commands. One simplification I used, is that the interface is always in "Listen" mode and will automatically transfer data to the PC, and the PC program is always listening to the serial port, and ready to parse incoming data. This works well, when the PC program is only intended to use one GPIB device, but it would be rather complicated to make it able to respond properly to a wide variety of individual devices.

The PC program is written in C with wxWidgets.

The plan is to have this open source so everyone can contribute to the S/W and H/W designs. Ideas would be
1) Enhancements to the PC program to allow configuation for any type of device.

2) Enhancements to the USB-GPIB interface for a more robust design (such as using a dedicated set of GPIB bus driver ICs, which is in progress), and a design which is not based on the Arduino Nano, and maybe even an Ethernet interface. I would plan on porting the ZBasic code to C using WinAVR with AVR Studio.

At the present time, the file folders support the following:

1) Arduino Nano-based project that does not use dedicated bus driver ICs. This code and hardware is functional.

2) Arduino-Nano-based design with dedicated driver ICs. No H/W or S/W design has been creaed for this version.

3) Discrete IC design using the Atmel ATMega328P, and dedicated drivers. The preliminary hardware PCB design is complete, but it is not tested at all. The code is not written, but would be a variant of the Arduino Nano code.

4) The PC- program

 

Last edit: ARhodes 2013-10-12