Page 2
National Instruments Corporate Headquarters 6504 Bridge Point Parkway Austin, TX 78730-5039 (512) 794-0100 Technical support phone: (512) 795-8248 Technical support fax: (512) 794-5678 Branch Offices: Australia 03 9879 5166, Austria 0662 45 79 90 0, Belgium 02 757 00 20, Canada (Ontario) 905 785 0085, Canada (Québec) 514 694 8521, Denmark 45 76 26 00, Finland 90 527 2321, France 1 48 14 24 24,...
Page 3
Limited Warranty The GPIB-1014 is warranted against defects in materials and workmanship for a period of two years from the date of shipment, as evidenced by receipts or other documentation. National Instruments will, at its option, repair or replace equipment that proves to be defective during the warranty period. This warranty includes parts and labor.
Page 4
Any use or application of National Instruments products for or involving medical or clinical treatment must be performed by properly trained and qualified medical personnel, and all traditional medical safeguards, equipment, and procedures that are appropriate in the particular situation to prevent serious injury or death should always continue to be used when National Instruments products are being used.
Page 5
Notice to user: Changes or modifications not expressly approved by National Instruments could void the user’s authority to operate the equipment under the FCC Rules. If necessary, consult National Instruments or an experienced radio/television technician for additional suggestions.
Data Transfer Bus (DTB) Requester ..............2-7 VMEbus Modules Not Provided ............2-7 Diagnostic Aids ....................2-7 Data Transfer Features ....................2-7 Programmed I/O Transfers ................2-8 GPIB-1014 Functional Description ................2-8 Chapter 3 Configuration and Installation ..................3-1 Configuration......................... 3-1 Access Mode .....................
Page 8
Going from Standby to Active Controller ............5-4 Going from Active to Idle Controller ..............5-5 The GPIB-1014 as GPIB Talker and Listener............... 5-6 Programmed Implementation of Talker and Listener ........5-6 Addressed Implementation of the Talker and Listener ........5-6 Address Mode 1..................
Page 9
DMA Stand-Alone Testing ................6-24 GPIB Interface Testing..................6-24 Chapter 7 Diagnostic and Troubleshooting Test Procedures ..........7-1 Interpreting Test Procedures ..................7-1 GPIB-1014 Hardware Installation Tests ............... 7-2 Appendix A Hardware Specifications ....................A-1 Appendix B Parts List and Schematic Diagrams ................
Page 10
Parts Locator Diagram ..................3-2 Figure 3-2. Access Mode After RESET ................3-3 Figure 3-3. Configuration for GPIB-1014 Base Address 2000 (hex) ......... 3-4 Figure 3-4. Default Settings of AM Code Jumpers W3, W4, and W5 ....... 3-5 Figure 4-1.
Page 11
Programming Values for Default Settings of W3, W4, and W5 ....... 3-6 Table 3-2. Setting the Address Modifier Code Bits (AM5-AM0)........3-6 Table 3-3. GPIB-1014 Pin Assignment on VMEbus Connector P1 ........3-8 Table 3-4. GPIB-1014 Pin Assignment on VMEbus Connector P2 ........3-9 Table 4-1.
Chapter 5, Programming Considerations, explains the initialization process, sending/receiving messages, and the serial/parallel poll process. • Chapter 6, Theory of Operation, contains a functional overview of the GPIB-1014 board and explains the operation of each functional block making up the GPIB-1014. •...
• Appendix G, Customer Communication, contains forms for you to complete to facilitate communication with National Instruments concerning our products. • The Glossary contains an alphabetical list and description of terms used in this manual, including abbreviations, acronyms, metric prefixes, and symbols.
Hitachi Microcomputer System HD68450 DMAC (Direct Memory Access Controller) Customer Communication National Instruments wants to receive your comments on our products and manuals. We are interested in the applications you develop with our products, and we want to help if you have problems with them.
Chapter 1 Introduction This chapter describes the GPIB-1014, lists the contents and oiptional equipment for your GPIB-1014 kit, and explains how to unpack the GPIB-1014 kit. The GPIB-1014 is a high-performance IEEE 488 interface for the VMEbus. This interface permits IEEE 488 compatible engineering, scientific, or medical instruments to be controlled from a VMEbus-based computer.
Chapter 1 Introduction The GPIB-1014 interface kit includes hardware and programming examples to implement the GPIB functions. Optional cables are supplied for interconnection with other devices on the GPIB. What Your Kit Should Contain Your GPIB-1014 kit should contain the following components:...
Do not remove the board from its plastic bag at this point. 2. Your GPIB-1014 board is shipped packaged in an antistatic plastic bag to prevent electrostatic damage to the board. Several components on the board can be damaged by electrostatic discharge.
Page 19
Electrical Characteristics All integrated circuit drivers and receivers used on the GPIB-1014 meet the requirements of the VMEbus specification and the IEEE 1014 standard. Table 2-1 contains a list of the VMEbus signals used by the GPIB-1014 and the electrical loading presented by the circuitry on the interface board (in terms of device types and their part numbers).
VMEbus Slave-Addressing The GPIB-1014 occupies 512 bytes (256 words) in the A16 (short) I/O space. As a VMEbus slave, it only responds when the address modifier (AM) lines specify a short supervisory access (AM code = 2D) or a short nonprivileged access (AM code = 29). The board responds to short 16-bit addresses.
Table 2-2. The DMA registers internal to the 68450 are shown in Table 2-3. The two Configuration Registers of the GPIB-1014 are shown in Table 2-4. Table 2-2. µPD7210 Internal GPIB Interface Registers...
8 bits VMEbus Master-Direct Memory Access The GPIB-1014 can function as a VMEbus master, performing data transfers to and from VMEbus memory. In most applications, the 68450 controls the data transfer to and from the GPIB during DMA, and can transfer the 8-bit data on data lines D07 through D00 or D15 through D08, allowing the packing of data in VMEbus memory.
I/O area. In VMEbus terminology, the GPIB-1014 has A24 / D08(EO) & D16 master capability. The board does not use Unaligned Transfer (UAT), Block Transfer (BLT), or Read Modify Write (RMW) cycles. The chaining feature of the 68450 allows data blocks of unlimited size to be transferred.
Chapter 7, Diagnostic and Troubleshooting Test Procedures, for details. Data Transfer Features The GPIB-1014 can be used to transfer data to and from the GPIB using Direct Memory Access (DMA) and programmed I/O. The overall throughput is dependent upon the following parameters: •...
Programmed I/O Transfers The GPIB-1014 is able to transfer data to and from the GPIB using programmed I/O. Transfer rates using programmed I/O depend on many factors including how fast the program code executes, how fast the microprocessor services interrupts, and the operating system overhead.
Chapter 2 General Description Table 2-5 lists the capabilities of the GPIB-1014 in terms of the IEEE 488 standard codes. Table 2-5. GPIB-1014 IEEE 488 Interface Capabilities Capability Code Description Complete Source Handshake capability Complete Acceptor Handshake capability DAC and RFD...
Page 32
The GPIB-1014 has complete Source and Acceptor Handshake capability. • The GPIB-1014 can operate as a basic Talker or Extended Talker and can respond to a Serial Poll. It can be placed in a Talk Only mode and is unaddressed to talk when it receives its listen address.
• Pass control • Conduct a Parallel Poll • Take control synchronously or asynchronously Table 2-6 contains the GPIB-1014 IEEE 1014 compliance levels. Table 2-6. GPIB-1014 IEEE 1014 Interrupter Compliance Levels Compliance Notation Description Bus Slave Compliance Levels D8(O) 8-bit data path to TLC and two Configuration Registers D16 &...
Chapter 3 Configuration and Installation This chapter describes the steps needed to configure and install the GPIB-1014 hardware. Configuration Before installing the GPIB-1014 in the VMEbus backplane, the following options must be configured with hardware jumpers that are located on the GPIB-1014 interface board: •...
Figure 3-2. Access Mode After RESET Base Address The GPIB-1014 occupies a total of 512 bytes of 16-bit I/O space. The base address is selected with either hardware jumper block W1 on the interface board or compare address lines located on the P2 connector.
0 to select a logical zero. Figure 3-3 shows the configuration for a base address 2000 (hex), which is the default address configured at the factory. BASE ADD Figure 3-3. Configuration for GPIB-1014 Base Address 2000 (hex) (Default Setting) Set Base Address Using Compare Address Lines Another method of setting the base address is to use the compare address lines located on the P2 connector.
Figure 3-4. Default Settings of AM Code Jumpers W3, W4, and W5 Rev. D and earlier versions of the GPIB-1014 do not have jumpers W3, W4, and W5. If all of the jumpers on later versions of the board remain in their factory default settings, the address modifier codes generated are equivalent to those generated by the earlier versions.
Tables 3-3 and 3-4 to those signals used by the VMEbus system in which the GPIB-1014 will be installed. This is to ensure that the two are compatible (that is, the GPIB-1014 has all the necessary signals needed by the system and vice versa).
Configuration and Installation Chapter 3 Table 3-3. GPIB-1014 Pin Assignment on VMEbus Connector P1 Pin No. Signal Used Signal Not Used Pin No. Signal Used Signal Not Used IACK* IACKIN* IACKOUT* SYSCLK DS1* DS0* WRITE* -12V DTACK* BBSY* BCLR* ACFAIL*...
Model GPIB-1014-1 is installed in the system, they cannot be placed side by side due to the width of the GPIB cable connector housing (another board must be placed between any two GPIB-1014-1 interface boards).
DMA registers. Register Map The register map for the GPIB-1014 is shown in Table 4-1. This table gives the register name, the register address, the register size in bits, and the register type (read only, write only, or read and write).
VMEbus computers support three transfer sizes for read and write operations: 8-, 16-, or 32-bit. Table 4-1 shows the size of each GPIB-1014 register. For example, reading the Memory Transfer Counter Register requires a 16-bit read operation at the indicated address, whereas writing to the End Of String Register requires an 8-bit write operation at the indicated address.
Chapter 4 Register Bit Descriptions Register Description Format The remainder of this chapter discusses each of the GPIB-1014 registers in the order shown in Table 4-1. Each register group is introduced, followed by a detailed bit description of each register.
NEC µPD7210 Talker/Listener/Controller (TLC) integrated circuit. Each of the 21 interface registers is addressed relative to the GPIB-1014 VMEbus base address. Figures 4-1 and 4-2 show the register and bit mnemonics of each TLC internal register, its read/write accessibility, and its relative address.
Page 59
Mnemonic Description ERR IE: Enable Interrupt on Error Bit END RX: End Received Bit END IE: Enable Interrupt on End Received Bit DEC: Device Clear Bit DEC IE: Enable Interrupt on Device Clear Bit Data Out Bit DO IE: Enable Interrupt on Data Out Bit Data In Bit DI IE: Enable Interrupt on Data In Bit...
Page 61
Mnemonic Description LOKC Lockout Change Bit LOKC IE Lockout Change Interrupt Enable Bit LOKC is set by: any change in LOK LOKC is cleared by: pon + (read ISR2) Notes LOK: ISR2[5]r pon: Power On Reset read ISR2: Bit is cleared immediately after it is read LOKC is set when there is a change in the LOK bit, ISR2[5]r, (REMS +RELS).
Serial Poll Status Register (SPSR) VMEbus Address: Base Address + 117 (hex) Attributes: Read Only, Internal to TLC Serial Poll Mode Register (SPMR) VMEbus Address: Base Address + 117 (hex) Attributes: Write Only, Internal to TLC PEND Mnemonic Description Serial Poll Status Bit 8 5-0r, S[6-1] Serial Poll Status Bits 6 through 1...
Page 65
Mnemonic Description TPAS Talker Primary Addressed State Bit TPAS is used when the TLC is configured for extended GPIB addressing, and, when set, indicates that the TLC has received its primary GPIB talk address. In extended mode addressing (mode 3 addressing), TPAS=1 indicates that the secondary address being received as the next GPIB command message can represent the TLC extended (secondary) GPIB talk address.
Page 67
Mnemonic Description 1-0w ADM[1-0] Address Mode Bits 1 through 0 These bits state the addressing mode currently in effect–that is, the manner in which the information in ADR0 and ADR1 is interpreted (see Address Register 0 and Address Register 1 later in this chapter). If both bits are zero, then the TLC does not respond to GPIB address commands.
Page 68
ADM0 and ADM1 must be cleared when either of the two programmable bits ton or lon is set. For more information on the different addressing modes supported by the GPIB-1014, refer to the Addressed Implementation of Talker and Listener section in Chapter 5.
Command Pass Through Register (CPTR) VMEbus Address: Base Address + 11B (hex) Attributes: Read Only, Internal to TLC CPT7 CPT6 CPT5 CPT4 CPT3 CPT2 CPT1 CPT0 Mnemonic Description 7-0r CPT[7-0] Command Pass Through Bits 7 through 0 These bits are used to transfer undefined multiline GPIB command messages from the GPIB DIO lines to the computer.
Auxiliary Mode Register (AUXMR) VMEbus Address: Base Address + 11B (hex) Attributes: Write Only, Internal to TLC Permits Access to Hidden Registers CNT2 CNT1 CNT0 COM4 COM3 COM2 COM1 COM0 The Auxiliary Mode Register (AUXMR) is used to issue auxiliary commands. It is also used to program the five hidden registers: •...
Table 4-5 shows the functions that are executed when the AUXMR Control Code (CNT2 through CNT0) is loaded with 000 (binary) and the Command Code (COM4 through COM0) is loaded. Table 4-5. Auxiliary Commands: Detail Description Command Code (COM4-COM0) 4 3 2 1 0 Description 0 0 0 0 0 Immediate Execute Pon...
Page 74
Holdoff on RFD or DAC. 0 0 1 0 0 Trigger Note: Trigger cannot be used with the GPIB-1014. The Trigger command generates a high pulse on the TRIG pin (T/R3 pin when TRM1=0) of the TLC. The Trigger command performs the same function as if the DET (Device Trigger) bit (ISR1[5]r) were set.
Page 75
Table 4-5. Auxiliary Commands: Detail Description (continued) Command Code (COM4-COM0) 4 3 2 1 0 Description 0 0 0 0 1 Clear Parallel Poll Flag 0 1 0 0 1 Set Parallel Poll Flag These commands set the Parallel Poll Flag to the value of COM3. The value of the Parallel Poll Flag is used as the local message ist when bit four of Auxiliary Register B is zero.
Page 76
(rsc) and set Interface Clear (IFC) to the value of COM3. These commands should only be issued if the System Controller (SC) bit in CFG2 is set; that is, the GPIB-1014 is SC. In order to meet the IEEE 488 requirements, you must not issue the Clear IFC command until IFC has been held true for at least 100 µsec.
PPR bits 3 through 1, designated P[3-1], contain an encoded version of the Parallel Poll response. P[3-1] indicate which of the eight DIO lines is asserted during a Parallel Poll (equal to N-1). The GPIB-1014 normally drives the GPIB DIO lines using three-state drivers. During Parallel Poll responses, however, the drivers automatically convert to Open Collector mode, as required by IEEE 488.
The INV bit affects the polarity of the TLC INT pin. Setting INV causes the polarity of the Interrupt (INT) pin on the TLC to be active low. As implemented on the GPIB-1014, configuring the INT pin to active low results in interrupt request errors. Consequently, INV must always be cleared and must never be set except for diagnostic purposes.
EIVR 8 bits The register set for each channel is addressed relative to the base address of the GPIB-1014 as outlined in Table 2-2. Figure 4-3 shows the DMA registers in order of their register offset. Figure 4-3 is reprinted with permission of the copyright owner from the Motorola MC68440 Dual-Channel Direct Memory Access Controller, Advance Information, February 1984 Edition, p.
While data transfers between the GPIB and VMEbus memory must use flyby mode, memory-to-memory DMA transfers can be accomplished using any of the four available full- function DMA channels (channels 0 to 3). This not only makes the GPIB-1014 available as a general purpose VMEbus DMA Controller, but also enables comprehensive stand-alone diagnostics to be performed on the DMA circuitry without using the GPIB.
Device Type Bits 5 through 4 The Device Type bits indicate what type of device is on the channel. For the GPIB-1014 GPIB application, set the device type to 10 (device with ACK). For memory-to-memory transfers, set the device type to 00 (68000-compatible).
Page 96
Each of the four DMAC channels has a Peripheral Control Line (called PCL0* through PCL3*). The two PCL bits define the function of each line. The GPIB-1014 uses the four lines as status inputs. On PCL0*, GPIB signal SRQ* is connected. On PCL2*, signal REN* is connected.
5-4r/w SIZE Size Bits 5 through 4 The Size bits indicate the size of the data transfer. For the GPIB-1014 GPIB transfers, the size is always byte 00. For memory-to-memory transfers, the size can be byte, word, or long-word. 00 = Byte (8 bits)
The Continue bit is used to select the continue option. This bit must be set when the channel is active or at the same time you set the STR bit. Generally, this is not used for GPIB-1014 GPIB transfers. 0 = No continuation is pending...
Page 101
Description 3r/w EINT Interrupt Enable Bit The Interrupt Enable bit in used to enable or disable interrupts from the channel. GPIB-1014 interrupts are discussed in more detail in Chapter 5. 0 = No interrupts enabled 1 = Interrupts enabled 2-0r/w Reserved Bits Write zeros to these bits.
5r/w Normal Device Termination Bit The Normal Device Termination bit is set when the transfer operation is terminated by the device. This is not used in the GPIB-1014 application. 0 = No device termination 1 = Device terminated operation normally...
Channel priority is also used to determine which channel is serviced first when multiple channels have interrupts pending. If there are several requesting channels at the highest priority level, a round-robin resolution is used. For the GPIB-1014 application, channel 0 and channel 1 priority are the same.
(for the VMEbus this can be level 1 through 7). If it does, the GPIB-1014 hardware acknowledges the interrupt service to the DMAC and the DMAC completes the cycle by placing the appropriate programmable interrupt vector on the lower eight bits of the data bus for the channel requesting an interrupt.
Register Descriptions Chapter 4 Configuration Registers The GPIB-1014 contains two 8-bit write-only registers that are used to configure some of the board operating parameters. Configuration Register 1 (CFG1) VMEbus Address: Base Address + 101 (hex) Attributes: Write Only, Internal to DMAC...
Page 109
4-3w Bus Request/Grant Bits The Bus Request/Grant bits are used to select which pair of the VMEbus request/grant lines are used by the GPIB-1014 to request and obtain control of the system bus. 00 = BR0*/BG0IN*-BG0OUT* selected 01 = BR1*/BG1IN*-BG1OUT* selected...
Configuration Register 2 (CFG2) is an 8-bit write-only register that is used to set the board access mode, set the GPIB-1014 as System Controller, and drive the VMEbus SYSFAIL* line. It also contains a Local Master Reset bit that can be used to reset the GPIB-1014 to a known state.
Page 111
Description Local Master Reset Bit The Local Master Reset bit is used to reset the GPIB-1014 to a known state. Setting this bit to a 1 drives the local reset line active while clearing this bit releases the local reset line. The local reset line must be left in the active state for at least 10 msec to ensure that the onboard circuitry is reset properly.
• 68450 DMAC The GPIB-1014 also has another method for initializing the circuitry on the card. If the Local Master Reset (LMR) bit in Configuration Register 2 is set, the RESET signal is driven and the GPIB-1014 is initialized in the same manner.
Page 113
1. Set and then clear the Local Master Reset (LMR) bit in Configuration Register 2 (CFG2) to place the GPIB-1014 in a known, quiescent state. 2. Load the two GPIB-1014 Configuration Registers (CFG1 and CFG2) with the appropriate values to configure the desired operation.
Set IFC auxiliary command) or by being passed control of the GPIB from the current Active Controller. The GPIB-1014 is only capable of driving the GPIB IFC and REN lines (which allows the TLC to function as GPIB System Controller) when the SC bit in CFG2 is set. To take control, issue the Set IFC auxiliary command, wait for a minimum of 100 µsec, and then issue the Clear IFC...
Chapter 5 Sending Remote Multiline Messages (Commands) The GPIB-1014 sends commands as Active Controller simply by writing to the Command/Data Out Register (CDOR) in response to the CO status bit in ISR2. DMA transfers are not supported when the TLC is GPIB Active Controller, and should not be attempted.
In Cases 2 and 3 above, the END IE bit in IMR1 can also be set to indicate to the program that the TLC (functioning as a GPIB Listener) has received its last byte. In all cases, a CO bit status of 1 indicates that the GPIB-1014 is now Active Controller. Going from Active to Idle Controller Going from Active to Idle GPIB Controller, also known as passing control, requires that the TLC be the Active Controller initially (in order to send the necessary GPIB command messages).
Programming Considerations Chapter 5 The GPIB-1014 as GPIB Talker and Listener The TLC may be either GPIB Talker or Listener, but not both simultaneously. Either function is deactivated automatically if the other is activated. The TA, LA, and ATN* bits in the ADSR together indicate the specific state of the TLC.
The onboard DMA Controller is the 68450 (DMAC). This chip provides four independent DMA channels, of which two channels (Channel 0 and 1) can be used by the GPIB-1014 to transfer data between the VMEbus memory and the GPIB. The GPIB-1014 supports single-address (flyby mode) DMA transfer to/from the TLC where data bytes transfer directly between VMEbus memory and the TLC.
Page 120
GPIB-1014 will immediately release the bus. The two DMAC channels used by the GPIB-1014 are channels 0 and 1. The DMAC can be configured to transfer data between the GPIB TLC and the VMEbus system memory with or without the carry cycle feature.
When the carry cycle feature is needed in a transfer, it is transparent to the system CPU and is automatically handled by the GPIB-1014 once the channels have been properly configured. As indicated earlier in this chapter, Channel 1 is now used to transfer the carry cycle byte and the last data byte.
Set the DMAI bit in IMR2 if the TLC is a GPIB Listener. Otherwise, clear DMAI. Polling During DMAs All the GPIB-1014 registers are accessible during DMA operations while the CPU has control of the bus. If interrupts are not enabled, the CSR of Channel 1 can be read to check that the PCT bit is set.
Page 129
COC bit would set and an interrupt would occur (the DMAC interrupts if either the COC bit or the PCT bit is set). It is necessary for the COC to detect if the nth byte has been transferred and GPIB-1014 User Manual 5-18...
When using programmed I/O to send or receive a GPIB data byte, the DMAO and DMAI bits in IMR2 must be cleared. The contents of other GPIB-1014 DMA registers are irrelevant. To send data, wait until the TLC has been programmed or addressed to talk and the CDOR is empty.
Programming Considerations Interrupts If the GPIB-1014 is enabled for interrupts, there are three events that can cause an interrupt on the VMEbus. The first event is an interrupt from the TLC. The second event is a GPIB handshake synchronization that occurs when a DMA transfer is finished and the GPIB is synchronized.
Page 133
If the DMAC encounters a bus error during operation, a negative transition is caused on the PCL of Channel 1, thus causing an interrupt. The GPIB-1014 hardware provides automatic GPIB synchronization after the data transfer is complete. This allows an interrupt (or a set status bit for polling) when the last data byte has been transferred and the GPIB is synchronized (that is, all devices on the GPIB have accepted the last byte).
Follow the same procedure to disable polling with PPD (for example, when changing responses during reconfiguration). Responding to a Parallel Poll Before the GPIB-1014 can be polled by the CIC, the TLC must be configured either locally by your program at initialization time or remotely by the CIC. Configuration involves the following: •...
Two F245 octal bus transceivers connect the VMEbus data lines (D15 through D00) to the circuitry on the GPIB-1014. All 16 of these data lines are routed directly to the DMAC, while only the lower eight data lines (D07 through D00) are connected to the 8-bit data bus of the TLC.
DS0*, and DS1*. The OWN* signal of the DMAC is used to control the direction of the buffer pair. When the GPIB-1014 is a slave (that is, it does not have control of the bus), control signals are directly routed onboard. In contrast, during DMA cycles, control signals from the DMAC are somewhat altered before passing out to the VMEbus.
OWN) Address Decoding During non-DMA operations, the GPIB-1014 acts as a VMEbus slave and monitors the lower 16 lines of the VMEbus address bus (A15 through A01), the Address Modifier Lines (AM5 through AM0), and the VMEbus signals LWORD* and IACK*. Receivers and comparators are used to recognize the GPIB-1014 base address during short I/O transfers.
Like a read, DMAC asserts DTACK* to prevent a bus error. When the GPIB-1014 has been addressed, VMEbus address line A8 is a logic 1, A4 is a logic 1, the lower data strobe DS0* is active, and the TLC select signal TLCCS* is driven active, indicating that the TLC has been addressed.
ORed with the LMR bit in CFG2 to generate the onboard RESET signal. The RESET signal is used to initialize all circuitry on the GPIB-1014 except the two bits in CFG2 (LMR and SYSFAIL*), the Address Decoding circuitry, and the DTACK* generation circuitry.
• Issuing a Local Master Reset (LMR) to the GPIB-1014. The LMR bit is cleared to a 0 on SYSRESET*. Writing to CFG2 with this bit set to a 1 drives the GPIB-1014 local signal RESET*. Writing a 0 to this bit releases RESET.
74F85 compares VMEbus address lines A3 through A1 against the 3-bit interrupt priority code in CFG1. If IACKIN* is asserted and the indicated priority does not match the GPIB-1014 priority, the daisy-chain signal IACKOUT* is asserted. This signal remains asserted until AS* is released.
Page 148
In Equation 1, combinational output LBROUT* is asserted if DMAC has a bus request pending and the board does not have control of the VMEbus. While the GPIB-1014 is holding the bus and there is a request from the DMAC, LBROUT* (and thus BGIN) will not be asserted. BG*, an input to the DMAC, is asserted to inform the DMAC that it has been granted the bus.
PCL input line of DMAC Channel 1. Using the GPIB synchronization circuitry, the GPIB-1014 can detect when the last byte of data in a data transfer has been accepted by all devices on the GPIB. In this manner, the host CPU can be notified that the DMA transfer is complete and does not have to timeout to ensure that the GPIB is synchronized.
Page 150
Theory of Operation Chapter 6 This PCL is used to detect interrupts from the GPIB-1014 that are not internal to the DMAC. A negative transition on the PCL sets the PCT bit in the CSR of DMAC Channel 1. If interrupts are enabled in the CCR of Channel 1 (EINT=1), the setting of the PCT bit causes the DMAC to drive its IREQ* line, requesting an interrupt.
Page 151
PCL of Channel 1, requesting an interrupt. For the GPIB-1014 to wait until the GPIB is synchronized to signal that the DMA transfer is complete, it must be configured to wait until the PCL transition occurs to notify the host CPU.
During DMA operations, the GPIB- 1014 functions as a full VMEbus master. The DMAC controls the direction of the GPIB-1014 data bus transceivers as needed to effect the transfer. Details of the DMAC operation, with emphasis on GPIB-1014 applications, are given in the following section.
EINT bit in CCR. The GPIB-1014 uses the PCL of Channel 1 (PCL1*) to detect interrupts from the TLC, bus error, and GPIB synchronization conditions. In addition, the board uses the PCLs of Channel 0 (PCL0*) and Channel 2 (PCL2*) to detect the status of two GPIB signals: SRQ* and REN*.
Any of the two modes are used when performing memory-to-memory DMA transfers. In GPIB-1014 GPIB applications, you must set the REQG bit to 10 to indicate that external REQ line will initiate a transfer. After selecting external request generation mode, you must also set the XRM bit in DCR to specify whether a channel must operate in cycle steal or cycle steal with hold mode.
STR bit is set (to start a channel) or it can be set while the channel is still active. The operation timing error bit is signaled if a continuation is otherwise attempted. GPIB-1014 applications generally do not use the continue mode of operation.
(bit COC is set), or on a negative transition on the PCL (bit PCT is set), if desired. While the GPIB-1014 uses Channel 0 and 1, the interrupt is usually enabled in Channel 1 only (see Chapter 5, Programming Considerations).
COC bit will be set. As described in Chapter 5, Programming Considerations, the array chaining mode is used for Channel 1 in the GPIB-1014 applications to implement the carry cycle feature. It is also used to transfer multiple blocks of data on Channel 0.
While it is not currently implemented in the GPIB-1014 software, the linked chaining method could be used on Channel 0 to transfer large data blocks arbitrarily just like array chaining.
When the GPIB-1014 is operating as a VMEbus slave, the TLC is enabled (TLCCS* is asserted) when the base address of the GPIB-1014 has been decoded and VMEbus address bit A8 is a logic 1, and bit A4 is a logic 1. The TLC register select signals (RS2 through RS0) are derived from VMEbus address lines A3 through A1.
CLOCK input to the TLC. For proper GPIB timing, the internal counter must be programmed to eight. The TLC RESET pin is driven by the GPIB-1014 RESET signal. Connecting the TLC to the GPIB itself are two multi-function transceivers, one handling the data lines (a 75160A) and the other handling the handshake and management lines (a 75162A).
For this reason, users are advised to perform the tests in the order given. If the GPIB-1014 does not perform as described in the test procedures, users are advised to carefully perform the following steps.
3. Recheck the jumper settings described in Chapter 3. After these items have been carefully checked, if the interface is still not functioning properly, gather together the information concerning what the GPIB-1014 is and is not doing with regard to the expected results and contact National Instruments.
Appendix A Hardware Specifications This appendix specifies the electrical, environmental, and physical characteristics of the GPIB-1014 board and the conditions under which it should be operated. Table A-1. Electrical Characteristics Characteristic Specification Transfer Rates Over 500 kbytes/sec* Programmed I/O Over 80 kbytes/sec*...
• Pass GPIB control to another device (PASSC). Assumptions regarding the state of the GPIB-1014 appear at the beginning of each routine and must be adhered to for proper, error-free operation. The following characteristics of the code must be considered: •...
Page 186
(Write Data) CSEND (Command Send) (Write Commands) PASSC (Pass Control) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BASE 0xFF2000 | Base address of GPIB-1014 interface BASE + 0x111 | Data In Register (read) CDOR BASE + 0x111 | Control/Data Out Register (write) ISR1 BASE + 0x113...
Page 188
SEL0 | Select ADR0 SEL1 0200 | Select ADR1 | GPIB address of GPIB-1014 | System Controller (set to 010 if not Sys. Con.) | Release on Request feature (set to 0 if not used) TMODE = 0240 | Cycle Steal DMA transfer mode (set to 340 if Cycle Steal...
Page 191
| - Initialize the interface function of other GPIB devices | Assumptions on entry: | - GPIB-1014 has been initialized | - GPIB-1014 is System Controller (SC is true) | Actions: | - Assert GPIB IFC | - Wait at least 100 microseconds...
Page 192
| Assumptions on entry: | - User specified sre is non-zero if REN is to be asserted and is zero if REN is to be unasserted | - GPIB-1014 is System Controller and Active Controller | Actions: | - Check sre flag.
Page 193
| * * * * * * * * * * * * * * * | Summary: | - Called by READ to receive data if GPIB-1014 is Controller-In-Charge | - Called directly from main program to receive data if...
Page 194
| Clear status registers movb #FF,CSR1 movl a0,MAR0 | Point channel 0 to buffer cmpb #0,cic | Is GPIB-1014 Controller-In-Charge RCV1 | Yes, set up carry cycle feature movb #GTM+ACHN,OCR1 | - Enable chaining on channel 1 movl #ccary,BAR1 | - Point channel 1 to ccary...
Page 196
| Summary: | - Called to read device-dependent (data) messages when the GPIB-1014 is Controller-In-Charge (RCV is called when the GPIB-1014 is Idle Controller) | Assumptions on entry: | - GPIB-1014 is Controller-In-Charge | - The Talker address is placed in first location of...
Page 197
#UNL,cmdbuf+1 addw #2,cmdct | Command routine will address the Talker movb #LTN,AUXMR | Program GPIB-1014 to be a Listener movb #GTS,AUXMR | so it can take control synchronously | later; then go to standby and drop ATN movw #datct,d0 | Preset d0 register with byte count...
Page 198
| - The GPIB-1014 is Standby or Idle Controller | - GPIB-1014 is or will be addressed to talk | - If the GPIB-1014 is Idle Controller, the current CIC will go to standby | - The d0 register contains the byte count...
Page 201
| Actions: | - Set up cmdbuf and cmdct and call CMD to address the GPIB-1014 as Talker, to address the Listener, and to unaddress all other devices | - Go to standby and unassert ATN | - Transfer the contents of datct to the d0 register...
Page 203
| Summary: - Called by CMD to send interface messages | Assumptions on entry: | - The GPIB-1014 is Active Controller | - The d0 register contains the number of bytes to send | - The a0 register contains the address oc cmdbuf...
Page 204
| Summary: | - Send GPIB interface or command messages | Assumptions on entry: | - The GPIB-1014 is Controller-In-Charge | - The commands to be sent are in cmdbuf | - The variable cmdct contains the number of commands to be sent, which must be less than 256...
Page 205
| - The primary GPIB address of the new controller is placed in tctadr | Actions: | - Send TCA command to take control in case the GPIB-1014 is at standby | - Set up the command buffer and command count...
Appendix E Operation of the GPIB Bus extenders are available from National Instruments and other manufacturers for use when these limits must be exceeded. Related Documents For more information on topics covered in this section, consult the following manuals: •...
Filling out a copy of the Technical Support Form before contacting National Instruments helps us help you better and faster. National Instruments provides comprehensive technical assistance around the world. In the U.S. and Canada, applications engineers are available Monday through Friday from 8:00 a.m. to 6:00 p.m.
Page 228
National Instruments for technical support helps our applications engineers answer your questions more efficiently. If you are using any National Instruments hardware or software products related to this problem, include the configuration forms from their user manuals. Include additional pages if necessary.
Page 229
National Instruments Products • NI-488M Software Version Number on Distribution Medium: • National Instruments board installed (GPIB-1014, GPIB-1014D, GPIB-1014P, or GPIB-1014DP): _________________________________________________________ • GPIB-1014 Revision: • Hardware Settings: Base I/O...
Page 230
• Type of other boards installed and their respective hardware settings: Base I/O Interrupt Board Type Address Level Channel...
Page 231
Documentation Comment Form National Instruments encourages you to comment on the documentation supplied with our products. This information helps us provide quality products to meet your needs. GPIB-1014 User Manual Title: March 1997 Edition Date: 370945A-01 Part Number: Please comment on the completeness, clarity, and organization of the manual.
Page 235
Index cabling, 3-10 capability codes for GPIB-1014, 2-13 to 2-15 CC (Carry Cycle Bit), 4-65 CCR. See Channel Control Register (CCR). CDO[7-0] (Command/Data Out Bits 7 through 0), 4-7 CDOR. See Command/Data Out Register (CDOR). CER. See Channel Error Register (CER).
Page 236
GPIB commands (table), 4-25 to 4-26, D-2 to D-3 compare address lines location of, 3-3 setting base address, 3-4 compliance levels for GPIB-1014 IEEE 1014 interrupter, 2-15 configuration access mode, 3-3 base address, 3-3 to 3-4 DMA address modifier code output, 3-5 to 3-7...
Page 240
ERROR CODE, Channel Error Register, 4-60 error conditions, DMAC channel operation, 6-21 to 6-22 Execute Parallel Poll command codes for, 4-28 description, 4-32 features of GPIB-1014, 1-1 Finish Handshake (FH) command codes for, 4-28 description, 4-30 Function Code Registers, 4-50...
Page 241
HLDA (Holdoff on All Bit), 4-38 HLDE (Holdoff on END Bit), 4-38 HLT (Halt Bit), 4-56, 6-18 ICR. See Internal Counter Register (ICR). IEEE 488 standard GPIB-1014 capabilities, 2-13 to 2-15 GPIB-1014 compatibility, 1-1 IEEE 1014 standard GPIB-1014 User Manual Index-9...
Page 242
IFC (interface clear) line, E-3 Immediate Execute Pon command codes for, 4-28 description, 4-29 IMR1. See Interrupt Mask Register 1 (IMR1). initialization of GPIB-1014, 5-1 to 5-3 INITIALIZE-INIT sample program, C-5 to C-6 installation cabling, 3-10 hardware installation tests, 7-2 to 7-8...
Page 243
Interrupt Vector Registers, 4-62 interrupter. See also GPIB Synchronization and Interrupt Control. definition, 2-12 description of, 2-6 GPIB-1014 IEEE 1014 interrupter compliance levels, 2-15 programming considerations, 5-20 to 5-21 theory of operation, 6-9 INTRQ (Interrupt Request Bits 7 through 5), 4-64 INV (Invert Bit), 4-39 ISR1.
Page 252
6-6 to 6-7 TLC. See Talker/Listener/Controller (TLC). ton (Talk Only Bit), 4-22 TPAS (Talker Primary Addressed State Bit), 4-21 transceivers for GPIB-1014 component designations, 2-2 control equations of transceivers, 6-3 Transfer Count Registers Base Transfer Counter Register (BTCR), 4-48...
Page 253
GPIB interface testing, 6-24 hardware installation tests, 7-2 to 7-8 interpreting test procedures, 7-1 overview, 7-1 verification of GPIB-1014 before installation, 3-10 U (Parallel Poll Unconfigure Bit), 4-35 UNL (Unlisten) command, 4-26 unpacking the GPIB-1014, 1-4 UNT (Untalk) command, 4-26...
Need help?
Do you have a question about the GPIB-1014 and is the answer not in the manual?
Questions and answers