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 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.
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 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.
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.
31 DISPlay Subsystem 32 MARKer Subsystem 33 MEASure Subsystem 34 TIMebase Subsystem 35 TRIGger Subsystem 36 WAVeform Subsystems 37 Programming the Pattern Generator 38 FORMat Subsystem 39 SEQuence Subsystem 40 MACRo Subsystem 41 SYMBol Subsystem 42 DATA and SETup Commands 43 Programming Examples Index vii
viii
Table of Contents Part 1 General Information 1 Introduction to Programming the Agilent Technologies 1670GSeries 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 Respons
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 Diagr
Contents 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 Requ
Contents LER (LCL Event Register) 9–11 LOCKout 9–12 MENU 9–12 MESE (Module Event Status Enable) 9–14 MESR (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 COP
Contents 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 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 XOTi
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) 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 16
Contents 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 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
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) ACQuisition 22–9 BRANch 22–9 CLEar 22–12 EDGE 22–13 FIND 22–14 Contents–8 22–8
Contents 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–1
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 OVE
Contents 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 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 Heade
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
Contents 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 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 Program
Contents 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 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–
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.
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.
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.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Instruction Syntax Instruction Syntax To program the logic analyzer remotely, you must have an understanding of the command format and structure. The IEEE 488.2 standard governs syntax rules pertaining to how individual elements, such as headers, separators, parameters and terminators, may be grouped together to form complete instructions. Syntax definitions are also given to show how query responses will be formatted.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Device Address Device Address The location where the device address must be specified also depends on the host language that you are using. In some languages, this could be specified outside the output command. In BASIC, this is always specified after the keyword OUTPUT. The examples in this manual use a generic address of XXX.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Instruction Terminator When you look up a query in this programmer’s reference, you’ll find a paragraph labeled "Returned Format" under the one labeled "Query." The syntax definition by "Returned format" will always show the instruction header in square brackets, like [:SYSTem:MENU], which means the text between the brackets is optional. It is also a quick way to see what the header looks like.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Header Types Header Types There are three types of headers: Simple Command, Compound Command, and Common Command. Simple Command Header Simple command headers contain a single keyword. START and STOP are examples of simple command headers typically used in this logic analyzer.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Duplicate Keywords Common Command Header Common command headers control IEEE 488.2 functions within the logic analyzer, such as, clear status. The syntax is: * No white space or separator is allowed between the asterisk and the command header. *CLS is an example of a common command header.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Query Usage Query Usage Logic analyzer instructions that are immediately followed by a question mark (?) are queries. After receiving a query, the logic analyzer parser places the response in the output buffer. The output message remains in the buffer until it is read or until another logic analyzer instruction is issued. When read, the message is transmitted across the bus to the designated listener (typically a controller).
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Program Header Options Program Header Options Program headers can be sent using any combination of uppercase or lowercase ASCII characters. Logic analyzer responses, however, are always returned in uppercase. Both program command and query headers may be sent in either long form (complete spelling), short form (abbreviated spelling), or any combination of long form and short form.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Parameter Data Types Parameter Data Types There are three main types of data which are used in parameters. They are numeric, string, and keyword. A fourth type, block data, is used only for a few instructions: the DATA and SETup instructions in the SYSTem subsystem (see chapter 11); the CATalog, UPLoad, and DOWNload instructions in the MMEMory subsystem (see chapter 12).
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Parameter Data Types When a syntax definition specifies that a number is an integer, that means that the number should be whole. Any fractional part would be ignored, truncating the number. Numeric parameters that accept fractional values are called real numbers. All numbers are expected to be strings of ASCII characters.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Selecting Multiple Subsystems Selecting Multiple Subsystems You can send multiple program commands and program queries for different subsystems on the same line by separating each command with a semicolon. The colon following the semicolon enables you to enter a new subsystem. ;: Multiple commands may be any combination of simple, compound and common commands.
Receiving Information from the Instrument After receiving a query (logic analyzer instruction followed by a question mark), the logic analyzer interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read, or, until another command is issued. When read, the message is transmitted across the bus to the designated listener (typically a controller).
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Response Header Options Response Header Options The format of the returned ASCII string depends on the current settings of the SYSTEM HEADER and LONGFORM commands. The general format is The header identifies the data that follows (the parameters) and is controlled by issuing a :SYSTEM:HEADER ON/OFF command.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Response Data Formats Response Data Formats Both numbers and strings are returned as a series of ASCII characters, as described in the following sections. Keywords in the data are returned in the same format as the header, as specified by the LONGform command. Like the headers, the keywords will always be in uppercase. Example The following are possible responses to the MACHINE1: TFORMAT: LAB? ’ADDR’ query.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer String Variables String Variables Because there are so many ways to code numbers, the Agilent Technologies 1670G-series logic analyzer handles almost all data as ASCII strings. Depending on your host language, you may be able to use other types when reading in responses.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Numeric Base The output of the logic analyzer may be numeric or character data depending on what is queried. Refer to the specific commands, in Parts 2 and 3 of this guide, for the formats and types of data returned from queries.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Definite-Length Block Response Data This time the format of the number (such as, whether or not exponential notation is used) is dependent upon your host language. The output will resemble 1.E-5 in BASIC. Definite-Length Block Response Data Definite-length block response data, also referred to as block data, allows any type of device-dependent data to be transmitted over the system interface as a series of data bytes.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Multiple Queries Multiple Queries You can send multiple queries to the logic analyzer within a single program message, but you must also read them back within a single program message. This can be accomplished by either reading them back into a string variable or into multiple numeric variables.
Introduction to Programming the Agilent Technologies 1670G-Series Logic Analyzer Instrument Status Instrument Status Status registers track the current status of the logic analyzer. By checking the instrument status, you can find out whether an operation has been completed, whether the instrument is receiving triggers, and more. Chapter 6, "Status Reporting," explains how to check the status of the instrument.
2 Programming Over GPIB
Introduction This section describes the GPIB interface functions and some general concepts of GPIB. In general, these functions are defined by IEEE 488.1 (GPIB bus standard). They deal with general bus management issues, as well as messages which can be sent over the bus as bus commands.
Programming Over GPIB Interface Capabilities Interface Capabilities The interface capabilities of the Agilent 1670G-series logic analyzer, as defined by IEEE 488.1 are SH1, AH1, T5, TE0, L3, LE0, SR1, RL1, PP0, DC1, DT1, C0, and E2. Command and Data Concepts GPIB has two modes of operation: command mode and data mode. The bus is in command mode when the ATN line is true. The command mode is used to send talk and listen addresses and various bus commands, such as a group execute trigger (GET).
Programming Over GPIB Communicating Over the GPIB Bus (HP 9000 Series 200/300 Controller) If the controller addresses the instrument to talk, it will remain configured to talk until it receives: • • • • an interface clear message (IFC) another instrument’s talk address (OTA) its own listen address (MLA) a universal untalk (UNT) command If the controller addresses the instrument to listen, it will remain configured to listen until it receives: • an interface clear message (IFC) • its own talk address (M
Programming Over GPIB Local, Remote, and Local Lockout Example For example, if the instrument address is 4 and the interface select code is 7, the instruction will cause an action in the instrument at device address 704. DEVICE ADDRESS = (Interface Select Code) × 100 + (Instrument Address) Local, Remote, and Local Lockout The local, remote, and remote with local lockout modes may be used for various degrees of front-panel control while a program is running.
Programming Over GPIB Bus Commands Bus Commands The following commands are IEEE 488.1 bus commands (ATN true). IEEE 488.2 defines many of the actions which are taken when these commands are received by the logic analyzer. Device Clear The device clear (DCL) or selected device clear (SDC) commands clear the input and output buffers, reset the parser, clear any pending commands, and clear the Request-OPC flag.
3 Programming Over RS-232-C
Introduction This chapter describes the interface functions and some general concepts of RS-232-C. The RS-232-C interface on this instrument is Agilent’s implementation of EIA Recommended Standard RS-232-C, "Interface Between Data Terminal Equipment and Data Communications Equipment Employing Serial Binary Data Interchange." With this interface, data is sent one bit at a time, and characters are not synchronized with preceding or subsequent data characters.
Programming Over RS-232-C Interface Operation Interface Operation The Agilent 1670G-series logic analyzer can be programmed with a controller over RS-232-C using either a minimum three-wire or extended hardwire interface. The operation and exact connections for these interfaces are described in more detail in the following sections.
Programming Over RS-232-C Minimum Three-Wire Interface with Software Protocol Minimum Three-Wire Interface with Software Protocol With a three-wire interface, the software (as compared to interface hardware) controls the data flow between the logic analyzer and the controller. The three-wire interface provides no hardware means to control data flow between the controller and the logic analyzer. Therefore, XON/OFF protocol is the only means to control this data flow.
Programming Over RS-232-C Extended Interface with Hardware Handshake • Pin 7 SGND (Signal Ground) • Pin 2 TD (Transmit Data from logic analyzer) • Pin 3 RD (Receive Data into logic analyzer) The additional lines you use depends on your controller’s implementation of the extended hardwire interface. • Pin 4 RTS (Request To Send) is an output from the logic analyzer which can be used to control incoming data flow.
Programming Over RS-232-C Cable Examples Cable Examples HP 9000 Series 300 Figure 3-1 is an example of how to connect the Agilent 1670G-series to the HP 98628A interface card of an HP 9000 series 300 controller. For more information on cabling, refer to the reference manual for your specific controller. Because this example does not have the correct connections for hardware handshake, you must use the XON/XOFF protocol when connecting the logic analyzer.
Programming Over RS-232-C Cable Examples Figure 3-2 25-pin (F) to 25-pin (M) Cable Figure 3-3 shows the schematic of a 25-pin male to 25-pin male cable 5 meters in length.
Programming Over RS-232-C Configuring the Logic Analyzer Interface Figure 3-4 shows the schematic of a 9-pin female to 25-pin male cable. The following cables support this configuration: • 24542G, DB-9(F) to DB-25(M), 3 meter • 24542H, DB-9(F) to DB-25(M), 3 meter, shielded • 45911-60009, DB-9(F) to DB-25(M), 1.
Programming Over RS-232-C Interface Capabilities Interface Capabilities The baud rate, stopbits, parity, protocol, and databits must be configured exactly the same for both the controller and the logic analyzer to properly communicate over the RS-232-C bus. The RS-232-C interface capabilities of the Agilent 1670G-series logic analyzer are listed below: • • • • • Baud Rate: 110, 300, 600, 1200, 2400, 4800, 9600, or 19.2k Stop Bits: 1, 1.
Programming Over RS-232-C RS-232-C Bus Addressing The controller and the Agilent 1670G-series logic analyzer must be in the same bit mode to properly communicate over the RS-232-C. This means that the controller must have the capability to send and receive 8-bit data. See Also For more information on the RS-232-C interface, refer to the Agilent 1670G-Series Logic Analyzers User’s Guide.
Programming Over RS-232-C Lockout Command Lockout Command To lockout the front-panel controls, use the instrument command LOCKout. When this function is on, all controls (except the power switch) are entirely locked out. Local control can only be restored by sending the :LOCKout OFF command. CAUTION See Also Cycling the power will also restore local control, but this will also reset certain RS-232-C states.
3–12
4 Programming and Documentation Conventions
Introduction This chapter covers the programming conventions used in programming the instrument, as well as the documentation conventions used in this manual. This chapter also contains a detailed description of the command tree and command tree traversal.
Programming and Documentation Conventions Truncation Rule Truncation Rule The truncation rule for the keywords used in headers and parameters is: If the long form has four or fewer characters, there is no change in the short form. When the long form has more than four characters the short form is just the first four characters, unless the fourth character is a vowel. In that case only the first three characters are used. There are some commands that do not conform to the truncation rule by design.
Programming and Documentation Conventions Infinity Representation Infinity Representation The representation of infinity is 9.9E+37 for real numbers and 32767 for integers. This is also the value returned when a measurement cannot be made. Sequential and Overlapped Commands IEEE 488.2 makes the distinction between sequential and overlapped commands. Sequential commands finish their task before the execution of the next command starts.
Programming and Documentation Conventions Notation Conventions and Definitions Notation Conventions and Definitions The following conventions are used in this manual when describing programming rules and example. < > Angular brackets enclose words or characters that are used to symbolize a program code parameter or a bus command ::= "is defined as." For example, A ::= B indicates that A can be replaced by B in any statement containing A. | "or." Indicates a choice of one element from a list.
Programming and Documentation Conventions Tree Traversal Rules Command Types As shown in chapter 1, in the topic, "Header Types," there are three types of headers. Each header has a corresponding command type. This section shows how they relate to the command tree. System Commands The system commands reside at the top level of the command tree. These commands are always parsable if they occur at the beginning of a program message, or are preceded by a colon. START and STOP are examples of system commands.
Programming and Documentation Conventions Tree Traversal Rules The following examples are written using HP BASIC 6.2. The quoted string is placed on the bus, followed by a carriage return and linefeed (CRLF). The three Xs (XXX) shown in this manual after an ENTER or OUTPUT statement represents the device address required by your controller. Example 1 In this example, the colon between SYSTEM and HEADER is necessary since SYSTEM:HEADER is a compound command.
Programming and Documentation Conventions Tree Traversal Rules Figure 4-1 Agilent 1670G-Series Command Tree 4–8
Programming and Documentation Conventions Tree Traversal Rules Figure 4-1 (continued) Agilent 1670G-Series Command Tree (continued) 4–9
Programming and Documentation Conventions Tree Traversal Rules Table 4-2 Alphabetic Command Cross-Reference Command ACCumulate Subsystem SCHart, SWAVeform, TWAVeform, ACQMode ACQuisition TFORmat STRigger, SWAVeform, TTRigger, TWAVeform MACHine MACHine MMEMory TINTerval SYMBol Mainframe STRigger, TTRigger OVERView Mainframe Mainframe MMEMory MMEMory SWAVeform, TWAVeform Mainframe Mainframe COMPare, STRigger, TTRigger SFORmat SLISt, SWAVeform, TLISt, TWAVeform SWAVeform, TWAVeform COMPare SLISt, TLISt COM
Programming and Documentation Conventions Tree Traversal Rules Table 4-2 (continued) Alphabetic Command Cross-Reference Command OTIMe OVERlay OVERView OVSTatistic PACK PATTern PRINt PURGe PWD RANGe REMove REName RESource RMODe RTC RUNTil SELect SEQuence SET SETColor SETHold SETup SKEW SLAVe SOPQual SPA SPERiod SQUal STARt STOP STORe TAG TAKenbranch TAVerage TCONtrol TERM Subsystem TWAVeform, WLISt SLISt SPA OVERView MMEMory SYMBol SYSTem MMEMory MMEMory COMPare, STRigger, SWAVeform, SYMBol, TTRigger, TWAV
Programming and Documentation Conventions Command Set Organization Command Set Organization The command set for the Agilent 1670G-series logic analyzers is divided into 19 separate groups: common commands, system commands, and 17 sets of subsystem commands. Each of the 19 groups of commands is described in a separate chapter in Parts 2 and 3, "Commands.
Programming and Documentation Conventions Program Examples • • • • • TTRigger - allows access to the timing trigger functions. TWAVeform - allows access to the timing waveforms functions. TLISt - allows access to the timing listing functions. SYMBol - allows access to the symbol specification functions. SPA - allows access to the System Performance Analysis (SPA) functions.
4–14
5 Message Communication and System Functions
Introduction This chapter describes the operation of instruments that operate in compliance with the IEEE 488.2 (syntax) standard. It is intended to give you enough basic information about the IEEE 488.2 standard to successfully program the logic analyzer. You can find additional detailed information about the IEEE 488.2 standard in ANSI/IEEE Std 488.2-1987, "IEEE Standard Codes, Formats, Protocols, and Common Commands.
Message Communication and System Functions Protocols Protocols The protocols of IEEE 488.2 define the overall scheme used by the controller and the instrument to communicate. This includes defining when it is appropriate for devices to talk or listen, and what happens when the protocol is not followed. Functional Elements Before proceeding with the description of the protocol, a few system components should be understood.
Message Communication and System Functions Protocols Protocol Overview The instrument and controller communicate using s and s. These messages serve as the containers into which sets of program commands or instrument responses are placed. s are sent by the controller to the instrument, and s are sent from the instrument to the controller in response to a query message.
Message Communication and System Functions Syntax Diagrams Protocol Exceptions If an error occurs during the information exchange, the exchange may not be completed in a normal manner. Some of the protocol exceptions are shown below. Command Error A command error will be reported if the instrument detects a syntax error or an unrecognized command header.
Message Communication and System Functions Syntax Diagrams Figure 5-1 Example Syntax Diagram 5–6
Message Communication and System Functions Syntax Overview Syntax Overview This overview is intended to give a quick glance at the syntax defined by IEEE 488.2. It will help you understand many of the things about the syntax you need to know. IEEE 488.2 defines the blocks used to build messages which are sent to the instrument. A whole string of commands can therefore be broken up into individual components.
Message Communication and System Functions Syntax Overview Figure 5-2 Parse Tree 5–8
Message Communication and System Functions Syntax Overview Upper/Lower Case Equivalence Upper and lower case letters are equivalent. The mnemonic SINGLE has the same semantic meaning as the mnemonic single. is defined to be one or more characters from the ASCII set of 0 - 32 decimal, excluding 10 decimal (NL). is used by several instrument listening components of the syntax. It is usually optional, and can be used to increase the readability of a program.
Message Communication and System Functions Syntax Overview Suffix Unit The suffix units that the instrument will accept are shown in table 5-2.
6 Status Reporting
Introduction Status reporting allows you to use information about the instrument in your programs, so that you have better control of the measurement process. For example, you can use status reporting to determine when a measurement is complete, thus controlling your program, so that it does not get ahead of the instrument. This chapter describes the status registers, status bytes and status bits defined by IEEE 488.2 and discusses how they are implemented in the Agilent 1670G-series logic analyzers.
Status Reporting Figure 6-1 Status Byte Structures and Concepts 6–3
Status Reporting Event Status Register Event Status Register The Event Status Register is an IEEE 488.2-defined register. The bits in this register are latched. Once an event happens which sets a bit, that bit will only be cleared if the register is read. Service Request Enable Register The Service Request Enable Register is an 8-bit register. Each bit enables the corresponding bit in the status byte to cause a service request. The sixth bit does not logically exist and is always returned as a zero.
Status Reporting Bit Definitions MSG - message Indicates whether there is a message in the message queue (Not implemented in the Agilent 1670G-series logic analyzer). PON - power on Indicates power has been turned on. URQ - user request Always returns a 0 from the Agilent 1670G-series logic analyzer. CME - command error Indicates whether the parser detected an error. The error numbers and strings for CME, EXE, DDE, and QYE can be read from a device-defined queue (which is not part of IEEE 488.
Status Reporting Key Features LCL - remote to local Indicates whether a remote to local transition has occurred. MSB - module summary bit Indicates that an enable event in one of the status registers has occurred. Key Features A few of the most important features of Status Reporting are listed in the following paragraphs. Operation Complete The IEEE 488.2 structure provides one technique that can be used to find out if any operation is finished.
Status Reporting Serial Poll Figure 6-2 Service Request Enabling Serial Poll The Agilent 1670G-series logic analyzer supports the IEEE 488.1 serial poll feature. When a serial poll of the instrument is requested, the RQS bit is returned on bit 6 of the status byte.
Status Reporting Serial Poll Using Serial Poll (GPIB) This example will show how to use the service request by conducting a serial poll of all instruments on the GPIB bus. In this example, assume that there are two instruments on the bus: a logic analyzer at address 7 and a printer at address 1. The HP BASIC 6.2 program command for serial poll is Stat = SPOLL(707). The address 707 is the address of the logic analyzer in the this example.
7 Error Messages
Introduction This chapter lists the error messages that are returned by the Agilent 1670G-series logic analyzers.
Error Messages Device Dependent Errors Device Dependent Errors 200 201 202 203 300 Label not found Pattern string invalid Qualifier invalid Data not available RS-232-C error Command Errors –100 –101 –110 –111 –120 –121 –123 –129 –130 Command error (unknown command)(generic error) Invalid character received Command header error Header delimiter error Numeric argument error Wrong data type (numeric expected) Numeric overflow Missing numeric argument Non numeric argument error (character,string, or block)
Error Messages Execution Errors Execution Errors –200 –201 –202 –203 –211 –212 –221 Can not do (generic execution error) Not executable in Local Mode Settings lost due to return-to-local or power on Trigger ignored Legal command, but settings conflict Argument out of range Busy doing something else –222 –232 –240 –241 –242 –243 –244 –245 –246 –247 –248 Insufficient capability or configuration Output buffer full or overflow Mass Memory error (generic) Mass storage device not present No media Bad media Me
Error Messages Query Errors –321 –322 –330 –340 –350 ROM checksum Hardware and firmware incompatible Power on test failed Self test failed Too many errors (error queue overflow) Query Errors –400 –410 –420 –421 –422 –430 Query error (generic) Query INTERRUPTED Query UNTERMINATED Query received.
7–6
Part 2 Instrument Commands
8 Common Commands
Introduction The common commands are defined by the IEEE 488.2 standard. These commands must be supported by all instruments that comply with this standard. Refer to figure 8-1 and table 8-1 for the common commands syntax diagram and parameter values. The common commands control some of the basic instrument functions such as instrument identification and reset, how status is read and cleared, and how commands and queries are received and processed by the instrument.
Common Commands Example This program message initializes the disk, selects the logic analyzer, then stores the file. In this example, :MMEMORY must be sent again in order to reenter the memory subsystem and store the file. ":MMEMORY:INITIALIZE;:SELECT 1;:MMEMORY:STORE ’FILE ’DESCRIPTION’" ’, Status Registers Each status register has an associated status enable (mask) register. By setting the bits in the status enable register you can select the status information you wish to use.
Common Commands Figure 8-1 Common Commands Syntax Diagram 8–4
Common Commands *CLS (Clear Status) Table 8-1 Common Command Parameter Values Parameter Values mask An integer, 0 through 255. pre_mask An integer, 0 through 65535. *CLS (Clear Status) Command *CLS The *CLS common command clears all event status registers, queues, and data structures, including the device defined error queue and status byte. If the *CLS command immediately follows a , the output queue and the MAV (Message Available) bit will be cleared.
Common Commands *ESE (Event Status Enable) *ESE (Event Status Enable) Command *ESE The *ESE command sets the Standard Event Status Enable Register bits. The Standard Event Status Enable Register contains a bit to enable the status indicators detailed in table 8-2. A 1 in any bit position of the Standard Event Status Enable Register enables the corresponding status bit in the Standard Event Status Register. Refer to Chapter 6, "Status Reporting" for a complete discussion of status.
Common Commands *ESR (Event Status Register) Table 8-2 Standard Event Status Enable Register Bit Position Bit Weight Enables 7 128 PON - Power On 6 64 URQ - User Request 5 32 CME - Command Error 4 16 EXE - Execution Error 3 8 DDE - Device Dependent Error 2 4 QYE - Query Error 1 2 RQC - Request Control 0 1 OPC - Operation Complete *ESR (Event Status Register) Query *ESR? The *ESR? query returns the contents of the Standard Event Status Register.
Common Commands *ESR (Event Status Register) Table 8-3 shows the Standard Event Status Register. The table details the meaning of each bit position in the Standard Event Status Register and the bit weight. When you read Standard Event Status Register, the value returned is the total bit weight of all the bits that are high at the time you read the byte.
Common Commands *IDN (Identification Number) *IDN (Identification Number) Query *IDN? The *IDN? query allows the instrument to identify itself. It returns the string: "Agilent,1670G,0,REV " An *IDN? query must be the last query in a message. Any queries after the *IDN? in the program message are ignored. Returned Format Agilent,1670G,0,REV Example Four digit-code in the format XX.XX representing the current ROM revision.
Common Commands *IST (Individual Status) Figure 8-2 *IST Data Structure 8–10
Common Commands *OPC (Operation Complete) *OPC (Operation Complete) Command *OPC The *OPC command will cause the instrument to set the operation complete bit in the Standard Event Status Register when all pending device operations have finished. The commands which affect this bit are the overlapped commands. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress.
Common Commands *OPT (Option Identification) *OPT (Option Identification) Query *OPT? The *OPT? query identifies the software installed in the Agilent 1670G-series logic analyzer. This query returns nine parameters. The first parameter indicates whether you are in the system. The next two parameters indicate any software options installed, and the next parameter indicates whether intermodule is available for the system.
Common Commands *PRE (Parallel Poll Enable Register Enable) *PRE (Parallel Poll Enable Register Enable) Command *PRE The *PRE command sets the Parallel Poll Register enable bits. The Parallel Poll Enable Register contains a mask value that is ANDed with the bits in the Status Bit Register to enable an "ist" during a parallel poll. Refer to table 8-4 for the bits in the Parallel Poll Enable Register and for what they mask. Example An integer from 0 to 65535.
Common Commands *RST (Reset) Table 8-4 Parallel Poll Enable Register Bit Position Bit Weight 15 -8 Enables Not used 7 128 Not used 6 64 MSS - Master Summary Status 5 32 ESB - Event Status 4 16 MAV - Message Available 3 8 LCL - Local 2 4 Not used 1 2 Not used 0 1 MSB - Module Summary *RST (Reset) The *RST command is not implemented on the Agilent 1670G-series logic analyzer.
Common Commands *SRE (Service Request Enable) *SRE (Service Request Enable) Command *SRE The *SRE command sets the Service Request Enable Register bits. The Service Request Enable Register contains a mask value for the bits to be enabled in the Status Byte Register. A one in the Service Request Enable Register will enable the corresponding bit in the Status Byte Register. A zero will disable the bit. Refer to table 8-5 for the bits in the Service Request Enable Register and what they mask.
Common Commands *STB (Status Byte) Table 8-5 Agilent 1670G-Series Service Request Enable Register Bit Position Bit Weight 15-8 Enables not used 7 128 not used 6 64 MSS - Master Summary Status (always 0) 5 32 ESB - Event Status 4 16 MAV - Message Available 3 8 LCL- Local 2 4 not used 1 2 not used 0 1 MSB - Module Summary *STB (Status Byte) Query *STB? The *STB? query returns the current value of the instrument’s status byte.
Common Commands *TRG (Trigger) Table 8-6 Status Byte Register Bit Position Bit Weight 7 128 6 64 MSS 0 = instrument has no reason for service 1 = instrument is requesting service 5 32 ESB 0 = no event status conditions have occurred 1 = an enabled event status condition has occurred 4 16 MAV 0 = no output messages are ready 1 = an output message is ready 3 8 LCL 0 = a remote-to-local transition has not occurred 1 = a remote-to-local transition has occurred 2 4 1 2 0 1 Bit Name C
Common Commands *TST (Test) *TST (Test) Query *TST? The *TST? query returns the results of the power-up self-test. The result of that test is a 9-bit mapped value which is placed in the output queue. A one in the corresponding bit means that the test failed and a zero in the corresponding bit means that the test passed. Refer to table 8-7 for the meaning of the bits returned by a TST? query.
Common Commands *WAI (Wait) *WAI (Wait) Command *WAI The *WAI command causes the device to wait until completing all of the overlapped commands before executing any further commands or queries. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress. Some examples of overlapped commands for the Agilent 1670G-series logic analyzer are STARt and STOP.
8–20
9 Instrument Commands
Introduction Instrument commands control the basic operation of the instrument for the Agilent 1670G-series logic analyzers. The Agilent 1670G-series logic analyzers are similar to an 16500 logic analysis system with a single logic analyzer module (Agilent 1670G). This chapter contains instrument commands with a syntax example for each command. Each syntax example contains parameters for the Agilent 1670-series only.
Instrument Commands Figure 9-1 Mainframe Commands Syntax Diagram 9–3
Instrument Commands Figure 9-1 (continued) Mainframe Commands Syntax Diagram (continued) 9–4
Instrument Commands Table 9-1 Mainframe Parameter Values Parameter Values value An integer from 0 to 65535 module An integer 0 or 1 (2 through 10 unused) menu An integer enable_value An integer from 0 to 255 index An integer from 0 to 5 day An integer from 1 through 31 month An integer from 1 through 12 year An integer from 1990 through 2089 hour An integer from 0 through 23 minute An integer from 0 through 59 second An integer from 0 through 59 color An integer from 1 to 7 hue
Instrument Commands BEEPer BEEPer Command :BEEPer [{ON|1}|{OFF|0}] The BEEPer command sets the beeper mode, which turns the beeper sound of the instrument on and off. When BEEPer is sent with no argument, the beeper will be sounded without affecting the current mode. Example OUTPUT XXX;":BEEPER" OUTPUT XXX;":BEEP ON" Query :BEEPer? The BEEPer? query returns the mode currently selected.
Instrument Commands CAPability CAPability Query :CAPability? The CAPability? query returns the system language and lower level capability sets implemented in the device. Table 9-2 lists the capability sets implemented in the Agilent 1670G-series logic analyzer.
Instrument Commands CARDcage CARDcage Query :CARDcage? The CARDcage? query returns 10 integers which identify the card setup that is installed in the logic analyzer. The Agilent 1670G-series logic analyzers always return the same series of integers since the analyzers are not expandable the way an 16500 logic analysis system is. The string returned by the query is in two parts. The first five two-digit numbers identify the card type.
Instrument Commands CESE (Combined Event Status Enable) CESE (Combined Event Status Enable) Command :CESE The CESE command sets the Combined Event Status Enable register. This register is the enable register for the CESR register and contains the combined status of all of the MESE (Module Event Status Enable) registers of the Agilent 1670G-series logic analyzers. Table 9-3 lists the bit values for the CESE register.
Instrument Commands CESR (Combined Event Status Register) CESR (Combined Event Status Register) Query :CESR? The CESR? query returns the contents of the Combined Event Status register. This register contains the combined status of all of the MESRs (Module Event Status Registers) of the Agilent 1670G-series. Table 9-4 lists the bit values for the CESR register.
Instrument Commands EOI (End Or Identify) EOI (End Or Identify) Command :EOI {{ON|1}|{OFF|0}} The EOI command specifies whether or not the last byte of a reply from the instrument is to be sent with the EOI bus control line set true or not. If EOI is turned off, the logic analyzer will no longer be sending IEEE 488.2 compliant responses. Example OUTPUT XXX;":EOI ON" Query :EOI? The EOI? query returns the current status of EOI.
Instrument Commands LOCKout LOCKout Command :LOCKout {{ON|1}|{OFF|0}} The LOCKout command locks out or restores front panel operation. When this function is on, all controls (except the power switch) are entirely locked out. Example OUTPUT XXX;":LOCKOUT ON" Query :LOCKout? The LOCKout? query returns the current status of the LOCKout command. Returned Format [:LOCKout] {0|1} Example OUTPUT XXX;":LOCKOUT?" MENU Command :MENU [,
Instrument Commands MENU Table 9-5 Query Menu Parameter Values Parameters Menu 0,0 System External I/O 0,1 System Hard Disk 0,2 System Flexible Disk 0,3 System Utilities 0,4 System Test 1,0 Analyzer Configuration 1,1 Format 1 1,2 Format 2 1,3 Trigger 1 1,4 Trigger 2 1,5 Waveform 1 1,6 Waveform 2 1,7 Listing 1 1,8 Listing 2 1,9 Mixed 1,10 Compare 1 1,11 Compare 2 1,12 Chart 1 1,13 Chart 2 :MENU? The MENU? query returns the current menu selection.
Instrument Commands MESE (Module Event Status Enable) MESE (Module Event Status Enable) Command :MESE The Agilent 1670G-series logic analyzers support the MESE command for compatibility with other logic analyzer programs but do not take any action when the command is sent. In 16500 programs, the MESE command sets the Module Event Status Enable register. The index specifies the module, and the parameter specifies the enable value. An integer, 0 through 10.
Instrument Commands MESE (Module Event Status Enable) Table 9-6 Table 9-7 Agilent 1670G-Series Logic Analyzer Mainframe (Intermodule) Module Event Status Enable Register Bit Position Bit Weight Enables 7 128 not used 6 84 not used 5 32 not used 4 16 not used 3 8 not used 2 4 not used 1 2 RNT - Intermodule Run Until Satisfied 0 1 MC - Intermodule Measurement Complete Agilent 1670G-Series Logic Analyzer Module Event Status Enable Register Bit Position Bit Weight Enables 7
Instrument Commands MESR (Module Event Status Register) MESR (Module Event Status Register) Query :MESR? The MESR? query returns the contents of the Module Event Status register. The index specifies the module. For the Agilent 1670G-series, the index 0 or 1 refers to system or logic analyzer respectively. Refer to table 9-8 for information about the Module Event Status Register bits and their bit weights for the system, and table 9-9 for the logic analyzer.
Instrument Commands MESR (Module Event Status Register) Table 9-8 Table 9-9 Agilent 1670G-Series Logic Analyzer System Module Event Status Register (=0) Bit Bit Weight Bit Name Condition 7 128 not used 6 64 not used 5 32 not used 4 16 not used 3 8 not used 2 4 not used 1 2 RNT 0 = Run until not satisfied 1 = Run until satisfied 0 1 MC 0 = Measurement not satisfied 1 = Measurement satisfied Agilent 1670G-Series Logic Analyzer Module Event Status Register (=1) Bit Bi
Instrument Commands RMODe RMODe Command :RMODe {SINGle|REPetitive} The RMODe command specifies the run mode for the logic analyzer. After specifying the run mode, use the STARt command to start the acquisition. Example OUTPUT XXX;":RMODE SINGLE" Query :RMODe? The query returns the current setting.
Instrument Commands SELect integer from 0 to 23 integer from 0 to 59 integer from 0 to 59 Example This example sets the real-time clock for 1 January 1992, 20:00:00 (8 PM). OUTPUT XXX;":RTC 1,1,1992,20,0,0" Query :RTC? The RTC? query returns the real-time clock setting.
Instrument Commands SELect The command parser in the Agilent 1670G-series logic analyzer is designed to accept programs written for the 16500 logic analysis system with an 16550A logic analyzer module; however, if the parameters 2 through 10 are sent, an Agilent 1670G-series logic analyzer will take no action. Example OUTPUT XXX;":SELECT 0" Query :SELect? The SELect? query returns the current module selection.
Instrument Commands SETColor SETColor Command :SETColor {,,,|DEFault} The SETColor command is used to change a grayscale shade on the logic analyzer screen, or to return to the default screen colors. The colors on a remote display are not affected.
Instrument Commands STARt STARt Command :STARt The STARt command starts the logic analyzer running in the specified run mode (see RMODe). The STARt command is an overlapped command. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress. Example OUTPUT XXX;":START" STOP Command :STOP The STOP command stops the logic analyzer. The STOP command is an overlapped command.
Instrument Commands XWINdow XWINdow Command :XWINdow {OFF|0} :XWINdow {ON|1}[,] The XWINdow command opens or closes a window on an X Window display server, that is, a networked workstation or personal computer with X Window software. The XWINdow ON command opens a window. If no display name is specified, the display name already stored in the logic analyzer X Window configuration menu is used. If a display name is specified, that name is used.
9–24
10 Module Level Commands
Introduction The logic analyzer module-level commands access the global functions of the Agilent 1670G-series logic analyzer.
Module Level Commands Figure 10-1 Module Level Syntax Diagram 10–3
Module Level Commands Table 10-1 Module Level Parameter Values Parameter Type of Parameter or Command Reference machine_num MACHine{1|2} arm_parm arm parameters see chapter 13 assign_parm assignment parameters see chapter 13 level_parm level parameters see chapter 13 name_parm name parameters see chapter 13 rename_parm rename parameters see chapter 13 res_parm resource parameters see chapter 13 type_parm type parameters see chapter 13 sformat_cmds state format subsystem commands
Module Level Commands ARMLine ARMLine Command :ARMLine MACHine{1|2} The ARMLine command selects which machine (analyzer) generates the arm out signal. This command is only valid when two analyzers are on. However, the query is always valid.
Module Level Commands MACHine Query :DBLock? The DBLock query returns the current data block format selection. Returned Format [:DBLock]{PACKed | UNPacked} Example OUTPUT XXX;":DBLock?" MACHine Command :MACHine{1|2} The MACHine command selects which of the two machines (analyzers) the subsequent commands or queries will refer to. MACHine is also a subsystem containing commands that control the logic analyzer system level functions.
11 SYSTem Subsystem
Introduction SYSTem subsystem commands control functions that are common to the entire Agilent 1670G-series logic analyzer, including formatting query responses and enabling reading and writing to the advisory line of the instrument. The command parser in the Agilent 1670G-series logic analyzer is designed to accept programs written for the 16500 logic analysis system with an 16550A logic analyzer module.
SYSTem Subsystem Figure 11-1 SYSTem Subsystem Commands Syntax Diagram 11–3
SYSTem Subsystem Table 11-1 SYSTem Parameter Values Parameter Values block_data Data in IEEE 488.2 format. string A string of up to 68 alphanumeric characters. pathname A string of up to 10 alphanumeric characters for LIF in the following form: NNNNNNNNNN or A string of up to 64 alphanumeric characters for DOS in one of the following forms: NNNNNNNN.
SYSTem Subsystem DATA DATA Command :SYSTem:DATA The DATA command allows you to send and receive acquired data to and from a controller in block form. This helps saving block data for: • Reloading to the logic analyzer • Processing data later in the logic analyzer • Processing data in the controller The format and length of block data depends on the instruction being used and the configuration of the analyzer. This chapter describes briefly the syntax of the Data command and query.
SYSTem Subsystem DSP (Display) Query :SYSTem:DATA? The SYSTem:DATA query returns the block data. The data sent by the SYSTem:DATA? query reflects the configuration of the machines when the last run was performed. Any changes made since then through either front-panel operations or programming commands do not affect the stored configuration. Returned Format [:SYSTem:DATA] Example See chapter 28, "Programming Examples" for an example of transferring data.
SYSTem Subsystem ERRor ERRor Query :SYSTem:ERRor? [NUMeric|STRing] The ERRor query returns the oldest error from the error queue. The optional parameter determines whether the error string should be returned along with the error number. If no parameter is received, or if the parameter is NUMeric, then only the error number is returned.
SYSTem Subsystem HEADer HEADer Command :SYSTem:HEADer {{ON|1}|{OFF|0}} The HEADer command tells the instrument whether or not to output a header for query responses. When HEADer is set to ON, query responses will include the command header. Example OUTPUT XXX;":SYSTEM:HEADER ON" Query :SYSTem:HEADer? The HEADer? query returns the current state of the HEADer command.
SYSTem Subsystem LONGform LONGform Command :SYSTem:LONGform {{ON|1}|{OFF|0}} The LONGform command sets the longform variable, which tells the instrument how to format query responses. If the LONGform command is set to OFF, command headers and alpha arguments are sent from the instrument in the abbreviated form. If the the LONGform command is set to ON, the whole word will be output. This command has no affect on the input data messages to the instrument.
SYSTem Subsystem PRINt PRINt Command :SYSTem:PRINt ALL[,DISK, [,]] :SYSTem:PRINt PARTial,, [,DISK, [,]] :SYSTem:PRINt SCReen[,DISK, [,], {BTIF|CTIF|PCX|EPS}] The PRINt command initiates a print of the screen or listing buffer over the current PRINTER communication interface to the printer or to a file on the disk. The PRINT SCREEN option allows you to specify a graphics type. BTIF format is a black & white TIFF version 5.
SYSTem Subsystem SETup The print query should NOT be sent with any other command or query on the same command line. The print query never returns a header. Also, since response data from a print query may be sent directly to a printer without modification, the data is not returned in block mode. Example OUTPUT 707;":SYSTEM:PRINT? SCREEN" SETup Command :SYStem:SETup The :SYStem:SETup command configures the logic analyzer module as defined by the block data sent by the controller.
SYSTem Subsystem SETup Query :SYStem:SETup? The SYStem:SETup? query returns a block of data that contains the current configuration to the controller. Returned Format [:SYStem:SETup] Example See "Transferring the logic analyzer configuration" in chapter 28, "Programming Examples" for an example.
12 MMEMory Subsystem
Introduction The MMEMory (mass memory) subsystem commands provide access to the disk drives. The Agilent 1670G-series logic analyzers support both LIF (Logical Information Format) and DOS (Disk Operating System) formats. The Agilent 1670G-series logic analyzers have two disk drives, a hard disk drive and a flexible disk drive. Refer to figure 12-1 and table 12-1 for the MMEMory Subsystem commands syntax diagram and parameter values.
MMEMory Subsystem Figure 12-1 MMEMory Subsystem Commands Syntax Diagram 12–3
MMEMory Subsystem Figure 12-1 (Continued) MMEMory Subsystem Commands Syntax Diagram (continued) 12–4
MMEMory Subsystem Figure 12-1 (Continued) MMEMory Subsystem Commands Syntax Diagram (continued) 12–5
MMEMory Subsystem Table 12-1 MMEMory Parameter Values Parameter Values auto_file A string of up to 10 alphanumeric characters for LIF in the following form: "NNNNNNNNNN" or A string of up to 12 alphanumeric characters for DOS in the following form: "NNNNNNNN.NNN" msus Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive.
MMEMory Subsystem AUToload AUToload Command :MMEMory:AUToload {{OFF|0}|{}}[,] The AUToload command controls the autoload feature which designates a set of configuration files to be loaded automatically the next time the instrument is turned on. The OFF parameter (or 0) disables the autoload feature. A string parameter may be specified instead to represent the desired autoload file. If the file is on the current disk, the autoload feature is enabled to the specified file.
MMEMory Subsystem CATalog Example A string of up to 10 alphanumeric characters for LIF in the following form: NNNNNNNNNN or A string of up to 12 alphanumeric characters for DOS in the following form: NNNNNNNN.NNN OUTPUT XXX;":MMEMORY:AUTOLOAD?" CATalog Query :MMEMory:CATalog? [[All][]] The CATalog query returns the directory of the disk in one of two block data formats. The directory consists of a 51 character string for each file on the disk when the ALL option is not used.
MMEMory Subsystem CD (Change Directory) Returned Format Example [:MMEMory:CATalog] ASCII block containing This example is for sending the CATALOG? ALL query: OUTPUT 707;":MMEMORY:CATALOG? ALL" This example is for sending the CATALOG? query without the ALL option.
MMEMory Subsystem COPY COPY Command :MMEMory:COPY [,],[,] The COPY command copies one file to a new file or an entire disk’s contents to another disk. The two parameters are the filenames. The first pair of parameters specifies the source file. The second pair specifies the destination file. An error is generated if the source file doesn’t exist, or if the destination file already exists.
MMEMory Subsystem DOWNload DOWNload Command :MMEMory:DOWNload [,],, , The DOWNload command downloads a file to the mass storage device. The parameter specifies the filename, the parameter specifies the file descriptor, and the contains the contents of the file to be downloaded. Table 12-2 lists the file types for the parameter.
MMEMory Subsystem DOWNload Table 12-2 File Types File File Type 1660E/ES and 1670G ROM Software -15599 1660E/ES and 1670G System Software -15598 1660E/ES and 1670G System External I/O -15605 1660E/ES Logic Analyzer Software -15597 1660E/ES Logic Analyzer Configuration -16096 1670G Logic Analyzer Software -15595 1670G Logic Analyzer Configuration -16094 1660E/ES and 1670G Option Software -15594 Autoload File -15615 Inverse Assembler -15614 Enhanced Inverse Assembler -15604 DOS File
MMEMory Subsystem INITialize INITialize Command :MMEMory:INITialize [{LIF|DOS}[,]] The INITialize command formats the disk in either LIF (Logical Information Format) or DOS (Disk Operating System). If no format is specified, then the initialize command will format the disk in the LIF format. Example CAUTION Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive.
MMEMory Subsystem LOAD[:CONFig] LOAD[:CONFig] Command :MMEMory:LOAD[:CONfig] [,][,] The LOAD command loads a configuration file from the disk into the logic analyzer, software options, or the system. The parameter specifies the filename from the disk. The optional parameter specifies which module(s) to load the file into. The accepted values are 0 for system and 1 for logic analyzer.
MMEMory Subsystem LOAD:IASSembler LOAD:IASSembler Command :MMEMory:LOAD:IASSembler [,],{1|2} [,] This variation of the LOAD command allows inverse assembler files to be loaded into a module that performs state analysis. The parameter specifies the inverse assembler filename from the desired . The parameter after the optional specifies which machine to load the inverse assembler into.
MMEMory Subsystem MKDir (Make Directory) MKDir (Make Directory) Command :MMEMory:MKDir [,] The MKDir command allows you to make a directory on the hard drive or a DOS disk in the flexible drive. Directories cannot be made on LIF disks. MKDir will make a directory under the present working directory on the current drive if the optional path is not specified. Separators can be either the slash (/) or backslash (\) character.
MMEMory Subsystem MSI (Mass Storage Is) MSI (Mass Storage Is) Command :MMEMory:MSI [] The MSI command selects a default mass storage device. Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive. Example OUTPUT XXX;":MMEMORY:MSI" OUTPUT XXX;":MMEM:MSI INTERNAL0" Query :MMEMory:MSI? The MSI? query returns the current MSI setting.
MMEMory Subsystem PACK PACK Command :MMEMory:PACK [] The PACK command packs the files on a LIF disk. If a DOS disk is in the drive when the PACK command is sent, no action is taken. Example Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive. OUTPUT XXX;":MMEMORY:PACK" OUTPUT XXX;":MMEM:PACK INTERNAL0" PURGe Command :MMEMory:PURGe [,] The PURGe command deletes a file from the disk in the drive.
MMEMory Subsystem PWD (Present Working Directory) PWD (Present Working Directory) Query :MMEMory:PWD? [] The PWD query returns the present working directory for the specified drive. If the option is not sent, the present working directory will be returned for the current drive. Returned Format Example [:MMEMory:PWD] , String of up to 64 characters with the backslash (\) as separator for DOS and LIF disks. Mass Storage Unit specifier.
MMEMory Subsystem STORe[:CONFig] Example Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive. A string of up to 10 alphanumeric characters for LIF in the following form: NNNNNNNNNN or A string of up to 12 alphanumeric characters for DOS in the following form: NNNNNNNN.
MMEMory Subsystem UPLoad Example OUTPUT XXX;":MMEM:STOR ’DEFAULTS’,’SETUPS FOR ALL MODULES’" OUTPUT XXX;":MMEMORY:STORE:CONFIG ’STATEDATA’,INTERNAL0, ’ANALYZER 1 CONFIG’,1" The appropriate module designator "_X" is added to all files when they are stored. "X" refers to either an __ (double underscore) for the system or an _A for the logic analyzer. UPLoad Query :MMEMory:UPLoad? [,] The UPLoad query uploads a file. The parameter specifies the file to be uploaded from the disk.
MMEMory Subsystem VOLume Example 10 20 30 40 50 60 70 80 90 DIM Block$[32000] !allocate enough memory for block data DIM Specifier$[2] OUTPUT XXX;":EOI ON" OUTPUT XXX;":SYSTEM HEAD OFF" OUTPUT XXX;":MMEMORY:UPLOAD? ’FILE1’" !send upload query ENTER XXX USING "#,2A";Specifier$ !read in #8 ENTER XXX USING "#,8D";Length !read in block length ENTER XXX USING "-K";Block$ !read in file END VOLume Query :MMEMory:VOLume? [] TheVOLume query returns the volume type of the disk.
Part 3 Logic Analyzer Commands
13 MACHine Subsystem
Introduction The MACHine subsystem contains the commands that control the machine level of operation of the logic analyzer. The functions of five of these commands reside in the State/Timing Configuration menu. These commands are • • • • • ARM ASSign LEVelarm NAME TYPE Even though the functions of the following commands reside in the Trigger menu they are at the machine level of the command tree and are therefore located in the MACHine subsystem.
MACHine Subsystem Figure 13-1 MACHine Subsystem Syntax Diagram 13–3
MACHine Subsystem MACHine Table 13-1 MACHine Subsystem Parameter Values Parameter Value arm_source {RUN | INTermodule | MACHine {1|2}} pod_list {NONE | [, ]...
MACHine Subsystem ARM ARM Command :MACHine{1|2}:ARM The ARM command specifies the arming source of the specified analyzer (machine). The RUN option disables the arm source. For example, if you do not want to use either the intermodule bus or the other machine to arm the current machine, you specify the RUN option.
MACHine Subsystem ASSign ASSign Command :MACHine{1|2}:ASSign The ASSign command assigns pods to a particular analyzer (machine). The ASSign command will assign two pods for each pod number you specify because pods must be assigned to analyzers in pairs. NONE clears all pods from the specified analyzer (machine) and places them in the "unassigned" category. {NONE | [, ]...
MACHine Subsystem LEVelarm LEVelarm Command :MACHine{1|2}:LEVelarm The LEVelarm command allows you to specify the sequence level for a specified machine that will be armed by the Intermodule Bus or the other machine. This command is only valid if the specified machine is on and the arming source is not set to RUN with the ARM command.
MACHine Subsystem NAME NAME Command :MACHine{1|2}:NAME The NAME command allows you to assign a name of up to 10 characters to a particular analyzer (machine) for easier identification. string of up to 10 alphanumeric characters Example OUTPUT XXX;":MACHINE1:NAME ’DRAMTEST’" Query :MACHine{1|2}:NAME? The NAME query returns the current analyzer name as an ASCII string.
MACHine Subsystem RESource string of up to 8 alphanumeric characters {A|B|C|D|E|F|G|I| RANGe1 | RANGe2 | TIMer1 | TIMer2} Example OUTPUT XXX;":MACHINE1:RENAME A,’DATA’" Query :MACHine{1|2}:RENAME? The REName query returns the current names for specified terms assigned to the specified analyzer. Returned Format [:MACHine{1|2}:RENAME] , Example OUTPUT XXX;":MACHINE1:RENAME? D" RESource Command :MACHine{1|2}:RESource {[,]...
MACHine Subsystem TYPE Query :MACHine{1|2}:RESOURCE? The RESource query returns the current resource terms assigned to the specified analyzer. Returned Format [:MACHine{1|2}:RESOURCE] [,,...] Example OUTPUT XXX;":MACHINE1:RESOURCE?" TYPE Command :MACHine{1|2}:TYPE The TYPE command specifies what type a specified analyzer (machine) will be. The analyzer types are state or timing. The TYPE command also allows you to turn off a particular machine.
14 WLISt Subsystem
Introduction The commands in the WLISt (Waveforms/LISting) subsystem control the X and O marker placement on the waveforms portion of the mixed mode display. The XSTate and OSTate queries return what states the X and O markers are on. Because the markers can only be placed on the timing waveforms, the queries return what state (state acquisition memory location) the marked pattern is stored in.
WLISt Subsystem Figure 14-1 WLISt Subsystem Syntax Diagram 14–3
WLISt Subsystem WLISt (Waveforms/LISting) Table 14-1 WLISt Subsystem Parameter Values Parameter Value delay_value real number between -2500 s and +2500 s module_spec 1 bit_id integer from 0 to 31 label_name string of up to 6 alphanumeric characters line_num_mid_screen integer from -1032192 to +1032192 time_value real number time_range real number between 10 ns and 10 ks WLISt (Waveforms/LISting) Selector :WLISt The WLISt selector is used as a part of a compound header to access the settin
WLISt Subsystem DELay DELay Command :WLISt:DELay The DELay command specifies the amount of time between the timing trigger and the horizontal center of the the timing waveform display. The allowable values for delay are −2500 s to +2500 s. real number between −2500 s and +2500 s Example OUTPUT XXX;":WLIST:DELAY 100E−6" Query :WLISt:DELay? The DELay query returns the current time offset (delay) value from the trigger.
WLISt Subsystem INSert INSert Command :WLISt:INSert [,] [,{|OVERlay|ALL}] The INSert command inserts waveforms in the timing waveform display. The waveforms are added from top to bottom up to a maximum of 96 waveforms. Once 96 waveforms are present, each time you insert another waveform, it replaces the last waveform.
WLISt Subsystem LINE LINE Command :WLISt:LINE The LINE command allows you to scroll the timing analyzer listing vertically. The command specifies the state line number relative to the trigger that the analyzer highlights at the center of the screen. integer from -1032192 to +1032192 Example OUTPUT XXX;":WLIST:LINE 0" Query :WLISt:LINE? The LINE query returns the line number for the state currently in the box at center screen.
WLISt Subsystem OTIMe OTIMe Command :WLISt:OTIMe The OTIMe command positions the O Marker on the timing waveforms in the mixed mode display. If the data is not valid, the command performs no action. real number Example OUTPUT XXX;":WLIST:OTIME 40.0E−6" Query :WLISt:OTIMe? The OTIMe query returns the O Marker position in time. If data is not valid, the query returns 9.9E37.
WLISt Subsystem REMove Query :WLISt:RANGe? The RANGe query returns the current full-screen time. Returned Format [:WLISt:RANGe] Example OUTPUT XXX;":WLIST:RANGE?" REMove Command :WLISt:REMove The REMove command deletes all waveforms from the display. Example OUTPUT XXX;":WLIST:REMOVE" XOTime Query :WLISt:XOTime? The XOTime query returns the time from the X marker to the O marker. If data is not valid, the query returns 9.9E37.
WLISt Subsystem XSTate XSTate Query :WLISt:XSTate? The XSTate query returns the state where the X Marker is positioned. If data is not valid, the query returns 2147483647. Returned Format Example [:WLISt:XSTate] integer OUTPUT XXX;":WLIST:XSTATE?" XTIMe Command :WLISt:XTIMe The XTIMe command positions the X Marker on the timing waveforms in the mixed mode display. If the data is not valid, the command performs no action.
15 SFORmat Subsystem
Introduction The SFORmat subsystem contains the commands available for the State Format menu in the Agilent 1670G-series logic analyzer.
SFORmat Subsystem Figure 15-1 SFORmat Subsystem Syntax Diagram 15–3
SFORmat Subsystem Figure 15-1 (continued) SFORmat Subsystem Syntax Diagram (continued) 15–4
SFORmat Subsystem Table 15-1 SFORmat Subsystem Parameter Values Parameter Value an integer from 1 to 8 label_name string of up to 6 alphanumeric characters polarity {POSitive | NEGative} clock_bits format (integer from 0 to 65535) for a clock (clocks are assigned in decreasing order) upper_bits format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) lower_bits format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) clock_id {J | K |
SFORmat Subsystem SFORmat SFORmat Selector :MACHine{1|2}:SFORmat The SFORmat (State Format) selector is used as a part of a compound header to access the settings in the State Format menu. It always follows the MACHine selector because it selects a branch directly below the MACHine level in the command tree.
SFORmat Subsystem LABel Query :MACHine{1|2}:SFORmat:CLOCk? The CLOCk query returns the current clocking mode for a given pod. Returned Format [:MACHine{1|2}:SFORmat:CLOCK] Example OUTPUT XXX; ":MACHINE1:SFORMAT:CLOCK2?" LABel Command :MACHine{1|2}:SFORmat:LABel [,,,[,] ,[,, ]...] The LABel command allows you to specify polarity and assign channels to new or existing labels.
SFORmat Subsystem LABel string of up to 6 alphanumeric characters {POSitive | NEGative} format (integer from 0 to 63) for a clock (clocks are assigned in decreasing order) format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order Example OU
SFORmat Subsystem MASTer MASTer Command :MACHine{1|2}:SFORmat:MASTer , The MASTer clock command allows you to specify a master clock for a given machine. The master clock is used in all clocking modes (Master, Slave, and Demultiplexed). Each command deals with only one clock (J,K,L,M); therefore, a complete clock specification requires four commands, one for each clock. Edge specifications (RISing, FALLing, or BOTH) are ORed. At least one clock edge must be specified.
SFORmat Subsystem MOPQual MOPQual Command :MACHine{1|2}:SFORmat:MOPQual , The MOPQual (master operation qualifier) command allows you to specify either the AND or the OR operation between master clock qualifier pair 1 and 2, or between master clock qualifier pair 3 and 4. For example, you can specify a master clock operation qualifier 1 AND 2. {1|2} where 1 indicates pair 1 and 2 and 2 indicates pair 3 and 4.
SFORmat Subsystem MQUal MQUal Command :MACHine{1|2}:SFORmat:MQUal ,, The MQUal (master qualifier) command allows you to specify the level qualifier for the master clock. {1|2|3|4} {J|K|L|M} {OFF|LOW|HIGH} Example OUTPUT XXX;":MACHINE2:SFORMAT:MQUAL 1,J,LOW" Query :MACHine{1|2}:SFORmat:MQUal? The MQUal query returns the qualifier specified for the master clock.
SFORmat Subsystem REMove REMove Command :MACHine{1|2}:SFORmat:REMove {|ALL} The REMove command allows you to delete all labels or any one label for a given machine. Example string of up to 6 alphanumeric characters OUTPUT XXX;":MACHINE2:SFORMAT:REMOVE ’A’" OUTPUT XXX;":MACHINE2:SFORMAT:REMOVE ALL" SETHold Command :MACHine{1|2}:SFORmat:SETHold , The SETHold (setup/hold) command allows you to set the setup and hold specification for the state analyzer.
SFORmat Subsystem SETHold Table 15-2 Query Setup and hold values For one clock and one edge For one clock and both edges Multiple Clocks 0 = 3.5/0.0 ns 0 = 4.0/0.0 ns 0 = 4.5/0.0 ns 1 = 3.0/0.5 ns 1 = 3.5/0.5 ns 1 = 4.0/0.5 ns 2 = 2.5/1.0 ns 2 = 3.0/1.0 ns 2 = 3.5/1.0 ns 3 = 2.0/1.5 ns 3 = 2.5/1.5 ns 3 = 3.0/1.5 ns 4 = 1.5/2.0 ns 4 = 2.0/2.0 ns 4 = 2.5/2.0 ns 5 = 1.0/2.5 ns 5 = 1.5/2.5 ns 5 = 2.0/2.5 ns 6 = 0.5/3.0 ns 6 = 1.0/3.0 ns 6 = 1.5/3.0 ns 7 = 0.0/3.5 ns 7 = 0.5/3.
SFORmat Subsystem SLAVe SLAVe Command :MACHine{1|2}:SFORmat:SLAVe , The SLAVe clock command allows you to specify a slave clock for a given machine. The slave clock is only used in the Slave and Demultiplexed clocking modes. Each command deals with only one clock (J,K,L,M); therefore, a complete clock specification requires four commands, one for each clock. Edge specifications (RISing, FALLing, or BOTH) are ORed. When slave clock is being used at least one edge must be specified.
SFORmat Subsystem SOPQual SOPQual Command :MACHine{1|2}:SFORmat:SOPQual , The SOPQual (slave operation qualifier) command allows you to specify either the AND or the OR operation between slave clock qualifier pair 1 and 2, or between slave clock qualifier pair 3 and 4. For example you can specify a slave clock operation qualifier 1 AND 2. {1|2} 1 specifies qualifier pair 1/2; 2 specifies qualifier pair 3/4.
SFORmat Subsystem SQUal SQUal Command :MACHine{1|2}:SFORmat:SQUal ,, The SQUal (slave qualifier) command allows you to specify the level qualifier for the slave clock. {1|2|3|4} {J|K|L|M} {OFF|LOW|HIGH} Example OUTPUT XXX;":MACHINE2:SFORMAT:SQUAL 1,J,LOW" Query :MACHine{1|2}:SFORmat:SQUal? The SQUal query returns the qualifier specified for the slave clock.
SFORmat Subsystem THReshold pod number (an integer from 1 to 8) voltage (real number) −6.00 to +6.00 TTL default value of +1.6 V ECL default value of −1.3 V Example OUTPUT XXX;":MACHINE1:SFORMAT:THRESHOLD1 4.0" Query :MACHine{1|2}:SFORmat:THReshold? The THReshold query returns the current threshold for a given pod.
15–18
16 STRigger (STRace) Subsystem
Introduction The STRigger subsystem contains the commands available for the State Trigger menu in the Agilent 1670G-series logic analyzer. The State Trigger subsystem will also accept the STRace selector as used in previous 16500-series logic analyzer modules to eliminate the need to rewrite programs containing STRace as the selector keyword.
STRigger (STRace) Subsystem Figure 16-1 STRigger Subsystem Syntax Diagram 16–3
STRigger (STRace) Subsystem Figure 16-1 (continued) STRigger Subsystem Syntax Diagram (continued) 16–4
STRigger (STRace) Subsystem Figure 16-1 (continued) STRigger Subsystem Syntax Diagram (continued) 16–5
STRigger (STRace) Subsystem Table 16-1 STRigger Subsystem Parameter Values Parameter Value branch_qualifier to_lev_num integer from 1 to last level proceed_qualifier occurrence number from 1 to 1048575 label_name string of up to 6 alphanumeric characters start_pattern "{#B{0|1} . . . | #Q{0|1|2|3|4|5|6|7} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F} . . . | {0|1|2|3|4|5|6|7|8|9} . . . } " stop_pattern "{#B{0|1} . . . | #Q{0|1|2|3|4|5|6|7} . . .
STRigger (STRace) Subsystem Qualifier Qualifier The qualifier for the state trigger subsystem can be terms A - J, Timer 1 and 2, and Range 1 and 2. In addition, qualifiers can be the NOT boolean function of terms, timers, and ranges. The qualifier can also be an expression or combination of expressions as shown below and figure 16-2, "Complex Qualifier," on page 16-11. The following parameters show how qualifiers are specified in all commands of the STRigger subsystem that use .
STRigger (STRace) Subsystem Qualifier { A | NOTA } { B | NOTB } { C | NOTC } { D | NOTD } { E | NOTE } { F | NOTF } { G | NOTG } { H | NOTH } { I | NOTI } { J | NOTJ } { IN_RANGE1 | OUT_RANGE1 } { IN_RANGE2 | OUT_RANGE2 } { TIMER1< | TIMER1>} { TIMER2< | TIMER2>} Qualifier Rules The following rules apply to qualifiers: • • • • Example Qualifiers ar
STRigger (STRace) Subsystem STRigger (STRace) (State Trigger) STRigger (STRace) (State Trigger) Selector :MACHine{1|2}:STRigger The STRigger selector is used as a part of a compound header to access the settings found in the State Trace menu. It always follows the MACHine selector because it selects a branch directly below the MACHine level in the command tree.
STRigger (STRace) Subsystem BRANch BRANch Command :MACHine{1|2}:STRigger:BRANch , The BRANch command defines the branch qualifier for a given sequence level. When this branch qualifier is matched, it will cause the trigger sequence to jump to the specified sequence level. The terms used by the branch qualifier (A through J) are defined by the TERM command. The meaning of IN_RANGE and OUT_RANGE is determined by the RANGE command.
STRigger (STRace) Subsystem BRANch Example OUTPUT XXX;":MACHINE1:STRIGGER:BRANCH1 ’ANYSTATE’, 3" OUTPUT XXX;":MACHINE2:STRIGGER:BRANCH2 ’A’, 7" OUTPUT XXX;":MACHINE1:STRIGGER:BRANCH3 ’((A OR B) OR NOTG)’, 1" Query :MACHine{1|2}:STRigger:BRANch? The BRANch query returns the current branch qualifier specification for a given sequence level.
STRigger (STRace) Subsystem CLEar Example The following example would be used to specify this complex qualifier. OUTPUT XXX;":MACHINE1:STRIGGER:BRANCH1 ’((A OR B) AND (F OR G))’, 2" Terms A through E, RANGE 1, and TIMER 1 must be grouped together and terms F through J, RANGE 2, and TIMER 2 must be grouped together. In the first level, terms from one group may not be mixed with terms from the other.
STRigger (STRace) Subsystem FIND FIND Command :MACHine{1|2}:STRigger:FIND , The FIND command defines the proceed qualifier for a given sequence level. The qualifier tells the state analyzer when to proceed to the next sequence level. When this proceed qualifier is matched the specified number of times, the trigger sequence will proceed to the next sequence level.
STRigger (STRace) Subsystem MLENgth Query :MACHine{1|2}:STRigger:FIND? The FIND query returns the current proceed qualifier specification for a given sequence level. Returned Format [:MACHine{1|2}:STRigger:FIND] , Example OUTPUT XXX;":MACHINE1:STRIGGER:FIND4?" MLENgth Command :MACHine{1|2}:STRigger:MLENgth The MLength command allows you to specify the analyzer memory depth.
STRigger (STRace) Subsystem RANGe RANGe Command :MACHine{1|2}:STRigger:RANGe ,, The RANGe command allows you to specify a range recognizer term for the specified machine. Since a range can only be defined across one label and, since a label must contain 32 or fewer bits, the value of the start pattern or stop pattern will be between (232)−1 and 0.
STRigger (STRace) Subsystem SEQuence Query :MACHine{1|2}:STRigger:RANGe? The RANGe query returns the range recognizer end point specifications for the range. Returned Format [:MACHine{1|2}:STRigger:RANGe] ,, Example OUTPUT XXX;":MACHINE1:STRIGGER:RANGE1?" SEQuence Command :MACHine{1|2}:STRigger:SEQuence , The SEQuence command redefines the state analyzer trace sequence.
STRigger (STRace) Subsystem STORe Query :MACHine{1|2}:STRigger:SEQuence? The SEQuence query returns the current sequence specification. Returned Format [:MACHine{1|2}:STRigger:SEQuence] , Example OUTPUT XXX;":MACHINE1:STRIGGER:SEQUENCE?" STORe Command :MACHine{1|2}:STRigger:STORe The STORe command defines the store qualifier for a given sequence level.
STRigger (STRace) Subsystem TAG Query :MACHine{1|2}:STRigger:STORe? The STORe query returns the current store qualifier specification for a given sequence level . Returned Format [:MACHine{1|2}:STRigger:STORe] Example OUTPUT XXX;":MACHINE1:STRIGGER:STORE4?" TAG Command :MACHine{1|2}:STRigger:TAG {OFF|TIME|} The TAG command selects the type of count tagging (state or time) to be performed during data acquisition.
STRigger (STRace) Subsystem TAKenbranch Query :MACHine{1|2} :STRigger:TAG? The TAG query returns the current count tag specification. Returned Format [:MACHine{1|2}:STRigger:TAG] {OFF|TIME|} Example OUTPUT XXX;":MACHINE1:STRIGGER:TAG?" TAKenbranch Command :MACHine{1|2}:STRigger:TAKenbranch {STORe|NOSTore} The TAKenbranch command allows you to specify whether the state causing the branch is stored or not stored for the specified machine.
STRigger (STRace) Subsystem TCONtrol TCONtrol Command :MACHine{1|2}:STRigger:TCONtrol , {OFF|STARt|PAUSe|CONTinue} The TCONtrol (timer control) command allows you to turn off, start, pause, or continue the timer for the specified level. The time value of the timer is defined by the TIMER command. There are two timers and they are available for either machine but not both machines simultaneously.
STRigger (STRace) Subsystem TERM TERM Command :MACHine{1|2}:STRigger:TERM ,, The TERM command allows you to specify a pattern recognizer term in the specified machine. Each command deals with only one label in the given term; therefore, a complete specification could require several commands. Since a label can contain 32 or less bits, the range of the pattern value will be between 232 − 1 and 0.
STRigger (STRace) Subsystem TIMER Query :MACHine{1|2}:STRigger:TERM? , The TERM query returns the specification of the term specified by term identification and label name. Returned Format [:MACHine{1|2}:STRAce:TERM] ,, Example OUTPUT XXX;":MACHINE1:STRIGGER:TERM? B,’DATA’ " TIMER Command :MACHine{1|2}:STRigger:TIMER{1|2} The TIMER command sets the time value for the specified timer.
STRigger (STRace) Subsystem TPOSition TPOSition Command :MACHine{1|2}:STRigger:TPOSition {STARt|CENTer|END| POSTstore,} The TPOSition (trigger position) command allows you to set the trigger at the start, center, end or at any position in the trace (poststore). Poststore is defined as 0 to 100 percent with a poststore of 100 percent being the same as start position and a poststore 0 percent being the same as an end trace. integer from 0 to 100 representing percentage of poststore.
16–24
17 SLISt Subsystem
Introduction The SLISt subsystem contains the commands available for the State Listing menu in the Agilent 1670G-series logic analyzer.
SLISt Subsystem Figure 17-1 SLISt Subsystem Syntax Diagram 17–3
SLISt Subsystem Figure 17-1 (continued) SLISt Subsystem Syntax Diagram (continued) 17–4
SLISt Subsystem Figure 17-1 (continued) SLISt Subsystem Syntax Diagram (continued) 17–5
SLISt Subsystem Table 17-1 SLISt Subsystem Parameter Values Parameter Value mod_num 1 (2 through 10 not used) mach_num {1|2} col_num integer from 1 to 61 line_number integer from -1032192 to +1032192 label_name a string of up to 6 alphanumeric characters base {BINary|HEXadecimal|OCTal|DECimal|TWOS| ASCii|SYMBol|IASSembler} for labels or {ABSolute|RELative} for tags line_num_mid_screen integer from -1032192 to +1032192 label_pattern "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . .
SLISt Subsystem SLISt SLISt Selector :MACHine{1|2}:SLISt The SLISt selector is used as part of a compound header to access those settings normally found in the State Listing menu. It always follows the MACHine selector because it selects a branch directly below the MACHine level in the command tree.
SLISt Subsystem CLRPattern integer from 1 to 61 1 (2 through 10 are not used) a string of up to 6 alphanumeric characters {BINary|HEXadecimal|OCTal|DECimal|TWOS|ASCii|SYMBol| IASSembler} for labels or {ABSolute|RELative} for tags Example OUTPUT XXX;":MACHINE1:SLIST:COLUMN 4,’A’,HEX" Query :MACHine{1|2}:SLISt:COLumn? The COLumn query returns the column number, label name, and base for the specified column.
SLISt Subsystem DATA DATA Query :MACHine{1|2}:SLISt:DATA? , The DATA query returns the value at a specified line number for a given label. The format will be the same as the one shown in the listing display. Returned Format Example [:MACHine{1|2}:SLISt:DATA] ,, integer from -1032192 to +1032192 string of up to 6 alphanumeric characters "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . .
SLISt Subsystem MMODe (Marker Mode) Query :MACHine{1|2}:SLISt:LINE? The LINE query returns the line number for the state currently in the box at the center of the screen. Returned Format [:MACHine{1|2}:SLISt:LINE] Example OUTPUT XXX;":MACHINE1:SLIST:LINE?" MMODe (Marker Mode) Command :MACHine{1|2}:SLISt:MMODe The MMODe command selects the mode controlling the marker movement and the display of marker readouts.
SLISt Subsystem OPATtern Query :MACHine{1|2}:SLISt:MMODe? The MMODe query returns the current marker mode selected. Returned Format [:MACHine{1|2}:SLISt:MMODe] Example OUTPUT XXX;":MACHINE1:SLIST:MMODE?" OPATtern Command :MACHine{1|2}:SLISt:OPATtern , The OPATtern command allows you to construct a pattern recognizer term for the O Marker which is then used with the OSEarch criteria when moving the marker on patterns.
SLISt Subsystem OSEarch Query :MACHine{1|2}:SLISt:OPATtern? The OPATtern query returns the pattern specification for a given label name.
SLISt Subsystem OSTate Query :MACHine{1|2}:SLISt:OSEarch? The OSEarch query returns the search criteria for the O marker. Returned Format [:MACHine{1|2}:SLISt:OSEarch] , Example OUTPUT XXX;":MACHINE1:SLIST:OSEARCH?" OSTate Query :MACHine{1|2}:SLISt:OSTate? The OSTate query returns the line number in the listing where the O marker resides. If data is not valid , the query returns 2147483647.
SLISt Subsystem OTAG OTAG Command :MACHine{1|2}:SLISt:OTAG {|} The OTAG command specifies the tag value on which the O Marker should be placed. The tag value is time when time tagging is on, or states when state tagging is on. If the data is not valid tagged data, no action is performed. real number real number Example :OUTPUT XXX;":MACHINE1:SLIST:OTAG 40.
SLISt Subsystem OVERlay OVERlay Command :MACHine{1|2}:SLISt:OVERlay ,,MACHine{1|2}, The OVERlay command allows you to add time-correlated labels from the other analyzer to the state listing.
SLISt Subsystem RUNTil (Run Until) RUNTil (Run Until) Command :MACHine{1|2}:SLISt:RUNTil The RUNTil command allows you to define a stop condition when the trace mode is repetitive. Specifying OFF causes the analyzer to make runs until either STOP is selected from the front panel or the STOP command is issued. There are four conditions based on the time between the X and O markers.
SLISt Subsystem TAVerage TAVerage Query :MACHine{1|2}:SLISt:TAVerage? The TAVerage query returns the value of the average time between the X and O Markers. If the number of valid runs is zero, the query returns 9.9E37. Valid runs are those where the pattern search for both the X and O markers was successful, resulting in valid delta-time measurements.
SLISt Subsystem TMINimum TMINimum Query :MACHine{1|2}:SLISt:TMINimum? The TMINimum query returns the value of the minimum time between the X and O markers. If data is not valid, the query returns 9.9E37. Returned Format Example [:MACHine{1|2}:SLISt:TMINimum] real number OUTPUT XXX;":MACHINE1:SLIST:TMINIMUM?" VRUNs Query :MACHine{1|2}:SLISt:VRUNs? The VRUNs query returns the number of valid runs and total number of runs made.
SLISt Subsystem XOTag XOTag Query :MACHine{1|2}:SLISt:XOTag? The XOTag query returns the time from the X to the O marker when marker mode is time or the number of states from the X to the O marker when marker mode is state. If there is no data in the time mode the query returns 9.9E37. If there is no data in the state mode, the query returns 2147483647.
SLISt Subsystem XPATtern XPATtern Command :MACHine{1|2}:SLISt:XPATtern , The XPATtern command allows you to construct a pattern recognizer term for the X marker which is then used with the XSEarch criteria when moving the marker on patterns. Since this command deals with only one label at a time, a complete specification could require several invocations.
SLISt Subsystem XSEarch XSEarch Command :MACHine{1|2}:SLISt:XSEarch , The XSEarch command defines the search criteria for the X marker, which is then used with the associated XPATtern recognizer specification when moving the markers on patterns. The origin parameter tells the marker to begin a search with the trigger or with the start of data.
SLISt Subsystem XTAG Example OUTPUT XXX;":MACHINE1:SLIST:XSTATE?" XTAG Command :MACHine{1|2}:SLISt:XTAG {|} The XTAG command specifies the tag value on which the X marker should be placed. The tag value is time when time tagging is on or states when state tagging is on. If the data is not valid tagged data, no action is performed. real number integer Example OUTPUT XXX;":MACHINE1:SLIST:XTAG 40.
18 SWAVeform Subsystem
Introduction The commands in the State Waveform subsystem allow you to configure the display so that you can view state data as waveforms on up to 96 channels identified by label name and bit number. The 12 commands are analogous to their counterparts in the Timing Waveform subsystem. However, in this subsystem the x-axis is restricted to representing only samples (states), regardless of whether time tagging is on or off. As a result, the only commands which can be used for scaling are DELay and RANge.
SWAVeform Subsystem Figure 18-1 SWAVeform Subsystem Syntax Diagram 18–3
SWAVeform Subsystem SWAVeform Table 18-1 SWAVeform Subsystem Parameter Values Parameter Value number_of_samples integer from -1032192 to +1032192 label_name string of up to 6 alphanumeric characters bit_id {OVERlay||ALL} bit_num integer representing a label bit from 0 to 31 range_values integer from 10 to 5000 (representing (10 × states/Division)) mark_type {X|O|XO|TRIGger} percent integer from 0 to 100 memory_length {4096 | 8192 | 16384 | 32768 | 65536 | 131072 | 262144 | 524288
SWAVeform Subsystem ACCumulate ACCumulate Command :MACHine{1|2}:SWAVeform:ACCumulate {{ON|1}|{OFF|0}} The ACCumulate command allows you to control whether the waveform display gets erased between individual runs or whether subsequent waveforms are displayed over the previous waveforms. Example OUTPUT XXX;":MACHINE1:SWAVEFORM:ACCUMULATE ON" Query MACHine{1|2}:SWAVeform:ACCumulate? The ACCumulate query returns the current setting.
SWAVeform Subsystem CENTer Query MACHine{1|2}:SWAVeform:ACQuisition? The ACQusition query returns the current acquisition mode. Returned Format [MACHine{1|2}:SWAVeform:ACQuisition] {AUTOmatic|MANual} Example OUTPUT XXX;":MACHINE2:SWAVEFORM:ACQUISITION?" CENTer Command :MACHine{1|2}:SWAVeform:CENTer The CENTer command allows you to center the waveform display about the specified markers. The markers are placed on the waveform in the SLISt subsystem.
SWAVeform Subsystem CLRStat CLRStat Command :MACHine{1|2}:SWAVeform:CLRStat The CLRStat command allows you to clear the waveform statistics without having to stop and restart the acquisition. Example OUTPUT XXX;":MACHINE1:SWAVEFORM:CLRSTAT" DELay Command :MACHine{1|2}:SWAVeform:DELay The DELay command allows you to specify the number of samples between the State trigger and the horizontal center of the screen for the waveform display.
SWAVeform Subsystem INSert INSert Command MACHine{1|2}:SWAVeform:INSert , The INSert command adds waveforms to the state waveform display. Waveforms are added from top to bottom on the screen. When 96 waveforms are present, additional waveforms replace the last waveform. Bit numbers are zero-based, so a label with 8 bits is referenced as bits 0 through 7. Specifying OVERlay causes a composite waveform display of all bits or channels for the specified label.
SWAVeform Subsystem RANGe Query :MACHine{1|2}:SWAVeform:MLENgth? The MLENgth query returns the current analyzer memory depth selection. Returned Format [:MACHine{1|2}:SWAVeform:MLENgth] Example OUTPUT XXX;":MACHINE1:SWAVEFORM:MLENGTH?" RANGe Command MACHine{1|2}:SWAVeform:RANGe The RANGe command allows you to specify the number of samples across the screen on the State Waveform display.
SWAVeform Subsystem REMove REMove Command :MACHine{1|2}:SWAVeform:REMove The REMove command clears the waveform display. Example OUTPUT XXX;":MACHINE1:SWAVEFORM:REMOVE" TAKenbranch Command MACHine{1|2}:SWAVeform:TAKenbranch {STORe|NOSTore} The TAKenbranch command controls whether the states that cause branching are stored or not stored. This command is only available when the acquisition mode is set to manual.
SWAVeform Subsystem TPOSition TPOSition Command MACHine{1|2}:SWAVeform:TPOSition {STARt|CENTer|END|POSTstore,} The TPOSition command controls where the trigger point is placed. The trigger point can be placed at the start, center, end, or at a percentage of poststore. The poststore option is the same as the User Defined option when setting the trigger point from the front panel. The TPOSition command is only available when the acquisition mode is set to manual.
18–12
19 SCHart Subsystem
Introduction The State Chart subsystem provides the commands necessary for programming the Agilent 1670G-series logic analyzer State Chart display. The commands allow you to build charts of label activity, using data normally found in the Listing display. The chart’s Y axis is used to show data values for the label of your choice. The X axis can be used in two different ways. In one, the X axis represents states (shown as rows in the State Listing display).
SCHart Subsystem Figure 19-1 SCHart Subsystem Syntax Diagram Table 19-1 SCHart Subsystem Parameter Values Parameter Value state_low_value integer from -1032192 to + 1032192 state_high_value integer from to +1032192 label_name a string of up to 6 alphanumeric characters label_low_value string from 0 to 232 - 1 (#HFFFFFFFF) label_high_value string from to 232 - 1 (#HFFFFFFFF) low_value string from 0 to 232 - 1 (#HFFFFFFFF) high_value string from low_value
SCHart Subsystem SCHart SCHart Selector :MACHine{1|2}:SCHart The SCHart selector is used as part of a compound header to access the settings found in the State Chart menu. It always follows the MACHine selector because it selects a branch below the MACHine level in the command tree.
SCHart Subsystem CENTer CENTer Command MACHine{1|2}:SCHart:CENTer The CENTer command centers the waveform display about the specified markers. The markers are placed on the waveform in the SLISt subsystem.
SCHart Subsystem VAXis Example OUTPUT XXX;":MACHINE1:SCHART:HAXIS STATES, −100, 100" OUTPUT XXX;":MACHINE1:SCHART:HAXIS ’READ’, ’−511’, ’511’, 0,300" Query MACHine{1|2}:SCHart:HAXis? The HAXis query returns the current horizontal axis label and scaling.
SCHart Subsystem VAXis Query MACHine{1|2}:SCHart:VAXis? The VAXis query returns the current vertical axis label and scaling.
19–8
20 COMPare Subsystem
Introduction Commands in the state COMPare subsystem provide the ability to do a bit-by-bit comparison between the acquired state data listing and a compare data image.
COMPare Subsystem Figure 20-1 COMPare Subsystem Syntax Diagram 20–3
COMPare Subsystem COMPare Table 20-1 COMPare Subsystem Parameter Values Parameter Value label_name string of up to 6 characters care_spec "{*|.}..." * care . don’t care line_num integer from -245760 to +245760 data_pattern "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|X} . . . | {0|1|2|3|4|5|6|7|8|9} . . .
COMPare Subsystem CLEar CLEar Command :MACHine{1|2}:COMPare:CLEar The CLEar command clears all "don’t cares" in the reference listing and replaces them with zeros except when the CLEar command immediately follows the SET command (see SET command).
COMPare Subsystem COPY Example OUTPUT XXX;":MACHINE2:COMPARE:CMASK ’DATA’?" COPY Command :MACHine{1|2}:COMPare:COPY The COPY command copies the current acquired State Listing for the specified machine into the Compare Listing template. It does not affect the compare range or channel mask settings. Example OUTPUT XXX;":MACHINE2:COMPARE:COPY" DATA Command :MACHine{1|2}:COMPare:DATA {,,| ,[, ]...
COMPare Subsystem DATA a string of up to 6 alphanumeric characters integer from –245760 to +245760 "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|X} . . . | {0|1|2|3|4|5|6|7|8|9} . . .
COMPare Subsystem FIND FIND Query :MACHine{1|2}:COMPare:FIND? The FIND query is used to get the line number of a specified difference occurrence (first, second, third, etc) within the current compare range, as dictated by the RANGe command. A difference is counted for each line where at least one of the current labels has a discrepancy between its acquired state data listing and its compare data image.
COMPare Subsystem MENU Query :MACHine{1|2}:COMPare:LINE? The LINE query returns the current line number specified. Returned Format [:MACHine{1|2}:COMPare:LINE] Example OUTPUT XXX;":MACHINE2:COMPARE:LINE?" MENU Command :MACHine{1|2}:COMPare:MENU {REFerence|DIFFerence} The MENU command allows you to display the reference or the difference listing in the Compare menu.
COMPare Subsystem RUNTil (Run Until) Query :MACHine{1|2}:COMPare:RANGe? The RANGe query returns the current boundaries for the comparison.
COMPare Subsystem RUNTil (Run Until) End points for the INRange and OUTRange should be at least 8 ns apart since this is the minimum time resolution of the time tag counter. There are two conditions which are based on a comparison of the acquired state data and the compare data image. You can run until one of the following conditions is true: • Every channel of every label has the same value (EQUal). • Any channel of any label has a different value (NEQual).
COMPare Subsystem SET SET Command :MACHine{1|2}:COMPare:SET The SET command sets every state in the reference listing to "don’t cares." If you send the SET command by mistake you can immediately send the CLEar command to restore the previous data. This is the only time the CLEar command will not replace "don’t cares" with zeros.
21 TFORmat Subsystem
Introduction The TFORmat subsystem contains the commands available for the Timing Format menu in the Agilent 1670G-series logic analyzer.
TFORmat Subsystem Figure 21-1 TFORmat Subsystem Syntax Diagram 21–3
TFORmat Subsystem TFORmat (Timing Format) Table 21-1 TFORmat Subsystem Parameter Values Parameter Value an integer from 1 to 8, indicating pod name string of up to 6 alphanumeric characters polarity {POSitive | NEGative} upper_bits format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) lower_bits format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) value voltage (real number) -6.00 to +6.
TFORmat Subsystem ACQMode ACQMode Command :MACHine{1|2}:TFORmat:ACQMode {FULL | HALF} The ACQMode (acquisition mode) command selects the acquisition mode for the timing analyzer. The options are: • conventional mode at full-channel 125 MHz • conventional mode at half-channel 250 MHz Example OUTPUT XXX;":MACHINE2:TFORMAT:ACQMODE HALF" Query :MACHine{1|2}:TFORmat:ACQMode? The ACQMode query returns the current acquisition mode.
TFORmat Subsystem LABel LABel Command :MACHine{1|2}:TFORmat:LABel [,,, [,] , [,, ]...] The LABel command specifies polarity and assigns channels to new or existing labels. If the specified label name does not match an existing label name, a new label will be created. The order of the pod specification parameters is significant.
TFORmat Subsystem REMove format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) Example OUTPUT XXX;":MACHINE2:TFORMAT:LABEL ’STAT’, POSITIVE, 0,127,40312" OUTPUT XXX;":MACHINE2:TFORMAT:LABEL ’SIG 1’, #B11,#B0000000011111111, #B0000000000000000 " Query :MACHine{1|2}:TFORmat:LABel? The LABel query returns the current specification for the selected (by name) la
TFORmat Subsystem THReshold THReshold Command :MACHine{1|2}:TFORmat:THReshold {TTL|ECL|} The THReshold command allows you to set the voltage threshold for a given pod to ECL, TTL, or a specific voltage from −6.00 V to +6.00 V in 0.05 volt increments. pod number (integer from 1 to 8) voltage (real number) −6.00 to +6.00 TTL default value of +1.6 V ECL default value of −1.3 V Example OUTPUT XXX;":MACHINE1:TFORMAT:THRESHOLD1 4.
22 TTRigger (TTRace) Subsystem
Introduction The TTRigger subsystem contains the commands available for the Timing Trigger menu in the Agilent 1670G-series logic analyzer. The Timing Trigger subsystem will also accept the TTRace selector as used in previous 16500-series logic analyzer modules to eliminate the need to rewrite programs containing TTRace as the selector keyword.
TTRigger (TTRace) Subsystem Figure 22-1 TTRigger Subsystem Syntax Diagram 22–3
TTRigger (TTRace) Subsystem Figure 22-1 (continued) TTRigger Subsystem Syntax Diagram (continued) 22–4
TTRigger (TTRace) Subsystem Table 22-1 TTRigger Parameter Values Parameter Value branch_qualifier integer from 1 to last level to_level_num proceed_qualifier occurrence label_name start_pattern stop_pattern num_of_levels timer_num timer_value term_id pattern qualifier post_value time_val duration_time sample_period number from 1 to 1048575 string of up to 6 alphanumeric characters "{#B{0|1} . . . | #Q{0|1|2|3|4|5|6|7} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F} . .
TTRigger (TTRace) Subsystem Qualifier Qualifier The qualifier for the timing trigger subsystem can be terms A through G and I, Timer 1 and 2, and Range 1 and 2. In addition, qualifiers can be the NOT boolean function of terms, timers, and ranges. The qualifier can also be an expression or combination of expressions as shown below and figure 22-2, "Complex Qualifier," on page 22-11. The following parameters show how qualifiers are specified in all commands of the TTRigger subsystem that use .
TTRigger (TTRace) Subsystem Qualifier { A | NOTA } { B | NOTB } { C | NOTC } { D | NOTD } { E | NOTE } { F | NOTF } { G | NOTG } { I | NOTI } { IN_RANGE1 | OUT_RANGE1 } { IN_RANGE2 | OUT_RANGE2 } {EDGE1 | NOT EDGE1} {EDGE2 | NOT EDGE2} { TIMER1< | TIMER1>} { TIMER2< | TIMER2>} * = is optional such that it can be used zero or more times + = must be use
TTRigger (TTRace) Subsystem TTRigger (TTRace)(Trace Trigger) Qualifier Rules The following rules apply to qualifiers: • Qualifiers are quoted strings and, therefore, need quotes. • Expressions are evaluated from left to right. • Parentheses are used to change the order evaluation and, therefore, are optional. • An expression must map into the combination logic presented in the combination pop-up menu within the TTRigger menu.
TTRigger (TTRace) Subsystem ACQuisition ACQuisition Command :MACHine{1|2}:TTRigger:ACQuisition {AUTOmatic|MANual} The ACQuisition command specifies the acquisition mode for the Timing analyzer. Example OUTPUT XXX;":MACHINE1:TTRIGGER:ACQUISITION AUTOMATIC" Query :MACHine{1|2}:TTRigger:ACQuisition? The ACQuisition query returns the current acquisition mode specified.
TTRigger (TTRace) Subsystem BRANch Within the limitations shown by the syntax definitions, complex expressions may be formed using the AND and OR operators. Expressions are limited to what you could manually enter through the Timing Trigger menu. As far as required and optional parentheses, the syntax definitions on the next page show only the required ones. Additional parentheses are allowed as long as the meaning of the expression is not changed.
TTRigger (TTRace) Subsystem BRANch Query :MACHine{1|2}:TTRigger:BRANch? The BRANch query returns the current branch qualifier specification for a given sequence level. Returned Format [:MACHine{1|2}:TTRigger:BRANch] , Example OUTPUT XXX;":MACHINE1:TTRIGGER:BRANCH3?" Figure 22-2 Complex Qualifier Figure 22-2 is a front-panel representation of the complex qualifier (a Or b) Or (f Or g). Example This example would be used to specify this complex qualifier.
TTRigger (TTRace) Subsystem CLEar Terms A through E, RANGE 1, and EDGE1 must be grouped together and terms F, G, RANGE 2, and EDGE2, and must be grouped together. In the first level, terms from one group may not be mixed with terms from the other. For example, the expression ((A OR IN_RANGE2) AND (C OR G)) is not allowed because the term C cannot be specified in the F, G group. In the first level, the operators you can use are AND, NAND, OR, NOR, XOR, NXOR.
TTRigger (TTRace) Subsystem EDGE EDGE Command :MACHine{1|2}:TTRigger:EDGE , The EDGE command defines edge specifications for a given label. Edge specifications can be R (rising), F (falling), E (either), or "." (don’t care). Edges are sent in the same string with the rightmost string character specifying what the rightmost bit will be. The string length must match the exact number of bits assigned to the specified label.
TTRigger (TTRace) Subsystem FIND FIND Command :MACHine{1|2}:TTRigger:FIND , The FIND command defines the qualifier for a given sequence level. The qualifier tells the timing analyzer when to proceed to the next sequence level. When this proceed qualifier is matched for either the specified time or occurrence, the trigger sequence will proceed to the next sequence level.
TTRigger (TTRace) Subsystem MLENgth Example OUTPUT XXX;":MACHINE1:TTRIGGER:FIND1 ’ANYSTATE’, GT, 10E−6" OUTPUT XXX;":MACHINE1:TTRIGGER:FIND3 ’((NOTA AND NOTB) OR G)’, OCCURRENCE, 10" Query :MACHine{1|2}:TTRigger:FIND? The FIND query returns the current time qualifier specification for a given sequence level.
TTRigger (TTRace) Subsystem RANGe Query :MACHine{1|2}:TTRigger:MLENgth? The MLENgth query returns the current analyzer memory depth selection. Returned Format [:MACHine{1|2}:TTRigger:MLENgth] Example OUTPUT XXX;":MACHINE1:TTRIGGER:MLENGTH?" RANGe Command :MACHine{1|2}:TTRigger:RANGe ,, The RANGe command specifies a range recognizer term for the specified machine.
TTRigger (TTRace) Subsystem SEQuence Example OUTPUT XXX;":MACHINE1:TTRIGGER:RANGE1 ’DATA’, ’127’, ’255’ " OUTPUT XXX;":MACHINE1:TTRIGGER:RANGE2 ’ABC’, ’#B00001111’, ’#HCF’ " Query :MACHine{1|2}:TTRigger:RANGe? The RANGe query returns the range recognizer end point specifications for the range.
TTRigger (TTRace) Subsystem SPERiod Query :MACHine{1|2}:TTRigger:SEQuence? The SEQuence query returns the current sequence specification. Returned Format [:MACHine{1|2}:TTRigger:SEQuence] , Example OUTPUT XXX;":MACHINE1:TTRIGGER:SEQUENCE?" SPERiod Command :MACHine{1|2}:TTRigger:SPERiod The SPERiod command sets the sample period of the timing analyzer.
TTRigger (TTRace) Subsystem TCONtrol (Timer Control) TCONtrol (Timer Control) Command :MACHine{1|2}:TTRigger:TCONtrol , {OFF|STARt|PAUSe|CONTinue} The TCONtrol command turns off, starts, pauses, or continues the timer for the specified level. The time value of the timer is defined by the TIMER command.
TTRigger (TTRace) Subsystem TERM TERM Command :MACHine{1|2}:TTRigger:TERM ,, The TERM command specifies a pattern recognizer term in the specified machine. Each command deals with only one label in the given term; therefore, a complete specification could require several commands. Since a label can contain 32 or less bits, the range of the pattern value will be between 232 − 1 and 0.
TTRigger (TTRace) Subsystem TIMER Query :MACHine{1|2}:TTRigger:TERM? , The TERM query returns the specification of the term specified by term identification and label name. Returned Format [:MACHine{1|2}:TTRigger:TERM] ,, Example OUTPUT XXX;":MACHINE1:TTRIGGER:TERM? B,’DATA’ " TIMER Command :MACHine{1|2}:TTRigger:TIMER{1|2} The TIMER command sets the time value for the specified timer.
TTRigger (TTRace) Subsystem TPOSition (Trigger Position) TPOSition (Trigger Position) Command :MACHine{1|2}:TTRigger:TPOSition {STARt|CENTer|END|DELay, | POSTstore,} The TPOSition command sets the trigger at the start, center, end or any position in the trace (poststore). Poststore is defined as 0 to 100 percent with a poststore of 100 percent being the same as putting the trigger start position and a poststore of 0 percent being the same as ending the trace with the trigger.
23 TWAVeform Subsystem
Introduction The TWAVeform subsystem contains the commands available for the Timing Waveforms menu in the Agilent 1670G-series logic analyzer.
TWAVeform Subsystem Figure 23-1 TWAVeform Subsystem Syntax Diagram 23–3
TWAVeform Subsystem Figure 23-1 (continued) TWAVeform Subsystem Syntax Diagram (continued) 23–4
TWAVeform Subsystem Figure 23-1 (continued) TWAVeform Subsystem Syntax Diagram (continued) 23–5
TWAVeform Subsystem Table 23-1 TWAVeform Parameter Values Parameter Value delay_value real number between -2500 s and +2500 s module_spec 1 bit_id integer from 0 to 31 label_name string of up to 6 alphanumeric characters label_pattern "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|X} . . . | {0|1|2|3|4|5|6|7|8|9} . . .
TWAVeform Subsystem TWAVeform TWAVeform Selector :MACHine{1|2}:TWAVeform The TWAVeform selector is used as part of a compound header to access the settings found in the Timing Waveforms menu. It always follows the MACHine selector because it selects a branch below the MACHine level in the command tree.
TWAVeform Subsystem ACQuisition ACQuisition Command :MACHine{1|2}:TWAVeform:ACQuisition {AUTOmatic|MANual} The ACQuisition command specifies the acquisition mode for the timing analyzer. The acquisition modes are automatic and manual. Example OUTPUT XXX;":MACHINE2:TWAVEFORM:ACQUISITION AUTOMATIC" Query MACHine{1|2}:TWAVeform:ACQuisition? The ACQuisition query returns the current acquisition mode.
TWAVeform Subsystem CLRPattern CLRPattern Command :MACHine{1|2}:TWAVeform:CLRPattern {X|O|ALL} The CLRPattern command clears the patterns in the selected Specify Patterns menu. Example OUTPUT XXX;":MACHINE1:TWAVEFORM:CLRPATTERN ALL" CLRStat Command :MACHine{1|2}:TWAVeform:CLRStat The CLRStat command clears the waveform statistics without having to stop and restart the acquisition.
TWAVeform Subsystem INSert Query :MACHine{1|2}:TWAVeform:DELay? The DELay query returns the current time offset (delay) value from the trigger. Returned Format [:MACHine{1|2}:TWAVeform:DELay] Example OUTPUT XXX;":MACHINE1:TWAVEFORM:DELAY?" INSert Command :MACHine{1|2}:TWAVeform:INSert [,] [,{|OVERlay|ALL}] The INSert command inserts waveforms in the timing waveform display. The waveforms are added from top to bottom up to a maximum of 96 waveforms.
TWAVeform Subsystem MLENgth MLENgth Command :MACHine{1|2}:TWAVeform:MLENgth The MLENgth command specifies the analyzer memory depth. Valid memory depths range from 4096 states (or samples) through the maximum system memory depth minus 8192 states. Memory depth is affected by acquisition mode. If the value sent with the command is not a legal value, the closest legal setting will be used.
TWAVeform Subsystem MMODe (Marker Mode) MMODe (Marker Mode) Command :MACHine{1|2}:TWAVeform:MMODe {OFF|PATTern|TIME|MSTats} The MMODe command selects the mode controlling marker movement and the display of the marker readouts. When PATTern is selected, the markers will be placed on patterns. When TIME is selected, the markers move based on time. In MSTats, the markers are placed on patterns, but the readouts will be time statistics.
TWAVeform Subsystem OPATtern Query :MACHine{1|2}:TWAVeform:OCONdition? The OCONdition query returns the current setting. Returned Format [:MACHine{1|2}:TWAVeform:OCONdition] {ENTering|EXITing} Example OUTPUT XXX;":MACHINE1:TWAVEFORM:OCONDITION?" OPATtern Command :MACHine{1|2}:TWAVeform:OPATtern , The OPATtern command constructs a pattern recognizer term for the O marker which is then used with the OSEarch criteria and OCONdition when moving the marker on patterns.
TWAVeform Subsystem OSEarch Query :MACHine{1|2}:TWAVeform:OPATtern? The OPATtern query, in pattern marker mode, returns the pattern specification for a given label name. In the time marker mode, the query returns the pattern under the O marker for a given label. If the O marker is not placed on valid data, don’t cares (X) are returned.
TWAVeform Subsystem OTIMe Query :MACHine{1|2}:TWAVeform:OSEarch? The OSEarch query returns the search criteria for the O marker. Returned Format [:MACHine{1|2}:TWAVeform:OSEarch] , Example OUTPUT XXX;":MACHINE1:TWAVEFORM:OSEARCH?" OTIMe Command :MACHine{1|2}:TWAVeform:OTIMe The OTIMe command positions the O marker in time when the marker mode is TIME. If data is not valid, the command performs no action. real number −2.5 ks to +2.
TWAVeform Subsystem RANGe RANGe Command :MACHine{1|2}:TWAVeform:RANGe The RANGe command specifies the full-screen time in the timing waveform menu. It is equivalent to ten times the seconds-per-division setting on the display. The allowable values for RANGe are from 10 ns to 10 ks. real number between 10 ns and 10 ks Example OUTPUT XXX;":MACHINE1:TWAVEFORM:RANGE 100E−9" Query :MACHine{1|2}:TWAVeform:RANGe? The RANGe query returns the current full-screen time.
TWAVeform Subsystem RUNTil (Run Until) RUNTil (Run Until) Command :MACHine{1|2}:TWAVeform:RUNTil The RUNTil command defines stop criteria based on the time between the X and O markers when the trace mode is in repetitive. When OFF is selected, the analyzer will run until either STOP is selected from the front panel or the STOP command is sent.
TWAVeform Subsystem SPERiod SPERiod Command :MACHine{1|2}:TWAVeform:SPERiod The SPERiod command sets the sample period of the timing analyzer. real number from 4 ns to 100 us Example OUTPUT XXX;":MACHINE1:TWAVEFORM:SPERIOD 50E−9" Query :MACHine{1|2}:TWAVeform:SPERiod? The SPERiod query returns the current sample period.
TWAVeform Subsystem TMAXimum TMAXimum Query :MACHine{1|2}:TWAVeform:TMAXimum? The TMAXimum query returns the value of the maximum time between the X and O markers. If there is no valid data, the query returns 9.9E37. Returned Format Example [:MACHine{1|2}:TWAVeform:TMAXimum] real number OUTPUT XXX;":MACHINE1:TWAVEFORM:TMAXIMUM?" TMINimum Query :MACHine{1|2}:TWAVeform:TMINimum? The TMINimum query returns the value of the minimum time between the X and O markers.
TWAVeform Subsystem VRUNs the User Defined option when setting the trigger position from the front panel. The TPOSition command is only available when the acquisition mode is set to manual. real number from (2 × sample_period) to (516096 × sample_period) integer from 1 to 100 Example OUTPUT XXX;":MACHINE2:TWAVEFORM:TPOSITION CENTER" Query MACHine{1|2}:TWAVeform:TPOSition? The TPOSition query returns the current trigger setting.
TWAVeform Subsystem XCONdition XCONdition Command :MACHine{1|2}:TWAVeform:XCONdition {ENTering|EXITing} The XCONdition command specifies where the X marker is placed. The X marker can be placed on the entry or exit point of the XPATtern when in the PATTern marker mode. Example OUTPUT XXX; ":MACHINE1:TWAVEFORM:XCONDITION ENTERING" Query :MACHine{1|2}:TWAVeform:XCONdition? The XCONdition query returns the current setting.
TWAVeform Subsystem XPATtern XPATtern Command :MACHine{1|2}:TWAVeform:XPATtern , The XPATtern command constructs a pattern recognizer term for the X marker which is then used with the XSEarch criteria and XCONdition when moving the marker on patterns. Since this command deals with only one label at a time, a complete specification could require several iterations.
TWAVeform Subsystem XSEarch XSEarch Command :MACHine{1|2}:TWAVeform:XSEarch , The XSEarch command defines the search criteria for the X marker which is then used with the associated XPATtern recognizer specification and the XCONdition when moving markers on patterns. The origin parameter tells the marker to begin a search with the trigger.
TWAVeform Subsystem XTIMe XTIMe Command :MACHine{1|2}:TWAVeform:XTIMe The XTIMe command positions the X marker in time when the marker mode is TIME. If data is not valid, the command performs no action. real number from −10.0 ks to +10.0 ks Example OUTPUT XXX; ":MACHINE1:TWAVEFORM:XTIME 40.0E−6" Query :MACHine{1|2}:TWAVeform:XTIMe? The XTIMe query returns the X marker position in time. If data is not valid, the query returns 9.9E37.
24 TLISt Subsystem
Introduction The TLISt subsystem contains the commands available for the Timing Listing menu in the Agilent 1670G-series logic analyzer and is the same as the SLISt subsystem (except the OCONdition and XCONdition commands).
TLISt Subsystem Figure 24-1 TLISt Subsystem Syntax Diagram 24–3
TLISt Subsystem Figure 24-1 (continued) TLISt Subsystem Syntax Diagram (continued) 24–4
TLISt Subsystem Figure 24-1 (continued) TLISt Subsystem Syntax Diagram (continued) 24–5
TLISt Subsystem Table 24-1 TLISt Parameter Values Parameter Value mod_num 1 (2 through 10 not used) col_num integer from 1 to 61 line_number integer from -1032192 to +1032192 label_name a string of up to 6 alphanumeric characters base {BINary|HEXadecimal|OCTal|DECimal|TWOS| ASCii|SYMBol|IASSembler} for labels or {ABSolute|RELative} for tags line_num_mid_screen integer from -1032192 to +1032192 label_pattern "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . .
TLISt Subsystem TLISt TLISt Selector :MACHine{1|2}:TLISt The TLISt selector is used as part of a compound header to access those settings normally found in the Timing Listing menu. It always follows the MACHine selector because it selects a branch directly below the MACHine level in the command tree.
TLISt Subsystem CLRPattern integer from 1 to 61 1 (2 through 10 not used) a string of up to 6 alphanumeric characters {BINary|HEXadecimal|OCTal|DECimal|TWOS|ASCii|SYMBol| IASSembler} for labels or {ABSolute|RELative} for tags Example OUTPUT XXX;":MACHINE1:TLIST:COLUMN 4,2,’A’,HEX" Query :MACHine{1|2}:TLISt:COLumn? The COLumn query returns the column number, instrument, machine, label name, and base for the specified column.
TLISt Subsystem DATA DATA Query :MACHine{1|2}:TLISt:DATA? , The DATA query returns the value at a specified line number for a given label. The format will be the same as the one shown in the Listing display. Returned Format Example [:MACHine{1|2}:TLISt:DATA] ,, integer from -1032192 to +1032192 string of up to 6 alphanumeric characters "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . .
TLISt Subsystem MMODe (Marker Mode) Query :MACHine{1|2}:TLISt:LINE? The LINE query returns the line number for the state currently in the box at the center of the screen. Returned Format [:MACHine{1|2}:TLISt:LINE] Example OUTPUT XXX;":MACHINE1:TLIST:LINE?" MMODe (Marker Mode) Command :MACHine{1|2}:TLISt:MMODe The MMODe command selects the mode controlling the marker movement and the display of marker readouts.
TLISt Subsystem OCONdition OCONdition Command :MACHine{1|2}:TLISt:OCONdition {ENTering|EXITing} The OCONdition command specifies where the O marker is placed. The O marker can be placed on the entry or exit point of the OPATtern when in the PATTern marker mode. Example OUTPUT XXX; ":MACHINE1:TLIST:OCONDITION ENTERING" Query :MACHine{1|2}:TLISt:OCONdition? The OCONdition query returns the current setting.
TLISt Subsystem OPATtern OPATtern Command :MACHine{1|2}:TLISt:OPATtern , The OPATtern command allows you to construct a pattern recognizer term for the O Marker which is then used with the OSEarch criteria when moving the marker on patterns. Since this command deals with only one label at a time, a complete specification could require several iterations.
TLISt Subsystem OSEarch OSEarch Command :MACHine{1|2}:TLISt:OSEarch , The OSEarch command defines the search criteria for the O marker, which is then used with associated OPATtern recognizer specification when moving the markers on patterns. The origin parameter tells the marker to begin a search with the trigger, the start of data, or with the X marker.
TLISt Subsystem OSTate OSTate Query :MACHine{1|2}:TLISt:OSTate? The OSTate query returns the line number in the listing where the O marker resides. If data is not valid , the query returns 2147483647. Returned Format Example [:MACHine{1|2}:TLISt:OSTate] integer from -1032192 to +1032192 or 2147483647 OUTPUT XXX;":MACHINE1:TLIST:OSTATE?" OTAG Command :MACHine{1|2}:TLISt:OTAG The OTAG command specifies the tag value on which the O Marker should be placed.
TLISt Subsystem REMove REMove Command :MACHine{1|2}:TLISt:REMove The REMove command removes all labels, except the leftmost label, from the listing menu. Example OUTPUT XXX;":MACHINE1:TLIST:REMOVE" RUNTil (Run Until) Command :MACHine{1|2}:TLISt:RUNTil The RUNTil command defines a stop condition when the trace mode is repetitive. Specifying OFF causes the analyzer to make runs until either STOP is selected from the front panel or the STOP command is issued.
TLISt Subsystem TAVerage The RUNTil query returns the current stop criteria. Returned Format [:MACHine{1|2}:TLISt:RUNTil] Example OUTPUT XXX;":MACHINE1:TLIST:RUNTIL?" TAVerage Query :MACHine{1|2}:TLISt:TAVerage? The TAVerage query returns the value of the average time between the X and O markers. If the number of valid runs is zero, the query returns 9.9E37.
TLISt Subsystem TMINimum TMINimum Query :MACHine{1|2}:TLISt:TMINimum? The TMINimum query returns the value of the minimum time between the X and O markers. If data is not valid, the query returns 9.9E37. Returned Format Example [:MACHine{1|2}:TLISt:TMINimum] real number OUTPUT XXX;":MACHINE1:TLIST:TMINIMUM?" VRUNs Query :MACHine{1|2}:TLISt:VRUNs? The VRUNs query returns the number of valid runs and total number of runs made.
TLISt Subsystem XCONdition XCONdition Command :MACHine{1|2}:TLISt:XCONdition {ENTering|EXITing} The XCONdition command specifies where the X marker is placed. The X marker can be placed on the entry or exit point of the XPATtern when in the PATTern marker mode. Example OUTPUT XXX; ":MACHINE1:TLIST:XCONDITION ENTERING" Query :MACHine{1|2}:TLISt:XCONdition? The XCONdition query returns the current setting.
TLISt Subsystem XOTime XOTime Query :MACHine{1|2}:TLISt:XOTime? The XOTime query returns the time from the X to O markers. If there is no data in the time mode the query returns 9.9E37.
TLISt Subsystem XSEarch Query :MACHine{1|2}:TLISt:XPATtern? The XPATtern query returns the pattern specification for a given label name.
TLISt Subsystem XSTate XSTate Query :MACHine{1|2}:TLISt:XSTate? The XSTate query returns the line number in the listing where the X marker resides. If data is not valid, the query returns 2147483647. Returned Format Example [:MACHine{1|2}:TLISt:XSTate] integer from -1032192 to +1032192 or 2147483647 OUTPUT XXX;":MACHINE1:TLIST:XSTATE?" XTAG Command :MACHine{1|2}:TLISt:XTAG The XTAG command specifies the tag value in time on which the X marker should be placed.
24–22
25 SPA Subsystem
25–2
SPA Subsystem 25–3
SPA Subsystem 25–4
SPA Subsystem 25–5
SPA Subsystem Table 25-1 SPA Subsystem Parameter Values Parameter Value bucket_num 0 to (number of valid buckets - 1) high_patt label_name a string of up to 6 alphanumeric characters low_patt memory {4096 | 8192 | 16384 | 32768 | 65536 | 131072 | 262144 | 524288 | 1032192 } o_patt x_patt range_num an integer from 0 to 10 range_name a string of up to 16 alphanumeric characters min_time real number max_time real number start_pattern
SPA Subsystem MODE MODE Command :SPA{1|2}:MODE {OVERView|HISTogram|TINTerval} The MODE command selects which menu to display: State Overview, State Histogram, or Time Interval. A query returns the current menu mode.
SPA Subsystem OVERView:BUCKet OVERView:BUCKet Query :SPA{1|2}:OVERView:BUCKet? {SIZE|NUMBer|} The OVERView:BUCKet query returns data relating to the State Overview measurement.
SPA Subsystem OVERView:HIGH OVERView:HIGH Command :SPA{1|2}:OVERView:HIGH The OVERView:HIGH command sets the upper boundary of the State Overview measurement. A query returns the current setting of the upper boundary. Setting the upper boundary defaults the data accumulators, statistic counters, and the number of buckets and their size. "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...| #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F}.. .| {0|1|2|3|4|5|6|7|8|9}...
SPA Subsystem OVERView:LABel OVERView:LABel Command :SPA{1|2}:OVERView:LABel The OVERView:LABel command selects a new label for collecting the SPA measurements. A query returns the name of the currently selected label. Selecting a new label defaults the State Overview data accumulators, statistic counters, and the number of buckets and their size.
SPA Subsystem OVERView:LOW OVERView:LOW Command :SPA{1|2}:OVERView:LOW The OVERView:LOW command sets the lower boundary of the State Overview measurement. A query returns the current setting of the lower boundary. Setting the lower boundary defaults the data accumulators, statistic counters, and the number of buckets and their size. "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...| #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F}...| {0|1|2|3|4|5|6|7|8|9}...
SPA Subsystem OVERView:MLENgth OVERView:MLENgth Command :SPA{1|2}:OVERView:MLENgth The MLENgth command specifies the memory depth. Valid memory depths range from 4096 states (or samples) through the maximum system memory depth minus 8192 states. Memory depth is affected by acquisition mode. If the value sent with the command is not a legal value, the closest legal setting will be used.
SPA Subsystem OVERView:OMARker OVERView:OMARker Command :SPA{1|2}:OVERView:OMARker The OVERView:OMARker command sends the O marker to the lower boundary of the bucket where the specified pattern is located. A request to place the marker outside the defined boundary forces the marker to the appropriate end bucket. A query returns the pattern associated with the lower end of the bucket where the marker is placed. "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...
SPA Subsystem OVERView:OVSTatistic OVERView:OVSTatistic Query :SPA{1|2}:OVERView:OVSTatistic? {XHITs|OHITs|TOTal} The OVERView:OVSTatistic query returns the number of hits associated with the requested statistic or returns the number of hits in the specified bucket. XHITs requests the number of hits in the bucket where the X marker is located. OHITs requests the number of hits in the bucket where the O marker is located. TOTal requests the total number of hits.
SPA Subsystem OVERView:XMARker OVERView:XMARker Command :SPA{1|2}:OVERView:XMARker The OVERView:XMARker command sends the X marker to the lower boundary of the bucket where the specified pattern is located. A request to place the marker outside the defined boundary forces the marker to the appropriate end bucket. A query returns the pattern associated with the lower end of the bucket where the marker is placed. "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...
SPA Subsystem HISTogram:HSTatistic HISTogram:HSTatistic Query :SPA{1|2}:HISTogram:HSTatistic? {TOTal|OTHer|} The HISTogram:HSTatistic query returns the total number of samples or returns the number of samples in the specified range. Specify TOTal for the total number of samples, OTHer for the number of hits in "other" range, or for the number of hits in that range.
SPA Subsystem HISTogram:LABel HISTogram:LABel Command :SPA{1|2}:HISTogram:LABel The HISTogram:LABel command selects a new label for collecting SPA measurements. A query returns the name of the currently selected label. Selecting a new label defaults the State Histogram range names, bucket sizes, and hit accumulators.
SPA Subsystem HISTogram:OTHer HISTogram:OTHer Command :SPA{1|2}:HISTogram:OTHer {INCLuded|EXCLuded} The HISTogram:OTHer command selects including or excluding the "other" histogram bucket. A query returns data indicating whether the "other" bucket is currently included or excluded.
SPA Subsystem HISTogram:QUALifier HISTogram:QUALifier Command :SPA{1|2}:HISTogram:QUALifier , The HISTogram:QUALifier command sets the pattern associated with the specified label. The pattern is a condition for triggering and storing the measurement. A query of a label returns the current pattern setting for that label. string of up to 6 alphanumeric characters "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...| #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F}.. .
SPA Subsystem HISTogram:RANGe HISTogram:RANGe Command :SPA{1|2}:HISTogram:RANGe {OFF | ,,,} The HISTogram:RANGe command turns off all ranges or defines the range name, low boundary, and high boundary of the specified range. Defining a specified range turns on that range. For the specified range, a query returns the name, low boundary, high boundary, and whether the range is on or off.
SPA Subsystem HISTogram:TTYPe HISTogram:TTYPe Command :SPA{1|2}:HISTogram:TTYPe {ALL|QUALified} The HISTogram:TTYPe command sets the trigger to trigger on anystate or on qualified state. A query returns the current trace type setting.
SPA Subsystem TINTerval:AUTorange TINTerval:AUTorange Command :SPA{1|2}:TINTerval:AUTorange {LOGarithmic|LINear},, The TINTerval:AUTorange command automatically sets the Time Interval ranges in a logarithmic or linear distribution over the specified range of time. When the AUTorange command is executed, the data accumulators and statistic counters are reset. real number real number Example OUTPUT XXX;":SPA2:TINTerval:AUTorange LINear,4.0E-3,55.
SPA Subsystem TINTerval:QUALifier "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...| #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F}.. .| {0|1|2|3|4|5|6|7|8|9}...
SPA Subsystem TINTerval:TINTerval TINTerval:TINTerval Command :SPA{1|2}:TINTerval:TINTerval ,, The TINTerval:TINTerval command specifies the minimum and maximum time limits for the given interval. A query returns these limits for a specified interval. 0 to 7 real number real number Example OUTPUT XXX;":SPA2:TINTerval:TINTerval 4,1.0E-3,47.0E5" OUTPUT XXX;":SPA1:TINTerval:TINTerval 3,6.8E-7,4.
SPA Subsystem TINTerval:TSTatistic TINTerval:TSTatistic Query :SPA{1|2}:TINTerval:TSTatistic? {TMINimum|TMAXimum|TAVerage|TOTal|TTOTal| } The TINTerval:TSTatistic query returns either the time or the number of samples associated with the requested statistic.
25–26
26 SYMBol Subsystem
Introduction The SYMBol subsystem contains the commands to define symbols on the controller and download them to the Agilent 1670G-series logic analyzer.
SYMBol Subsystem Figure 26-1 SYMBol Subsystem Syntax Diagram 26–3
SYMBol Subsystem Table 26-1 SYMBol Parameter Values Parameter Value label_name string of up to 6 alphanumeric characters symbol_name string of up to 16 alphanumeric characters pattern_value "{#B{0|1|X} . . . | #Q{0|1|2|3|4|5|6|7|X} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|X} . . . | {0|1|2|3|4|5|6|7|8|9} . . . }" start_value "{#B{0|1} . . . | #Q{0|1|2|3|4|5|6|7} . . . | #H{0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F} . . . | {0|1|2|3|4|5|6|7|8|9} . . . }" stop_value "{#B{0|1} . . .
SYMBol Subsystem SYMBol SYMBol Selector :MACHine{1|2}:SYMBol The SYMBol selector is used as a part of a compound header to access the commands used to create symbols. It always follows the MACHine selector because it selects a branch directly below the MACHine level in the command tree.
SYMBol Subsystem PATTern PATTern Command :MACHine{1|2}:SYMBol:PATTern , , The PATTern command creates a pattern symbol for the specified label. Because don’t cares (X) are allowed in the pattern value, it must always be expressed as a string. You may still use different bases, but "don’t cares" cannot be used in a decimal number.
SYMBol Subsystem RANGe RANGe Command :MACHine{1|2}:SYMBol:RANGe , ,, The RANGe command creates a range symbol containing a start value and a stop value for the specified label. The values may be in binary (#B), octal (#Q), hexadecimal (#H) or decimal (default). You cannot use don’t cares in any base. string of up to 6 alphanumeric characters string of up to 16 alphanumeric characters "{#B{0|1} . . .
SYMBol Subsystem REMove REMove Command :MACHine{1|2}:SYMBol:REMove The REMove command deletes all symbols from a specified machine. Example OUTPUT XXX;":MACHINE1:SYMBOL:REMOVE" WIDTh Command :MACHine{1|2}:SYMBol:WIDTh , The WIDTh command specifies the width (number of characters) in which the symbol names will be displayed when symbols are used. The WIDTh command does not affect the displayed length of the symbol offset value.
27 DATA and SETup Commands
Introduction The DATA and SETup commands are SYSTem commands that send and receive block data between the Agilent 1670G-series logic analyzer and a controller. Use the DATA instruction to transfer acquired timing and state data, and the SETup instruction to transfer instrument configuration data. This is useful for: • Re-loading to the logic analyzer • Processing data later • Processing data in the controller This chapter explains how to use these commands.
DATA and SETup Commands Data Format Data Format To understand the format of the data within the block data, keep these important things in mind. • • • • Example Data is sent to the controller in binary form. Each byte, as described in this chapter, contains 8 bits. The first bit of each byte is the MSB (most significant bit). Byte descriptions are printed in binary, decimal, or ASCII depending on how the data is described.
DATA and SETup Commands SYSTem:DATA SYSTem:DATA Command :SYSTem:DATA The SYSTem:DATA command transmits the acquisition memory data from the controller to the Agilent 1670G-series logic analyzer. The block data consists of a variable number of bytes containing information captured by the acquisition chips. Because no parameter checking is performed, out-of-range values could cause instrument lockup; therefore, take care when transferring the data string to the logic analyzer.
DATA and SETup Commands SYSTem:DATA ... #8 the total length of all sections in byte format (must be represented with 8 digits) 16 bytes, described on the following page format depends on the type of data The total length of a section is 16 (for the section header) plus the length of the section data.
DATA and SETup Commands Section Header Description Section Header Description The section header uses bytes 1 through 16 (this manual begins counting at 1; there is no byte 0). The 16 bytes of the section header are as follows: Byte Position 1 10 bytes - Section name ("DATA space space space space space space" in ASCII for the DATA instruction).
DATA and SETup Commands Data Preamble Description The values stored in the preamble represent the captured data currently stored in this structure and not the current analyzer configuration. For example, the mode of the data (bytes 33 and 103) may be STATE with tagging, while the current setup of the analyzer is TIMING. The next 70 bytes are for Analyzer 1 Data Information.
DATA and SETup Commands Data Preamble Description Byte Position 41 4 bytes - Master chip for this analyzer 45 4 bytes - Maximum hardware memory depth available for this analyzer 49 4 bytes - Unused 53 8 bytes - Sample period in picoseconds (timing only) Example The following 64 bits represent a sample period of 8,000 picoseconds (8 nanoseconds): 00000000 00000000 00000000 00000000 00000000 00000000 00011111 01000000 61 4 bytes - Tag type for state mode in one of the following decimal values: 0
DATA and SETup Commands Data Preamble Description Byte Position 173 88 bytes - Number of valid rows of data (starting at byte 591) for each pod. Bytes 173 through 228 are unused. Byte Position Bytes 229 through 232 - contain the number of valid rows of data for pod 8. Bytes 233 through 236 - contain the number of valid rows of data for pod 7. Bytes 237 through 240 - contain the number of valid rows of data for pod 6. Bytes 241 through 244 - contain the number of valid rows of data for pod 5.
DATA and SETup Commands Acquisition Data Description Acquisition Data Description The acquisition data section consists of a variable number of bytes depending on the acquisition mode and the tag setting. The data is grouped in rows of bytes with one sample from each pod in a single row.
DATA and SETup Commands Acquisition Data Description The clock pods contain data mapped according to the clock designator and the board (see below). Unused clock lines should be ignored. Clock Pod 1 pod8--5 pod4--1 < XXXX MLKJ > Where x = not used. Byte Position 591 1 byte - Not used (MSB of clock pod 2). 592 1 byte - LSB of clock pod 2. Not Used. 593 1 byte - MSB of clock pod 1. 594 1 byte - LSB of clock pod 1. 595 1 byte - MSB of data pod 4. 596 1 byte - LSB of data pod 4.
DATA and SETup Commands Tag Data Description Tag Data Description If tags are enabled for one or both analyzers, the tag data follows the acquisition data. The first byte of the tag data is determined as follows: 591 + (bytes per row × maximum number of valid rows) Each row of the tag data array consists of one (single tags enabled) or two (both analyzer’s tags enabled) eight-byte tag values per row.
DATA and SETup Commands SYSTem:SETup
27–14
Part 4 Oscilloscope Commands
28 Oscilloscope Root Level Commands
Introduction Oscilloscope Root Level commands control the basic operation of the oscilloscope. Refer to figure 28-1 for the module level syntax command diagram. The Root Level commands are: • AUToscale • DIGitize This chapter only applies to the oscilloscope option.
Oscilloscope Root Level Commands AUToscale Figure 28-1 Root Level Command Syntax Diagram AUToscale Command :AUToscale The AUToscale command causes the oscilloscope to automatically select the vertical sensitivity, vertical offset, trigger source, trigger level, and timebase settings for optimum viewing of any input signals. The trigger source is the lowest numbered channel on which the trigger was found. If no trigger is found, the oscilloscope defaults to auto-trigger.
Oscilloscope Root Level Commands AUToscale Example This program selects the oscilloscope in slot B, issues an autoscale command, waits 5 seconds for the oscilloscope to collect data, and then gets and prints the measurement.
Oscilloscope Root Level Commands DIGitize DIGitize Command :DIGitize The DIGitize command is used to acquire waveform data for transfer over GPIB and RS-232-C. The command initiates Repetitive Run for the oscilloscope and the analyzer if it is grouped with the oscilloscope via Group Run. If a RUNtil condition has been specified in any module, the oscilloscope and the grouped analyzer acquire data until the RUNtil conditions have been satisfied.
28-6
29 ACQuire Subsystem
Introduction The Acquire Subsystem commands are used to set up acquisition conditions for the DIGitize command of the oscilloscope system. The subsystem contains commands to select the type of acquisition and the number of averages to be taken if the average type is chosen. Refer to Figure 28-1 for the ACQuire Subsystem Syntax Diagram. The ACQuire Subsystem commands are: • COUNt • TYPE This chapter applies only to the oscilloscope option.
ACQuire Subsystem Figure 29-1 ACQuire Subsystem Syntax Diagram Table 29-1 ACQuire Parameter Values Parameter Value count_arg {2|4|8|16|32|64|128|256} The number of averages to be taken of each time point.
ACQuire Subsystem COUNt COUNt Command :ACQuire:COUNt The COUNt command specifies the number of acquisitions for the running weighted average. The COUNt command is only available when the acquisition mode is AVERage. This command generates error 211 ("Legal command but Settings conflict") if Normal acquisition mode is specified. {2|4|8|16|32|64|128|256} Example OUTPUT XXX;":ACQUIRE:COUNT 16" Query :ACQuire:COUNt? The COUNt query returns the last specified count.
ACQuire Subsystem TYPE TYPE Command :ACQuire:TYPE {NORMal|AVERage} The TYPE command selects the type of acquisition that is to take place when a DIGitize or STARt command is executed. One of two acquisition types may be chosen: the NORMal or AVERage mode. In the NORMal mode, with the ACCumulate command OFF, the oscilloscope acquires waveform data and then displays the waveform.
29-6
30 CHANnel Subsystem
Introduction The Channel Subsystem commands control the channel display and the vertical axis of the oscilloscope. Each channel must be programmed independently for all offset, range, and probe functions. When ECL or TTL commands are executed, the vertical range, offset, and trigger levels are automatically set for optimum viewing. Refer to figure 30-1 for the CHANnel Subsystem Syntax Diagram.
CHANnel Subsystem Figure 30-1 CHANnel Subsystem Syntax Diagram 30-3
CHANnel Subsystem COUPling Table 30-1 CHANnel Parameter Values Parameter Value channel_number {1|2} offset_arg a real number defining the voltage at the center of the display. The offset range is as follows (for a 1:1 probe setting): Vertical Sensitivity Vertical Range Offset Voltage 4 mV - 100 mV/div 16 mV - 400 mV ±2 V >100 mV - 400 mV/div >400 mV - 1.6 V ±10 V >400 mV - 2.5 V/div >1.6 V - 10 V ±50 V >2.
CHANnel Subsystem ECL Query :CHANnel:COUPling? The COUPling query returns the current input impedance for the specified channel. Returned Format [:CHANnel:COUPling:] {DC|AC|DCFifty} Example OUTPUT XXX;":CHANNEL1:COUPLING?" ECL Command :CHANnel:ECL The ECL command sets the vertical range, offset, and trigger levels for the selected input channel for optimum viewing of ECL signals. ECL values are: Range: 2.0 V (500 mV per division) Offset: -1.3 V Trigger level: -1.
CHANnel Subsystem OFFSet OFFSet Command :CHANnel:OFFSet The OFFSet command sets the voltage that is represented at center screen for the selected channel. The allowable offset voltage values are shown in the table below. The table represents values for a Probe setting of 1:1. The offset value is recompensated whenever the probe attenuation factor is changed. {1|2} allowable offset voltage value shown in the table below.
CHANnel Subsystem PROBe PROBe Command :CHANnel:PROBe The PROBe command specifies the attenuation factor for an external probe connected to a channel. The command changes the channel voltage references such as range, offset, trigger level, and automatic measurements. The actual sensitivity is not changed at the channel input. The allowable probe attenuation factor is an integer from 1 to 1000.
CHANnel Subsystem RANGe RANGe Command :CHANnel:RANGe The RANGe command defines the full-scale (4 × Volts/Div) vertical axis of the selected channel. The values for the RANGe command are dependent on the current probe attenuation factor for the selected channel. The allowable range for a probe attenuation factor of 1:1 is 16 mV to 40 V. For a larger probe attenuation factor, multiply the range limit by the probe attenuation factor.
CHANnel Subsystem TTL TTL Command :CHANnel:TTL The TTL command sets the vertical range, offset, and trigger level for the selected input channel for optimum viewing of TTL signals. TTL values are: Range: 6.0 V (1.50 V per division) Offset: 2.5 V Trigger Level: 1.62 V Example {1|2} OUTPUT XXX;":CHANNEL1:TTL" To return to "Preset User" change the CHANnel:RANGe, CHANel:OFFSet, or TRIGger:LEVel value.
30-10
31 DISPlay Subsystem
Introduction The Display Subsystem is used to control the display of data from the oscilloscope. Refer to Figure 31-1 for the DISPlay Subsystem Syntax Diagram. The DISPlay Subsystem commands are: • • • • • • • • ACCumulate CONNect INSert LABel MINus OVERlay PLUS REMove This chapter applies only to the oscilloscope option.
DISPlay Subsystem Figure 31-1 DISPlay Subsystem Syntax Diagram 31-3
DISPlay Subsystem ACCumulate Table 31-1 DISPlay Parameter Values Parameter Value slot_# 1 or 2 1=analyzer, 2=oscilloscope. bit_id an integer from 0 to 31. channel_# 1 or 2. label_str up to five characters enclosed in single quotes making up a label name. label_id a string of 1 alpha and 1 numeric character for the oscilloscope, or 6 characters for the timing modules.
DISPlay Subsystem CONNect CONNect Command :DISPlay:CONNect {{ON|1}|{OFF|0}} The CONNect command sets the Connect Dots mode. When ON, each displayed sample dot will be connected to the adjacent dot by a straight line. When OFF, only the sampling points will be displayed. Example OUTPUT XXX;":DISPLAY:CONNECT ON" Query :DISPlay:CONNect? The CONNect query reports if connect is on or off.
DISPlay Subsystem INSert INSert Command :DISPlay:INSert {[2,]
DISPlay Subsystem LABel LABel Command :DISPlay:LABel CHANnel, The LABel command is used to assign a label string to an oscilloscope channel. For single channel traces, the label string (up to five characters) appears on the left of the waveform area of the display. Note that the label string cannot be used in place of the channel number when programming the oscilloscope module.
DISPlay Subsystem MINus MINus Command :DISPlay:MINus [,], The MINus command algebraically subtracts one channel from another and inserts the resultant waveform on the display. The first parameter is an optional module specifier, always 2 for the oscilloscope. The next two parameters are the labels of the waveforms selected to be subtracted. The label names are defined in the same manner as the INSert command. You cannot subtract analyzer waveforms.
DISPlay Subsystem PLUS PLUS Command :DISPlay:PLUS [,], The PLUS command algebraically adds two channels and inserts the resultant waveform to the current display. The first parameter is an optional module specifier, always 2 for the oscilloscope. The next two parameters are the labels of the waveforms that are to be added.
31-10
32 MARKer Subsystem
Introduction The oscilloscope has four markers for making time and voltage measurement. These measurements may be made automatically or manually. Additional features include the run until time (RUNTil) mode and the ability to center on trigger or markers in the display area (CENTer) and . The RUNTil mode allows you to set a stop condition based on the time interval between the X marker and the O marker. When this condition is met, the oscilloscope will stop acquiring data.
MARKer Subsystem Figure 32-1 MARKer Subsystem Syntax Diagram 32-3
MARKer Subsystem Figure 32-1 (continued) MARKer Subsystem Syntax Diagram (continued) 32-4
MARKer Subsystem Figure 32-1 (continued) MARKer Subsystem Syntax Diagram (continued) Table 32-1 MARKer Parameter Values Parameter Value channel_# {1|2} marker_time time in seconds lt_arg time in seconds gt_arg time in seconds inrange_gt time in seconds inrange_lt time in seconds level level in volts outrange_gt time in seconds outrange_lt time in seconds V level percentage of waveform voltage level, ranging from 10 to 90 of the Vtop to Vbase voltage, or a specific voltage level typ
MARKer Subsystem AVOLt AVOLt Command :MARKer:AVOLt CHANnel, The AVOLt command moves the A marker to the specified voltage on the indicated channel. {1|2} the desired marker voltage level, ±(2 × maximum offset) Example OUTPUT XXX;":MARKER:AVOLT CHANNEL1,2.75" Query :MARKer:AVOLt? The AVOLt query returns the current voltage and channel selection for the A marker.
MARKer Subsystem ABVolt? ABVolt? Query :MARKer:ABVolt? The ABVolt query returns the difference between the A marker voltage and the B marker voltage (Vb – Va). Returned Format Example [:MARKer:ABVolt] level in volts of the B marker minus the A marker OUTPUT XXX;":MARKER:ABVOLT?" BVOLt Command :MARKer:BVOLt CHANnel, The BVOLt command moves the B marker to the specified voltage on the indicated channel.
MARKer Subsystem CENTer CENTer Command :MARKer:CENTer {TRIGger|X|O} The CENTer command allows you to position the indicated marker (TRIGger, X, or O) at the center of the waveform area on the scope display. The CENTer command adjusts the timebase delay to cause the trace to be centered around the indicated marker (s/Div remains unchanged).
MARKer Subsystem OAUTo OAUTo Command :MARKer:OAUTo {MANual|CHANnel,,, ,} The OAUTo command specifies the automatic placement specification for the O marker. The first parameter specifies if automarker placement is to be in the manual mode or on a specified channel. If a channel is specified, four other parameters must be included in the command syntax. The four parameters are marker type, level, the slope, and the occurrence count.
MARKer Subsystem OTIMe OTIMe Command :MARKer:OTIMe The OTIMe command moves the O marker to the specified time with respect to the trigger marker. time in seconds from trigger marker to O marker Example OUTPUT XXX;":MARKER:OTIME 1E-6" Query :MARKer:OTIMe? The OTIMe query returns the time in seconds between the O marker and the trigger marker.
MARKer Subsystem RUNTil (Run Until) RUNTil (Run Until) Command :MARKer:RUNTil {OFF|LT,
MARKer Subsystem SHOW SHOW Command :MARKer:SHOW {SAMPle|MARKer} The SHOW command allows you to select either SAMPle rate or MARKer data (when markers are enabled) to appear on the oscilloscope menus above the waveform area. The SAMPle rate or MARKer data appears on the channel, trigger, display, and auto-measure menus. Marker data is always present on the marker menu. While sample rate data is only present on the marker menu when time markers are turned off.
MARKer Subsystem TMAXimum? TMAXimum? Query :MARKer:TMAXimum? The TMAXimum query returns the value of the maximum time between the X and O markers. If there is no valid data, the query returns 9.9E37. Returned Format Example [:MARKer:TMAXimum] real number OUTPUT XXX;":MARKER:TMAXIMUM?" TMINimum? Query :MARKer:TMINimum? The TMINimum query returns the value of the minimum time between the X and O markers. If there is no valid data, the query returns 9.9E37.
MARKer Subsystem TMODe TMODe Command :MARKer:TMODe {OFF|ON|AUTO} The TMODe command allows you to select the time marker mode. The choices are OFF, ON, and AUTO. When OFF, time marker measurements cannot be made. When the time markers are turned on, the X and O markers can be moved to make time and voltage measurements. The AUTO mode allows you to make automatic marker placements by specifying channel, slope, and occurrence count for each marker. Also the Statistics mode may be used when AUTO is chosen.
MARKer Subsystem VMODe VMODe Command :MARKer:VMODe {{OFF|0} | {ON|1}} The VMODe command allows you to select the voltage marker mode. The choices are OFF or ON. When OFF, voltage marker measurements cannot be made. When the voltage markers are turned on, the A and B markers can be moved to make voltage measurements. When used in conjunction with the time markers (TMODe), both "delta t" and "delta v" measurements are possible.
MARKer Subsystem VOTime? VOTime? Query :MARKer:VOTime? CHANNEL The VOTime query returns the current voltage level of the selected source at the O marker. Returned Format Example [:MARKer:VOTime] {1|2} level in volts where the O marker crosses the waveform OUTPUT XXX;":MARKER:VOTIME? CHANNEL1" For compatibility with older systems, the OVOLt query functions the same as the VOTime query.
MARKer Subsystem VXTime? VXTime? Query :MARKer:XVOLt? CHANnel The VXTime query returns the current voltage level of the selected channel at the X marker. Returned Format Example [:MARKer:VXTime] {1|2} level in volts where the X marker crosses the waveform OUTPUT XXX;":MARKER:VXTIME? CHANNEL1" For compatibility with older systems, the XVOLt query functions the same as the VXTime query.
MARKer Subsystem XAUTo XAUTo Command :MARKer:XAUTo {MANual|CHANnel,,, ,} The XAUTo command specifies the automatic placement specification for the X marker. The first parameter specifies if automarker placement is to be in the Manual mode or on a specified channel. If a channel is specified, four other parameters must be included in the command syntax. The four parameters are marker type, level, slope, and the occurrence count.
MARKer Subsystem XOTime? XOTime? Query :MARKer:XOTime? The XOTime query returns the time in seconds from the X marker to the O marker. If data is not valid, the query returns 9.9E37. Returned Format Example [:MARKer:XOTime] real number OUTPUT XXX;":MARKER:XOTIME?" XTIMe Command :MARKer:XTIMe The XTIMe command moves the X marker to the specified time with respect to the trigger marker.
32-20
33 MEASure Subsystem
Introduction The commands in the Measure Subsystem are used to make automatic parametric measurements on oscilloscope waveforms. Except for SOURce, no commands in the MEASure subsystem set values. The MEASure subsystem commands are: • • • • • • • • • ALL FALLtime FREQuency NWIDth OVERshoot PERiod PREShoot PWIDth RISetime • • • • • • • SOURce VAMPlitude VBASe VMAX VMIN VPP VTOP This chapter applies only to the oscilloscope option.
MEASure Subsystem Figure 33-1 MEASure Subsystem Syntax Diagram Table 33-1 MEASure Parameter Values Parameter Value channel_# {1|2} 33-3
MEASure Subsystem ALL? ALL? Query :MEASure:[SOURce CHANnel;]ALL? The ALL query makes a set of measurements on the displayed waveform using the selected source.
MEASure Subsystem FALLtime? FALLtime? Query :MEASure:[SOURce CHANnel;]FALLtime? The FALLtime query makes a fall time measurement on the selected channel. The measurement is made between the 90% to the 10% voltage point of the first falling edge displayed on screen. If a parameter cannot be measured, the instrument responds with 9.9E37.
MEASure Subsystem NWIDth? NWIDth? Query :MEASure:[SOURce CHANnel;]NWIDth? The NWIDth query makes a negative width time measurement on the selected channel. The measurement is made between the 50% points of the first falling and the next rising edge displayed on screen. If a parameter cannot be measured, the instrument responds with 9.9E37.
MEASure Subsystem PERiod? PERiod? Query :MEASure:[SOURce CHANnel;]PERiod? The PERiod query makes a period measurement of the first complete cycle displayed on the selected channel at the 50% level. The measurement is equivalent to the inverse of the frequency. If a parameter cannot be measured, the instrument responds with 9.9E37.
MEASure Subsystem PWIDth? PWIDth? Query :MEASure:[SOURce CHANnel;]PWIDth? The PWIDth query makes a positive pulse width measurement on the selected channel. The measurement is made by finding the time difference between the 50% points of the first rising and the next falling edge displayed on screen. If a parameter cannot be measured, the instrument responds with 9.9E37.
MEASure Subsystem SOURce SOURce Command :MEASure:SOURce CHANnel The SOURce command specifies the source to be used for subsequent measurements. If the source is not specified, the last waveform source is assumed. {1|2} Example OUTPUT XXX;":MEASURE:SOURCE CHAN1" Query :MEASure:SOURce? The SOURce query returns the presently specified channel.
MEASure Subsystem VAMPlitude? VAMPlitude? Query :MEASure:[SOURce CHANnel;]VAMPlitude? The VAMPlitude query makes a voltage measurement on the selected channel. The measurement is made by finding the relative maximum (VTOP) and minimum (VBASe) points on screen. If a parameter cannot be measured, the instrument responds with 9.9E37.
MEASure Subsystem VMAX? VMAX? Query :MEASure:[SOURce CHANnel;]VMAX? The VMAX query returns the absolute maximum voltage of the selected source. If a parameter cannot be measured, the instrument responds with 9.9E37. Returned Format Example [:MEASure:VMAX] {1|2} maximum voltage of selected waveform OUTPUT XXX;":MEASURE:SOURCE CHAN2;VMAX?" VMIN? Query :MEASure:[SOURce CHANnel;]VMIN? The VMIN query returns the absolute minimum voltage present on the selected source.
MEASure Subsystem VPP? VPP? Query :MEASure:[SOURce CHANnel;]VPP? The VPP query makes a peak-to-peak voltage measurement on the selected source. The measurement is made by finding the absolute maximum (VMAX) and minimum (VMIN) points on the displayed waveform. If a parameter cannot be measured, the instrument responds with 9.9E37.
34 TIMebase Subsystem
Introduction The commands of the TIMebase Subsystem control the Timebase, Trigger Delay Time, and the Timebase Mode. If TRIGgered mode is to be used, ensure that the trigger specifications of the Trigger Subsystem have been set. The commands of the TIMebase subsystem are: • DELay • MODe • RANGe This chapter applies only to the oscilloscope option.
TIMebase Subsystem Figure 34-1 TIMebase Subsystem Syntax Diagram Table 34-1 TIMebase Parameter Values Parameter Value delay_arg delay time in seconds, from -2500 seconds through +2500 seconds.
TIMebase Subsystem DELay DELay Command :TIMebase:DELay The DELay command sets the time between the trigger and the center of the screen. The full range is available for panning the waveform when acquisition is stopped. delay time in seconds, from -2500 seconds through +2500 seconds. Example OUTPUT XXX;":TIM:DEL 2US" Query :TIMebase:DELay? The DELay query returns the current delay setting.
TIMebase Subsystem MODE MODE Command :TIMebase:MODE {TRIGgered|AUTO} The MODE command sets the oscilloscope timebase to either Auto or Triggered mode. When the AUTO mode is chosen, the oscilloscope waits approximately 50 ms for a trigger to occur. If a trigger is not generated within that time, then auto trigger is executed. If a signal is not applied to the input, a baseline is displayed.
TIMebase Subsystem RANGe RANGe Command :TIMebase:RANGe The RANGe command sets the full-scale horizontal time in seconds. The RANGE value is ten times the value in the s/Div field. time in seconds Example OUTPUT XXX;":TIMEBASE:RANGE 2US" Query :TIMebase:RANGe? The RANGe query returns the current setting.
35 TRIGger Subsystem
Introduction The commands of the Trigger Subsystem set all the trigger conditions necessary for generating a trigger for the oscilloscope. Many of the commands in the Trigger subsystem may be used in either the EDGE or the PATTern trigger mode. If a command is a valid command for the chosen trigger mode, then that setting will be accepted by the oscilloscope. If the command is not valid for the trigger mode, an error will be generated.
TRIGger Subsystem Figure 35-1 TRIGger Subsystem Syntax Diagram 35-3
TRIGger Subsystem Figure 35-1 (continued) TRIGger Subsystem Syntax Diagram (continued) Table 35-1 TRIGger Parameter Values Parameter Value channel_# An integer from 1 to 2 count_# an integer from 1 through 32000 level_value a real number from -6.0 V to +6.
TRIGger Subsystem CONDition CONDition Command :TRIGger:[MODE PATTern:] CONDition {ENTer|EXIT| GT,|LT,|RANGe,,} The CONDition command specifies if a trigger is to be generated on entry (ENTer) to a specific logic pattern, when exiting (EXIT) the specified pattern, or if a specified pattern duration (LT, GT, RANGe) is met. The specified pattern is defined by using the LOGic command.
TRIGger Subsystem CONDition When LT (less than) is selected, the oscilloscope will trigger on the first transition that causes the pattern specification to be false, after the pattern has been true for the number of times specified by the trigger event count (DELAY command). The first event in the sequence will occur when the specified pattern is true for a time less than that indicated by the trigger specification.
TRIGger Subsystem DELay DELay Command :TRIGger:DELay [EVENt,] The DELay command is used to specify the number of events at which trigger occurs. The time delay (see TIMe:DELay) is counted after the events delay. The DELay command cannot be used in the IMMediate trigger mode. In pattern mode, the DELay value corresponds to the Count field displayed on the TRIGger menu.
TRIGger Subsystem LEVel LEVel Command For EDGE trigger mode: :TRIGger:[MODE EDGE:SOURce CHANnel;] LEVel For PATTern trigger mode: :TRIGger:[MODE PATTern:PATH CHANnel;] LEVel The LEVel command sets the trigger level voltage for the selected source or path. This command cannot be used in the IMMediate trigger mode. In EDGE trigger mode, the SOURce command is used; in PATTern mode, the trigger PATH is used for the trigger level source.
TRIGger Subsystem LEVel Query For EDGE trigger mode: :TRIGger:[MODE EDGE;SOURce CHANnel;]LEVel? For PATTern trigger mode: :TRIGger:[MODE PATTern;PATH CHANnel;]LEVel? The LEVel query returns the trigger level for the current path or source.
TRIGger Subsystem LOGic LOGic Command :TRIGger:[MODE PATTern;PATH CHANnel;] LOGic {HIGH|LOW|DONTcare} The LOGic command sets the logic for each trigger path in the PATTern trigger mode. The choices are HIGH, LOW, and DONTcare. The trigger level set by the LEVel command determines logic high and low threshold levels. Any voltage higher than the edge trigger level is considered a logic high for that trigger path; any voltage lower than the trigger level is considered a logic low for that trigger path.
TRIGger Subsystem MODE MODE Command :TRIGger:MODE {EDGE|PATTern|IMMediate} The MODE command allows you to select the trigger mode for the oscilloscope. In the IMMediate trigger mode, the oscilloscope goes to a freerun mode and does not wait for a trigger. Generally, the IMMediate mode is used when correlating measurements with the analyzer. In EDGE trigger mode, the oscilloscope triggers on an edge of a waveform, specified by the SOURce, DELay, LEVel, and SLOPe commands.
TRIGger Subsystem PATH PATH Command :TRIGger:[MODE PATTern;]PATH CHANnel The PATH command is used to select a trigger path for the subsequent LOGic and LEVel commands. This command can only be used in the PATTern trigger mode. {1|2} Example OUTPUT XXX;":TRIGGER:PATH CHANNEL1" Query :TRIGger:PATH? The PATH query returns the current trigger path.
TRIGger Subsystem SOURce Query :TRIGger:SLOPe? The SLOPe query returns the slope of the current trigger source. Returned Format [:TRIGger:SLOPe] {POSitive|NEGative} Example OUTPUT XXX;":TRIG:SOUR CHAN1;SLOP?" SOURce Command :TRIGger:[MODE EDGE;]SOURce CHANnel The SOURce command is used to select the trigger source and is used for any subsequent SLOPe and LEVel commands. This command can only be used in the EDGE trigger mode.
35-14
36 WAVeform Subsystem
Introduction The commands of the Waveform subsystem are used to transfer waveform data from the oscilloscope to a controller. The waveform record is actually contained in two portions; the waveform data and preamble. The waveform data is the actual data acquired for each point when a DIGitize command is executed. The preamble contains the information for interpreting waveform data.
WAVeform Subsystem Format for Data Transfer Format for Data Transfer There are three formats for transferring waveform data over the remote interface. These formats are WORD, BYTE, or ASCII. WORD and BYTE formatted waveform records are transmitted using the arbitrary block program data format specified in IEEE-488.2. When you use this format, the ASCII character string "#8
" is sent before the actual data. The s are eight ASCII numbers which indicate how many data bytes will follow.WAVeform Subsystem Format for Data Transfer WORD Format Word data is two bytes wide with the most significant byte of each word being transmitted first. In WORD format, the 15 least significant bits represent the waveform data. The possible range of data is divided into 32768 vertical increments. The WORD data structure for normal and average acquisition types are shown in figure 36-2. If all "1"s are returned in the 15 least significant bits, the waveform is clipped at the top of the screen.
WAVeform Subsystem Data Conversion Data Conversion Data sent from the oscilloscope is raw data and must be scaled for useful interpretation. The values used to interpret the data are the X and Y references, X and Y origins, and X and Y increments. These values are read from the waveform preamble (see the PREamble command) or by the queries of these values.
WAVeform Subsystem Data Conversion Figure 36-3 WAVeform Subsystem Syntax Diagram 36-6
WAVeform Subsystem Data Conversion Figure 36-3 (continued) WAVeform Subsystem Syntax Diagram (Continued) Table 36-1 WAVeform Parameter Values Parameter Value channel_# {1|2} 36-7
WAVeform Subsystem COUNt? COUNt? Query :WAVeform:COUNt? The COUNt query returns the count last specified in the ACQuire Subsystem. Returned Format Example [:WAVeform:COUNt] {2|4|8|16|32|64|128|256} OUTPUT XXX;":WAVEFORM:COUNT?" DATA? Query :WAVeform:[SOURce CHANnel;]DATA? The DATA query returns the waveform record stored in a specified channel buffer. The WAVeform:SOURce command is used to select the specified channel.
WAVeform Subsystem FORMat FORMat Command :WAVeform:FORMat {BYTE|WORD|ASCii} The FORMat command specifies the data transmission mode of waveform data over the remote interface. See "Format for Data Transfer" earlier in this chapter for information on the formats. Example OUTPUT XXX;":WAV:FORM WORD" Query :WAVeform:FORMat?" The FORMat query returns the current format.
WAVeform Subsystem PREamble? PREamble? Query :WAVeform[:SOURce CHANnel;]PREamble? The PREamble query returns the preamble of the specified channel. The channel is specified using the SOURCE command.
WAVeform Subsystem RECord RECord Command :WAVeform:[SOURce CHANnel;]RECord {FULL|WINDow} The RECord command specifies the data you want to receive over the bus. The choices are FULL or WINdow. When FULL is chosen, the entire 8000-point record of the specified channel is transmitted over the bus. In WINdow mode, only the data displayed on screen will be returned. Example OUTPUT XXX;":WAV:SOUR CHAN1;REC FULL" Query :WAVeform:RECord? The RECord query returns the present mode chosen.
WAVeform Subsystem SPERiod? Query :WAVeform:SOURce? The SOURce query returns the presently selected channel. Returned Format [:WAVeform:SOURce] CHANnel Example OUTPUT XXX;":WAVEFORM:SOURCE?" SPERiod? Query :WAVeform:SPERiod? The SPERiod query returns the present sampling period. The sample period is determined by the DELay and the RANGe commands of the TIMEbase subsystem.
WAVeform Subsystem VALid? VALid? Query :WAVeform:VALid? The VALid query checks the oscilloscope for acquired data. If a measurement is completed, and data has been acquired by all channels, then the query reports a 1. A 0 is reported if no data has been acquired for the last acquisition.
WAVeform Subsystem XORigin? XORigin? Query :WAVeform:[SOURce CHANnel;]XORigin? The XORigin query returns the X origin value currently in the preamble. The value represents the time of the first data point in memory with respect to the trigger point. Returned Format Example [:WAVeform:XORigin] {1|2} X origin currently in preamble OUTPUT XXX;":WAV:XOR?" XREFerence? Query :WAVeform:XREFerence? The XREFerence query returns the current X reference value in the preamble.
WAVeform Subsystem YINCrement? YINCrement? Query :WAVeform:[SOURce CHANnel;]YINCrement? The YINCrement query returns the Y increment value currently in the preamble. This value is the voltage difference between consecutive data values.
WAVeform Subsystem YREFerence? YREFerence? Query :WAVeform:YREFerence? The YREFerence query returns the Y reference value currently in the preamble. This value specifies the data value at center screen where Y origin occurs.
Part 5 Pattern Generator Commands
37 Programming the Pattern Generator
Programming the Pattern Generator This chapter provides you with the information needed to program the pattern generator of the Agilent 1670G-series logic analyzer. • Programming overview and instructions to help you get started • Pattern Generator command tree • Alphabetic command-to-subsystem directory The next section contains the pattern generator commands and the following four sections contain the subsystem commands for the pattern generator.
Programming Overview This section introduces you to the basic command structure used to program the pattern generator.
Programming the Pattern Generator Selecting the Pattern Generator Line 30 assigns label ’A’, positive polarity and assigns the seven least significant bits of pod 5 Line 40 assigns label ’B’ and assigns all eight bits of pod 4 Line 50 removes all program lines Line 60 inserts a new line (after line 0) in the INIT SEQUENCE portion of the program. Line 70 inserts a new line (after line 4) in the MAIN SEQUENCE portion of the program.
Programming the Pattern Generator Command Set Organization Command Set Organization The command set for the Agilent 1670G pattern generator is divided into four separate subsystems. The subsystems are: FORMat, SEQuence, MACRo, and the SYMBol subsystem. Each of the subsystems commands are covered in their individual sections later in this chapter. Each of these sections contain a description of the subsystem, syntax diagrams and the commands in alphabetical order.
Programming the Pattern Generator Command Set Organization Table 37-1 shows the alphabetical command to subsystem directory.
Pattern Generator Level Commands The Pattern Generator Level Commands control the operation of pattern generator programs. The two commands are STEP and RESume. Pattern Generator Level Syntax Diagram count = integer from 1 to 100,000 specifying the number of vectors stepped.
Programming the Pattern Generator STEP STEP Command/Query The STEP command consists of four types: the STEP Count command, the STEP command, the the STEP query, and the STEP FSTate command. The STEP Count command specifies the vector range for the STEP command. The valid vector range for the STEP Count command is from 1 to 100,000. The default is 1. If is greater than the number of lines in the program, STEP will loop back to the beginning until it has stepped through number of vectors.
Programming the Pattern Generator STEP Query :STEP? Returned Format [STEP] Example 10 20 30 40 50 DIM Sc$[100] OUTPUT XXX;":STEP?" ENTER XXX;Sc$ PRINT Sc$ END This example queries and prints the step count.
Programming the Pattern Generator RESume RESume Command When the pattern generator encounters a BREAK instruction, program execution is halted. The RESume command allows the program to continue until another BREAK instruction is encountered, or until the end of the program is reached.
38 FORMat Subsystem
FORMat Subsystem The commands of the Format subsystem control the pattern generator values such as data output rate, delay, and the channels that you want to be active. The Format subsystem also lets you specify the clock source and allows you to group channels together under a common, user-defined name.
FORMat Subsystem CLOCk CLOCk Command/Query The CLOCk command is used to specify the clock source for the pattern generator. The choices are INTernal or EXTernal. With an internal clock source, the clock period must also be specified (real number value).
FORMat Subsystem DELay DELay Command/Query The DELay command is used to specify the clock out delay. The clock out delay setting allows positioning of the clock with respect to the data. The delay setting that corresponds to zero is uncalibrated and must be measured by the user to determine the basic clock/data timing. Subsequent settings delay the clock approximately 1.3 ns per step. The query returns the current clock out delay value.
FORMat Subsystem LABel LABel Command/Query The LABel command inserts a new label or modifies the contents of an existing label. If more than 126 labels are specified, and an attempt is made to insert another new label, the last label (bottom label) will be modified. Only 16 labels may be inserted or modified at a time. If more than 16 labels are specified per command, you will receive an error message. Pattern generator channels can be assigned to only one label at a time.
FORMat Subsystem LABel a string in one of the following forms: ’#B01...’ for binary ’#Q01234567..’ for octal ’#H0123456789ABCDEF...’ for hexadecimal ’0123456789...’ for decimal.
FORMat Subsystem MODe MODe The MODe command is used to specify either FULL or HALF channel output mode. Half channel mode allows a higher output data rate (greater than 100 MHz), but with only 20 channels per . Full channel output mode limits the maximum data rate to 100 MHz but allows use of 40 channels per . The output mode selection sets the upper limit for the clock rate (see FORMat:CLOCk command).
FORMat Subsystem REMove REMove Command The REMove is used to delete a single label, or all labels from the format menu. If a label name is specified, it must exactly match a label name currently active in the format menu.
39 SEQuence Subsystem
SEQuence Subsystem The commands of the Sequence subsystem allow you to write a pattern generator program using the parameters set in the Format subsystem.
SEQuence Subsystem SEQuence Subsystem Syntax Diagram (cont.) column_num = an integer specifying the column that is to receive the new label label_name = the label name that is to be removed prog_line_num = an integer specifying the program line number label_value = a string in one of the following forms: ’#B01...’ for binary ’#Q01234567...’ for octal ’#H0123456789ABCDEF...’ for hexadecimal ’0123456789...
SEQuence Subsystem COLumn COLumn Command/Query The COLumn command allows you to reorder the labels in the Sequence and Macro menus and set the numerical base for each label. Label order in the Format menu is not changed when the COLUMN command is used. The first parameter of the command specifies the column number, followed by a label name and an optional number base. If a number base is not specified, the current number base for the label is used.
SEQuence Subsystem EPATtern EPATtern Command/Query The EPATtern command is used to specify the event patterns used by the WAIT and IF commands. The pattern generator has three external input qualifiers (WAIT2, WAIT1, and WAIT0). There are eight combinations of the three input qualifiers that may be OR’ed together to create an event pattern specification. Mapping of these input qualifier patterns to an event pattern specification is shown below.
SEQuence Subsystem EPATtern Example To specify an event pattern of (0, 1, 0) [Wait2=0, Wait1=1, Wait0=0] use a of 4 (0000 0100). To specify an event pattern of (0, 0, 0) use a of 1 (0000 0001). To specify an event pattern of (0, 1, 1) OR (1, 1, 0) OR ( 1, 1, 1) use a of 200 (1100 1000).
SEQuence Subsystem INSert INSert Command The INSert command is the basic command used to build a pattern generator sequence. This command is used to insert (or add) a sequence statement after the specified line number. The first parameter is the line number. The instruction is inserted in the sequence after the specified line number. Sequence lines with instructions other than NOOP cannot be inserted: • • • • • • Immediately after the INIT SEQUENCE START line.
SEQuence Subsystem INSert Instructions NOOP The NOOP instruction means there is no instruction for this line. BREak The BREak instruction causes the execution of the sequence to stop at this line. Use the RESume command to advance to the next sequence line. SIGNal The SIGNal instruction is the complement of the WAIT IMB instruction. When the pattern generator encounters a SIGNal instruction, it will output a signal to the internal Intermodule Bus (IMB). This signal is used to trigger the logic analyzer.
SEQuence Subsystem INSert inserting lines as needed. The repeat loop is assigned a loop number by the system and is used to connect the limits of the repeat loop. Note that there are location restrictions on the use of the REPeat instruction. MACRo# The MACRo# instruction is used to invoke a previously defined user macro. The macro number is part of the instruction string (not the optional instruction argument parameter).
SEQuence Subsystem PROGram PROGram Command/Query The PROGram command is used to modify an existing pattern generator sequence line. The first parameter is the line number. The instruction to be modified is at the specified line number. Note that some lines cannot be modified (SEQUENCE START and END) and some instructions can have parameters modified, but the instruction type cannot be changed (REPeat can have the repeat count changed, but it cannot be changed to a NOOP).
SEQuence Subsystem PROGram Instructions NOOP The NOOP instruction means there is no instruction for this line. BREak The BREak instruction causes the execution of the sequence to stop at this line. Use the RESume command to advance to the next line sequence. When operating at 200 MHz you can not have two Break events in succession. SIGNal The SIGNal instruction outputs a signal to the internal Intermodule Bus (IMB). This signal is used to trigger the logic analyzer.
SEQuence Subsystem PROGram REPeat The REPeat instruction allows a group of sequence states to be executed repetitively some number of times. The repeat count is specified in the optional instruction argument parameter. The REPeat and END LOOP sequence lines cannot be modified other than by changing the loop count. MACRo# The MACRo# instruction is used to invoke a previously defined user macro. The macro number is part of the instruction string (not the optional instruction argument parameter).
SEQuence Subsystem PROGram integer where instruction/data will be modified a string of up to 6 alphanumeric characters specifying the label where modification begins. {A|B|C|D|IF|IMB} integer repeat count <#> macro number a string in one of the following forms: ’#B01...’ for binary ’#Q01234567...’ for octal ’#H0123456789ABCDEF...’ for hexadecimal ’0123456789...
REMove Command The REMove command allows you to remove one or several lines from the pattern generator program. If only one parameter number is given, that line number is deleted. If two numbers are given, the range of lines between those two values inclusive is deleted. The command REMove ALL deletes the entire program.
40 MACRo Subsystem
MACRo Subsystem The commands of the MACRo subsystem allow you to write and edit macros for use in the pattern generator program. Up to 100 macros may be called into the main listing program. The macros are labeled Macro0 through Macro99. Macro0 is always available (initial contents are START/END lines only). All other macros are created whenever a MACRo<#> subheader that is not yet defined is used. The new macro will then appear on all macro lists until a MACRo<#>:REMove command is issued.
MACRo Subsystem Figure 40-1 MACRo Subsystem Syntax Diagram 40–3
MACRo Subsystem Figure 40-1 (continued) MACRo Subsystem Syntax Diagram (cont.
MACRo Subsystem INSert INSert Command The INSert command is the basic command used to build a pattern generator macro. This command is used to insert (or add) a macro statement after the specified line number. The first parameter is the line number. The instruction and/or data will be inserted in the macro after the specified line number. You cannot insert a line just before the last data row. Macro lines cannot be inserted after the MACRO END line.
MACRo Subsystem INSert SIGNal The SIGNal instruction outputs a signal to the internal Intermodule Bus (IMB). This signal is used to trigger the logic analyzer. WAIT The WAIT instruction causes the pattern generator to stop and wait for the occurrence of the specified event pattern(s). The event to be waited for by this particular command is specified by the optional instruction argument parameter. Once the specified event occurs, the pattern generator program proceeds to the next state.
MACRo Subsystem INSert Command Syntax :MACRo:INSert , { NOOP | WAIT, | SIGNal | REPeat, | BREAK } ,,,... integer which line instruction/data will be inserted after { A | B | C | D | IMB } integer repeat count macro number (integer 0 through 99) parameter number (integer 0 through 9) a string in one of the following forms: ’#B01...’ for binary ’#Q01234567...’ for octal ’#H0123456789ABCDEF.
MACRo Subsystem NAME NAME Command/Query The NAME command is used to specify a name for a macro. This name will then appear in the front panel lists and displays in place of the more generic "Macro #" string. The name cannot be used to reference the macro in programs. It is intended for use as a means to clarify or document sequence listings and displays. The query returns the user-defined macro name.
MACRo Subsystem PARameter PARameter Command/Query The PARameter command is used to enable and name parameters for a macro. The parameter name is optional, and if used, is for use on displays and listings only. When a parameter is enabled, macro calls from the sequence can pass values to the macro. These values can then be used as data values in the body of the macro. The query returns the current status of a parameter and its name.
MACRo Subsystem PROGram PROGram Command/Query The PROGram command is used to modify an existing pattern generator macro line. The first parameter is the line number of the instruction to be modified. Note that some lines cannot be modified (MACRO and MACRO END) and some instructions can have parameters modified. The instruction type cannot be changed (REPeat can have the repeat count changed, but it cannot be changed to a NOOP). The second parameter is an optional label name.
MACRo Subsystem PROGram Instructions NOOP The NOOP instruction means there is no operation for this line. BREak The BREak instruction causes the execution of the macro to stop at this line. Use the RESume command to advance to the next line macro. SIGNal The SIGNal instruction outputs a signal to the internal Intermodule Bus (IMB). This signal is used to trigger the logic analyzer. WAIT The WAIT instruction causes the pattern generator to stop and wait for the occurrence of the specified event pattern(s).
MACRo Subsystem PROGram Command Syntax :MACRo:PROGram , [,]{ NOOP | WAIT, | SIGNal | REPeat, | BREAK } ,,,...
MACRo Subsystem REMove REMove Command The REMove allows you to remove one or several lines from the macro. If only one parameter is given, only that line is deleted. If two numbers are specified, the range of lines between those values, inclusive, is deleted. The command REMove ALL can be used to totally clear the contents of a macro, but it does not remove the macro from the macro list. This means the macro is still accessible from the sequence, but the macro consists of only two lines.
40–14
41 SYMBol Subsystem
SYMBol Subsystem The SYMBol subsystem contains the commands that allow you to define symbols on the controller and download them to the Pattern Generator.
SYMBol Subsystem = string of up to 6 alphanumeric characters = string of up to 16 alphanumeric characters = string of one of the following forms: ’#B01X...’ for binary ’#Q01234567X..’ for octal ’#H0123456789ABCDEFX...’ for hexadecimal ’0123456789...’ for decimal = string of one of the following forms: ’#B01...’ for binary ’#Q01234567..’ for octal ’#H0123456789ABCDEF...’ for hexadecimal ’0123456789...
SYMBol Subsystem BASE BASE Command The BASE command sets the base in which symbols for the specified label will be displayed in the symbol menu. It also specifies the base in which the symbol offsets are displayed when symbols are used. Note that BINary is not available for labels with more than 20 bits assigned. In this case the base will default to HEXadecimal.
SYMBol Subsystem PATTern PATTern Command The PATTern command allows you to specify a symbol for a pattern on the specified label. The pattern may contain "don’t cares" in the form of XX...X’s. Command Syntax: :SYMBol:PATTern,, string of up to 6 alphanumeric characters string of up to 16 alphanumeric characters string of one of the following forms: ’#B01X...’ for binary ’#Q01234567X..’ for octal ’#H0123456789ABCDEFX.
SYMBol Subsystem RANGe RANGe Command The RANGe command allows you to create a symbol for a range of values on a label. Note that Don’t Cares are not allowed in range symbols. Command Syntax: :SYMBol:RANGe,, , string of up to 6 alphanumeric characters string of up to 16 alphanumeric characters string in one of the following forms: ’#B01...’ for binary ’#Q01234567..’ for octal ’#H0123456789ABCDEF.
SYMBol Subsystem REMove REMove Command The REMove command deletes all symbols from the symbol menu.
SYMBol Subsystem WIDTh WIDTh Command The WIDTh command specifies the number of characters displayed when symbols are used. Note that the WIDTh command does not affect the displayed length of the symbol value.
42 DATA and SETup Commands
Data and Setup Commands The DATA and SETup commands are system commands that allow you to send and receive instrument configuration, setup and program data to and from a controller in block form. This is useful for saving block data for re-loading the pattern generator. This chapter explains how to use these commands. The block data for the DATA command is broken into byte positions and descriptions. The SETup command block data is not described in detail.
DATA and SETup Commands The section data format varies for each section and may be any length. Note that the total length of a section is 16 (for the section header) plus the length of the section data. Thus, when calculating the length of a block of configuration data, don’t forget to add the length of the headers.
DATA and SETup Commands SYSTem:DATA SYSTem:DATA The DATA command is used to send and receive the pattern generator main program listings and the macro listings. The complete pattern generator data block consists of two sections not counting the SYMBOL section.
DATA and SETup Commands SYSTem:SETup SYSTem:SETup The SETup command for the pattern generator is used to configure system parameters, such as the pod and bit assignment, clock rates, and output mode by loading saved configurations. The "CONFIG" section consists of 4082 bytes of information which fully describe the main parameters for the pattern generator. The total length of the section is 4082 bytes (recall that the section header is 16 bytes).
42–6
Part 6 Programming Examples
43 Programming Examples
Introduction This chapter contains short, usable, and tested program examples that cover the most asked for cases. HP BASIC 6.2.
Programming Examples Making a Timing Analyzer Measurement Making a Timing Analyzer Measurement This program sets up the logic analyzer to make a simple timing analyzer measurement. This example can be used with the E2433 Logic Analyzer Training Board to acquire and display the output of the ripple counter. It can also be modified to make any timing analyzer measurement.
Programming Examples Making a Timing Analyzer Measurement 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 575 580 595 600 610 620 630 640 650 660 650 660 670 680 690 700 710 720 730 740 750 760 770 OUTPUT 707;":MACH1:TWAVEFORM:REMOVE" OUTPUT 707;":MACH1:TWAVEFORM:INSERT ’COUNT’, ALL" OUTPUT 707;":MACH1:TWAVEFORM:RANGE 1E-6" OUTPUT 707;":MENU 1,5" ! ! **************************************************************** ! Set the marker mode (MMODE) to time so that patterns a
Programming Examples Making a State Analyzer Measurement Making a State Analyzer Measurement This state analyzer program selects the Agilent 1670G-series logic analyzer, displays the configuration menu, defines a state machine, displays the state trigger menu, and sets a state trigger for multilevel triggering. This program then starts a single acquisition measurement while checking for measurement completion. This program is written so that you can run it with the E2433 Logic Analyzer Training Board.
Programming Examples Making a State Analyzer Measurement 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750 760 770 ! OUTPUT 707;":MENU 1,3" ! ! Create a 5 level trigger specification with the trigger on the ! fourth level. ! OUTPUT 707;":MACHINE1:STRIGGER:SEQUENCE 5,4" ! ! Define pattern terms A, B, C, D, and E to be 11, 22, 33, 44 and 59 ! decimal respectively.
Programming Examples Making a State Analyzer Measurement 780 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 1020 1030 1040 1050 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 1180 1190 1200 1210 1220 1230 ! ************************ NOTE *********************** ! The FIND command selects the trigger in the ! sequence level specified as the trigger level.
Programming Examples Making a State Analyzer Measurement 1240 1250 1260 1270 1280 1290 1300 ! display.
Programming Examples Making a State Compare Measurement Making a State Compare Measurement This program example acquires a state listing, copies the listing to the compare listing, acquires another state listing, and compares both listings to find differences. This program is written so that you can run it with the E2433 Logic Analyzer Training Board. This example is the same as the "State Compare" example in chapter 3 of the Logic Analyzer Training Kit.
Programming Examples Making a State Compare Measurement 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 741 742 750 ! no states until the trigger is found.
Programming Examples Making a State Compare Measurement 760 770 780 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 1020 1030 1040 1041 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1151 1160 1170 1180 OUTPUT 707;":MACHINE1:COMPARE:LINE 61439" OUTPUT 707;":START" ! ! The last line of the listing is now displayed at center screen ! in order to show the last four states acquired. In this ! example, the last four states are stable.
Programming Examples Making a State Compare Measurement 1190 1200 1210 1220 1230 1240 1250 1260 1270 1280 1290 1300 1310 1320 1330 1340 1350 1360 1370 1380 1390 1400 1410 1420 1430 1440 1450 1460 1470 1480 1490 1500 1510 1520 1530 1540 1550 1551 1560 1570 1580 1590 1591 1600 1610 !************************************************************************ ! Dimension strings in which the compare find query (COMPARE:FIND?) ! enters the line numbers and error numbers.
Programming Examples Making a State Compare Measurement 1620 1630 1640 1650 1660 1670 1680 1690 1700 1710 1720 1730 1740 1750 1760 1770 1780 1790 1800 1810 1820 1830 1840 1850 ! ********************************************************************** ! Test for the last error. The error number of the last error is the same ! as the error number of the first number after the last error.
Programming Examples Transferring the Logic Analyzer Configuration Transferring the Logic Analyzer Configuration This program uses the SYSTem:SETup? query to transfer the logic analyzer configuration to your controller. This program also uses the SYSTem:SETup command to transfer a logic analyzer configuration from the controller back to the logic analyzer. The SYSTem:SETup command differs from the SYSTem:DATA command because it only transfers the configuration and not the acquired data.
Programming Examples Transferring the Logic Analyzer Configuration 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750 760 770 ! ! ******************** TRANSER THE SETUP ******************************** ! Transfer the setup from the logic analyzer to the buffer.
Programming Examples Transferring the Logic Analyzer Configuration 780 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940 ! ************ TRANSFER SETUP TO THE Agilent 1670G **************** ! Transfer the setup from the buffer to the Agilent 1670G.
Programming Examples Checking for Measurement Completion Checking for Measurement Completion You can append this program or insert it into another program when you need to know when a measurement is complete. If it is at the end of a program it will tell you when measurement is complete. If you insert it into a program, it will halt the program until the current measurement is complete. This program is also in the state analyzer example program in "Making a state analyzer measurement" on page 28-5.
Programming Examples Sending Queries to the Logic Analyzer Sending Queries to the Logic Analyzer This program example contains the steps required to send a query to the logic analyzer. Sending the query alone only puts the requested information in an output buffer of the logic analyzer. You must follow the query with an ENTER statement to transfer the query response to the controller. When the query response is sent to the logic analyzer, the query is properly terminated in the logic analyzer.
Programming Examples Sending Queries to the Logic Analyzer 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 ! Send the query. In this example the MENU? query is sent. All ! queries except the SYSTem:DATA and SYSTem:SETup can be sent with ! this program. ! OUTPUT 707;"MENU?" ! ! **************************************************************** ! The two lines that follow transfer the query response from the ! query buffer to the controller and then print the response.
43–20
Index ! *CLS command, 8–5 *ESE command, 8–6 *ESR command, 8–7 *IDN command, 8–9 *IST command, 8–9 *OPC command, 8–11 *OPT command, 8–12 *PRE command, 8–13 *RST command, 8–14 *SRE command, 8–15 *STB command, 8–16 *TRG command, 8–17 *TST command, 8–18 *WAI command, 8–19 ..., 4–5 32767, 4–4 9.
Index OVERView:HIGH, 25–9 OVERView:LABel, 25–10 OVERView:LOW, 25–11 OVERView:OMARker, 25–13 OVERView:XMARker, 25–15 PACK, 12–18 PATTern, 26–6 PRINt, 11–10 PURGe, 12–18 RANGe, 14–8, 16–15, 18–9, 20–9, 22–16, 23–17, 26–7 REMove, 14–9, 15–12, 17–15, 18–10, 21–7, 23–17, 24–15, 26–8 REName, 12–19, 13–8 RESource, 13–9 RMODe, 9–18 RUNTil, 17–16, 20–10, 23–18, 24–15 SCHart, 19–4 SELect, 9–19 SEQuence, 16–16, 22–17 SET, 20–12 SETColor, 9–21 SETup, 11–11, 27–12 SFORmat, 15–6 SLAVe, 15–14 SLISt, 17–7 SPERiod, 22–18,
Index G GET, 2–6 Group execute trigger, 2–6 H HAXis command/query, 19–5 HEADer command, 1–16, 11–8 Headers, 1–6, 1–8, 1–11 HISTogram:HSTatistic query, 25–16 HISTogram:LABel command/query, 25–17 HISTogram:OTHer command/query, 25–18 HISTogram:QUALifier command/query, 25–19 HISTogram:RANGe command/query, 25–20 HISTogram:TTYPe command/query, 25–21 Host language, 1–6 HP-IB, 2–2, 6–8 HP-IB address, 2–3 HP-IB device address, 2–4 HP-IB interface code, 2–4 HP-IB interface functions, 2–2 I Identification number, 9–8
Index P PACK command, 12–18 Parameter syntax rules, 1–12 Parameters, 1–7 Parity, 3–9 Parse tree, 5–8 Parser, 5–3 PATTern command, 26–6 PON, 6–5 Preamble description, 27–6 PRINt command, 11–10 program example sending queries to the logic analyzer, 28–18 state analyzer, 28–5 state compare, 28–9 SYSTem:SETup command, 28–14 SYSTem:SETup query, 28–14 timing analyzer, 28–3 transferring configuration to analyzer, 28–14 transferring configuration to the controller, 28–14 Program examples, 4–13, 28–2 Program messag
Index XTAG, 17–22, 24–21 XTIMe, 14–10, 23–25 Query errors, 7–5 query program example, 28–18 Query responses, 1–15, 4–4 Question mark, 1–10 QYE, 6–5 R RANGe command, 26–7 RANGe command/query, 14–8, 16–15, 18–9, 20–9, 22–16, 23–17 Receive Data (RD), 3–4, 3–5 Remote, 2–5 Remote enable, 2–5 REMove command, 14–9, 15–12, 17–15, 18–10, 21–7, 23–17, 24–15, 26–8 REN, 2–5 REName command, 12–19 REName command/query, 13–8 Request To Send (RTS), 3–5 RESource command/query, 13–9 Response data, 1–20 Responses, 1–16 RMODe
Index SFORmat Subsystem, 15–3 SLISt Subsystem, 17–3 STRigger Subsystem, 16–3, 16–4, 16–5 SWAVeform Subsystem, 18–3 SYMBol Subsystem, 26–3 TFORmat Subsystem, 21–3 TLISt Subsystem, 24–3 TTRigger Subsystem, 22–3 TWAVeform Subsystem, 23–3, 23–4 WLISt Subsystem, 14–3 Syntax diagrams IEEE 488.
© Copyright Agilent Technologies 1992-2002 All Rights Reserved. Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under the copyright laws. Restricted Rights Legend Use, duplication, or disclosure by the U.S. Government is subject to restrictions set forth in subparagraph (C) (1) (ii) of the Rights in Technical Data and Computer Software Clause in DFARS 252.227-7013. Agilent Technologies, 3000 Hanover Street, Palo Alto, CA 94304 U.S.A.
Product Warranty This Agilent Technologies product has a warranty against defects in material and workmanship for a period of one year from date of shipment. During the warranty period, Agilent Technologies will, at its option, either repair or replace products that prove to be defective. For warranty service or repair, this product must be returned to a service facility designated by Agilent Technologies.