Table of Contents

Advertisement

Quick Links

© Copyright 2007. Black Box Corporation. All rights reserved.
1000 Park Drive • Lawrence, PA 15055-1018 • 724-746-5500 • Fax 724-746-0746

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 488 Controller and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Black Box 488 Controller

  • Page 1 © Copyright 2007. Black Box Corporation. All rights reserved. 1000 Park Drive • Lawrence, PA 15055-1018 • 724-746-5500 • Fax 724-746-0746...
  • Page 2 Order toll-free in the U.S.: Call 877-877-BBOX (outside U.S. call 724-746-5500) CUSTOMER FREE technical support 24 hours a day, 7 days a week: Call 724-746-5500 or fax 724-746-0746 SUPPORT Mailing address: Black Box Corporation, 1000 Park Drive, Lawrence, PA 15055-1018 INFORMATION Web site: www.blackbox.com • E-mail: info@blackbox.com...
  • Page 3 FCC/IC RFI STATEMENTS FEDERAL COMMUNICATIONS COMMISSION INDUSTRY CANADA RADIO FREQUENCY INTERFERENCE STATEMENTS This equipment generates, uses, and can radiate radio-frequency energy, and if not installed and used properly, that is, in strict accordance with the manufacturer’s instructions, may cause interference to radio communication.
  • Page 4 488 CONTROLLER INSTRUCCIONES DE SEGURIDAD (Normas Oficiales Mexicanas Electrical Safety Statement) 1. Todas las instrucciones de seguridad y operación deberán ser leídas antes de que el aparato eléctrico sea operado. 2. Las instrucciones de seguridad y operación deberán ser guardadas para referencia futura.
  • Page 5 EUROPEAN UNION DECLARATION OF CONFORMITY EUROPEAN UNION DECLARATION OF CONFORMITY To maintain safety, emission, and immunity standards of this declaration, the following conditions must be met. • Serial and IEEE cables must have a braided shield connected circumferentially to their connectors’ metal shells.
  • Page 6 TRADEMARKS USED IN THIS MANUAL Macintosh is a registered trademark of Apple Computer, Inc. BLACK BOX and the Double Diamond logo are registered trademarks of BB Technologies, Inc. Hewlett-Packard and HP are registered trademarks of Hewlett-Packard. AT and IBM are registered trademarks of IBM Corporation.
  • Page 7: Table Of Contents

    CONTENTS Contents Chapter Page 1. Specifications..............................8 2. Introduction ..............................10 Description............................10 What’s Included............................10 Abbreviations ............................11 3. Getting Started ...............................12 Configuration ............................12 Serial-Port Settings..........................14 3.2.1 Serial Baud Rate ........................14 3.2.2 Serial Word Length (Data Bits)....................15 3.2.3 Serial Stop Bits .........................16 3.2.4 Serial Parity..........................16 3.2.5 Serial Echo..........................17 3.2.6...
  • Page 8 488 CONTROLLER Contents (continued) Chapter Page 6. Controller Pass-Thru Operation ........................74 Introduction............................74 Serial and IEEE Terminator Substitution ...................74 IEEE Address Selection ........................75 Talk Back On Terminator........................75 Plotter Applications ..........................76 Printer Applications ..........................78 7. Peripheral Pass-Thru Operation ........................79 Introduction............................79 Serial and IEEE Input Buffers ......................79 IEEE Data Transfers..........................80...
  • Page 9 9. Theory of Operation & Board Layout ......................91 Theory of Operation ..........................91 Board Layout............................92 Appendix A: 488 Controller Command Summary.....................94 Appendix B: 488 Controller Error Messages ......................97 Appendix C: Character Codes and IEEE Multiline Messages ................99 Appendix D: Sample Programs .........................101...
  • Page 10: Specifications

    488 CONTROLLER 1. Specifications 488 Controller IEEE 488-1978 Implementation: C1, C2, C3, C4, and C28 controller subsets; SH1, AH1, T6, TE0, L4, LE0, SR1, RL0, PP0, DC1, DT1, E1 Terminators: Selectable CR, LF, LF-CR, and CR-LF with EOI Connector: Standard IEEE 488 connector with metric studs...
  • Page 11 Do not use this interface outdoors. The interface is intended for indoor use only. Using this equipment outdoors could result in equipment failure, bodily injury, or death. CAUTION Do not connect AC line power directly to the 488 Controller. Direct AC connection will damage equipment.
  • Page 12: Introduction

    2. Introduction 2.1 Description The 488 Controller converts a host RS-232 or RS-422 computer into an IEEE 488 bus talker, listener, and controller. The 488 Controller provides full IEEE 488-1978 bus implementation including advance capabilities such as PASS CONTROL, RECEIVE CONTROL, PARALLEL POLL, SERIAL POLL, and SECONDARY ADDRESSING.
  • Page 13: Abbreviations

    CHAPTER 2: Introduction 2.3 Abbreviations The following IEEE 488 abbreviations are used throughout this manual. addr n IEEE bus address “n” Attention line Controller Active Controller Carriage Return data Data String Device Clear Group Execute Trigger Go To Local Listener Active Listen Address Group Line Feed Local Lock Out...
  • Page 14: Getting Started

    488 CONTROLLER 3. Getting Started 3.1 Configuration Three internal DIP switches set the interface’s configuration. NOTE Selectable functions are read only at power-on and should only be set prior to applying power to the interface. The figures below and on the next page illustrate the factory-default conditions, which are:...
  • Page 15 CHAPTER 3: Getting Started 1 2 3 4 5 6 7 8 Switch Side View OPEN Mode CR-LF Serial Term No Echo Echo No Parity Parity Figure 3-2. SW2 factory-default settings. 1 2 3 4 5 6 7 8 Switch Side View OPEN...
  • Page 16: Serial-Port Settings

    Never open the 488 Controller’s case while it is connected to the AC line. Failure to observe this warning may result in equipment failure, personal injury, or death. 2) Place the 488 Controller upside down on a flat surface. Remove the four screws located near the rubber feet.
  • Page 17: Serial Word Length (Data Bits)

    CHAPTER 3: Getting Started Figure 3-4. Switch SW1: Selecting the serial baud rate. 3.2.2 S ERIAL ENGTH SW1-6 determines the number of data bits, often referred to as word length, for each serial character transmitted or received. The factory default is 8 data bits. 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Switch...
  • Page 18: Serial Stop Bits

    ERIAL ARITY Serial parity is selected with S2-6 through S2-8. The 488 Controller generates the selected parity during serial transmissions but it does not check parity on data that is received. The factory default is parity disabled. 1 2 3 4 5 6 7 8...
  • Page 19: Serial Echo

    3.2.5 S ERIAL Serial data sent to the 488 Controller will be echoed back to the serial host if SW2-5 is set to the open position. The factory default is Echo Disabled. 1 2 3 4 5 6 7 8...
  • Page 20: Selecting Terminator Substitution

    3.3 Selecting Terminator Substitution In the Controller and Peripheral Modes, the 488 Controller is not sensitive as to whether CR or LF is used as a serial input terminator to a command. In general, it requires only one of either to cause command execution.
  • Page 21: Ieee Bus Terminator

    SW3-6 through SW3-8 set the IEEE bus terminators used for data sent or received (Pass-Thru modes only) by the 488 Controller. EOI, a line used to signal the end of a multiple character bus transfer, may also be enabled. If enabled, EOI is asserted when the last selected bus terminator is sent. Factory default is CR-LF with EOI disabled.
  • Page 22: Selecting The Ieee Address

    The 488 Controller is set to Listen Only mode by setting its address to 31. If the IEEE address is set to 31 in the...
  • Page 23: Feature Selections

    CHAPTER 3: Getting Started Figure 3-13. Switch SW3: Selecting the IEEE address. 3.6 Feature Selections The functions of the remaining switches are dependent on the mode selected. A brief description of each of these features follows. Refer to the listed sections for additional information. 3.6.1 C ONTROLLER EATURES...
  • Page 24: Peripheral Pass-Thru Features

    Figure 3-15. Switch SW1: Enabling or disabling SRQ on last serial terminator in Peripheral mode. 3.7 Serial Interface The 488 Controller has the ability to output signal levels that are compatible with either RS-232 or RS-422. An internal DIP shorting plug determines which electrical specification is chosen. If the interface is to be connected to an IBM ®...
  • Page 25: Serial Signal Descriptions

    -TxD while this line is unasserted (lowered). If the RS-232 host is not capable of driving this line it can be connected to the Vtest output (Pin 6) of the 488 Controller. If X-ON/X-OFF handshake is selected, the CTS line is not tested to determine if it can transmit data.
  • Page 26: Serial-Cable Wiring Diagrams

    IRING IAGRAMS If a cable was not purchased with the 488 Controller, the following diagrams will help you make your own cable. Simple soldering skills and attention to detail will ensure successful construction. Figure 3-18. Wiring diagram: Macintosh to 488 Controller.
  • Page 27 CHAPTER 3: Getting Started Figure 3-19. Wiring diagram: IBM PC or compatible with DB25 serial connector to 488 Controller (RS-232). DB9 Female DB25 Male DCD 1 -RxD 2 3 -TxD -TxD 3 2 -RxD DTR 4 Gnd 5 7 Gnd...
  • Page 28: General Operation

    IEEE bus devices after being first connected to the host. Failure to do so may allow the 488 Controller to float to a bus device test voltage. This could result in damage to the 488 Controller, personal injury, or death.
  • Page 29: Is Anyone Out There

    N.N is the release and revision number of the firmware. If you obtain the response above, then your 488 Controller is fine and ready to connect your host to the powerful IEEE-488 General Purpose Interface Bus. If you did not receive the message above, check that the interface cable is properly connected and fits.
  • Page 30: Ieee Operating Modes

    488 CONTROLLER 4. IEEE Operating Modes 4.1 Introduction There are four types of IEEE bus devices: Active Controllers, Peripherals, Talk-Only devices, and Listen- Always devices. Talk-Only and Listen-Always devices are usually used together, in simple systems, such as a Talk-Only digitizer sending results to a Listen-Always plotter. In these simple systems, no controller is needed, because the talker assumes that it is the only talker on the bus, and the listener(s) assume that they are all supposed to receive all the data sent over the bus.
  • Page 31 CHAPTER 4: IEEE Operating Modes System Controller (SC) Passes Control Active System System Controller, Controller Not Active SC-CA SC-*CA Receives Control or Power On Asserts Interface Clear Controller Active (CA) Peripheral (*CA) Power On Passes Control or Active Detects Interface Clear Peripheral, Controller, Not System...
  • Page 32: System Controller Mode

    The most common 488 Controller configuration is as the System Controller, controlling several IEEE-bus instruments. In this mode, the 488 Controller can perform all of the various IEEE-bus protocols necessary to control and communicate with any IEEE-488-bus devices. As the System Controller in the Active Controller mode, the 488 Controller can use all commands that are available for the Active Controller state, plus control the Interface Clear and Remote Enable lines.
  • Page 33: System Controller, Not Active Controller Mode

    Passes Control to the 488 Controller. The Addressed State will go from Idle (I) to Listener (L) or Talker (T) if the 488 Controller is addressed to listen or to talk, and will go back to Idle (I) when the Active Controller issues Unlisten (UNL), Untalk (UNT), or specifies another talker (TAG).
  • Page 34 488 CONTROLLER First, we check STATUS until it indicates that there has been an address change: PRINT#1,"STATUS1" INPUT#2 ST$ 'Has there been no Address Change? IF MID$(ST$,7,1)="0" THEN 200 'Are we still in the idle state?* STATE$=MID$(ST$,9,1) IF STATE$="I" THEN 200 'Are we addressed to listen? IF STATE$="L"...
  • Page 35: Not System Controller Mode

    4.5 Not System Controller Mode If the 488 Controller is configured as not the System Controller then, at power on, it will be a bus Peripheral. It might use a program like the one described previously to communicate with the Active Controller.
  • Page 36: Active Controller, Not System Controller Mode

    4.6 Active Controller, Not System Controller Mode If the Active Controller passes control to the the 488 Controller, then the 488 Controller will become the new Active Controller. This can be detected by the STATUS command or as an ARMed event. As an Active...
  • Page 37: Command Descriptions

    This section contains a detailed description of each of the high-level commands available for the 488 Controller. There are two types of commands: bus commands and system commands. Bus commands communicate with the IEEE 488 bus. System commands configure or request information from the 488 Controller. Bus Commands: ABORT...
  • Page 38: Command-Description Format

    The command description’s syntax section describes the proper command syntax which must be sent to the 488 Controller using the IBM BASIC PRINT# command, or its equivalent in other languages, to the COM port. The following conventions are used in the syntax descriptions: No command, along with its options, may be more than 127 characters long.
  • Page 39 CHAPTER 5: Command Descriptions Bus Addressing pri-addr A two-digit primary device address in the range of 00 to 30. sec-addr An optional two-digit secondary device address in the range of 00 to 31. addr An IEEE bus address. A numeric primary address optionally followed by a secondary address.
  • Page 40: Response

    This command description section specifies the operating modes in which the command is valid. The 488 Controller may be configured as the System Controller, in which case it will initially be the Active Controller, or as a Not System Controller, in which case it will initially be in the Peripheral state. The 488...
  • Page 41: Bus States

    CHAPTER 5: Command Descriptions 5.2.4 B TATES This section describes the bus command and data transfers using IEEE bus mnemonics, abbreviated as follows: DIO lines Attention data Data String Device Clear Group Execute Trigger Go To Local Interface Clear Listen Address Group Local Lock Out My Listen Address My Talk Address...
  • Page 42: Memory Use

    The commands provided in the 488 Controller, in alphabetical order, are described on the following pages. @ Command The system command @, followed by a CR and/or LF, is used to unlock the 488 Controller from an inappropriate command. An example of such a command would be requesting data from a nonexistent device with timeouts disabled.
  • Page 43 Interface Clear (IFC) bus management line to be asserted for at least 500 micro- seconds. By asserting IFC, the 488 Controller regains bus control even if one of the devices has locked it up during a data transfer. Asserting IFC also makes the 488 Controller the Active Controller. If a Non-System Controller was the Active Controller, it will be forced to relinquish control to the 488 Controller.
  • Page 44 Using abbreviated form ARM Command The ARM command allows the 488 Controller to automatically send event messages to the serial host when one or more of the specified events occur. The event messages that are returned are the same non- abbreviated strings as those used to program the events.
  • Page 45 Controller. This event is edge-sensitive. IDLE The event message IDLE is returned to the serial host when the 488 Controller, as a Peripheral (*CA), transitions from a Talker or Listener state to an idle state (neither Talker or Listener). It indicates that the controller has unaddressed the 488 Controller with either an UNT or UNL command.
  • Page 46 CONTROLLER TRIGGER CLEAR TALK LISTEN IDLE CHANGE ERROR If no event is specified, ARM SRQ is assumed for upward compatibility with the 488 Controller. RESPONSE Event string sent when event occurs MODE BUS STATES None EXAMPLE: PRINT#1,"ARM TALK" Enable Talk Condition INPUT#1,A$ Input “TALK”...
  • Page 47 CHAPTER 5: Command Descriptions CLEAR Command The CLEAR command causes the Device Clear (DCL) bus command to be issued by the 488 Controller. If the optional addresses are included, the Selected Device Clear (SDC) command is issued to all specified devices.
  • Page 48 488 CONTROLLER If macro #1, in the previous example, was invoked multiple times, each time the loop counts will be reported as described. This is due to the fact that looping is a re-invocation of the looped macro. This command is only valid when contained within a macro. Execution outside of a macro will generate an “INVALID COMMAND”...
  • Page 49 Printed to the screen 20 seconds later DISARM Command The DISARM command prevents the 488 Controller from sending the event’s status message to the serial host, even when the specified conditions occur. It is also used to disable the ON <event> DOMACRO response.
  • Page 50 The ENTER command reads data from the IEEE bus. If a device address (with optional secondary address) is specified, that device will be addressed to talk. If no address is specified, the 488 Controller must already be configured to receive data, either as a result of an immediately preceding ENTER command, or as a result of a SEND sub-command.
  • Page 51 In Peripheral mode, the ENTER command receives data from the bus under Active Controller’s control. The Active Controller must put the 488 Controller into the Listen state and configure some bus device to provide the 488 Controller with data. The Listen state can be checked with the STATUS 1 command, can cause a reported event message with the ARM command, or can force a macro execution with the ON <event>...
  • Page 52 488 CONTROLLER If the EOI option is specified, all characters are returned to the host until the EOI line is detected. The character sent with EOI asserted is also returned followed by the serial output terminator(s). SYNTAX ENTER[#count|term|EOI|;count|;term|;EOI] EN [#count|term|EOI|;count|;term|;EOI] count is the number of characters to ENTER.
  • Page 53 Erase macro buffer #20 ERROR Command The ERROR command enables or disables automatic reporting of the 488 Controller error messages on command completion. ERROR MESSAGE enables error message string reporting, ERROR NUMBER enables error message number reporting, and ERROR OFF disables it. ERROR OFF is the default condition.
  • Page 54 HELLO Command The HELLO command verifies communication with the 488 Controller and reads the software revision number. When the command is sent, the 488 Controller returns a string similar to the following: 488 Controller Revision N.N Copyright 2007 where N.N is the firmware’s revision and release number.
  • Page 55 Send Go To Local to devices 12 and 16 LOCAL LOCKOUT or LOL Command The LOCAL LOCKOUT command causes the 488 Controller to issue a Local Lockout IEEE bus command. Bus devices that support this command are thereby inhibited from being controlled manually from their front panels.
  • Page 56 ENDM. After the ENDM, the 488 Controller appends the macro number to the macro buffer as a two-digit decimal number. The macro can then be executed by issuing a DOMACRO command. Any syntax errors that are included within the macro are not checked until the macro is executed.
  • Page 57 CHAPTER 5: Command Descriptions SYNTAX MACRO[;][number] [command list] ENDM MA[;][number] [command list] ENDM number is a macro buffer number from 0 to 99. If no number is specified, Macro 0 is assumed. RESPONSE Dependent on the included command list MODE BUS STATES Defined by the included command list EXAMPLE:...
  • Page 58 INPUT#1,M : PRINT M ON <event> DOMACRO Command The ON <event> DOMACRO command allows the 488 Controller to automatically execute a macro when one or more of the specified events occur. The events are polled between commands; when one of the events is detected as true, its assigned macro is executed.
  • Page 59 STATUS 1 command, is cleared. TALK This event occurs when the 488 Controller, as a Peripheral (*CA), detects its My Talk Address (MTA) command from the Active Controller. It indicates that the controller has requested information from the 488 Controller. This event is edge-sensitive.
  • Page 60 488 CONTROLLER Once a condition is enabled it remains enabled until it is DISARMed, the event specified has occurred, or until the 488 Controller is reset. The ON <event> DOMACRO and ARM commands are mutually exclusive. The last command issued takes precedence.
  • Page 61 Controller is the System Controller. If device addresses are specified, those devices will then be addressed to listen. If addresses are not specified, the 488 Controller must already be configured to send data, either as a result of an immediately preceding OUTPUT command or as the result of a SEND command.
  • Page 62 The IEEE bus output terminators can be modified with the TERM command. Refer to the description of the TERM command for complete information. Even as a Peripheral, the 488 Controller might be the System Controller. If it is, then it will assert Remote Enable before sending any data.
  • Page 63 CHAPTER 5: Command Descriptions MODE BUS STATES ATNUNL, MLA, TAG, UNL,TCT, *ATN EXAMPLES: PRINT#1,"PASS CONTROL 22" Control is passed to device 22. PRINT#1,"STATUS 1" Wait until we are controller again. INPUT#1,A$ IF LEFT$(A$,1)<>"C" THEN 110 Use STATUS 1 to check <rest of program>...
  • Page 64 488 CONTROLLER PPOLL CONFIG or PPC Command PPOLL CONFIG (Parallel Poll Configure) configures the Parallel Poll response of a specified bus device. Not all devices support Parallel Polling and, among those that do, not all support software control of their Parallel Poll response.
  • Page 65 CHAPTER 5: Command Descriptions EXAMPLE: PRINT#1,"PPOLL DISABLE18,06,13" Disable Parallel Poll response of devices 18, 6, and 13. PPOLL UNCONFIG or PPU Command PPOLL UNCONFIG (Parallel Poll Unconfigure) disables the Parallel Poll response of all bus devices. SYNTAX PPOLL UNCONFIG or PPOLL U or PPU RESPONSE None MODE...
  • Page 66 Service Request bus signal. The REQUEST command sets the Serial Poll status (including Service Request) of the 488 Controller. REQUEST takes a numeric argument in the range of 0 to 255 (&H0 to &HFF) that is used to set the Serial Poll status. When the 488 Controller is Serial Polled by the Controller, it returns this byte on the DIO data lines.
  • Page 67 The RESET command provides a warm start of the interface as well as clearing all error conditions. Upon detection of the RESET command, the 488 Controller unasserts its serial output handshake line (RTS). It re- asserts it when it is capable of accepting serial input data. If X-ON/X-OFF handshake is selected, the handshake state is not affected by the RESET command.
  • Page 68 The RESUME command unasserts the Attention (ATN) bus signal. As the Active Controller, Attention is normally kept asserted by the 488 Controller but it must be unasserted to allow transfers to take place between two Peripheral devices. In this case, the 488 Controller SENDs the appropriate talk and listen addresses, and the must unassert Attention with the RESUME command.
  • Page 69 CHAPTER 5: Command Descriptions The EOI subcommand is identical to the DATA subcommand except that the End Or Identify (EOI) signal is asserted on the transfer of the last character. The CMD subcommand sends the data bytes with Attention (ATN) is asserted. This tells the bus devices that the characters are to be interpreted as IEEE bus commands, rather than as data.
  • Page 70 In Active Controller mode, with no bus address specified, the SPOLL command returns the external SRQ status. If the SRQ line is asserted, the 488 Controller will return a “64.” If it is not asserted, the 488 Controller will return a “0.”...
  • Page 71 CHAPTER 5: Command Descriptions STATUS Command STATUS is a system command which is useful for determining which mode the 488 Controller is in, its current address or the type of ERROR that has occurred. At power-up, issuing the STATUS command will cause the 488 Controller to return the string...
  • Page 72 488 CONTROLLER The Operating Mode (C or P) indicates whether or not the 488 Controller is the Active Controller. If the 488 Controller Passes Control to another device, then the Operating Mode indicator will change from “C” to “P.” When the 488 Controller regains control, then the indicator will again be “C.” If the 488 Controller is not the System Controller, then it will initially be a Peripheral, and thus the indicator will be “P.”...
  • Page 73 Line Feed (LF) or Carriage Return (CR) except OUTPUT #count. During INPUT, the 488 Controller takes the data it receives from the bus device until it detects the LF of other optionally specified input terminating condition. It strips all CR and LF from the input data and appends the serial output terminator(s) before sending it to the serial host.
  • Page 74 IEEE bus devices is terminated on a Line Feed (LF) or optionally specified with the ENTER command. During OUTPUT, the 488 Controller takes the data it receives from the user’s program, strips all CR and LE characters from it (except OUTPUT #count) and appends the IEEE bus output terminator before sending it to the IEEE bus device.
  • Page 75 CHAPTER 5: Command Descriptions BUS STATES None EXAMPLES: PRINT#1,"TIME OUT 10" Wait 10 seconds before timeout PRINT#1,"TIME OUT 3600" Wait an hour before timeout PRINT#1,"TIME OUT 0" Ignore timeouts. TRACE Command The TRACE ON command allows the embedded macro commands within the macro buffer to be echoed out the serial port to the host computer as the macro is executed.
  • Page 76: Controller Pass-Thru Operation

    Instead, the IEEE terminators are substituted and sent in their place. So long as the serial input buffer is not empty, the 488 Controller will continue to send data from it to the IEEE bus device. If the serial input buffer becomes emptied, the 488 Controller will command the IEEE bus device to talk if the talk-back feature is enabled.
  • Page 77: Ieee Address Selection

    6.3 IEEE Address Selection SW3-1 through SW3-5 select the IEEE bus address of the IEEE peripheral the 488 Controller will be communicating with. In Pass-Thru mode, these switches set the address of the IEEE device that will be controlled, not the address of the 488 Controller.
  • Page 78: Plotter Applications

    NEXT N 6.5 Plotter Applications To use the 488 Controller to interface an HP-IB plotter to a serial computer port, you will need the following information about your system. The serial data format that the application (plotting or graphics) program expects the plotter to communicate with.
  • Page 79 IEEE bus and has addressed it to listen. When the serial host begins to send data to the 488 Controller, the Receive LED will flash. If it does not, this indicates that the 488 Controller is not receiving data from the serial host. Verify the cables are connected...
  • Page 80: Printer Applications

    Some high-end printers have a secondary command setting, which must be disabled for the 488 Controller to control them. The 488 Controller does not use secondary commands to control IEEE peripherals, such as printers or plotters. Refer to the printer’s instruction manual if there is a question as to whether the printer requires secondary commands.
  • Page 81: Peripheral Pass-Thru Operation

    IEEE input and the serial input. The 488 Controller will refuse to accept more data from the IEEE controller when its buffer memory is full. It does this by preventing completion of the bus handshaking sequences. It will also request that additional serial data not be sent by negating its Request To Send (RTS) output or by transmitting the X-OFF ASCII character.
  • Page 82: Ieee Data Transfers

    Controller. If the controller is set to detect a data time-out error, then it will do so if the 488 Controller holds off IEEE input data transfers for too long. The error can be used to alert the operator to the problem, such as a printer out of paper, so that it can be corrected.
  • Page 83: Controlled Bus Data Transfers

    If it is NOT EMPTY, the controller may avoid sending any more data to the 488 Controller. If this bit is a logical “0,” then the serial device has accepted all previous data and the IEEE controller may send more.
  • Page 84: Serial Poll Status Byte Register

    DIO4 IEEE Input Buffer Full When this bit is set, it indicates that the 488 Controller may hold off the controller on subsequent data transfers. The interface may continue to accept an additional 512 characters, but this is depends on the serial input buffer size.
  • Page 85: Use Of Serial And Bus Terminators

    (MTA) DDRESS When the 488 Controller is addressed to talk, it retrieves data from the serial input buffer and outputs it to the IEEE 488 bus. It substitutes the selected IEEE bus terminators for the received serial terminators. The 488 Controller will continue to output serial input-buffer data as long as the IEEE controller allows.
  • Page 86: Device Clear (Dcl And Sdc)

    Listen Only is a special type of Peripheral operation. In the Listen Only mode the 488 Controller accepts all data transmitted on the bus and transfers it out its serial port. The 488 Controller is set to Listen Only mode...
  • Page 87: Ieee 488 Primer

    8.1 History The IEEE 488 bus is an instrumentation-communication bus adopted by the Institute of Electrical and Electronic Engineers in 1975 and revised in 1978. The 488 Controller conforms to this most recent revision, designated IEEE 488-1978. Before this standard was adopted, most instrumentation manufacturers offered their own versions of computer interfaces.
  • Page 88 488 CONTROLLER For data transfer on the IEEE 488, the Active Controller must Unlisten all devices to protect against eavesdroppers. Designate who will talk by addressing a device to talk. Designate all the devices who are to listen by addressing those devices to listen.
  • Page 89: Send It To My Address

    CHAPTER 8: IEEE 488 Primer 8.3 Send It To My Address In the previous discussion, the terms “Addressed to Talk” and “Addressed to Listen” were used. These terms require some clarification. The IEEE 488 standard permits up to 15 devices to be configured within one system. Each of these devices must have a unique address to avoid confusion.
  • Page 90: Handshake Lines

    488 CONTROLLER 8.5 Handshake Lines The GPIB uses three handshake lines in an “I’m ready—Here’s the data—I’ve got it” sequence. This hand- shake protocol assures reliable data transfer, at the rate determined by the slowest Listener. One line is controlled by the Talker, while the other two are shared by all Active Listeners. The handshake lines, like the other IEEE 488 lines, are active low.
  • Page 91: Data Lines

    CHAPTER 8: IEEE 488 Primer 8.6 Data Lines The GPIB provides eight data lines for a bit-parallel/byte-serial data transfer. These eight data lines use the convention of DIOl through DIO8 instead of the binary designation of D0 to D7. The data lines are bidirectional and are active low.
  • Page 92: Secondary Command Group (Scg)

    488 CONTROLLER 8.7.13 S (SCG) ECONDARY OMMAND ROUP These are any one of the 32 possible commands (0 to 31) in this group. They must immediately follow a talk or listen address. (&H60 to &H7F) 8.7.14 P (PPC) ARALLEL ONFIGURE For devices capable of performing a Parallel Poll, this command determines which data bit they are to assert in response to a Parallel Poll.
  • Page 93: Theory Of Operation & Board Layout

    9. Theory of Operation & Board Layout 9.1 Theory of Operation The heart of the 488 Controller is a 6809 microprocessor [U101] supported by 8K bytes of firmware EPROM [U102 (2764)] and 32K bytes of static RAM [U103 (58256)]. A Versatile Interface Adapter [U104 (65B22)] is used to generate real-time interrupts for the firmware operating system.
  • Page 94: Board Layout

    488 CONTROLLER 9.2 Board Layout Figure 9-1. The 488 Controller’s motherboard.
  • Page 95 CHAPTER 9: Theory of Operation & Board Layout Figure 9-2. The interface converter’s serial I/O board.
  • Page 96: Appendix A: 488 Controller Command Summary

    488 CONTROLLER Appendix A: 488 Controller Command Summary If followed immediately by a CR or LF, unlocks the 488 Controller from an inappropriate command, such as an ENTER from a non-existent bus device. Return 488 Controller to power-on conditions. ABORT AB[ORT] Send IFC (SC) or MTA (*SCCA).
  • Page 97 REQ[UEST] [;] [status] Generate a service request (SRQ) with the status value in the serial-poll status register. RESET RESE[T] Warm-start the 488 Controller to default parameters. Also ABORT if SC. RESUME RESU [ME] Unassert Attention. Used to allow Peripheral-to-Peripheral data transfers. SEND SE[ND] [;...
  • Page 98 Read device (s ') Serial Poll response. Get internal SRQ state (CA), or Serial Poll status (*CA). STATUS ST [ATUS] [; ] [number] Read the status of 488 Controller. Used to reset error conditions. STERM STE [RM] [; ] { term [term] | NONE} Set the serial output terminator.
  • Page 99: Appendix B: 488 Controller Error Messages

    As the Active Controller, an un-addressed ENTER or a SEND ENTER was received and the 488 Controller was not in the Listen Addressed State. BUS ERROR The 488 Controller tried to output data to the bus but there was no active listener to accept it.
  • Page 100 The specified TIME OUT time has elapsed before the last command or data byte sent by the 488 Controller was accepted by an external device. TIMEOUT—READ The specified TIME OUT time has elapsed while the 488 Controller was waiting for a data byte from an external device. OUT OF MEMORY The 488 Controller was unable to perform the last command requested because of the lack of sufficient memory in the USER heap.
  • Page 101: Appendix C: Character Codes And Ieee Multiline Messages

    APPENDIX C: Character Codes and IEEE Multiline Messages Appendix C: Character Codes and IEEE Multiline Messages " & < > ACG = Addressed Command Group TAG = Talk Address Group UCG = Universal Command Group SCG = Secondary Command Group LAG = Listen Address Group...
  • Page 102 488 CONTROLLER How To Read the Chart Hexadecimal Decimal Equivalent Equivalent ASCII Character Address or Command...
  • Page 103: Appendix D: Sample Programs

    REM *** This program allows direct interaction between the IBM PC and bus REM *** device(s) with the 488 Controller. REM *** The 488 Controller must be configured as the System Controller. REM *** REM *** REM *** REM *** ' Open the serial communications port and set parameters OPEN "COM1: 9600, n, 8, 2, cs, ds"...
  • Page 104 488 CONTROLLER REM *** Keyboard Controller Program for the 488 Controller REM *** Running under IBM BASIC using X-ON/X-OFF REM *** serial control protocol ' Open the serial communications port and set parameters OPEN "COM1: 9600, N, 8, 2, cs, ds" AS 1 'X-ON LOOP K$=INKEY$: PRINT #1, K$;...

Table of Contents