Jump to content

Talk:GPIB

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

In use today?

[edit]

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)[reply]

topology

[edit]

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)[reply]

Why just 15 devices?

[edit]

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)[reply]

No they can't. They are limited to 15. 109.153.235.85 (talk) 16:29, 22 September 2011 (UTC)[reply]
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)[reply]

Official status of IEEE-488

[edit]

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)[reply]

Commodore serial bus "unrelated"?

[edit]

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)[reply]

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)[reply]
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)[reply]
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)[reply]
Closing discussion that has nothing whatsoever to do with improving the article.
The following discussion has been closed. Please do not modify it.
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)[reply]
@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 Wikipedia 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)[reply]
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)[reply]
@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)[reply]
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)[reply]
Here's my chance to learn. What's a "serial chip" and a "parallel chip" ? --Wtshymanski (talk) 20:40, 7 January 2015 (UTC)[reply]
You can find everything on the Web. If this guy is to be believed,[1] 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)[reply]
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.
As for the MOS 6525 really being a Motorola 6525 PIA? Silly me. Of course, I had just assumed it was a microcontroller because it has an EPROM connected to it that has firmware loaded into it. 31.48.73.38 (talk) 09:10, 8 January 2015 (UTC)[reply]
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)[reply]
You've already stated you need an active converter (above, plugging an HP plotter into a C64). Where's the 5 pin DIN plug on my HP plotter? Where is the 5 pin DIN plug in the IEEE 488 standard? It was nice of the Commodore marketing people to wrap themselves in the IEEE 488 flag when describing their proprietary nonstandard interface but they were hardly the first marketing team to be ...optimistic... about the actual level of compliance with the standards. Since you were calling a PIA a "microcontroller", I was interested in what you defined as a "serial chip" or a "parallel chip" - my own understanding of this topic is so weak that I'd never describe any part with such names alone. Why is is so important to continue the misleading statement that the Commodore serial interface is an IEEE 488 standard interface? --Wtshymanski (talk) 15:16, 8 January 2015 (UTC)[reply]
@Wtshymanski: Where exactly did I state that you need an active converter? In fact it was you that claimed that you would need, "... as much silicon as in the C64." If your HP plotter had a 5 pin serial plug on it you wouldn't need the converter interface would you? The fact that it hasn't is the whole point. Where have I stated that the Commodore interface is a standard IEEE-488 interface? Commodore state that it is a IEEE-488 serial interface in 3 separate places. And I'm sure you know perfectly well what serial port chips and parallel port chips are - given the contribution below. Given Commodore's claims, it is right that it is documented in the article but we also need to state in what way it is different.
Looking again at my circuit diagram for the Commodore interface, I am becoming less convinced that the 28 pin chip is a microcontroller (I have to confess that I had just assumed that it was). The problem is that it seems to be a bespoke MOS technology chip (as in: I can't find a data sheet for it). The labelling of the pins on the diagram are not suggestive of a microcontroller. For one thing: there is no RESET or similar input. Perhaps you can locate a data sheet for a MOS Technology M2529? 31.48.73.38 (talk) 18:42, 8 January 2015 (UTC)[reply]

31.48.73.38: you are trying to discuss things with our resident tendentious editor and edit warrior. You are wasting your time discussing anything here. Wtshymanski believes that he has the sole rights to decide what you can and cannot edit into any engineering related article. He has already made up his mind as to what he is going to allow into the article, and no discussion here will change it. The Wikipedia way is to be bold, revert and discuss (WP:BRD) This is not the Wtshymanski way. His way is to revert, keep on reverting (even into an edit war - note his reverts are numbered so that he can keep an eye on WP:3RR) and only ever discuss if the other guy does. But the discussion is never a serious attempt at reaching a consensus on article content. It exist solely so that any passing admin (who will not understand the technical aspects) believes that Wtshymanski is discussing the content.

I can tell you that Wtshymanski will certainly know what serial and parallel port chips are. He changes the depth and content of his knowledge to facilitate whatever edit war he is currently engaged in. I notice that he has introduced irrelevancies into this discussion (standard Wtshymanski technique) to try and obfuscate the issue. For example, in his last post above he states, "You've already stated you need an active converter [in the official Commodore converter] ...". I've read the posts above, and you have not stated this at all (and I know that Wtshymanski knows you didn't as well) because you wrote, "Commodore could have achieved the same thing [as the microcontroller] with a suitably interfaced serial chip and a parallel chip". That pretty well says a microcontroller is not required. Also there is the introduction of a completely different third party part to try and prove his point. Introducing reliable references (as you have) will cut no ice either. Wtshymanski is right so therefore any references that disagree must be wrong.

