Misplaced Pages

Talk:GPIB

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by 31.48.73.38 (talk) at 09:21, 8 January 2015 (Commodore serial bus "unrelated"?). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 09:21, 8 January 2015 by 31.48.73.38 (talk) (Commodore serial bus "unrelated"?)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
WikiProject iconComputing Start‑class Low‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Misplaced Pages. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.ComputingWikipedia:WikiProject ComputingTemplate:WikiProject ComputingComputing
StartThis article has been rated as Start-class on Misplaced Pages's content assessment scale.
LowThis article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force (assessed as Mid-importance).


In use today?

are these protocols currently used? --Anonymous

Indeed so, in the test and measurement field (for comms between oscilloscopes and PCs, for instance). It is most commonly known as GPIB in that role. I don't think IEEE-488 is used (to a significant degree) for comms between computers anymore. --Wernher 19:33, 26 September 2005 (UTC)

topology

I don't have time to locate sources for my information, and I work for a company with an interest in this technology, so I won't edit the main article here, but...

IEEE-488 is not limited to daisy-chain topology as stated in the article. The allowed topology is essentially arbitrary, with limits on the total length of cables (due to capacitance) total number of devices (due to capacitance), maximum length of each individual cable, and number of connectors stacked on each instrument (probably because stacking more would create a lever arm that could physically damage the instrument if pushed on).

--The Photon (talk) 17:42, 9 November 2008 (UTC)

Why just 15 devices?

The Commodore series of 8 bit computers can address 31 devices using its version of the IEEE-488 interface, so how come the original can only interface with 15? Dexter Nextnumber (talk) 18:53, 26 November 2009 (UTC)

No they can't. They are limited to 15. 109.153.235.85 (talk) 16:29, 22 September 2011 (UTC)
I can't speak to Commodore, but: GPIB can address up to 31 devices, but electrically, you're only allowed 15 devices per bus. With bus extenders you can go beyond 15. —DragonHawk (talk|hist) 01:13, 23 September 2011 (UTC)

Official status of IEEE-488

Okay, I'm trying to figure this out.

  • IEEE Xplore offers:
    • IEC-60488-1-2004, including the text "IEC/IEEE Standard" and "Adoption of IEEE Std 488.1-2003"
    • IEEE-488, with "Status: Active", and "Reaffirmed 2009", and also saying "Replaced by IEC 60488-1 First edition 2004-07; IEEE 488.1". So it's replaced by something that includes itself?
  • The IEEE store also uses the term "Replaced".
  • Standards status:
    • 60488 is shown as "Status: Approved Publication of IEEE", and once again uses the dual "IEC 60488-1 Ed.1 (IEEE Std 488.1(TM)-2003)" title.
    • 488.1-2003 shows "Status: Approved Publication" and "Reaffirmation status and year: 2009".
    • 488.1-1987 does show "Status: Superseded", so they do apparently change the status when something becomes obsolete.

Any ideas on how this should be presented in the article? —DragonHawk (talk|hist) 00:21, 17 February 2010 (UTC)

Commodore serial bus "unrelated"?

Isn't that too strong a statement? The whole logic of that bus derives from IEEE-488. True, it uses only three signal lines plus GND in normal operation, but the function of other IEEE-488 lines such as EOI is directly mapped to specific sequences of signals on those three lines. -- 92.229.89.204 (talk) 01:23, 27 May 2010 (UTC)

