HP 54620A Programmer's Manual

Logic analyzer
Hide thumbs Also See for 54620A:

Advertisement

Programmer's Guide
Publication Number 54620-97012
October 1995 (pdf version Dec 1998)
For Safety information, Warranties, and Regulatory information,
see the pages behind the Index.
© Copyright Hewlett-Packard Company 1994, 1995
All Rights Reserved
HP 54620A/C Logic Analyzer

Advertisement

Table of Contents
loading

Summary of Contents for HP 54620A

  • Page 1 Programmer’s Guide Publication Number 54620-97012 October 1995 (pdf version Dec 1998) For Safety information, Warranties, and Regulatory information, see the pages behind the Index. © Copyright Hewlett-Packard Company 1994, 1995 All Rights Reserved HP 54620A/C Logic Analyzer...
  • Page 2 Programming the Logic Analyzer When you attach an interface module to the rear of the HP 54620A or HP 54620C (color) Logic Analyzer, the analyzer becomes programmable. That is, you can hook a controller (such as a PC or workstation) to the analyzer, and write programs on that controller to automate analyzer setup and data capture.
  • Page 3 You could also start the analyzer running, then use a wait loop in your program to ensure that the analyzer has completed at least one acquisition before you make a measurement. HP does not recommend this because the needed length of the wait loop may vary, causing your program to fail.
  • Page 4 The Programmer’s Reference is supplied as a Microsoft Windows Help file on a 3.5" diskette. To program the HP 54620A/C, you need an interface module, such as the HP 54650A, 54651A, or 54652B. You also need an instrument controller that supports either the IEEE-488 or RS-232-C interface standards, and a programming language capable of communicating with these interfaces.
  • Page 5 Introduction to Programming Programming Getting Started Programming over HP-IB Programming over RS-232-C Programming and Documentation Conventions Status Reporting Installing and Using the Programmer’s Reference Programmer’s Quick Reference Index...
  • Page 7: Table Of Contents

    Receiving information from the instrument 30 String variables 31 Numeric variables 32 Definite-length block response data 33 Multiple queries 34 Instrument status 34 3 Programming over HP-IB Interface capabilities 37 Addressing 37 Communicating over the bus 38 Lockout 39 Bus commands 39...
  • Page 8 Contents Configuring the interface 46 Interface capabilities 46 Lockout Command 47 5 Programming and Documentation Conventions Command Set Organization 51 The command tree 52 Truncation rules 56 Infinity representation 57 Sequential and overlapped commands 57 Response generation 57 Notation conventions and definitions 58 Program Examples 59 6 Status Reporting Serial poll 66...
  • Page 9 Introduction to Programming...
  • Page 10 Instrumentation. The programming instructions provide the means of remote control. To program the HP 54620A Logic Analyzer or HP 54620C (color) Logic Analyzer, you must add either an HP-IB (for example, HP 54650A) or RS-232-C (for example, HP 54651A or HP 54652B) interface to the rear panel.
  • Page 11: Introduction To Programming Talking To The Instrument

    For example, HP BASIC uses the OUTPUT statement for sending commands and queries. After a query is sent, the response is usually read in using the ENTER statement.
  • Page 12: Program Message Syntax

    Output Command The output command is entirely dependent on the programming language. Throughout this manual, HP BASIC is used in most of the individual command exampless. If you are using other languages, you must find the equivalents of HP BASIC commands like OUTPUT, ENTER, and CLEAR to convert the examples.
  • Page 13 Introduction to Programming Program message syntax Instructions Each instruction (for both commands and queries) normally appears as a string embedded in a statement of your host language, such as BASIC, Pascal, or C. The only time a parameter is not meant to be expressed as a string is when the instruction’s syntax definition specifies <block data>.
  • Page 14 Introduction to Programming Program message syntax When there are more than one data parameter, they are separated by commas (,). Spaces can be added around the commas to improve readability. Header Types There are three types of headers: • Simple command headers •...
  • Page 15: Combining Commands From The Same Subsystem

    Introduction to Programming Combining commands from the same subsystem Combining commands from the same subsystem To execute more than one function within the same subsystem a semi-colon (;) is used to separate the functions: :<subsystem>:<function><separator><data>; <function><separator><data><terminator> (For example :TIMebase:REFerence LEFT;VERNier ON) Duplicate mnemonics Identical function mnemonics can be used for more than one subsystem.
  • Page 16: Query Command

    The output queue must be read before the next program message is sent. For example, when you send the query :MEASure:PERiod? you must follow that query with an input statement. In HP BASIC, this is usually done with an ENTER statement immediately followed by a variable name. This statement reads the result of the query and places the result in a specified variable.
  • Page 17: Program Header Options

    Introduction to Programming Program header options Program header options Program headers can be sent using any combination of uppercase or lowercase ASCII characters. Instrument responses, however, are always returned in uppercase. 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.
  • Page 18: Program Data Syntax Rules

    Introduction to Programming Program data syntax rules Program data syntax rules Program data conveys a variety of types of parameter information related to the command header. At least one space must separate the command header or query header from the program data. <program mnemonic><separator><data><terminator>...
  • Page 19 Introduction to Programming Program data syntax rules All numbers are expected to be strings of ASCII characters. Thus, when sending the number 9, you would send a byte representing the ASCII code for the character “9” (which is 57). A three-digit number like 102 would take up three bytes (ASCII codes 49, 48, and 50).
  • Page 20: Program Message Terminator

    The program instructions within a data message are executed after the program message terminator is received. The terminator may be either an NL (New Line) character, an EOI (End-Or-Identify) asserted in the HP-IB interface, or a combination of the two. Asserting the EOI sets the EOI control line low on the last byte of the data message.
  • Page 21: Programming Getting Started

    Programming Getting Started...
  • Page 22 This chapter explains how to: • Set up the instrument • Retrieve setup information and measurement results • Digitize a waveform • Pass data to the controller Languages for Program Examples The programming examples in this manual are written in HP BASIC or C.
  • Page 23: Initialization

    CLEAR 707 ! initializes the interface of the instrument When you are using HP-IB, CLEAR also resets the logic analyzer’s parser. The parser is the program that reads in the instructions you send to it. After clearing the interface, initialize the instrument to a preset state: OUTPUT 707;"*RST"...
  • Page 24: Autoscale

    Programming Getting Started Autoscale Autoscale The :AUToscale feature performs a very useful function on unknown waveforms by setting up the instrument logic thresholds, initial channel settings, and time base. The syntax for the autoscale function is: :AUTOSCALE<terminator> Setting up the instrument A typical logic analyzer setup would set the threshold voltages, turn on the appropriate channels, and set up the sweep speed, delay time, trigger mode, trigger type, and trigger specification.
  • Page 25: Example Program

    This C program demonstrates the basic command structure used to program the logic analyzer, and how that command structure is embedded into the C language. /*HP Instrument C program using the HP-IB interface #include <stdio.h> /* Include file for printf, etc */ #include <stdlib.h>...
  • Page 26 Programming Getting Started Example program errorhandle( "IORESET"); /* Report any problems */ error = IOTIMEOUT (isc, 5.0); /* 5 second timeout errorhandle( "IOTIMEOUT"); /* Report any problems */ error = IOCLEAR (isc); /* Clear the isc */ errorhandle( "IOCLEAR"); /* Report any problems */ sendstringcmd("*RST");...
  • Page 27: Program Overview

    The first few lines of the program include header files that define function prototypes for standard C libraries and specialized libraries that handle the HP-IB interface. The program then defines variables for the interface select code ( ), analyzer address ( ), and error handling.
  • Page 28: Using The :Digitize Command

    (reset) command will also set the time base mode to normal. The number of data points comprising a waveform is either 2048 or 8192, depending on whether the analyzer is in glitch mode. See the :ACQuire subsystem information in the HP 54620A/C Programmer’s Reference online help file for more information.
  • Page 29 (the :ACQuire:TYPE command). The easiest method of transferring a digitized waveform depends on data structures, formatting available, and I/O capabilities. For more information, see the waveform subsystem commands and corresponding program code examples in the online HP 54620A/C Programmer’s Reference.
  • Page 30: Receiving Information From The Instrument

    Programming Getting Started Receiving information from the instrument Aborting a Digitize Operation Over HP-IB When using HP-IB, a digitize operation may be aborted by sending a Device Clear over the bus (CLEAR 707). Receiving information from the instrument After receiving a query (command header followed by a question mark), the instrument interrogates the requested function and places the answer in its output queue.
  • Page 31: String Variables

    Refer to the specific commands for the formats and types of data returned from queries. Express String Variables Using Exact Syntax In HP BASIC, string variables are case-sensitive and must be expressed exactly the same each time they are used. Address Varies According to Configuration For the example programs in the help file, assume that the device being programmed is at device address 707.
  • Page 32: Numeric Variables

    Programming Getting Started Numeric variables Numeric variables The following example shows the data being returned to a numeric variable: 10 OUTPUT 707;":TIMEBASE:RANGE?" 20 ENTER 707;Rang 30 PRINT Rang 40 END If the time base is set to 1 s/div, the controller displays:...
  • Page 33: Definite-Length Block Response Data

    Programming Getting Started Definite-length block response data Definite-length block response data Definite-length block response data allows any type of device-dependent data to be transmitted over the system interface as a series of 8-bit binary data bytes. This is particularly useful for sending large quantities of data or 8-bit extended ASCII codes.
  • Page 34: Multiple Queries

    Programming Getting Started Multiple queries Multiple queries You can send multiple queries to the instrument in a single program message. When sending multiple queries in this way, you must then read them back in a single program message. You can do this by either reading them back into a string variable or into multiple numeric variables.
  • Page 35 Programming over HP-IB...
  • Page 36 For more information about connecting the controller to the logic analyzer, see the documentation for the HP-IB interface card you are using.
  • Page 37: Programming Over Hp-Ib Interface Capabilities

    “Connect to Computer” mode. Figure 2 is the Print/Utility menu after the HP 54650A HP-IB interface has been installed on the rear panel of the logic analyzer. Use this menu to set the HP-IB address for the logic analyzer and “Connect to Computer.”...
  • Page 38: Communicating Over The Bus

    704. Logic Analyzer Device Address The examples in this manual and in the online HP 54620A/C Programmer’s Reference assume the logic analyzer is at device address 707. See the documentation for your HP-IB interface card for more information...
  • Page 39: Lockout

    The :SYSTem:LOCK OFF command will restore front-panel control. Cycling power also restores front-panel control. With HP-IB, the instrument is placed in the lockout mode by sending the local lockout command (LLO). The instrument can be returned to local by sending the go-to-local command (GTL) to the instrument.
  • Page 41 Programming over RS-232-C...
  • Page 42 Programming over RS-232-C This section describes the interface functions and some general concepts of the RS-232-C. The RS-232-C interface on this instrument is Hewlett-Packard’s implementation of EIA Recommended Standard RS-232-C, “Interface Between Data Terminal Equipment and Data Communications Equipment Employing Serial Binary Data Interchange.”...
  • Page 43: Programming Over Rs-232-C Interface Operation

    Programming over RS-232-C Interface operation Interface operation The 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.
  • Page 44 Programming over RS-232-C Cables because you can ignore hardware handshake requirements. The logic analyzer uses the following connections on its RS-232-C interface for three-wire communication: • Pin 7 SGND (Signal Ground) • Pin 2 TD (Transmit Data from logic analyzer) •...
  • Page 45 Programming over RS-232-C Cables • Pin 5 CTS (Clear To Send) is an input to the logic analyzer which controls data flow from the logic analyzer. • Pin 6 DSR (Data Set Ready) is an input to the logic analyzer which controls data flow from the logic analyzer within two bytes.
  • Page 46: Configuring The Interface

    Print/Utility menu after the RS-232-C interface module has been installed on the rear panel. Use this menu to “Connect to Computer,” and assign the baud rate and handshake protocol. The HP 54652B module has a slightly different set of menus.
  • Page 47: Lockout Command

    Programming over RS-232-C Lockout Command With an extended hardwire interface, selecting DTR allows a hardware handshake to occur. With hardware handshake, hardware signals control data flow. XON/XOFF XON/XOFF stands for Transmit On/Transmit Off. With this mode the receiver (controller or logic analyzer) controls data flow and can request that the sender (logic analyzer or controller) stop data flow.
  • Page 49 Programming and Documentation Conventions...
  • Page 50 Conventions This chapter describes conventions used in programming the instrument, as well as conventions used in the online HP 54620A/C Programmer’s Reference and the remainder of this manual. This chapter also contains a detailed description of the command tree and...
  • Page 51: Programming And Documentation Conventions Command Set Organization

    ACQuire—sets the parameters for acquiring and storing data. • DISPlay—controls how waveforms, the graticule, and text are displayed and written on the screen, including the color palette for the HP 54620C (color) logic analyzer. • LCHannel—controls all logic analyzer functions associated with individual channels or groups of channels, including channel color for the HP 54620C (color) logic analyzer.
  • Page 52: The Command Tree

    Programming and Documentation Conventions The command tree The command tree The following command tree shows all of the logic analyzer commands and their relationships to each other. The IEEE 488.2 common commands are not listed as part of the command tree because they do not affect the position of the parser within the tree.
  • Page 53 Programming and Documentation Conventions The command tree...
  • Page 54 (for example, DELay) without sending the mnemonics that appear above them. Examples The OUTPUT statements in the examples are written using HP BASIC. The quoted string is placed on the bus, followed by a carriage return and linefeed (CRLF).
  • Page 55 Programming and Documentation Conventions The command tree Example 2: OUTPUT 707;":TIMEBASE:REFERENCE CENTER ; DELAY 0.00001" OUTPUT 707;":TIMEBASE:REFERENCE CENTER" OUTPUT 707;":TIMEBASE:DELAY 0.00001" In the first line of example 2, the “subsystem selector” is implied for the DELAY command in the compound command. The DELAY command must be in the same program message as the REFERENCE command because the program message terminator places the parser back at the root of the command tree.
  • Page 56: Truncation Rules

    Programming and Documentation Conventions Truncation rules Truncation rules These are the truncation rules for mnemonics used in headers and alpha arguments: The mnemonic is the first four characters of the keyword. the fourth character is a vowel, then the mnemonic is the first three characters of the keyword. This rule is not applied if the length of the keyword is exactly four characters.
  • Page 57: Infinity Representation

    Programming and Documentation Conventions Infinity representation Infinity representation The representation of infinity is 9.9E+37. This is also the value returned when a measurement cannot be made. Sequential and overlapped commands IEEE 488.2 distinguishes between sequential and overlapped commands. Sequential commands finish their task before the next command begins to execute.
  • Page 58: Notation Conventions And Definitions

    Notation conventions and definitions Notation conventions and definitions The following conventions and definitions are used in this manual and the online HP 54620A/C Programmer’s Reference in descriptions of remote operation: Conventions < > Angle brackets enclose words or characters that symbolize a program code parameter or an interface command.
  • Page 59: Program Examples

    Programming and Documentation Conventions Program Examples Program Examples The program examples for commands in the online HP 54620A/C Programmer’s Reference were written using the HP BASIC programming language. The programs always assume the logic analyzer is at address 7 and the interface is at address 7 for a program address of 707.
  • Page 61 Status Reporting...
  • Page 62: Status Reporting

    Status Reporting IEEE 488.2 defines data structures, commands, and common bit definitions for status reporting on the interface. There are also instrument-defined structures and bits. Bits in the status byte act as summary bits for data structures that reside behind them. •...
  • Page 63 Status Reporting Figure 4 Status Reporting Data Structures...
  • Page 64 Status Reporting Bit Definitions MAV—message available. Indicates whether there is a response in the output queue. ESB—event status bit. Indicates if any of the conditions in the Standard Event Status Register are set and enabled. MSS—master summary status. Indicates whether the device has a reason for requesting service.
  • Page 65 Status Reporting Operation complete (*OPC) The IEEE 488.2 structure provides one technique that you can use to determine whether any operation is finished. The *OPC command, when sent to the instrument after the operation of interest, sets the OPC bit in the Standard Event Status Register when all pending device operations have finished.
  • Page 66: Status Reporting Serial Poll

    01 on bus address 7. This command reads the contents of the HP-IB Status Register into the variable called Stat. At that time bit 6 of the variable Stat can be tested to see if it is set (bit 6=1).
  • Page 67 Status Reporting Serial poll The SPOLL(707) command causes much more activity on the bus than simply reading the register. This command: • Clears the bus • Automatically addresses the talker and listener • Sends SPE (serial poll enable) and SPD (serial poll disable) bus commands •...
  • Page 69: Installing And Using The Programmer's Reference

    Installing and Using the Programmer’s Reference...
  • Page 70 Installing and Using the Programmer’s Reference The HP 54620A/C Programmer’s Reference is supplied as an online help file readable with the Microsoft Windows 3.1 help viewer. A second diskette contains the help file as an ASCII text file and three sample programs for the HP 54620A/C.
  • Page 71: To Install The Help File Under Microsoft Windows

    IBM-compatible PC. The file uses the Microsoft Windows help viewer, WINHELP.EXE. Start your PC and start Microsoft Windows. Insert the 3.5" floppy disk labeled “HP 54620 Pgmr’s Reference with Example Programs for Windows 3.1 Applications” into the appropriate diskette drive (A: or B:) of your PC.
  • Page 72: To Use The Help Text And Example Program Files

    The help file is available as an ASCII text file that can be browsed with a text editor or text search tools. Also, there are sample programs (in ASCII text format) that show how to use the HP 54620A/C commands with the analyzer. •...
  • Page 73: To Get Updated Help And Program Files Via The Internet

    Get sample programs or updated help files from the directory as desired. For example, if you want the latest version of the HP 54620A/C Programmer’s Reference online help file, you set the transfer mode to binary and get the file: ftp>...
  • Page 74: To Start The Help File

    To start the help file • To open the help file under Microsoft Windows, double-click the “HP 54620 Help” icon in the “HP 54620 Prog Ref” program group in the Program Manager. The help file requires the program WINHELP.EXE for Microsoft Windows 3.1.
  • Page 75: To Navigate Through The Help File

    Installing and Using the Programmer’s Reference To navigate through the help file To navigate through the help file • Navigate through the help file by clicking on highlighted text and buttons. See your Microsoft Windows documentation for more information, or select in the Help window.
  • Page 77: Programmer's Quick Reference

    Programmer’s Quick Reference...
  • Page 78: Introduction

    The Programmer’s Quick Reference provides the commands and queries with their corresponding arguments and returned formats for the HP 54620A/C Logic Analyzer. The arguments for each command list the minimum argument required. The part of the command or query listed in uppercase letters refers to the short form of that command or query.
  • Page 79: Conventions

    G :: = 1E9 P :: = 1E-12 MA :: = 1E6 F :: = 1E-15 K :: = 1E3 A :: = 1E-18 For more information regarding specific commands or queries, please refer to the online HP 54620A/C Programmer’s Reference.
  • Page 80: Commands And Queries

    Commands and Queries The following tables facilitate easy access to each command and query for the HP 54620A/C Logic Analyzer. The commands and queries are broken into separate categories with each entry alphabetized. The arguments for each command list the minimum argument required. The part of the command or query listed in uppercase letters refers to the short form of that command or query.
  • Page 81 :DISPlay:PALette <arg> (HP 54620C only) :DISPlay:PALette? <arg> ::= 16-bit integer in NR1 format <arg> ::= 16-bit integer in NR1 format This command is used by the HP 54620C. These values match the front-panel order: 0 Default 1 Alternate 1 2 Alternate 2...
  • Page 82 *ESR? <status> <new line> <status> ::= 16-bit integer in NR1 format *IDN? HEWLETT-PACKARD, <instrument>, 0, <X.XX.XX> <new line> <instrument> ::= 54620A or 54620C (color logic analyzer) <X.XX.XX> ::= the software revision number string, for example, A.01.00 :LCHannel:ACTivity :LCHannel:ACTivity? <edges>, <levels> <newline>...
  • Page 83 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :MEASure:DEFine:HOLD <chan1>, <edge1>, :MEASure:DEFine:HOLD? <chan1>, <edge1>, <chan2><new line> <chan2> <chan1> ::= {LCHANnel0,..,LCHANnel15} <chan1> ::= {LCHANnel0,..,LCHANnel15} <chan2> ::= {LCHANnel0,..,LCHANnel15} <chan2> ::= {LCHANnel0,..,LCHANnel15} <edge1> ::= {RISing, FALLing} <edge1> ::= {RISing, FALLing} :MEASure:DELay :MEASure:DELay? <value><new line>...
  • Page 84 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :PRINt? [enhancement] <print data> [enhancement] ::= [HIRes[,PARallel[,PCLcolor]]] HIRes ::= contains both half-bright and full-bright display information. PARallel ::= print output from parallel port. PCLcolor ::= basic color output using CMY driver *RCL <value>...
  • Page 85 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :TER? <value> <new line> <value> ::= {1 | 0} <16-bit integer in NR1 format> (0 = no trigger; 1 = trigger occurred) TIMebase:DELay <delay value> :TIMebase:DELay? <value><new line> <delay value> ::= floating point number [suffix] <value>...
  • Page 86 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :TRIGger:ADVanced:OPERator <operator> :TRIGger:ADVanced:OPERator? <operator> <new line> <operator> ::= {AND | OR | THEN | ENTer | EXIT | <operator> ::= {AND | OR | THEN | ENTer | EXIT | OCCurrence | GREaterthan | LESSthan} OCCurrence | GREaterthan | LESSthan} :TRIGger:ADVanced:PATtern1 <value>, <mask>...
  • Page 87 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :TRIGger:SETup? TRIGger:MODE <mode>;TYPE <type>;EDGE <channel>,<edge>;PATTern <value>, <mask> [,<channel>,<edge>];ADVanced:PATtern1 <value>,<mask>;PATtern2 <value>,<mask>;EDGE1 <rising value>, <falling value>;EDGE2 <rising value>, <falling value>;OPERator <operator>; SOURce1 <source>;SOURce2 <source>; DURation <duration>;OCCurrence <occurrence> <new line> <mode> ::= {NORMal | AUTO} <type>...
  • Page 88 Programmer’s Quick Reference Commands and Queries Command Query Query Returns :WAVeform:PREamble? <waveform format>, <waveform type>, <points>, <count>, <xincrement>, <xorigin>, <xreference>, <yincrement>, <yorigin>, <yreference> <new line> <waveform format> ::= 16-bit integer in NR1 format, 0 = BYTE, 1 = WORD <waveform type> ::= 16-bit integer in NR1 format, 0 = GLITch, 1 = NORMal <points>...
  • Page 89: Index

    56 Definite-length block response data, 33 CRLF, 54 Arguments, 13 Device address, 12 lockout, 39 Lockout command, 47 HP-IB, 38 DIGitize Command, 28 Long form, 17 documentation conventions, 50 Lowercase, 17 BASIC, 11 DTE, 43 Baud rate, 46...
  • Page 90 Index Program data, 13, 18 Talking to the instrument, 11 example, 25 Terminator, 20 message, 55 Three-wire Interface, 43 message syntax, 12 Transmit Data (TD), 44–45 message terminator, 20, 54 Transmit On/Transmit Off, 47 message unit separator, 54 TRG - trigger, 64 syntax, 12 Trigger Bit, 65 programming conventions, 50...
  • Page 91 • © Copyright Hewlett- Safety Safety Symbols Service instructions are for Packard Company 1994, 1995 trained service personnel. To This apparatus has been avoid dangerous electric All Rights Reserved. designed and tested in shock, do not perform any accordance with IEC Instruction manual symbol: service unless qualified to do Publication 348, Safety...
  • Page 92 This Hewlett-Packard This is the first edition of the Hewlett-Packard edition and of any changed product has a warranty HP 54620A/C Logic specifically disclaims the pages to that edition. against defects in material Analyzer Programmer’s implied warranties of and workmanship for a period Guide.

This manual is also suitable for:

54620c

Table of Contents