Agilent Technologies 1670G User Manual

Programmer’s Guide
Publication number 01670-97021 March 2002
For Safety information, Warranties, and Regulatory information, see the pages behind the Index
© Copyright Agilent Technologies 1992-2002 All Rights Reserved
Agilent Technologies 1670G-Series Logic Analyzers
ii

In This Book

Introduction to Programming the
1
Agilent Technologies 1670G
This programmer’s guide contains general information, instrument level commands, logic analyzer commands, oscilloscope module commands, pattern generator module commands, and programming examples for programming the Agilent Technologies 1670G-series logic analyzers. This guide focuses on how to program the instrument over the GPIB and the RS-232-C interfaces. For information on using Ethernet refer to the LAN section of your User’s Guide.
Instruments covered by the Agilent Technologies 1670G-Series Programmer’s Guide
The Agilent 1670G-series logic analyzers are available with or without oscilloscope measurement capabilities and pattern generator capabilities. The Agilent 1670G-series logic analyzer has a hard disk drive and optional Ethernet capability.
What is in the Agilent Technologies 1670G-Series Programmer’s Guide?
The Agilent Technologies 1670G-Series Programmer’s Guide is organized in six parts.
10
11
12
13
2
3
4
5
6
7
8
9
Programming Over GPIB
Programming Over RS-232-C
Programming and
Documentation Conventions
Message Communication
and System Functions
Status Reporting
Error Messages
Common Commands
Instrument Commands
Module Level Commands
SYSTem Subsystem
MMEMory Subsystem
MACHine Subsystem
14
15
WLISt Subsystem
SFORmat Subsystem
iii
Part 1 Part 1, consists of chapters 1 through 7 and contains general information about programming basics, GPIB and RS-232-C interface requirements, documentation conventions, status reporting, and error messages.
If you are already familiar with IEEE 488.2 programming and GPIB or RS-232-C, you may want to just scan these chapters. If you are new to programming the system, you should read part 1.
Chapter 1 is divided into two sections. The first section, "Talking to the Instrument," concentrates on program syntax, and the second section, "Receiving Information from the Instrument," discusses how to send queries and how to retrieve query results from the instrument.
Read either chapter 2, "Programming Over GPIB," or chapter 3, "Programming Over RS-232-C" for information concerning the physical connection between the Agilent Technologies 1670G-series logic analyzer and your controller.
Chapter 4, "Programming and Documentation Conventions," gives an overview of all instructions and also explains the notation conventions used in the syntax definitions and examples.
Chapter 5, "Message Communication and System Functions," provides an overview of the operation of instruments that operate in compliance with the IEEE 488.2 standard.
Chapter 6 explains status reporting and how it can be used to monitor the flow of your programs and measurement process.
Chapter 7 contains error message descriptions. Part 2 Part 2, chapters 8 through 13, explains each command in the
command set for the entire logic analyzer. These chapters are organized in subsystems with each subsystem representing a front-panel menu.
The commands explained in this part give you access to common commands, instrument commands, system level commands, disk commands, intermodule measurement, and module level commands. This part is designed to provide a concise description of each command.
Part 3 Part 3, chapters 14 through 27, explains each command in the subsystem command set for the logic analyzer. Chapter 27 contains information on the SYSTem:DATA and SYSTem:SETup commands for the logic analyzer.
iv
STRigger (STRace) Subsystem
16
The commands explained in this part give you access to all the commands used to operate the logic analyzer portion of the Agilent 1670-series system. This part is designed to provide a concise description of each command.
Part 4 Part 4, chapters 28 through 36 explain each command in the subsystem command set for the oscilloscope. The information covered in Part 4 is only relevant to models containing an oscilloscope.
The commands explained in this part give you access to all the commands used to operate the oscilloscope. This part is designed to provide a concise description of each command.
Part 5 Part 5, chapters 37 through 42 explain each command in the subsystem command set for the pattern generator. The information covered in Part 5 is only relevant to models containing a pattern generator.
The commands explained in this part give you access to all the commands used to operate the pattern generator portion of the Agilent 1670G-series system. This part is designed to provide a concise description of each command.
17
18
19
20
21
22
23
24
25
26
27
SLISt Subsystem
SWAVeform Subsystem
SCHart Subsystem
COMPare Subsystem
TFORmat Subsystem
TTRIGger {TTRACe} Subsystem
TWAVeform Subsystem
TLISt Subsystem
SPA Subsystem
SYMBol Commands
DATA and SETup Commands
28
29
30
Oscilloscope Root Level
Commands
ACQuire Subsystem
CHANnel Subsystem
v
Part 6 Part 6, chapter 43, contains program examples of actual tasks that show you how to get started in programming the Agilent 1670G-series logic analyzers. The complexity of your programs and the tasks they accomplish are limited only by your imagination. These examples are written in HP Basic 6.2; however, the program concepts can be used in any other popular programming language that allows communications over GPIB or RS-232 buses.
vi
31
DISPlay Subsystem
32
33
34
35
36
37
38
39
40
MARKer Subsystem
MEASure Subsystem
TIMebase Subsystem
TRIGger Subsystem
WAVeform Subsystems
Programming the Pattern
Generator
FORMat Subsystem
SEQuence Subsystem
MACRo Subsystem
41
42
43
SYMBol Subsystem
DATA and SETup Commands
Programming Examples
Index
vii
viii