If you can document it, then change it! But the serial/parallel distinction is enough to convince me it's unrelated. The Osborne-1 claimed to have an IEEE 488 bus for its printer interface but I've never seen a document showing anyone did this. --Wtshymanski (talk) 01:34, 27 May 2010 (UTC)
Once again, saying that the Commodore bus was a "serial" IEEE 488 is like saying ASCII is a version of Morse code with constant element lengths. There may be some concepts common to both, but it's not like you could buy something with a "real" IEEE 488 and plug it into your C64 or Atari, no matter how much of the vocabulary Commodore used to describe what they are doing. There's no serial bus in the IEEE 488 standard. --Wtshymanski (talk) 15:10, 30 December 2010 (UTC)
I thought the idea was that the C64 and friends used their own data link layer (ignoring IEEE-488.1), but the command structure and protocols were the same (keeping IEEE-488.2). The fact that it's not electrically compatible doesn't mean it's not IEEE-488 at the protocol level. I can't plug IEEE 802.3j fiber into my IEEE 802.3i 10BASE-T switch, but they're both IEEE 802.3, and with a bridge, frames can transverse both. • That said, I don't know enough about the C64 to know if they *actually* did this, or were just calling it IEEE-488 due to inertia. —DragonHawk (talk|hist) 01:02, 23 September 2011 (UTC)
Imagine it's 1983. On a table you have a Commodore 64 and a Hewlett Packard pen plotter with an HP 488 (IEEE 488) standard interface. Imagine your prof has heard that the C4 has an IEEE 488 interface on it and wants you to plot a bunch of data on the HP plotter. Describe, in as much detail as you think necessary, how you would connect the HP plotter to the C64. I would be astonished if a proposed solution didn't involve as much silicon as in the C64. It's a long way from plug-and-play. If you need a special adapter widget to connect from one to the other, then the Commodore serial port is not usefully described as "IEEE 488", no matter what Commodore printed. --Wtshymanski (talk) 21:38, 6 January 2015 (UTC)
@Wtshymanski: Answer: You would plug the Commodore 64 IEEE-488 interface into the Commodore 64 and connect the HP plotter to that interface. You might as well be astonished now, because the Commodore C64 IEEE-488 interface contained just six chips. Three chips were buffers, one was a quad-2 input AND gate (of which only three gates were used), one was a hex inverter (five used) and the last, not unsurprisingly, was a microcontroller, used to turn the serial data into parallel and vice versa. The interface required no additional software to be installed on the Commodore 64 and also worked on the Commodore 128. Though produced before the Commodore 128, it nevertheless worked with the 128's serial port in fast mode without modification, as the serial data was clocked in and out by the serial port's CLK signal.
The Commodore interface had a design defect which meant that it did not always work correctly (the microcontroller would not reset and download the firmware from ROM to RAM where it was supposed to run). The solution was to replace the MOS 7713 hex inverter with a 74LS04 and add 2 3k3 pull up resistors to two of the microcontroller pins PC3 and PC4.
To describe the serial port as a serialised IEEE-488 is entirely accurate because despite being a serial stream, the communication protocol was otherwise IEEE-488. The Commodore interface merely reconstructed the 16 bit parallel data for the true IEEE-488 interface from the 16-bit serial data from the C64 or deconstructed the 16-bit parallel into 16-bit serial for the other direction. The handshake signals were passed more or less unchanged. What it could not do, of course, was speed up what was an apaulingly slow serial interface. The Commodore literature describe the interface as IEEE-488, and here at Misplaced Pages we go with what the sources say and not with what you believe they should say. That the wording states that it is a serialised form of the bus and identifies that it is not strictly to what IEEE-488 says and has identified the difference. 31.48.73.38 (talk) 13:36, 7 January 2015 (UTC)
So it's compatible because you have to buy an extra computerized converter box to make it work with the standard as described in the protocol? This is a very loose definition of "compatible". Isn't it cheating to stick a microcontroller between the C64 and the IEEE 488 bus? I could stick a microcontroller between a Morse key and IEEE 488 - does that make Morse code an IEEE 488 interface? --Wtshymanski (talk) 14:15, 7 January 2015 (UTC)
@Wtshymanski: If you read what I wrote (which you obviously did not): the microcontroller's sole purpose is to take the serial data stream and reformat it into a parallel data stream and vice versa. It does not perform any protocol conversion because none is required. Facetiously, doing the same thing between a morse key and an IEEE-488 bus would require the microcontroller to understand both protocols and convert from one to the other. Commodore could have achieved the same thing with a suitably interfaced serial chip and a parallel chip, but a microcontroller is obviously a cheaper solution requiring just the one chip. 31.48.73.38 (talk) 14:59, 7 January 2015 (UTC)
But if you have to have an active converter, then whatever the C64 was putting out wasn't what is in the IEEE 488 standard! If it's reformatting the data, (and necessarily doing some kind of bus arbitration between parallel IEEE 488 bus and whatever the C64 was doing with its serial port), it might as well be converting from Morse. If Commodore had really put an IEEE 488 interface on the C64, they wouldn't have needed *any* converter box at all...and evidently Commodore did put this on the Pet but left it out of the C64, probably for cost reasons. (Thought it couldn't have cost much if the Pet had it.) See, the whole point of a "standard" is that you don't need to spend money on converter boxes. --Wtshymanski (talk) 20:39, 7 January 2015 (UTC)
Here's my chance to learn. What's a "serial chip" and a "parallel chip" ? --Wtshymanski (talk) 20:40, 7 January 2015 (UTC)
You can find everything on the Web. If this guy is to be believed, the original Commodore-made C64 to IEEE 488 interface had *nothing to do* with the Commodore serial bus at all. It's all parallel, and puts 2 kB of software onto the C64 to run the IEEE 488 port. So, the Commodore 64 serial bus is an IEEE 488 bus because you can buy a black box that plugs into the same computer that really does do IEEE 488. I'm not buying this. Oh, and the MOS 6525 on that schematic isn't a "microcontroller" (not every chip with 49 40 pins is a microcontroller), it's what Motorola called a "PIA" (parallel interface adapter) - no serial to parallel conversion at all. --Wtshymanski (talk) 21:14, 7 January 2015 (UTC)
You can also find too much on the web. You have provided a link to a totally different device. The interface that he is describing is one of a number of third party units that were produced to overcome the speed limitation of Commodore's serial IEEE-488 port. These boxes did not plug into the serial port but connected instead to the Commodore 8-bit parallel port. Since this port was not an IEEE-488 port in any shape or form, the interface did have to convert the protocols. Consequently, this interface required software to be installed on the host computer. The official Commodore interface was not remotely similar to the third party offerings and did not require additional software. It was, however, relatively short loved because users prefered the speed of the third party units.
If you are so ignorant that you do not know what serial and parallel port chips are, then perhaps you should not be editing articles that are outside of your competency zone. 31.48.73.38 (talk) 09:10, 8 January 2015 (UTC)
I know that we have established that you haven't got a clue, but this seems to extend to not understanding English as well. Either that: or you are not bothering to read what others have saisd before trying to hammer in your faulty knowledge of the subject.
I have already stated that you did not have to have an active converter. That Commodore did so was merely a convenient (and probably cheaper) way of doing the job. Of course, an active conveerter is required for the third part interfaces that use the Commodore (non IEEE-488) parallel port.. 31.48.73.38 (talk) 09:21, 8 January 2015 (UTC)

HS488

This article may need to address the next evolution of IEEE-488 - HS488.  kgrr 18:38, 10 September 2013 (UTC)

Categories: