Download Print this page

Advantech PCL-848A/B User Manual

Multifunction ieee-488 interface card

Advertisement

Quick Links

PCL-848A/B
MULTIFUNCTION IEEE-488
INTERFACE CARD

Advertisement

loading

Summary of Contents for Advantech PCL-848A/B

  • Page 1 PCL-848A/B MULTIFUNCTION IEEE-488 INTERFACE CARD...
  • Page 2 No part of this manual may be reproduced, copied, translated or transmitted, in any form or by any means without the prior written permission of Advantech Co., Ltd. Information provided in this manual is intended to be accurate and reliable.
  • Page 3 1. GENERAL INFORMATIQN ..............1 2. INSTALLATION ..................4 3. PROGRAMMING REFERENCE ............10...
  • Page 4: Table Of Contents

    4. PROGRAMMING TECBNIQUES ............41 5. ADVANCED PROGRAMM1N~ TECBNIQUES ....... 51 6. DIGITAL OUTPUT ................57 7. TBEORY OP OPERATION..............58 8. TROUg3LB5BOOTING ................ 60 9. BUS TUTORIAL ..................64...
  • Page 5 10. ASCII TABLE ..................74 11. NEC7210 RBAD / WRITE REGISTSR ..........76 12. SUMMARY OF TBE IEEE-488 LIBRARY FUNCTIONS ..... 77...
  • Page 7 The PCL-848A/B IEEE-488 interface card is a valuable addition to your PC that allows you to communicate with over 2000 products, made by over 200 manufactur- ers, in over 14 countries. The IEEE488-1978 standard that this IEEE-488 card implements is the most widely used international standard for information transfer between computer and electronic instruments.
  • Page 8 BASICA, BASIC compiler and Quick-BASIC are supported as standard languages. C and Pascal language support packages can be ordered separately as PCL-748-C and PCL-748-P. The software can change the PC printer port to an IEEE-488 device. The PrtSc (print screen) key, all print statements, word processing and spreadsheet programs that use printer driver in BIOS can use IEEE-488 printers.
  • Page 9 If you are familiar with the basic concepts of the IEEE-488 bus you may want to begin reading the Section 3. PROGRaI~MING REFERENCE. This section describes the statement syntax and techniques to use the IEEE-488 driver in the firmware. Section 4. PROGRAMMING TECHNIQUES will show you how the functions are used in typical applications and also provide you with some useful program examples for your own applications.
  • Page 10 When unpacking, check the unit for signs of shipping damage (damaged box, scratches, dents, etc). If there is any damage to the unit or it fails to meet specifications, notify your localt sales representative immediately. . This IEEE-488 interface card has two DIP switch (SW1 and SW2), 1 one slide switch (SW3) and three jumpers (JP1, JP2 and JP3).
  • Page 11 The I/O ports base address and the number of wait states are selectable by the 8 position DIP switch SW1. The base address can be set anywhere in the I/O address area from hex 200 to hex 3F8 and the wait states can be set to 0, 2, 4, or 6. Refer to 3 Fig.
  • Page 12 The IBEE-488 interface driver routine is stored in the on-board i EPROM. The memory address of this firmware can be selected by SW2. The memory segment of the firmware can be from hex 8000 to s hex FC00. Factory setting is hex D000. The range of these locations is out of the 640K system memory of i the IBM PC, PC/ XT and PC/AT.
  • Page 13 JP1 and JP2 must be coincident. For example, if the JP1 is set to DACK 3, then JP2 must be set to DRQ 3. The PCL-848A/B is designed to permit access to interrupt level 2 up to level 7 and the interrupt is initiated by the NEC7210 GP-IB interface controller. The selection is made by setting JP3.
  • Page 14 The IEEE-488 interface card is setup at the factory of default setting: Jumper/Switch Selection Default setting SW1 1-5 I/O port base address Hex 2B0 SW1 7-8 Wait states Firmware base address Hex D000 Operating mode DACK level DRQ level IRQ level Refer to Section 2.2.
  • Page 15 Confirm proper operation by connecting an IEEE-488 instrument to i the bus and attempting to operate it with a program written in BASIC. Here is an example procedure using an HP3478A digital voltmeter s and a short BASIC program. 1. Connect the HP3478A DVM to the IEEE-488 bus connector Of this card on the back of the PC with a standard IEEE-488 s cable.
  • Page 16 The PCL-848A/B interface card contains the resident firmware that provides IEEE- 488 language extensions for your PC. The firmware (software programmed into a read- only-memory) appears transparent to the users and the function inside is called by the IEEE-488 commands.
  • Page 17 The firmware routines on the IEEE-488 interface card, can be thought of as BASIC language extensions. The extensions consist i of the statements ABORT, CLEAR, ENTER, ENTERA, EOL, INIT, LLO, LOCAL, OUTPUT, OUTPUTA, PPOLL, PPOLLC, PPOLLU, REMOTE, SEND, SPOLL, STATUS, TIMEOUT, TRIGGER and ERRPTR.
  • Page 18 Every called routine must define its entry address with an offset from the current segment. For ease of reference all IEEE-488 routine offsets are at three byte incre- ments and start at the top of the segment. For example, the INIT routine is at an offset of 0 (zero), the OUTPUT routine is at an offset of 3, the ENTER routine is at an offset of 6, and so on.
  • Page 19 The programming examples and interpreter routines have been written to work around these limitations and they should not placed any restrictions on your IEEE-488 applications. Calling the IEEE-488 routines in the firmware when using BASIC compiler or QuickBASIC is almost the same way as using BASICA except the following two areas.
  • Page 20 Purpose: This command aborts all activities on the interface bus bys Offset : AHORT%=9 Syntax : CALL AHORT% ---BASIC CALL AHSOLUTE(AHORT%) ---BASIC Compiler Parameter: None. Bus Activity : IFC is pulsed for 100 microseconds. REN is set true ATN is set false. Remark : This command can be called only in system controller mode An error will occur if this command is called in the nonsystem control mode.
  • Page 21 This command sends a Selective Device Clear (SDC) command to a specified device or sends a Device Clear (DCL) to the interface bus. Offset : DEVCLR%=15 Syntax : CALL DEVCLR%(ADDR%) ---BASIC CALL ABSOLUTE(ADDR%,DEVCLR%) ---BASIC Compiler Parameter : ADDR% - The address of the device to be cleared. If 0 <= ADDR% <= 30, it executes a Selective Device to the i device specified, otherwise, it executes a Device Clear to the bus.
  • Page 22 Purpose: This command installs an IEEE-488 device driver in place of s the LPT1:, LPT2:, LPT3:, COM1: and COM2: driver. The IEEE-488 devices then can be accessed using the system commandst in MS-DOS. Offset : DEVICE%=57 Syntax: CALL DEVCLR%(ADDR%,PORT%)—BASIC CALL ABSOLUTE(ADDR%,PORT%,DEVCLR%) —BASIC Compiler~ Parameter: ADDR% -...
  • Page 23 This command enters a string from a device or from the interface. Reading iB terminated upon receiving the terminator specified by the EOL command or the maximum length of data bytes is reached. Offset : ENTER%=6 Syntax : CALL ENTER%(ADDR%,DS) ---BASIC CALL ABSOLUTE(ADDR%,D$,ENTER%) ---BASIC Compiler...
  • Page 24 Purpose : This command enters a long string (can be up to 65535 bytes) from a specified device or from the interface. Reading is terminated upon receiving the terminator, or when the specified length is reached, or on timeout. The string is put into the specified segment in the memory.
  • Page 25 Example: DEF SEG=&HD000 ‘ Define location of firmware : ENTERA%=51 : STATUS%=42 ‘ Define routine offset ADDR%=8 ‘ GP-IB Device 8 as data source DATASEG%=&u3000 ‘ Put data to this segment LENGTH%=&RFFFF ‘ Set buffer length 65535 byte CALL ENTERA%(ADDR%,DATASEG%,LENGTu%) ‘Enter data CONDITION%=9 : COUNT%=0 CALL STATUS%(CONDITION%,COUNT%) ‘Read data length DEF SEG=&u3000 ‘...
  • Page 26 Purpose : This command sets the terminators of input and output strings for the specified device. The terminators of all devices are set to default values if this command is not called. Offset : EOL%=12 Syntax : CALL EOL%(ADDR%,OUTEOL%,OUTEOL$,INEOL%,INEOLBYTE%) ----BASIC CALL ABSOLUTE(ADDR%,OUTEOL%,OUTEOLS,INEOL%,INEOLBYTE%,EOL%) ----BASIC Compiler Parameter :...
  • Page 27 Purpose : This aommand initializes the interface card and sets the relative parameters. It can be neglected if the parameters used are all default values. Offset : INIT%=0 Syntax : CALL INIT%(IOPORT%,MYADDR%,SETTING%) ----BASIC CALL ABSOLUTE(IOPORT%,NYADDR%,SETTING%,INIT%) ----HASIC Compiler Parameter : IOPORT% - I/O port of NEC7210, from hex 008 to hex 2F8 by increment of hex 010.
  • Page 28 For more information about bit 12,14,15 of setting, please refer to Section 5. AD- VANCED PROGRANMING TECUNIQUES. Bus Activity : This command takes following action when it is called. 1. Initialize the NEC7210 GP-IB controller. 2. Set relative parameters for the NEC7210. 3.
  • Page 29 Purpose : This command executes a Local Lockout (LLO) to disable a device’s front panel. It is received by all devices on the bus, whether or not they are addressed to listen. Offset : LLO%=18 Syntax : CALL LLO% ----BASIC CALL ABSOLUTE(LLO%) ----BASIC Compiler Parameter :...
  • Page 30 Purpose : This command executes a Go To Local (GTL) or clears the REN line to enable a device’s front panel controls. Offset : LOCAL%=21 Syntax : CALL LOCAL%(ADDR%) ----BASIC CALL ABSOLUTE(ADDR%,LOCAL%) ----BASIC Compiler Parameter : ADDR% - The address of the device to be set local. If 0 <= addr <=30, then it executes a Go To Local (GTL) command to the specified device.
  • Page 31 This command outputs a string to the specified device or to the interface bus. After the string is sent, the terminator 3 specified by the EOL command is sent. Offset : OUTPUT%=3 Syntax : CALL OUTPUTi(ADDR%,D$) ----BASIC CALL ABSOLUTB(ADDR%D$,OUTPUT%) ----BASIC Compiler 3 Parameter : ADDRt - Device address.
  • Page 32 Purpose : This command outputs a long string (can be up to 65535 bytes) to a specified device or to the interface. The output string iB terminated when the length of the output string is approached, or when the bus handshake times out. The output string is in the memory area with the specified segment.
  • Page 33 Example: ‘ This program loads a data file from disk into RAM ‘ and then outputs this data to the IEEE-488 device 8 ADDR%=8 OPEN “DATA.001” FOR INPUT AS 12 ‘line 150 to 230 DEF SEG=&H4000 ‘read a data strinq COUNT=0 WHILE NOT EOF(2) 100 A$=INPUT$(1,X2)
  • Page 34 Purpose : This command conducts a parallel poll of the interface bus. It returns the value (0- 255) of an eight-bit byte represent- , ing the response of those devices of the interface which have been configured to respond to a parallel poll (see the PPOLLC command). Offset : PPOLL%=24 Syntax :...
  • Page 35 Purpose: This command performs a Parallel Poll Configure. In preparation for a parallel poll command, it enables you to tell a device how to respond to the parallel poll, and on which data line to respond. In general, it enables you to contfigure a parallel poll response byte to reflect the response ri of a desired arrangement of devices.
  • Page 36 Bus Activity: - If O <= addr <= 30 ATN is set true. UNL is sent. LAD is sent. MTA is sent. PPC is sent. PPE is sent. - If ADDR% < 0 or ADDR% >30 ATN is set true. PPC is sent.
  • Page 37 Purpose: This command executes a Parallel Poll Unconfigure. It directs a device to not respond to a parallel poll. It can e be addressed to the interface bus or to a specific device. Offset: PPOLLU%=30 Syntax: CALL PPOLLU%(ADDR%) ----BASIC CALL ABSOLUTE(ADDR%,PPOLLU%) ----BASIC Compiler Parameter: ADDR’...
  • Page 38 Purpose: This command places a device in Remote Mode. It can be addressed to a specific device or to the interface, which just sets the REN line true. Offset: REMOTE%=33 Syntax : CALL REMOTE&(ADDR%) ----BASIC CALL ABSOLUTE(ADDR%,REMOTE%) ----BASIC Compiler Parameter : ADDR% - The address of the device to be set to remote.
  • Page 39 Purpose: This command sends user specified IEEE-488 Interface commands to the interface. Eor example, to send an output string to several instruments simultaneously, you can establish multiple listener status with the SEND command, then issue the OUTPUT command with address <0 or >30. Offset: SEND%=36 Syntax:...
  • Page 40 Bus Activity : - The following commands set ATN true then send out the corresponding character. Mnemonic DCL GTL ASCII (Hex) (3F) (5F) (08) (14) (01) (05) (70) (15) Mnemonic TCT *MLA *MTA ASCII (hex) (04) (19) (18) (09) (35) (55) (11) * My address = 21 The following commands take some actions other than sending characters.
  • Page 41 Purpose : This command conducts a serial poll of the interface bus. It returns the value (0- 255) of an eight-bit byte representing the device’s status. Offset : SPOLL%=39 Syntax : CALL SPOLL%(ADDR%,RESPONSE%) ----BASIC CALL ABSOLVTE(ADDR%,RESPONSE%,SPOLL%) ----BASIC Compiler Parameter : ADDR% - The address of the device to be serial polled.
  • Page 42 Purpose : This command reads the status from the interface and returns this value to the calling statement. Offset : STATUS%=42 Syntax : CALL STATUS%(CONDITION%,5%) ----BASIC CALL ABSOLUTE(CONDITION%,5%,5TATUS%) ----BASIC Compiler Parameter : CONDITION% - This number specifies which status is read. 0 - 7 : NEC7210 read register 0 - 7.
  • Page 43 Purpose : This command sets the timeout period. When the bus handshake is stuck, the called I/O functions will terminate at the time specified and the timeout flag will be set. Offset : TIMEOUT%=45 Syntax : CALL TIMEOUT%(T%) ----BASIC CALL ABSOLUTE(T%,TIMEOUT%) ----BASIC Compiler Parameter: T% -...
  • Page 44 Purpose : This command sends a Group Execute Trigger (GET) to a device or to the interface bus. Offset : TRIG%=48 Syntax: CALL TRIGi(ADDRi) ----BASIC CALL AHSOLUTE(ADDR’,TRIG%) ----BASIC Compiler Parameter : ADDRi - The address of the specified device to be triggered. If 0 <= addr <= 30, the specified device is triggered.
  • Page 45 Purpose : This command assigned variables for error number and count of string bytes. Offset: ERRPTR%=60 Syntax : CALL ERRPTR%(IOERR%,IOCOUNT%) ----BASIC CALL ABSOLUTE(IOERR%,IOCOUNT%,ERRPTR%) ----BASIC Compiler Parameter : IOERR% - Variable which represents the error number of last called command. IOCOUNT% - Variable which represents the count of string bytes that are outputed or entered.
  • Page 46 Example : DEF SEG=&HD000 INIT%=0:OUTPUT%=3:ENTER%=6:ERRPTR%=60 ADDR%=23 CALL ERRPTR%(IOERR%,IOCOUNT%) TMPS=”FlRAT3NS” CALL OUTPUT%(ADDR%,TMP$):GOSUB 100 ANs$=sPACE$(40) CALL ENTER%(ADDR%,ANS$):GOSUH 100 PRINT ANS$ STOP ‘Error number and string counts check routine PRINT “TBE COUNT OF STRING BYTES = “;IOCOUNT% IF IOERR%=0 TEEN PRINT “NO ERROR” IF IOERR%=1 TREN PRINT “3ANDSBAKE TIMEOUT”...
  • Page 47: Programming Tecbniques

    'FILE NAME : EXAMPLE.1 'Program Example : INTERACTIVE DATA TRANSFER 'Purpose : This program outputs data strings entered by users and enters data from the IEEE-488 bus. 'Initialization LIN.Y=1 : KEY OFF : CLS DEF SEG=&BD000 ABORT%=9 : OUTPUTi=3 : ENTER%=6 : STATUS%=42 CALL ABORT’...
  • Page 48 'OUTPUT UTILITY TMP$=SPACE$(80) IF 22-LIN.Y<6 TREN CLS:LIN Y=1 LOCATE 22,1,0:PRINT “ “;SPACE$(79):LOCATE LIN.Y,1 INPUT “To which address 7 “,ADDR LINE INPUT ‘’OUTPUT string 7 “,TNP$ E.FG%=0 : CALL OUTPUT%(ADDR%,TMP$) GOSUB 710 IF S%=0 THEN PRINT “Data transmitted 1” PRINT : PRINT : LIN.Y=CSRLIN : GOSUB 330 RETURN 'ENTER UTILITY PRINT...
  • Page 49 'FILE NAME : EXAMPLE.2 ' Program Example : SET IEEE-488 PRINTER 'Purpose : This program converts an IEEE-488 printer to a 'PC system printer 'Initialization DEF SEG=&HD000 DEVICE%=57 Enter the IEEE-488 printer setting INPUT “Enter the IEEE-488 printer address ? “,ADDR% IF ADDR&<0 OR ADDR~~>30 THEN PRINT “Bad entry.”...
  • Page 50 'FILE NAME : EXAMPLE.3 'Program Example : VOLTAGE MEASUREMENT WIT)3 A DVM 'Purpose : This program measure 10 voltage readings 'and displays them 'Remark : This program is written for the HP3478A DVM. If 'another model of voltmeter is used, please check 'the operating manual and make necessary 'modification to this program.
  • Page 51 'FILE NAME : EXAMPLE.4 'Program Example : AD500 PMU PROGRAMMING 'Purpose : This program measures 16 channel of voltages and 'display them. If the voltage of any channel is 'greater than a certain level then it close a 'relay to drive an alarm. 'Remark : The AD500 has a 16 channel multiplexer in alot 0 'and 16 channel relay actuator in slot 1.
  • Page 52 'Measurement start ALARM%=0 FOR I=0 TO 15 D$=”DW0,”+STR$(I) CALL OUTPUT%(ADDR500%,D$) ‘ Close channel I. FOR K-1 TO 10 : NEXT K ‘ Delay for the relay operation. CALL TRIGGER%(ADDR3478%) ‘ Trigger the DVM. D$=SPACES(40) 540 CALL ENTER%(ADDR3478%,DS) ‘ Enter DVM reading GOSUB 770 ‘...
  • Page 53 'FILE NAME : EXAMPLE.5 'Program Example : MULTIPLE DEVICE TRIGGERING 'Purpose : This program triggers 2 voltmeters at the same 'time to make the measurement simultaneously. 'Remark : This program is written for the HP3478A DVM. If another model of voltmeter is used, please check the operating manual and make necessary modification to this program.
  • Page 54 D2$=SPACE$(40) CALL ENTER%(ADDR2%,D$) ‘ Enter DVM #2 reading GOSUB 550 ‘ Error check IF ER%<>0 TEEN PRINT “Error when reading DVM #2.” : END PRINT I,D1$,D2$ NEXT I 'Error check routine CONDITION%=8 530 CA L STATUS%(CONDITION%,ER%) ‘ Read the error number IF ER%0 TEEN PRINT “Error”...
  • Page 55 'FILE NAME : EXAMPLE.6 'Program Example : INTERRUPT HANDLING 'Purpose : This program measures 100 voltage readings and 'displays them. It also goes to service 'subroutines when interrupts happen. 'Remark : The interrupt handing is for the Advanced BASIC 'Version A3.00 and higher only. For other BASIC 'Version, this may ont work because of the 'different memory arrangement.
  • Page 56 'Measurement start FOR I=1 TO 100 CALL TRIGGER%tADDR%) ‘ Trigger the DVM. ANS$=SPACE$(40) CALL ENTER%(ADDR%,ANS$) ‘ Enter DVM reading PRINT I,ANS$ NEXT I 'Error check routine IF ERR<128 THEN PRINT “BASIC Error”;ERR ELSE ER%=ERR-128 IF ER%<>0 TuEN PRINT “Error” ; ER% IF ER%=1 THEN PRINT “Device timeoutl”...
  • Page 57: Advanced Programm1N~ Tecbniques

    Direct memory acaess (DHA) improves system performance by allow- ~ ing external devices to directly transfer information to or from 3 the system memory without operation of the system CPU. Any I/O ~ port can source data for DMA and any read-write memory location ~¤...
  • Page 58 2) The DMA operating mode (single, demand, block, and cascade). 3) Autoinitialization (enabled or disabled). 4) Address register direction (increment or decrement). A little additional explanation is required to understand these key operating condi- tions. This interface allows you to choose from three of the four possible DMA channels. Channel 0 is used by the PC’s memory refresh controller, so channels 1, 2, and 3 are the only ones available to the peripherals.
  • Page 59 The DMA operation of this IEEE-488 interface is quite transparent to users. Once you select the DMA mode by calling INIT routine, all further data transfer proceeds in this mode. Bowever, when you select block-transfer mode, the DMA channel 0 memory refresh may be held long enough to corrupt RAM memory content.
  • Page 60 The data transfer speed is determined by several factors: 1) The instruction execution speed of the computers. (4.77 MBz PC/XT to 16 MHz PC/AT to ?) 2) The software overhead. 3) The interface chip operating speed. 4) The clock rate of the DMA chip. (3 to 8 MBz) 5) DMA operating mode.
  • Page 61 The interface has the capability to interrupt the PC’s processor when certain event happen. Dowever, most of the version of BASIC language in MS-DOS operating system only handles the interrupts from keyboard, light pen, communication port, game port and BASIC error. To use interrupt capability in BASIC, the software can replace Function Key 19 and 20 interrupts and can add some ERROR’s to inform BASIC that there is an interrupt from the IEEE488 interface.
  • Page 62 The SEND routine allows the user to control the IEEE-488 interface directly. Therefore, some unusual functions of the IEEE-488 function can be done by calling SBND. An example is PASSING CONTROL to another device. This can be done by executing the following statements. This example passes control to device 22. SEND%=36 CND$=”UNL UNT TALK 22 TCT”...
  • Page 63: Digital Output

    (write port) D/O high byte D015D014 D013 D012 DOll D010 DO9 It is fairly straight forward to use your PCL-848A/B digital ~ output functions. Some areas requires your attentions are the . pin assignment. Connector 2 (CN2) - Digital Output The programming is quite easy and it needs only the BASIC statement ‘OUT’.
  • Page 64 This section describes the operation theory of this IEEE-488 t interface card. A thorough understanding of the theory will increase its usefulness and help avoid future problems. Figure 7.1. is the block diagram of this interface card. The i interface transfers data in a bi-directional fashion between the PC-Bus and the IEEE-488 instrument bus.
  • Page 65: Tbeory Op Operation

    Fig. 7-1`PCL-848A/B Block Diagram CHAPTER 7 TBEORY OP OPERATION...
  • Page 66 This section provides information on maintaining, troubleshooting and repairing the IEEE-488 interface card. The IEEE-488 interface card has no internal adjustment and does not require periodic calibration. Bowever, the following actions are recommended for preventive mainte- nance on a once-a-year basis (or more often, in high humidity environments). The IEEE-488 bus connector (CN1) and the golden fingers for the PC I/O slot should be cleaned to prevent wax and dirt build-up.
  • Page 67 SYmDtom Possible Fault Check Computer hangs up Bad connections bet- Clean wax on golden when calling driver ween golden fingers fingers routine and PC slot On-board firmware Change the switch address switch setup setup or the softis not the same as ware software setup The firmware address...
  • Page 68 Item No. Description C1-C6, 0.1 microfarad capacitors C8-C21 C7,C22, 10 microfarad capacitors 470 picofarad capacitor 0 ohm resistor 51 ohm resistor RP1,RP3 4.7 Rohm resistor array (9 pin) 4.7 Kohm resistor array (5 pin) OSC1 8 Muz OSC U1,U5 74LS273 74LS08 74LS126 74LS04...
  • Page 69 Item No. Description 74LS245 SW1,SW2 DIP switches (16 pins) Slide switch JP1,JP2 3 by 2 pin headers 6 by 2 pin header 24 pin ribbon connector (IEEE-488) for PCL-848A or 25 pin D type connector (IEC-625) for PCL-848B 20 pin header with socket CHAPTER 8 TROUBLESHOOTING...
  • Page 70 The IEEE-488 bus is easy to use and allows great flexibility in data communications between independent devices. These features have made it one of the world’s most popular methods for connecting multiple devices to one interface. The IEEE-488 bus’s popularity comes from its ability to act as an interface between the computer and the computer’s peripherals.
  • Page 71: Bus Tutorial

    Operationally, the interface is thoughtfully supported with professional software support package. The software provides high level language extensions that support IEEE-488 bus data and i command transmission and reception. The function mnemon- ics are identical to those found in the IEEE-488 standard. These mnemonics are used by most manufacturers of IEEE-488 compatible equip ment.
  • Page 72 2) TALKER. A device capable of transmitting data to other devices. Typical talkers are voltmeters,counters, audio analyzers and many other measurement instruments. 3) CONTROLLER. A device capable of managing communications over the IEEB-488 bus such as addressing and sending commands. A PC with the IEEE-488 interface is typically a controller.
  • Page 73 The IEC-625 standard uses 25 pin D type connector as the standard and the signal assignment is: DATA Lines Pin No. MANAGEMENT Lines Pin No. ---------------------------------- ------------------------------------------------- DIO1 DI02 DI03 DI04 DI05 DI06 DI07 HANDSHAKE Lines Pin No. DI08 ------------------------------------------------- NRFD NDAC The active controller manages all bus communications.
  • Page 74 In COMMAND mode, bus commands can be placed on the bus and sent to all devices. These commands have the same meaning regardless of the kind of device. Each device is designed to respond to those commands that have a useful meaning to the device and will ignore all others.
  • Page 75 2) If a service request i8 present, the controller sets the serial poll mode. The serial poll mode is initiated by the r controller sending the command SPE (Serial Poll Enable). 3) The controller sequentially polls those devices that may a have requested service. Each polled device responds with the status byte.
  • Page 76 PCL-848AB User's Manual...
  • Page 77 Each character byte transferred on the bus data lines employs the three wire hand- shake sequence. This sequence has the following characteristics: 1) Data transfer is asynchronous. Data can be transferred at any rate suitable for the devices operating on the bus. The devices wait for others to complete a byte transfer.
  • Page 78 Handshake Timing Sequence PCL-848AB User's Manual...
  • Page 79 The three remaining bus lines are: 1) REN (Remote Enable) The system controller sets REN low and then addresses the devices to listen before they will operate under remote control. 2) IFC (Interface Clear) Only the system controller can activate this line. When IFC is set true, all talkers, listeners and active controllers go to their inactive states.
  • Page 80 CHAR BINARY DEC COMMAND CHAR BINARY DEC COMMAND NULL 0000000 SPACE 0100000 0000001 0100001 0000010 “ 0100010 0000011 0100011 0000100 0100100 0000101 0100101 0000110 & 0100110 BELL 0000111 ‘ 0100111 0001000 0101000 0001001 0101001 0001010 0101010 LA10 0001011 0101011 LA11 0001100 0101100 LA12...
  • Page 81 CHAR BINARY DEC COMMAND CHAR BINARY DEC COMMAND 1000000 1100000 1000001 1100001 1000010 1100010 1000011 1100011 1000100 1100100 1000101 1100101 1000110 1100110 1000111 1100111 1001000 1101000 1001001 1101001 1001010 TA10 1101010 SC10 1001011 TAll 1101011 SCll 1001100 TA12 1101100 SC12 1001101 TA13 1101101...
  • Page 82 Read Register Bit Contents Data In Status 1 Status 2 SRQI LOK REM LOKC REMC ADSC Serial Poll PEND Address ATN SPMS LPAS TPAS TA MJMN Command Pass CPT7 CPT6 CPT5 CPT4 CPT3 CPT2 CPT1 CPT0 Through Address 0 DL0 AD50 AD40 AD30 AD20 AD10 Address 1 DL1 AD51 AD41 AD31 AD21 AD11 Write Register...
  • Page 83 Routins Offset Parameters Activity ABORT None Aborts all bus activity by pulsing the IFC line. DEVCLR ADDR% Device clear or selective device clear. DEVICE ADDR%,PORT% Replaces an LPTn: or COMn: port with an IEEE-488 device. ENTER ADDR%,D$ Enters data from a device. ENTERA ADDR%,DATASEG%, Enters a long string from a...
  • Page 84 Routins Offset Parameters Activity SPOLL ADDR%,RESPONSE% Serial Poll. STATUS CONDITION%,5% Reads the status of the interface. TIMEOUT Sets timeout interval. TRIGGER ADDR% Triggers a device or devices ERRPTR IOERR%,IOCOUNT% Assign variables for error number and count of string bytes. PCL-848AB User's Manual...