Table of Contents

Part 1 General Information
1 Introduction to Programming the Agilent Technologies 1670G-
Series Logic Analyzer
Talking to the Instrument 1–3
Initialization 1–4 Instruction Syntax 1–5 Output Command 1–5 Device Address 1–6 Instructions 1–6 Instruction Terminator 1–7 Header Types 1–8 Duplicate Keywords 1–9 Query Usage 1–10 Program Header Options 1–11 Parameter Data Types 1–12 Selecting Multiple Subsystems 1–14
Receiving Information from the Instrument 1–15
Response Header Options 1–16 Response Data Formats 1–17 String Variables 1–18 Numeric Base 1–19 Numeric Variables 1–19 Definite-Length Block Response Data 1–20 Multiple Queries 1–21 Instrument Status 1–22
2 Programming Over GPIB
Interface Capabilities 2–3 Command and Data Concepts 2–3 Addressing 2–3 Communicating Over the GPIB Bus (HP 9000 Series 200/300 Controller) 2–4 Local, Remote, and Local Lockout 2–5
Contents–1
Contents
Bus Commands 2–6
3 Programming Over RS-232-C
Interface Operation 3–3 RS-232-C Cables 3–3 Minimum Three-Wire Interface with Software Protocol 3–4 Extended Interface with Hardware Handshake 3–4 Cable Examples 3–6 Configuring the Logic Analyzer Interface 3–8 Interface Capabilities 3–9 RS-232-C Bus Addressing 3–10 Lockout Command 3–11
4 Programming and Documentation Conventions
Truncation Rule 4–3 Infinity Representation 4–4 Sequential and Overlapped Commands 4–4 Response Generation 4–4 Syntax Diagrams 4–4 Notation Conventions and Definitions 4–5 The Command Tree 4–5 Tree Traversal Rules 4–6 Command Set Organization 4–12 Subsystems 4–12 Program Examples 4–13
5 Message Communication and System Functions
Protocols 5–3 Syntax Diagrams 5–5 Syntax Overview 5–7
6 Status Reporting
Event Status Register 6–4 Service Request Enable Register 6–4 Bit Definitions 6–4
Contents–2
Key Features 6–6 Serial Poll 6–7
7 Error Messages
Device Dependent Errors 7–3 Command Errors 7–3 Execution Errors 7–4 Internal Errors 7–4 Query Errors 7–5
Part 2 Instrument Commands
8 Common Commands
*CLS (Clear Status) 8–5 *ESE (Event Status Enable) 8–6 *ESR (Event Status Register) 8–7 *IDN (Identification Number) 8–9 *IST (Individual Status) 8–9 *OPC (Operation Complete) 8–11 *OPT (Option Identification) 8–12 *PRE (Parallel Poll Enable Register Enable) 8–13 *RST (Reset) 8–14 *SRE (Service Request Enable) 8–15 *STB (Status Byte) 8–16 *TRG (Trigger) 8–17 *TST (Test) 8–18 *WAI (Wait) 8–19
Contents
9 Instrument Commands
BEEPer 9–6 CAPability 9–7 CARDcage 9–8 CESE (Combined Event Status Enable) 9–9 CESR (Combined Event Status Register) 9–10 EOI (End Or Identify) 9–11
Contents–3
Contents
LER (LCL Event Register) 9–11 LOCKout 9–12 MENU 9–12 MESE<N> (Module Event Status Enable) 9–14 MESR<N> (Module Event Status Register) 9–16 RMODe 9–18 RTC (Real-time Clock) 9–18 SELect 9–19 SETColor 9–21 STARt 9–22 STOP 9–22 XWINdow 9–23
10 Module Level Commands
ARMLine 10–5 DBLock 10–5 MACHine 10–6 WLISt 10–6
11 SYSTem Subsystem
DATA 11–5 DSP (Display) 11–6 ERRor 11–7 HEADer 11–8 LONGform 11–9 PRINt 11–10 SETup 11–11
12 MMEMory Subsystem
AUToload 12–7 CATalog 12–8 CD (Change Directory) 12–9 COPY 12–10 DOWNload 12–11 INITialize 12–13
Contents–4
LOAD[:CONFig] 12–14 LOAD:IASSembler 12–15 MKDir (Make Directory) 12–16 MSI (Mass Storage Is) 12–17 PACK 12–18 PURGe 12–18 PWD (Present Working Directory) 12–19 REName 12–19 STORe[:CONFig] 12–20 UPLoad 12–21 VOLume 12–22
Part 3 Logic Analyzer Commands
13 MACHine Subsystem
Contents
MACHine 13–4 ARM 13–5 ASSign 13–6 LEVelarm 13–7 NAME 13–8 REName 13–8 RESource 13–9 TYPE 13–10
14 WLISt Subsystem
WLISt (Waveforms/LISting) 14–4 DELay 14–5 INSert 14–6 LINE 14–7 OSTate 14–7 OTIMe 14–8 RANGe 14–8 REMove 14–9 XOTime 14–9 XSTate 14–10 XTIMe 14–10
Contents–5
Contents
15 SFORmat Subsystem
SFORmat 15–6 CLOCk 15–6 LABel 15–7 MASTer 15–9 MOPQual 15–10 MQUal 15–11 REMove 15–12 SETHold 15–12 SLAVe 15–14 SOPQual 15–15 SQUal 15–16 THReshold 15–16
16 STRigger (STRace) Subsystem
Qualifier 16–7 STRigger (STRace) (State Trigger) 16–9 ACQuisition 16–9 BRANch 16–10 CLEar 16–12 FIND 16–13 MLENgth 16–14 RANGe 16–15 SEQuence 16–16 STORe 16–17 TAG 16–18 TAKenbranch 16–19 TCONtrol 16–20 TERM 16–21 TIMER 16–22 TPOSition 16–23
17 SLISt Subsystem
SLISt 17–7 COLumn 17–7
Contents–6
CLRPattern 17–8 DATA 17–9 LINE 17–9 MMODe (Marker Mode) 17–10 OPATtern 17–11 OSEarch 17–12 OSTate 17–13 OTAG 17–14 OVERlay 17–15 REMove 17–15 RUNTil (Run Until) 17–16 TAVerage 17–17 TMAXimum 17–17 TMINimum 17–18 VRUNs 17–18 XOTag 17–19 XOTime 17–19 XPATtern 17–20 XSEarch 17–21 XSTate 17–21 XTAG 17–22
Contents
18 SWAVeform Subsystem
SWAVeform 18–4 ACCumulate 18–5 ACQuisition 18–5 CENTer 18–6 CLRPattern 18–6 CLRStat 18–7 DELay 18–7 INSert 18–8 MLENgth 18–8 RANGe 18–9 REMove 18–10 TAKenbranch 18–10 TPOSition 18–11
Contents–7
Contents
19 SCHart Subsystem
SCHart 19–4 ACCumulate 19–4 CENTer 19–5 HAXis 19–5 VAXis 19–6
20 COMPare Subsystem
COMPare 20–4 CLEar 20–5 CMASk 20–5 COPY 20–6 DATA 20–6 FIND 20–8 LINE 20–8 MENU 20–9 RANGe 20–9 RUNTil (Run Until) 20–10 SET 20–12
21 TFORmat Subsystem
TFORmat (Timing Format) 21–4 ACQMode 21–5 LABel 21–6 REMove 21–7 THReshold 21–8
22 TTRigger (TTRace) Subsystem
Qualifier 22–6 TTRigger (TTRace)(Trace Trigger) 22–8 ACQuisition 22–9 BRANch 22–9 CLEar 22–12 EDGE 22–13 FIND 22–14
Contents–8
MLENgth 22–15 RANGe 22–16 SEQuence 22–17 SPERiod 22–18 TCONtrol (Timer Control) 22–19 TERM 22–20 TIMER 22–21 TPOSition (Trigger Position) 22–22
23 TWAVeform Subsystem
TWAVeform 23–7 ACCumulate 23–7 ACQuisition 23–8 CENTer 23–8 CLRPattern 23–9 CLRStat 23–9 DELay 23–9 INSert 23–10 MLENgth 23–11 MMODe (Marker Mode) 23–12 OCONdition 23–12 OPATtern 23–13 OSEarch 23–14 OTIMe 23–15 RANGe 23–16 REMove 23–16 RUNTil (Run Until) 23–17 SPERiod 23–18 TAVerage 23–18 TMAXimum 23–19 TMINimum 23–19 TPOSition 23–19 VRUNs 23–20 XCONdition 23–21 XOTime 23–21 XPATtern 23–22
Contents
Contents–9
Contents
XSEarch 23–23 XTIMe 23–24
24 TLISt Subsystem
TLISt 24–7 COLumn 24–7 CLRPattern 24–8 DATA 24–9 LINE 24–9 MMODe (Marker Mode) 24–10 OCONdition 24–11 OPATtern 24–12 OSEarch 24–13 OSTate 24–14 OTAG 24–14 REMove 24–15 RUNTil (Run Until) 24–15 TAVerage 24–16 TMAXimum 24–16 TMINimum 24–17 VRUNs 24–17 XCONdition 24–18 XOTag 24–18 XOTime 24–19 XPATtern 24–19 XSEarch 24–20 XSTate 24–21 XTAG 24–21
25 SPA Subsystem
MODE 25–7 OVERView:BUCKet 25–8 OVERView:HIGH 25–9 OVERView:LABel 25–10 OVERView:LOW 25–11 OVERView:MLENgth 25–12
Contents–10
OVERView:OMARker 25–13 OVERView:OVSTatistic 25–14 OVERView:XMARker 25–15 HISTogram:HSTatistic 25–16 HISTogram:LABel 25–17 HISTogram:OTHer 25–18 HISTogram:QUALifier 25–19 HISTogram:RANGe 25–20 HISTogram:TTYPe 25–21 TINTerval:AUTorange 25–22 TINTerval:QUALifier 25–22 TINTerval:TINTerval 25–24 TINTerval:TSTatistic 25–25
26 SYMBol Subsystem
Contents
SYMBol 26–5 BASE 26–5 PATTern 26–6 RANGe 26–7 REMove 26–8 WIDTh 26–8
27 DATA and SETup Commands
Introduction 27–2
Data Format 27–3 SYSTem:DATA 27–4 Section Header Description 27–6 Section Data 27–6 Data Preamble Description 27–6 Acquisition Data Description 27–10 Tag Data Description 27–12 SYSTem:SETup 27–12
Part 4 Oscilloscope Commands
Contents–11
Contents
28 Oscilloscope Root Level Commands
AUToscale 28–3 DIGitize 28–5
29 ACQuire Subsystem
COUNt 29–4 TYPE 29–5
30 CHANnel Subsystem
COUPling 30–4 ECL 30–5 OFFSet 30–6 PROBe 30–7 RANGe 30–8 TTL 30–9
31 DISPlay Subsystem
ACCumulate 31–4 CONNect 31–5 INSert 31–6 LABel 31–7 MINus 31–8 OVERlay 31–8 PLUS 31–9 REMove 31–9
32 MARKer Subsystem
AVOLt 32–6 ABVolt? 32–7 BVOLt 32–7 CENTer 32–8 MSTats 32–8 OAUTo 32–9 OTIMe 32–10
Contents–12
RUNTil (Run Until) 32–11 SHOW 32–12 TAVerage? 32–12 TMAXimum? 32–13 TMINimum? 32–13 TMODe 32–14 VMODe 32–15 VOTime? 32–16 VRUNs? 32–16 VXTime? 32–17 XAUTo 32–18 XOTime? 32–19 XTIMe 32–19
33 MEASure Subsystem
Contents
ALL? 33–4 FALLtime? 33–5 FREQuency? 33–5 NWIDth? 33–6 OVERshoot? 33–6 PERiod? 33–7 PREShoot? 33–7 PWIDth? 33–8 RISetime? 33–8 SOURce 33–9 VAMPlitude? 33–10 VBASe? 33–10 VMAX? 33–11 VMIN? 33–11 VPP? 33–12 VTOP? 33–12
34 TIMebase Subsystem
DELay 34–4 MODE 34–5 RANGe 34–6
Contents–13
Contents
35 TRIGger Subsystem
CONDition 35–5 DELay 35–7 LEVel 35–8 LOGic 35–10 MODE 35–11 PATH 35–12 SLOPe 35–12 SOURce 35–13
36 WAVeform Subsystem
Format for Data Transfer 36–3 Data Conversion 36–5 COUNt? 36–8 DATA? 36–8 FORMat 36–9 POINts? 36–9 PREamble? 36–10 RECord 36–11 SOURce 36–11 SPERiod? 36–12 TYPE? 36–12 VALid? 36–13 XINCrement? 36–13 XORigin? 36–14 XREFerence? 36–14 YINCrement? 36–15 YORigin? 36–15 YREFerence? 36–16
Part 5 Pattern Generator Commands
37 Programming the Pattern Generator
Programming Overview 37–3
Contents–14
Example Pattern Generator Program 37–3 Selecting the Pattern Generator 37–4 Command Set Organization 37–5
Pattern Generator Level Commands 37–7
STEP 37–8 RESume 37–10
38 FORMat Subsystem
FORMat Subsystem 38–2
CLOCk 38–3 DELay 38–4 LABel 38–5 MODe 38–7 REMove 38–8
Contents
39 SEQuence Subsystem
SEQuence Subsystem 39–2
COLumn 39–4 EPATtern 39–5 INSert 39–7 PROGram 39–10 REMove 39–14
40 MACRo Subsystem
MACRo Subsystem 40–2
INSert 40–5 NAME 40–8 PARameter 40–9 PROGram 40–10 REMove 40–13
Contents–15
Contents
41 SYMBol Subsystem
SYMBol Subsystem 41–2
BASE 41–4 PATTern 41–5 RANGe 41–6 REMove 41–7 WIDTh 41–8
42 DATA and SETup Commands
Data and Setup Commands 42–2
SYSTem:DATA 42–4 SYSTem:SETup 42–5
Part 6 Programming Examples
43 Programming Examples
Making a Timing Analyzer Measurement 43–3 Making a State Analyzer Measurement 43–5 Making a State Compare Measurement 43–9 Transferring the Logic Analyzer Configuration 43–14 Checking for Measurement Completion 43–17 Sending Queries to the Logic Analyzer 43–18
Contents–16
Part 1

