Difference between revisions of "Gpibgrok"

From sigrok
Jump to navigation Jump to search
Line 36: Line 36:
** TE Connectivity 5552741-1: [http://octopart.com/partsearch#search/requestData&q=TE%20Connectivity%205552741-1 about $7.2]; [http://de.mouser.com/ProductDetail/TE-Connectivity-AMP/5552741-1/?qs=ZDXmSm13592KDB5YbnOqGQEXH8vBFTre66B%2ffSd9ajU%3d Mouser] (5.87€, but not available, and minimum quantity required), [http://www.digikey.de/scripts/dksearch/dksus.dll?vendor=0&keywords=5552741-1 Digikey] (7.50€)
** TE Connectivity 5552741-1: [http://octopart.com/partsearch#search/requestData&q=TE%20Connectivity%205552741-1 about $7.2]; [http://de.mouser.com/ProductDetail/TE-Connectivity-AMP/5552741-1/?qs=ZDXmSm13592KDB5YbnOqGQEXH8vBFTre66B%2ffSd9ajU%3d Mouser] (5.87€, but not available, and minimum quantity required), [http://www.digikey.de/scripts/dksearch/dksus.dll?vendor=0&keywords=5552741-1 Digikey] (7.50€)
* Straight (no right-angle), PCB mounted, male:
* Straight (no right-angle), PCB mounted, male:
** [http://www.te.com/catalog/pn/en/552283-1 TE Connectivity / AMP 552283-1]: [http://de.mouser.com/ProductDetail/TE-Connectivity-AMP/552283-1/?qs=L%252bK8JgcrFouKshZpXbu%2foxXjsnB6QVdhWc5JSE3CA%2fU%3d Mouser] (4.08€), [http://www.digikey.de/scripts/dksearch/dksus.dll?vendor=0&keywords=552283-1 Digikey] (4.51&euro, but EOL soon? Minimum quantity?)
** [http://www.te.com/catalog/pn/en/552283-1 TE Connectivity / AMP 552283-1]: [http://de.mouser.com/ProductDetail/TE-Connectivity-AMP/552283-1/?qs=L%252bK8JgcrFouKshZpXbu%2foxXjsnB6QVdhWc5JSE3CA%2fU%3d Mouser] (4.08€), [http://www.digikey.de/scripts/dksearch/dksus.dll?vendor=0&keywords=552283-1 Digikey] (4.51€, but EOL soon? Minimum quantity?)
* Straight (no right-angle), solder-cup, male:
* Straight (no right-angle), solder-cup, male:
** [http://www.norcomp.net/rohspdfs/SCSI-050Ribbon/11Y/111/111-YYY-103L001.pdf Norcomp 111-024-103L001]: [http://www.digikey.de/product-detail/de/111-024-103L001/1024MA-ND/955139 Digikey] (2.90€)
** [http://www.norcomp.net/rohspdfs/SCSI-050Ribbon/11Y/111/111-YYY-103L001.pdf Norcomp 111-024-103L001]: [http://www.digikey.de/product-detail/de/111-024-103L001/1024MA-ND/955139 Digikey] (2.90€)

Revision as of 14:16, 29 May 2012

This page documents some ideas and information for a GPIB-USBTMC hardware interface.

Motivation

There are many ways to communicate with devices that have a GPIB port, and sigrok aims to support as many of them as possible (see IEEE-488). However in this day and age the only reasonable interface for this would have to use a USB device port, since USB host ports are so ubiquitous. The USB standards include a device class specifically made for test and measurement, called the USBTMC class.

Yet most of the GPIB-USB interfaces available don't use this device class; they typically use either a proprietary protocol or serial emulation. There is only one GPIB-USBTMC interface that we know of: the TEK-USB-444 from Tektronix, and it's ridiculously overpriced at around $740.

We think we can make a GPIB-USBTMC interface that is:

  • 100% free and open source, hardware and firmware/software
  • 100% standards-compliant
  • Considerably cheaper than anything else out there (less than $50)

In addition, since we'd be making essentially a "server-side" i.e. USB device-side implementation of the USBTMC protocol, this code would be reusable in projects such as Das Oszi.

Hardware design

  • Using an ARM Cortex-M3 microcontroller would get us:
    • Built-in USB
    • Plenty of horsepower to handle the throughput a GPIB device will reasonably need
    • Many different implementations to choose from, and many inexpensive development boards
    • Can start with an existing development board + GPIB connector
  • Voltage levels on GPIB pins is "negative logic with standard TTL levels": true <= 0.8V, false >= 2.0V. (to be verified)

Software

Due to the long history of the IEEE-488 and SCPI standards, there are many devices out there supporting some earlier version of the protocol, and these will typically support commands that are vendor-specific, and syntax that is not compliant IEEE-488. Therefore supporting various device-specific or vendor-specific "quirks" will likely be a big part of real-world use-cases.

Components

GPIB connectors

GPIB protocol chips

(pretty much all of them are no longer available)

GPIB transceiver chips

Resources