This continued disruptive behaviour and refusal to allow others to improve engineering related articles has been the subject of a behavioural Request for Comment (RfC) in the past.[2] On that occasion, Wtshymanski was censured for his continued tendentious editing (and has since been blocked twice for,"persistent tendentious editing along the same lines as was raised in last year's RFC/U [2012]"). I can tell you that another editor is in the advanced course of preparing a follow up following several recent similar edit wars. DieSwartzPunkt (talk) 17:23, 8 January 2015 (UTC)[reply]

Did you see the part above that says "Answer: You would plug the Commodore 64 IEEE-488 interface into the Commodore 64 and connect the HP plotter to that interface" ? My anonymous IP correspondent says that in spite of whatever hardware came with the C64, you needed an external (active non-trivial) interface plugged into it to talk to an IEEE 488 peripheral.
Have you looked at the text of IEEE 488 and found a DIN plug and serial bus in it? And if Commodore could have done it, but didn't, isn't that saying that they didn't? (Provide an IEEE 488 interface on the C64, that is.) What am I missing here?
In the name of sweet reason, I honestly don't understand how you can call a serial bus running on a 5 pin DIN plug the same as a parallel bus running on a special 24 pin connector? The whole point of a standard is that you don't need a converter box to plug in a peripheral device. Commodore didn't even provide a card edge connector that would only need a mechanical adapter to provide the expensive IEEE 488 specified connector, instead they built a different interface, using serial communications, perhaps borrowing some concepts from the previous PET line which did have a card-edge connector with IEEE 488 signals on it. But if you have to *buy* the interface, there's no way the computer *comes with* the interface. --Wtshymanski (talk) 17:34, 8 January 2015 (UTC)[reply]
I did see the reference to the interface above. Out IP friend did not state that it had to be active. He stated the exact opposite, so stop trying to read things that were not written to bolster your edit war. I am well aware that the IEEE-488 specification refers to an 8-bit (not 16 as stated) parallel interface along with the communication protocol required to make it work. The Commodore serial interface is not an IEEE-488 interface as laid down in the specification. However, having said that, as I understand, it the Commodore documentation describes it as IEEE-488 (at least 3 references provided in the article - I can only verify the one in the C64 programmer's guide as I don't have the others) so the claim is supported. Also, as I understand it, the communication protocol is the same, but the various bits of data are sent one after the other (serial) instead of all at the same time (parallel). So the article was technically correct before you reverted it in that it stated what the difference was between the Commodore version of the interface and the genuine article.
Does the C64 also come with:
I'm reminded of the quote attributed to Abe Lincoln: "How many legs does a dog have, if you call a tail a leg? Four. A tail isn't a leg. "--Wtshymanski (talk) 17:55, 8 January 2015 (UTC)[reply]
What does any of that have to do with the discussion? It does come with an IEEE-488 serial interface because Commodore says it does (along with a number of third party references, one of which is in the article). Of course, we both know that the IEEE-488 specification does not mention the Commodore serial interface, but we have those pesky references that support the concept? 31.48.73.38 (talk) 18:43, 8 January 2015 (UTC)[reply]
An IEEE 488 serial interface is not an IEEEE 488 interface. The third party references have drunk the Commodore Kool-Aid. I was confused by the string "IEEE 488" in the description, I thought it had something to do with the interface described in this article. It's probably PETSCII for something else entirely. And to my shock and horror, I was wrong about the Commodore serial peripheral interface - it's six pins, not five. Woe. (Page 142 of the C64 manual on line calls it, sensibly, "serial I/O", so even Commodore knew it wasn't an IEEE 488 port) --Wtshymanski (talk) 19:16, 8 January 2015 (UTC)[reply]
We can definitely agree that the IEEE-488 serial interface is not an IEEEE-488 interface. Finding one instance where Commodore describe it as 'serial I/O' does not overule three instances where Commodore describe it as 'IEEE-488 serial' or various combinations thereof, because the latter is included in the scope of the former. What you need to produce is a reliable and verifiable reference that states that the Commodore serial interface is not an IEEE-488 interface. Your personal knowledge is worth didly squat. You are right that it is 6 pin though (5 signals and ground).
I see you have not answered my questions above. Probably because you can't without admitting that you cannot comprehend English. 31.48.73.38 (talk) 19:34, 8 January 2015 (UTC)[reply]
You know, this has nothing to do with the article any more. Debating the IEEE-488-ness of the Commodore 64 serial port is off topic for this article. You're welcome to comment on my talk page. --Wtshymanski (talk) 01:51, 9 January 2015 (UTC)[reply]
I concur. Since the hatted discussion above has done little else but discuss converter circuitry with no suggestion of incorporating such into the article, it is entirely out of place here and would be equally out of place in this article.
That Commodore erroneously refer to their serial bus as IEEE 488 in at least 3 pieces of their documentation and several secondary sources do as well, this makes the matter notable enough that it does require discussion in the article (given that Commodore's C-64 was, in its day, the world's best selling personal computer). –LiveRail Talk > 13:03, 9 January 2015 (UTC)[reply]
Further to the above. I had managed to pin down the Commodore interface that was made for the VIC-20. It was marketed as the VIC-1112. I have been trying to find more information on this and succeeded in turning up a schematic diagram. It does not match the description that 31.48.73.38 gives above. As far as I can work out, it plugs ito the VIC-20's cartridge/expansion port and not its serial bus port. Since the VIC-20 cartridge/expansion port was not remotely the same as that on the C-64, the VIC-1112 could not have been usable with the C-64 and its derivatives.
The only unsolved mystery is: why Commodore bothered to produce an interface cartridge to allow the connection of expensive professional peripherals with a relatively simple computer designed for running games. This might explain why it was available for such a short time and why there is not a lot of information about it. As far as I can tell, Commodore never produced a similar cartridge for the C-64 and this is probably why there are several third party items available. I shall make the appropriate revisions to the article. –LiveRail Talk > 16:00, 9 January 2015 (UTC)[reply]
Any referenced discussion of the prevalence, or otherwise, of IEEE 488 peripherals in the personal computer/home computer market space might be relevant to this article. Osborne put an IEEE 488 card edge connector on their computer, so they must have felt it was a selling feature, but I never met or read of anyone connecting an IEEE 488 printer or other device to it. Anyone with a $50,000 GCMS or data acquisition system could probably afford a better computer, too. --Wtshymanski (talk) 16:36, 9 January 2015 (UTC)[reply]

31.48.73.38: If you see this, please stop altering the article to insist that the only Commodore produced IEEE-488 interface connected to the Commodore serial bus. I have now located enough of the technical details and these conclusively proove that the this interface (the VIC-1112) connected to the cartridge/expansion port. This port was sufficiently different from the C-64 port that it would not be interconnectable. A search has also failed to identify any other interface unit from the Commodore company.

Please also decist from inserting "IEEE-488 serial port" or any variation. You cannot use the cites that you found from Commodore themselves as these are primary sources. Wikipedia requires reliable and verifiable secondary sources (i.e. sources other than Commodore). Stating that the serial bus protocol is based on IEEE-488 is the best that you are likely to get. Remember, this is a co-operative effort based on consensus. This article is fundamentally about the IEEE-488 specification. That specification does not mention any serial bus system at all. If you keep inserting your unsupported view against that consensus, then check out WP:NOTHERE first. Most of the nonsense that you posted above seems to be completely made up (and totally unsupported by anything that I can find). Even your supposed chip count was suspiciously exactly the same as one of the third party C-64 interfaces apart from confusing a PIA with a microcontroller.[1]LiveRail Talk > 14:24, 10 January 2015 (UTC)[reply]

References

HS488

[edit]

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

[edit]

Hello fellow Wikipedians,

I have just added archive links to 2 external links on IEEE-488. Please take a moment to review my edit. If necessary, add {{cbignore}} after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—cyberbot IITalk to my owner:Online 00:09, 28 February 2016 (UTC)[reply]

[edit]

Hello fellow Wikipedians,

I have just modified one external link on IEEE-488. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 03:23, 10 November 2017 (UTC)[reply]

UNIX

[edit]

CSRG ISO directory 4.1c.1/sys/old/

/* gpib.c 4.3 82/08/01 */

/*
*
* @(#)gpib.c 1.15 - 7/9/81 23:17:34 - GPIB (IEEE-488) Driver - (GPIB11-2)
*
*
* This software is provided solely for use with
* the National Instruments GPIB11-2.
*
*
* Jeffrey Kodosky
* April 1980
* Edit 7/3/80
*
* Heavily modified for Vax/UNIX by:
* Bob Shaw <bs.hplabs@udel>
* Computer Research Center, Hewlett-Packard Labs
* <<<< WARNING: This piece of software is a kludge and may not work >>>>
* May 12, 1981
*
*
*  !!!!!!!!!!!!!!!!!!!!!!!!!
*  !!! DO NOT DISTRIBUTE !!!
*  !!!!!!!!!!!!!!!!!!!!!!!!!
*/
Jamplevia (talk) 05:13, 5 July 2023 (UTC)[reply]