General Information

1

Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer

Introduction
This chapter introduces you to the basics of remote programming and is organized in two sections. The first section, "Talking to the Instrument," concentrates on initializing the bus, program syntax and the elements of a syntax instruction. The second section, "Receiving Information from the Instrument," discusses how queries are sent and how to retrieve query results from the mainframe instruments.
The programming instructions explained in this book conform to IEEE Std 488.2-1987, "IEEE Standard Codes, Formats, Protocols, and Common Commands." These programming instructions provide a means of remotely controlling the Agilent Technologies 1670G-series logic analyzer. There are three general categories of use. You can:
Set up the instrument and start measurements.
Retrieve setup information and measurement results.
Send measurement data to the instrument.
The instructions listed in this manual give you access to the measurements and front panel features of the Agilent Technologies 1670G-series logic analyzer. The complexity of your programs and the tasks they accomplish are limited only by your imagination. This programming reference is designed to provide a concise description of each instruction.
1–2

Talking to the Instrument

In general, computers acting as controllers communicate with the instrument by sending and receiving messages over a remote interface, such as GPIB or RS-232-C. Instructions for programming the Agilent Technologies 1670G-series logic analyzer will normally appear as ASCII character strings embedded inside the output statements of a "host" language available on your controller. The host language’s input statements are used to read in responses from the Agilent Technologies 1670G-series logic analyzer.
For example, HP 9000 Series 200/300 BASIC (Y2K updates for currently supported versions of HP BASIC can be found at http://hp.iwcon.com/tm-y2k/cgi-bin/tm_search.pl) uses the OUTPUT statement for sending commands and queries to the Agilent Technologies 1670G-series logic analyzer. After a query is sent, the response can be read in using the ENTER statement. All programming examples in this manual are presented in HP BASIC.
Example This BASIC statement sends a command that causes the logic analyzer’s
machine 1 to be a state analyzer:
OUTPUT XXX;":MACHINE1:TYPE STATE" <terminator>
Each part of the above statement is explained in this section.
1–3
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer
Initialization
Initialization
To make sure the bus and all appropriate interfaces are in a known state, begin every program with an initialization statement. BASIC provides a CLEAR command that clears the interface buffer. If you are using GPIB, CLEAR will also reset the parser in the logic analyzer. The parser is the program resident in the logic analyzer that reads the instructions you send to it from the controller.
After clearing the interface, you could preset the logic analyzer to a known state by loading a predefined configuration file from the disk.
Refer to your controller manual and programming language reference manual for information on initializing the interface.
Example This BASIC statement would load the configuration file "DEFAULT " (if it
exists) into the logic analyzer.
OUTPUT XXX;":MMEMORY:LOAD:CONFIG ’DEFAULT ’"
Refer to chapter 12, "MMEMory Subsystem" for more information on the LOAD command.
Example This program demonstrates the basic command structure used to program
the Agilent Technologies 1670G-series logic analyzers.
10 CLEAR XXX !Initialize instrument interface 20 OUTPUT XXX;":SYSTEM:HEADER ON"!Turn headers on 30 OUTPUT XXX;":SYSTEM:LONGFORM ON" !Turn longform on 40 OUTPUT XXX;":MMEM:LOAD:CONFIG ’TEST E’" !Load configuration file 50 OUTPUT XXX;":MENU FORMAT,1" !Select Format menu for machine 1 60 OUTPUT XXX;":RMODE SINGLE" !Select run mode 70 OUTPUT XXX;":START" !Run the measurement
1–4
Loading...
+ 596 hidden pages