Difference between revisions of "GPIB"

From OpenCircuits
Jump to navigation Jump to search
(add todo)
(fill in a few more details, with references, etc.)
 
Line 5: Line 5:
  
 
==interface==
 
==interface==
 +
 +
IEEE 488 specifies a 24-pin connector and shielded cable:
 +
* 8 lines used for bi-directional data, sent a byte (8 bits) at a time
 +
* 8 lines used for handshake and bus management
 +
* 8 ground return lines, including pin 12 connected to the cable shield and the connector shell
 +
 +
 +
== related interfaces ==
 +
(See also [[Expansion bus]])
 +
 +
=== IEC bus ===
 +
 +
The 6-pin DIN "serial" interface of the Commodore 64 ("Commodore serial bus", also called the "IEC bus") is intended to be a low-cost alternative to IEEE-488, using more-or-less the same high-level protocol and a similar daisy-chain from the controller to many peripherals, but using a much lower-cost 6-pin connector and cable, transmitting the 8 data bits and most of the control information serially over a single bi-directional data line.
 +
(see [https://www.pagetable.com/?p=1135 "Commodore Peripheral Bus: Part 4: Standard Serial"] by Michael Steil).
 +
  
 
===I2C protocol===
 
===I2C protocol===
Line 16: Line 31:
 
===adding RS232 Interface===
 
===adding RS232 Interface===
 
*reference -- http://sine.ni.com/nips/cds/view/p/lang/en/nid/203553
 
*reference -- http://sine.ni.com/nips/cds/view/p/lang/en/nid/203553
 +
 +
 +
== Further Reading ==
 +
 +
 +
* [https://www.dwyeromega.com/en-us/resources/gpib-communication "Overview of GPIB protocol"].
 +
* [https://www.contec.com/support/basic-knowledge/daq-control/gpib-communication/ "Basic Knowledge and Glossary for GPIB Communication"] shows the standard 24-wire GPIB pinout.
 +
* [http://pagetable.com/?p=1023 "Commodore Peripheral Bus: Part 1: IEEE-488"] shows the standard 24-wire GPIB pinout
 +
* [https://www.hp9845.net/9845/tutorials/hpib/ "The Hewlett-Packard Interface Bus (HP-IB) ... also known as IEEE 488 or General Purpose Interface Bus (GPIB)."]
 +
* [https://www.reddit.com/r/AskElectronics/comments/1gb16km/why_are_gpibieee488_adapters_so_ungodly_expensive/ "Why are GPIB/IEEE-488 adapters so ungodly expensive?"]
 +
** [https://github.com/xyphro/UsbGpib UsbGpib]: open-source USB to GPIB converter (using Atmel AVR ATMEGA32U4)
 +
** [https://github.com/Twilight-Logic/AR488 AR488 Arduino GPIB Interface]: open-source USB to GPIB converter...
 +
* [https://hackaday.com/2025/12/16/after-decades-linux-finally-gains-stable-gpib-support/ "After Decades, Linux Finally Gains Stable GPIB Support"].
 +
* [http://icselect.com/ab_note.html ICS: "GPIB Application Notes"]

Latest revision as of 14:19, 23 April 2026

Introduction

interface

IEEE 488 specifies a 24-pin connector and shielded cable:

  • 8 lines used for bi-directional data, sent a byte (8 bits) at a time
  • 8 lines used for handshake and bus management
  • 8 ground return lines, including pin 12 connected to the cable shield and the connector shell


related interfaces

(See also Expansion bus)

IEC bus

The 6-pin DIN "serial" interface of the Commodore 64 ("Commodore serial bus", also called the "IEC bus") is intended to be a low-cost alternative to IEEE-488, using more-or-less the same high-level protocol and a similar daisy-chain from the controller to many peripherals, but using a much lower-cost 6-pin connector and cable, transmitting the 8 data bits and most of the control information serially over a single bi-directional data line. (see "Commodore Peripheral Bus: Part 4: Standard Serial" by Michael Steil).


I2C protocol

  • apply as one to many(can be different kind of devices)
  • different platforms
    • for dspic, sw driver implement in freertos following posix arch.
    • for bf1 pf, sw driver implment in uclinux following posix arch.

ToDos

adding RS232 Interface


Further Reading