Difference between revisions of "Gpibgrok"
Uwe Hermann (talk | contribs) (→GPIB protocol chips: Some more NI chips.) |
Uwe Hermann (talk | contribs) |
||
Line 70: | Line 70: | ||
(work in progress) | (work in progress) | ||
{| border="0" style="background-color: #eeeeee; font-size: smaller" | {| border="0" style="background-color: #eeeeee; font-size: smaller" class="alternategrey sortable sigroktable" | ||
|- | |- | ||
! align="left" | Qty | ! align="left" | Qty | ||
! align="left" | Device | ! align="left" | Device | ||
Line 81: | Line 81: | ||
! align="left" | Comments | ! align="left" | Comments | ||
|- | |- | ||
|| 1 || ST STM32F103C6T6A || LQFP-48 || ... || ... || [http://www.digikey.de/scripts/DKSearch/dksus.dll?Detail&itemSeq=115187891 4.54€] || ... || ... | || 1 || ST STM32F103C6T6A || LQFP-48 || ... || ... || [http://www.digikey.de/scripts/DKSearch/dksus.dll?Detail&itemSeq=115187891 4.54€] || ... || ... | ||
|- | |- | ||
|| 1 || TI SN75160B || ... || ... || ... || [http://www.digikey.de/product-detail/de/SN75160BDW/296-6844-5-ND/370216 2.33€] || ... || ... | || 1 || TI SN75160B || ... || ... || ... || [http://www.digikey.de/product-detail/de/SN75160BDW/296-6844-5-ND/370216 2.33€] || ... || ... | ||
|- | |- | ||
|| 1 || TI SN75162B || ... || ... || ... || [http://www.digikey.de/scripts/DKSearch/dksus.dll?Detail&itemSeq=115187661 2.33€] || ... || ... | || 1 || TI SN75162B || ... || ... || ... || [http://www.digikey.de/scripts/DKSearch/dksus.dll?Detail&itemSeq=115187661 2.33€] || ... || ... | ||
|} | |} | ||
== Resources == | == Resources == |
Revision as of 23:49, 15 June 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
- Right-angle, PCB mounted, male:
- Norcomp 112-024-113R001: about $5.5; Mouser (2.80€, but not available ATM), Digikey (4.59€)
- TE Connectivity 5552741-1: about $7.2; Mouser (5.87€, but not available, and minimum quantity required), Digikey (7.50€)
- Straight (no right-angle), PCB mounted, male:
- TE Connectivity / AMP 552283-1: Mouser (4.08€), Digikey (4.51€, but EOL soon? Minimum quantity?)
- Straight (no right-angle), solder-cup, male:
- Norcomp 111-024-103L001: Digikey (2.90€)
- Amphenol 57-20240: Mouser (4.93€) TODO: Typo on page/datasheet, or is this really female?
- Straight (no right-angle), solder, male:
- Norcomp 111-024-113L001: Digikey (4.54€)
- Straight (no right-angle), solder-cup/cable, male:
- Amphenol 57-30240: Mouser (7.19€), Digikey: N/A
- Straight (no right-angle), ribbon cable, male:
- MULTICOMP 5F30240P-10NN-XX: Farnell (2.31€)
GPIB protocol chips
- Philips/NXP HEF4738
- Fairchild 96LS488
- NEC uPD7210C/D
- National Instruments NAT7210: "Drop-In Replacement Chip for NEC µPD7210 Controller" (datasheet)
- National Instruments NAT9914: "Drop-In Replacement Chips for TI TMS9914A Controllers" (datasheet)
- National Instruments TNT4882: "High-Performance, Lower-Cost Single-Chip GPIB Talker/Listener ASIC" (datasheet)
- National Instruments TNT5002: "Single-Chip PCI-to-GPIB Talker/Listener ASIC" (datasheet)
(pretty much all of them are no longer available, or horribly expensive, or hard to get, or a combination thereof)
GPIB transceiver chips
- National DS75160A/61A/62A
- SN75160B: Octal General-Purpose Interface Bus Transceiver (datasheet). Mouser: 1.55€, Digikey (2.33€)
- SN75161B: Octal General-Purpose Interface Bus Transceiver (datasheet). Mouser: 1.45€, Digikey (2.74€)
- SN75162B: Octal General-Purpose Interface Bus Transceiver (datasheet). Mouser: 2.03€, Digikey (2.33€)
Bill of materials
(work in progress)
Qty | Device | Footprint | Value | Refdes | Digikey | Mouser | Comments |
---|---|---|---|---|---|---|---|
1 | ST STM32F103C6T6A | LQFP-48 | ... | ... | 4.54€ | ... | ... |
1 | TI SN75160B | ... | ... | ... | 2.33€ | ... | ... |
1 | TI SN75162B | ... | ... | ... | 2.33€ | ... | ... |
Resources
- Massimiliano Gentile's thesis on writing a USBTMC driver for the AVR32 architecture.
- Hack a Day: GPIB connectivity twofer (covers Galvant GPIBUSB and Sven Pauli's RS232-GPIB interface)
- GPIB connector pinout