Programmer’s Guide Publication number 16555-97011 First edition, January 1997 For Safety information, Warranties, and Regulatory information, see the pages behind the Index Copyright Hewlett-Packard Company 1987, 1990, 1993, 1994, 1997 All Rights Reserved HP 16554A, HP 16555A, and HP 16555D State/Timing Logic Analyzers
ii
In This Book This guide, combined with the HP 16500/16501A Programmer’s Guide, provides you with the information needed to program the HP 16554A and HP 16555A/D logic analyzer modules. Each module has its own reference to supplement the mainframe manual since not all mainframes will be configured with the same modules. This manual is organized in three parts. Part 1 consists of chapters 1 and 2 which contain general information and instructions to help you get started.
Part 3, chapter 18, contains program examples of actual tasks that show you how to get started in programming the HP 16554A and HP 16555A/D logic analyzers. These examples are written in HP BASIC 6.2; however, the program concepts can be used in any other popular programming language. Error messages for the HP 16554A and HP 16555A/D are included in generic system error messages and are in the HP 16500/16501A Programmer’s Guide.
15 SYMBol Subsystem 16 SPA Subsystem 17 DATA and SETup Commands 18 Programming Examples Index v
vi
Contents Part 1 General Information 1 Programming the HP 16554A/ HP 16555A/HP 16555D Selecting the Module 1–3 Programming the Logic Analyzer 1–3 Mainframe Commands 1–5 Command Set Organization 1–8 Module Status Reporting 1–12 MESE 1–13 MESR 1–15 2 Module Level Commands ARMLine 2–5 DBLock 2–5 MACHine 2–6 SPA 2–7 WLISt 2–7 Part 2 Commands 3 MACHine Subsystem MACHine 3–4 ARM 3–5 ASSign 3–6 LEVelarm 3–7 NAME 3–8 REName 3–8 RESource 3–9 TYPE 3–10 Contents–1
Contents 4 WLISt Subsystem WLISt 4–4 DELay 4–5 INSert 4–6 LINE 4–7 MINus 4–8 OSTate 4–9 OTIMe 4–9 OVERlay 4–10 PLUS 4–11 RANGe 4–12 REMove 4–12 XOTime 4–13 XSTate 4–13 XTIMe 4–14 5 SFORmat Subsystem SFORmat 5–6 CLOCk 5–6 LABel 5–7 MASTer 5–9 MODE 5–10 MOPQual 5–11 MQUal 5–12 REMove 5–13 SETHold 5–13 SLAVe 5–15 SOPQual 5–16 SQUal 5–17 THReshold 5–18 Contents–2
Contents 6 STRigger (STRace) Subsystem Qualifier 6–6 STRigger (STRace) 6–8 ACQuisition 6–8 BRANch 6–9 CLEar 6–11 FIND 6–12 MLENgth 6–13 RANGe 6–14 SEQuence 6–15 STORe 6–16 TAG 6–17 TAKenbranch 6–18 TCONtrol 6–19 TERM 6–20 TIMER 6–21 TPOSition 6–22 7 SLISt Subsystem SLISt 7–7 COLumn 7–7 CLRPattern 7–8 DATA 7–9 LINE 7–9 MMODe 7–10 OPATtern 7–11 OSEarch 7–12 OSTate 7–13 OTAG 7–14 OVERlay 7–15 REMove 7–15 RUNTil 7–16 TAVerage 7–17 TMAXimum 7–17 TMINimum 7–18 VRUNs 7–18 Contents–3
Contents XOTag 7–19 XOTime 7–19 XPATtern 7–20 XSEarch 7–21 XSTate 7–22 XTAG 7–22 8 SWAVeform Subsystem SWAVeform 8–4 ACCumulate 8–5 ACQuisition 8–5 CENTer 8–6 CLRPattern 8–6 CLRStat 8–7 DELay 8–7 INSert 8–8 MLENgth 8–8 RANGe 8–9 REMove 8–10 TAKenbranch 8–10 TPOSition 8–11 9 SCHart Subsystem SCHart 9–4 ACCumulate 9–4 CENTer 9–5 HAXis 9–5 VAXis 9–6 10 COMPare Subsystem COMPare 10–4 CLEar 10–5 CMASk 10–5 COPY 10–6 DATA 10–6 Contents–4
Contents FIND 10–8 LINE 10–9 MENU 10–9 RANGe 10–10 RUNTil 10–11 SET 10–12 11 TFORmat Subsystem TFORmat 11–4 ACQMode 11–5 LABel 11–6 REMove 11–7 THReshold 11–8 12 TTRigger (TTRace) Subsystem Qualifier 12–6 TTRigger (TTRace) ACQuisition 12–9 BRANch 12–9 CLEar 12–12 EDGE 12–13 FIND 12–14 MLENgth 12–16 RANGe 12–17 SEQuence 12–18 SPERiod 12–19 TCONtrol 12–20 TERM 12–21 TIMER 12–22 TPOSition 12–23 12–8 Contents–5
Contents 13 TWAVeform Subsystem TWAVeform 13–7 ACCumulate 13–7 ACQuisition 13–8 CENTer 13–9 CLRPattern 13–9 CLRStat 13–9 DELay 13–10 INSert 13–11 MLENgth 13–12 MINus 13–13 MMODe 13–14 OCONdition 13–15 OPATtern 13–16 OSEarch 13–17 OTIMe 13–18 OVERlay 13–18 PLUS 13–19 RANGe 13–20 REMove 13–20 RUNTil 13–21 SPERiod 13–22 TAVerage 13–23 TMAXimum 13–23 TMINimum 13–24 TPOSition 13–24 VRUNs 13–25 XCONdition 13–26 XOTime 13–26 XPATtern 13–27 XSEarch 13–28 XTIMe 13–29 Contents–6
Contents 14 TLISt Subsystem TLISt 14–7 COLumn 14–7 CLRPattern 14–8 DATA 14–9 LINE 14–9 MMODe 14–10 OCONdition 14–11 OPATtern 14–12 OSEarch 14–13 OSTate 14–14 OTAG 14–14 REMove 14–15 RUNTil 14–16 TAVerage 14–17 TMAXimum 14–17 TMINimum 14–18 VRUNs 14–18 XCONdition 14–19 XOTag 14–19 XOTime 14–20 XPATtern 14–20 XSEarch 14–21 XSTate 14–22 XTAG 14–23 15 SYMBol Subsystem SYMBol 15–5 BASE 15–5 PATTern 15–6 RANGe 15–7 REMove 15–8 WIDTh 15–8 Contents–7
Contents 16 SPA Subsystem MODE 16–7 OVERView:BUCKet 16–8 OVERView:HIGH 16–9 OVERView:LABel 16–10 OVERView:LOW 16–11 OVERView:MLENgth 16–12 OVERView:OMARker 16–13 OVERView:OVSTatistic 16–14 OVERView:XMARker 16–15 HISTogram:HSTatistic 16–16 HISTogram:LABel 16–17 HISTogram:OTHer 16–18 HISTogram:QUALifier 16–19 HISTogram:RANGe 16–20 HISTogram:TTYPe 16–21 TINTerval:AUTorange 16–22 TINTerval:QUALifier 16–23 TINTerval:TINTerval 16–24 TINTerval:TSTatistic 16–25 17 DATA and SETup Commands Introduction 17–2 Data Fo
Contents Part 3 Programming Examples 18 Programming Examples Making a Timing Analyzer Measurement 18–3 Making a State Analyzer Measurement 18–5 Making a State Compare Analyzer Measurement 18–9 Transferring the Logic Analyzer Configuration 18–14 Checking for Measurement Completion 18–18 Sending Queries to the Logic Analyzer 18–19 Index Contents–9
Contents–10
Part 1 1 Introduction to Programming 2 Module Level Commands General Information
1 Programming the HP 16554A/ HP 16555A/HP 16555D
Introduction This chapter introduces you to the basic command structure used to program the logic analyzer. Also included is an example program that sets up the timing analyzer for a basic timing measurement. Additional program examples are in chapter 18.
Programming the HP 16554A/ HP 16555A/HP 16555D Selecting the Module Selecting the Module Before you can program the logic analyzer, you must first "select" it. This directs your commands to the logic analyzer. To select the module, use the system command :SELect followed by the numeric reference for the slot location of the logic analyzer (1 through 10 refering to slots A through J respectively). For example, if the logic analyzer is in slot E, then the command: :SELect 5 would select this module.
Programming the HP 16554A/ HP 16555A/HP 16555D Programming the Logic Analyzer The following example program sets up the logic analyzer to make a simple timing analyzer measurement.
Programming the HP 16554A/ HP 16555A/HP 16555D Mainframe Commands Mainframe Commands These commands are part of the HP 16500/16501A mainframe system and are mentioned here only for reference. For more information on these commands, refer to the HP 16500/16501A Programmer’s Guide. CARDcage? Query The CARDcage query returns a string of integers which identifies the modules that are installed in the mainframe. The returned string is in two parts. The first five two-digit numbers identify the card type.
Programming the HP 16554A/ HP 16555A/HP 16555D Mainframe Commands MENU Command/query The MENU command selects a new displayed menu. The first parameter (X) specifies the desired module. The optional, second parameter specifies the desired menu in the module. The second parameter defaults to 0 if it is not specified. The query returns the currently selected and displayed menu.
Programming the HP 16554A/ HP 16555A/HP 16555D Mainframe Commands STOP Command The STOP command stops the specified module. If the specified module is configured as part of an intermodule run, STOP will stop all associated modules. STARt and STOP are overlapped commands. Overlapped commands allow execution of subsequent commands while the logic analyzer operations initiated by the overlapped command are still in progress.
Programming the HP 16554A/ HP 16555A/HP 16555D Command Set Organization Command Set Organization The command set for the HP 16554A/HP 16555A/HP 16555D is divided into module-level commands and subsystem commands. Module-level commands are listed in Chapter 2, "Module Level Commands" and each of the subsystem commands are covered in their individual chapters starting with Chapter 3, "MACHine Subsystem.
Programming the HP 16554A/ HP 16555A/HP 16555D Command Set Organization Figure 1-1 HP 16554A/HP 16555A/HP 16555D Command Tree 1–9
Programming the HP 16554A/ HP 16555A/HP 16555D Command Set Organization Table 1-1 Alphabetical Command-to-Subsystem Directory Command ACCumulate ACQMode ACQuisition ARM ARMLine ASSign AUTorange BASE BRANch BUCKet CENter CLEar CLOCk CLRPattern CLRStat CMASk COLumn COPY DATA DBLock DELay EDGE FIND HAXis HIGH HISTatistic HISTogram INSert LABel LEVelarm LINE LOW MASTer MENU MINus MLENgth MMODe MODE Where Used SCHart, SWAVeform, TWAVeform TFORmat STRigger, SWAVeform, TTRigger, TWAVeform MACHine Module Level Co
Programming the HP 16554A/ HP 16555A/HP 16555D Command Set Organization Table 1-1, continued Alphabetical Command-to-Subsystem Directory, continued Command TCONtrol TERM THReshold TIMER TINTerval TMAXimum TMINimum TPOSition TSTatistic TTYPe TYPE Where Used STRigger, TTRigger STRigger, TTRigger SFORmat, TFORmat STRigger, TTRigger SPA SLISt, TLISt, TWAVeform SLISt, TLISt, TWAVeform STRigger, SWAVeform, TTRigger, TWAVeform SPA SPA MACHine Command VAXis VRUNs WIDTh XCONdition XMARker XOTag XOTime XPATtern XS
Programming the HP 16554A/ HP 16555A/HP 16555D Module Status Reporting Module Status Reporting Each module reports its status to the Module Event Status Register (MESR), which in turn reports to the Combined Event Status Register (CESR) in the HP 16500/16501A mainframe (see HP 16500/16501A Programmer’s Guide chapter 6). The Module Event Status Register is enabled by the Module Event Status Enable Register (MESE).
Programming the HP 16554A/ HP 16555A/HP 16555D MESE MESE Command :MESE The MESE command sets the Module Event Status Enable register bits. The MESE register contains a mask value for the bits enabled in the MESR register. A one in the MESE will enable the corresponding bit in the MESR, a zero will disable the bit. The first parameter specifies the module. The second parameter specifies the enable value.
Programming the HP 16554A/ HP 16555A/HP 16555D MESE Table 1-2 Module Event Status Enable Register (A "1" enables the MESR bit) Bit Weight Enables 7 128 Not used 6 64 Not used 5 32 Not used 4 16 Not used 3 8 Pattern searches failed 2 4 Trigger found 1 2 RNT-Run until satisfied 0 1 MC-Measurement complete The Module Event Status Enable Register contains a mask value for the bits to be enabled in the Module Event Status Register (MESR).
Programming the HP 16554A/ HP 16555A/HP 16555D MESR MESR Query :MESR? The MESR query returns the contents of the Module Event Status register. When you read the MESR, the value returned is the total bit weights of all bits that are set at the time the register is read. Reading the register clears the Module Event Status Register. Table 1-3 shows each bit in the Module Event Status Register and its bit weight for this module.
Programming the HP 16554A/ HP 16555A/HP 16555D MESR Table 1-3 Module Event Status Register Bit Weight Condition 7 128 Not used 6 64 Not used 5 32 Not used 4 16 Not used 3 8 1 = One or more pattern searches failed 0 = Pattern searches did not fail 2 4 1 = Trigger found 0 = Trigger not found 1 2 1 = Run until satisfied 0 = Run until not satisfied 0 1 1 = Measurement complete 0 = Measurement not complete 1–16
2 Module Level Commands
Introduction The logic analyzer module level commands access the global functions of the HP 16554A/HP 16555A/HP 16555D logic analyzer module.
Module Level Commands Figure 2-1 Module Level Syntax Diagram 2–3
Module Level Commands Table 2-1 Module Level Parameter Values Parameter Type of Parameter or Command Reference machine_num MACHine{1|2} arm_parm arm parameters see chapter 3 assign_parm assignment parameters see chapter 3 level_parm level parameters see chapter 3 name_parm name parameters see chapter 3 rename_parm rename parameters see chapter 3 res_parm resource parameters see chapter 3 type_parm type parameters see chapter 3 sformat_cmds state format subsystem commands see ch
Module Level Commands ARMLine ARMLine Command :ARMLine MACHine The ARMLine command selects which machine generates the arm out signal on the IMB (intermodule bus). This command is only valid when two analyzers are on. However, the query is always valid. {1|2} Example OUTPUT XXX;":ARMLINE MACHINE1" Query :ARMLine? If the analyzer is set up for OR’d triggering, then the ARMLine query returns an empty string. This cannot be used for setting up OR’d triggering.
Module Level Commands MACHine The UNPacked option uploads data in a format that is easy to interpret and process. The UNPacked format cannot be downloaded back into the analyzer. Example OUTPUT XXX;":DBLOCK PACKED" Query :DBLock? The DBLock query returns the current data block format selection.
Module Level Commands SPA SPA Command :SPA The SPA command selects which of the two analyzers the subsequent commands or queries will refer to. SPA is also a subsystem containing commands that control the logic analyzer SPA functions. See chapter 16 for details about the SPA subsystem. Example {1|2} OUTPUT XXX;":SPA1:MODE OVERVIEW" WLISt Command :WLISt The WLISt selector accesses the commands used to place markers and query marker positions in Timing/State Mixed mode.
2–8
Part 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 MACHine Subsystem WLISt Subsystem SFORmat Subsystem STRigger (STRace) Subsystem SLISt Subsystem SWAVeform Subsystem SCHart Subsystem COMPare TFORmat Subsystem TTRigger (TTRace) Subsystem TWAVeform Subsystem TLISt Subsystem SYMBol Subsystem SPA Subsystem DATA and SETup Commands Commands
3 MACHine Subsystem
Introduction The MACHine subsystem contains the commands that control the machine level of operation of the logic analyzer. Some of the functions are normally found in the Trigger menu. These commands are: • ARM • LEVelarm The functions of three of these commands reside in the State/Timing Configuration menu.
MACHine Subsystem Figure 3-1 Machine Subsystem Syntax Diagram 3–3
MACHine Subsystem MACHine Table 3-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. If you are using an HP 16500C mainframe, you can set up OR’d Triggering by arming the module from INTermodule when intermodule is set to Group Run with OR TRIGGER.
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. If you specify a pod number greater than currently available, the logic analysis system generates an "Argument out of range" error.
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. Spaces are valid characters. string of up to 10 alphanumeric characters Example OUTPUT XXX;":MACHINE1:NAME ’DRAM TEST’" Query :MACHine{1|2}:NAME? The NAME query returns the current analyzer name as an ASCII string.
MACHine Subsystem RESource {|H|J} for state analyzer {|EDGE{1|2}} for timing analyzer 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.
MACHine Subsystem TYPE Example OUTPUT XXX;":MACHINE1:RESOURCE A,C,RANGE1" Query :MACHine{1|2}:RESOURCE? The RESource query returns the current resource terms assigned to the specified analyzer. If no resource terms are assigned, no is returned. 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.
MACHine Subsystem TYPE Query :MACHine{1|2}:TYPE? The TYPE query returns the current analyzer type for the specified analyzer.
3–12
4 WLISt Subsystem
Introduction The commands in the WLISt (Waveforms/LISting) subsystem control the X and O marker placement on the waveforms portion of the Timing/State 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 4-1 WLISt Subsystem Syntax Diagram 4–3
WLISt Subsystem WLISt Table 4-1 WLISt Subsystem Parameter Values Parameter Value delay_value real number between -2500 s and +2500 s module_spec {1|2|3|4|5|6|7|8|9|10} (slot where master card is installed) bit_id integer from 0 to 31 label_name string of up to 6 alphanumeric characters line_num_mid_screen integer from -516096 to +516096 (HP 16554A) or -1040384 to +1040384 (HP 16555A) or -2080768 to +2080768 (HP 16555D) waveform string containing {1|2} acquisition_spec {A|B
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. Time-correlated waveforms from the oscilloscope and another logic analyzer module can also be inserted in the logic analyzer’s timing waveforms display.
WLISt Subsystem LINE Inserting Oscilloscope Waveforms Command :WLISt:INSert , This inserts a waveform from an oscilloscope to the timing waveforms display. {1|2|3|4|5|6|7|8|9|10} slot in which master card is installed string of one alpha and one numeric character, identical to that on the oscilloscope waveform display.
WLISt Subsystem MINus Query :WLISt:LINE? The LINE query returns the line number for the state currently in the data listing roll box at center screen. Returned Format [:WLISt:LINE] Example OUTPUT XXX;":WLIST:LINE?" MINus Command :WLISt:MINus ,, The MINus command inserts time-correlated A−B (A minus B) oscilloscope waveforms on the screen.
WLISt Subsystem OSTate OSTate Query :WLISt:OSTate? The OSTate query returns the state where the O Marker is positioned. If data is not valid, the query returns 2147483647. Returned Format Example [:WLISt:OSTate] integer OUTPUT XXX;":WLIST:OSTATE?" 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.
WLISt Subsystem OVERlay Query :WLISt:OTIMe? The OTIMe query returns the O Marker position in time. If data is not valid, the query returns 9.9E37. Returned Format [:WLISt:OTIMe] Example OUTPUT XXX;":WLIST:OTIME?" OVERlay Command :WLISt:OVERlay ,
WLISt Subsystem PLUS PLUS Command :WLISt:PLUS ,, The PLUS command inserts time-correlated A+B oscilloscope waveforms on the screen. The first parameter specifies which slot is the oscilloscope module. 1 through 10 refers to slots A through J. The next two parameters specify which waveforms will be added to each other. PLUS only inserts oscilloscope waveforms. It cannot be used with analyzer waveforms.
WLISt Subsystem RANGe RANGe Command :WLISt: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;":WLIST:RANGE 100E−9" Query :WLISt:RANGe? The RANGe query returns the current full-screen time.
WLISt Subsystem XOTime 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. Returned Format Example [:WLISt:XOTime] real number OUTPUT XXX;":WLIST:XOTIME?" 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.
WLISt Subsystem XTIMe 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. real number Example OUTPUT XXX;":WLIST:XTIME 40.0E−6" Query :WLISt:XTIMe? The XTIMe query returns the X Marker position in time. If data is not valid, the query returns 9.9E37.
5 SFORmat Subsystem
Introduction The SFORmat subsystem contains the commands available for the State Format menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer modules.
SFORmat Subsystem Figure 5-1 SFORmat Subsystem Syntax Diagram 5–3
SFORmat Subsystem Figure 5-1 (continued) SFORmat Subsystem Syntax Diagram (continued) 5–4
SFORmat Subsystem Table 5-1 SFORmat Subsystem Parameter Values Parameter Value an integer from 1 to 12 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 65535) for a clock (clocks are assigned in decreasing order) format (integer from 0 to 65535) for a pod (pods are assigned in decreasing order) Example 510 OUTPUT XXX;":MACHINE2:SFORMAT:LABEL ’STAT’, POSITIVE, 0,127,40312" 520 OUTPUT XXX;":MACHINE2:SFORMAT:LABEL ’SIG 1’, #B11,#B0000000011111111, #B0000000000000000 " Query :MACHine
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 MODE MODE Command :MACHine{1|2}:SFORmat:MODE {NORMal|FAST} The MODE command places an HP 16555 state analyzer in either 100 MHz (normal) or 110 MHz (fast) mode. The HP 16554A has only one state analysis mode, 70 MHz. In 110-MHz mode, the h and j resource terms are not available. Example OUTPUT XXX;":MACHINE2:SFORMAT:MODE NORM" Query :MACHine{1|2}:SFORmat:MODE? The MODE query is valid for both the HP 16554 and HP 16555.
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/2, or between master clock qualifier pair 3/4. For example, you can specify a master clock operation qualifier 1 AND 2. {1|2} where 2 indicates qualifier pair 3/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;":MACHINE1: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 5-2 an integer from 1 to 12 integer {0|1|2|3|4|5|6|7|8|9} representing the following setup and hold values: 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 0 = 4.5/0.0 1 = 3.0/0.5 ns 1 = 3.5/0.5 1 = 4.0/0.5 2 = 2.5/1.0 ns 2 = 3.0/1.0 2 = 3.5/1.0 3 = 2.0/1.5 ns 3 = 2.5/1.5 3 = 3.0/1.5 4 = 1.5/2.0 ns 4 = 2.0/2.0 4 = 2.5/2.0 5 = 1.0/2.5 ns 5 = 1.5/2.5 5 = 2.
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/2, or between slave clock qualifier pair 3/4. For example you can specify a slave clock operation qualifier 1 AND 2.
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 THReshold Command :MACHine{1|2}:SFORmat: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. an integer from 1 to 12 indicating pod number real number between −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.
6 STRigger (STRace) Subsystem
Introduction The STRigger subsystem contains the commands available for the State Trigger menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer modules. The State Trigger subsystem will also accept the STRace selector as used in previous HP 16500-Series logic analyzer modules to eliminate the need to rewrite programs containing STRace as the selector keyword.
STRigger (STRace) Subsystem Figure 6-1 STRigger Subsystem Syntax Diagram 6–3
STRigger (STRace) Subsystem Figure 6-1 (continued) STRigger Subsystem Syntax Diagram (continued) 6–4
STRigger (STRace) Subsystem Table 6-1 STRigger Subsystem Parameter Values Parameter Value branch_qualifier qualifier see "Qualifier" on page 6–6 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 stop_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}...
STRigger (STRace) Subsystem Qualifier Qualifier The qualifier for the state trigger subsystem can be terms A through 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 6-2, "Complex Qualifier," on page 6-10. 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>} H, NOTH, J, and NOTJ are not available in 110-MHz mode.
STRigger (STRace) Subsystem STRigger (STRace) STRigger (STRace) Selector :MACHine{1|2}:STRigger The STRigger (STRace) (State Trigger) 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 sequencer to jump to the specified sequence level. The branch qualifier functions like the "else on" branch of a sequence level. The terms used by the branch qualifier (A through J, except in 110-MHz mode) are defined by the TERM command.
STRigger (STRace) Subsystem BRANch Example OUTPUT XXX;":MACHINE1:STRIGGER:BRANCH1 ’ANYSTATE’, 3" OUTPUT XXX;":MACHINE1: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 the complex qualifier shown in figure 6-2. 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 sequencer will proceed to the next sequence level.
STRigger (STRace) Subsystem MLENgth Query :MACHine{1|2}:STRigger:FIND4? 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:FIND?" 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 trigger sequence. First, it deletes the current sequence.
STRigger (STRace) Subsystem STORe STORe Command :MACHine{1|2}:STRigger:STORe The STORe command defines the store qualifier for a given sequence level. Any data matching the STORe qualifier will be stored in memory as part of the current trace data. The qualifier may be a single term or a complex expression. The terms A through J are defined by the TERM command. The meaning of IN_RANGE1 and 2 and OUT_RANGE1 and 2 is determined by the RANGe command.
STRigger (STRace) Subsystem TAG 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. State tagging is indicated when the parameter is the state tag qualifier, which will be counted in the qualified state mode. The qualifier may be a single term or a complex expression. The terms A through J are defined by the TERM command.
STRigger (STRace) Subsystem TAKenbranch 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. The states causing the branch are defined by the BRANch and FIND commands. Example OUTPUT XXX;":MACHINE2:STRIGGER:TAKENBRANCH STORE" Query :MACHine{1|2}:STRigger:TAKenbranch? The TAKenbranch query returns the current setting.
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 fewer 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 of 0 percent being the same as an end trace.
7 SLISt Subsystem
Introduction The SLISt subsystem contains the commands available for the State Listing menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer modules.
SLISt Subsystem Figure 7-1 SLISt Subsystem Syntax Diagram 7–3
SLISt Subsystem Figure 7-1 (continued) SLISt Subsystem Syntax Diagram (continued) 7–4
SLISt Subsystem Figure 7-1 (continued) SLISt Subsystem Syntax Diagram (continued) 7–5
SLISt Subsystem Table 7-1 SLISt Subsystem Parameter Values Parameter Value mod_num {1|2|3|4|5|6|7|8|9|10} col_num integer from 1 to 61 line_number integer from -516096 to +516096 (HP 16554A) or from -1040384 to +1040384 (HP 16555A) or from -2080768 to +2080768 (HP 16555D) 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 -516096 to +516096 (HP
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 Query :MACHine{1|2}:SLISt:COLumn? The COLumn query returns the column number, module slot, machine, label name, and base for the specified column. Returned Format [:MACHine{1|2}:SLISt:COLumn] ,,MACHine{1|2}, , Example OUTPUT XXX;":MACHINE1:SLIST:COLUMN? 4" CLRPattern Command :MACHine{1|2}:SLISt:CLRPattern {X|O|ALL} The CLRPattern command allows you to clear the marker patterns in the Specify Patterns menu.
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.
SLISt Subsystem MMODe 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 Command :MACHine{1|2}:SLISt:MMODe The MMODe command (Marker Mode) 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 other modules or machines to the state listing. The added labels are interleaved with the column specified. The column must already contain a label.
SLISt Subsystem RUNTil RUNTil Command :MACHine{1|2}:SLISt:RUNTil The RUNTil (run until) command allows you to define a stop condition when the trace mode is repetitive. Specifying OFF causes the analyzer to make runs until either the display’s STOP field is touched 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 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 O markers when the marker mode is time, or number of states from the X to O markers when the 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 with associated XPATtern recognizer specification when moving the markers on patterns. The origin parameter tells the marker to begin a search from the trigger or from the start of data. The occurrence parameter determines which occurrence of the XPATtern recognizer specification, relative to the origin, the marker actually searches for.
SLISt Subsystem XSTate XSTate Query :MACHine{1|2}:SLISt: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.
SLISt Subsystem XTAG Query :MACHine{1|2}:SLISt:XTAG? The XTAG query returns the X marker position in time when time tagging is on or in states when state tagging is on, regardless of whether the marker was positioned in time or through a pattern search. If data is not valid tagged data, the query returns 9.9E37 for time tagging, or returns 2147483647 for state tagging.
7–24
8 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. Up to 96 channels, identified by label name and bit number, can be displayed at a time. The 12 commands in this subsystem are analogous to their counterparts in the Timing Waveform subsystem. In this subsystem the X axis is restricted to representing only samples (states), regardless of whether time tagging is on or off.
SWAVeform Subsystem Figure 8-1 SWAVeform Subsystem Syntax Diagram 8–3
SWAVeform Subsystem SWAVeform Table 8-1 SWAVeform Subsystem Parameter Values Parameter Value number_of_samples integer from -516096 to +516096 (HP 16554A) or from -1040384 to +1040384 (HP 16555A) or from -2080768 to +2080768 (HP 16555D) 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 fr
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 allowed to be 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 ACQuisition 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 allows you to add waveforms to the state waveform display. Waveforms are added from top to bottom on the screen. When 96 waveforms are present, inserting additional waveforms replaces 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 Example OUTPUT XXX;":MACHINE1:SWAVEFORM:MLENGTH 262144" 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 before building a new display. Example OUTPUT XXX;":MACHINE1:SWAVEFORM:REMOVE" TAKenbranch Command MACHine{1|2}:SWAVeform:TAKenbranch {STORe|NOSTore} The TAKenbranch command allows you to control 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 allows you to control where the trigger point is placed. The trigger point can be placed at the start, center, end, or at a percentage of post store. The post store 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.
8–12
9 SCHart Subsystem
Introduction The State Chart subsystem provides the commands necessary for programming the HP 16554A/HP 16555A/HP 16555D’s 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 9-1 SCHart Subsystem Syntax Diagram Table 9-1 SCHart Subsystem Parameter Values Parameter Value state_low_value integer between ±516096 (HP 16554A), ±1040384 (HP 16555A), or ±2080768 (HP 16555D) state_high_value integer from to 516096 (HP 16554A), 1040384 (HP 16555A), or 2080768 (HP 16555D) 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
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 chart display about the specified markers. The markers are placed 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.
9–8
10 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 10-1 COMPare Subsystem Syntax Diagram 10–3
COMPare Subsystem COMPare Table 10-1 COMPare Subsystem Parameter Values Parameter Value label_name string of up to 6 characters care_spec string of characters "{*|.}..." * care . don’t care line_num integer from –122880 to +122880 (HP 16554A) or –253951 to +253951 (HP 16555A) or -507903 to +507903 (HP 16555D) 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} ...
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 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. This makes the current acquisition the reference listing. 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 –122880 to +122880 (HP 16554A) or –253951 to +253951 (HP 16555A) or –507903 to +507903 (HP 16555D) "{#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 (difference listing) and its compare data image (reference listing).
COMPare Subsystem LINE LINE Command :MACHine{1|2}:COMPare:LINE The LINE command allows you to center the compare listing display about a specified line number. The Listing menu also changes so that the specified line is displayed midscreen. integer from –122880 to +122880 (HP 16554A) or –253951 to +253951 (HP 16555A) or –507903 to +507903 (HP 16555D).
COMPare Subsystem RANGe RANGe Command :MACHine{1|2}:COMPare:RANGe {FULL | PARTial,,} The RANGe command allows you to define the boundaries for the comparison. The range entered must be a subset of the lines in the acquisition memory.
COMPare Subsystem RUNTil RUNTil Command :MACHine{1|2}:COMPare:RUNTil {OFF | LT, | GT, | INRange,, | OUTRange,, | EQUal | NEQual} The RUNTil (run until) command allows you to define a stop condition when the trace mode is repetitive. Specifying OFF causes the analyzer to make runs until either the display’s STOP field is touched or the STOP command is issued. There are four conditions based on the time between the X and O markers.
COMPare Subsystem SET Query :MACHine{1|2}:COMPare:RUNTil? The RUNTil query returns the current stop criteria for the comparison when running in repetitive trace mode. Returned Format [:MACHine{1|2}:COMPare:RUNTil] {OFF| LT,|GT,| INRange,,|OUTRange,,|EQUal|NEQual} Example OUTPUT XXX;":MACHINE2:COMPARE:RUNTIL?" SET Command :MACHine{1|2}:COMPare:SET The SET command sets every state in the reference listing to "don’t cares.
11 TFORmat Subsystem
Introduction The TFORmat subsystem contains the commands available for the Timing Format menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer module.
TFORmat Subsystem Figure 11-1 TFORmat Subsystem Syntax Diagram 11–3
TFORmat Subsystem TFORmat Table 11-1 TFORmat Subsystem Parameter Values Parameter Value an integer from 1 to 12 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 allows you to select the acquisition mode for the timing analyzer. The options are: • conventional mode at full-channel 125 MHz (HP 16554A) or 250 MHz (HP 16555A/D) • conventional mode at half-channel 250 MHz (HP 16554A) or 500 MHz (HP 16555A/D).
TFORmat Subsystem LABel LABel Command :MACHine{1|2}:TFORmat:LABel [,, ,[,], [,,]...] The LABel command allows you to specify polarity and to assign 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) lab
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 12) 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.
12 TTRigger (TTRace) Subsystem
Introduction The TTRigger subsystem contains the commands available for the Timing Trigger menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer module. The Timing Trigger subsystem will also accept the TTRace selector as used in previous HP 16500-series logic analyzer modules to eliminate the need to rewrite programs containing TTRace as the selector keyword.
TTRigger (TTRace) Subsystem Figure 12-1 TTRigger Subsystem Syntax Diagram 12–3
TTRigger (TTRace) Subsystem Figure 12-1 (continued) TTRigger Subsystem Syntax Diagram (continued) 12–4
TTRigger (TTRace) Subsystem Table 12-1 TTRigger Parameter Values Parameter Value branch_qualifier integer from 1 to last sequence 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, Range 1 and 2, and Edge 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 12-2, "Complex Qualifier," on page 12-11.
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) 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 allows you to specify 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. Regarding 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 12-2 Complex Qualifier Figure 12-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, EDGE1, and TIMER 1 must be grouped together and terms F, G, and I, RANGE 2, EDGE2, and TIMER 2 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, and I 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 allows you to define 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 Query :MACHine{1|2}:TTRigger:EDGE? The EDGE query returns the current specification for the given label. Returned Format [:MACHine{1|2}:TTRigger:EDGE] , Example OUTPUT XXX;":MACHINE1:TTRIGGER:EDGE1? ’DATA’" FIND Command :MACHine{1|2}:TTRigger:FIND , The FIND command defines the qualifier for a given sequence level.
TTRigger (TTRace) Subsystem FIND LT less than real number from 8 ns to 5.00 seconds depending on sample period integer from 1 to 1048575 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:FIND4? The FIND query returns the current time qualifier specification for a given sequence level.
TTRigger (TTRace) Subsystem MLENgth MLENgth Command :MACHine{1|2}:TTRigger:MLENgth The MLENgth command allows you to specify the analyzer memory depth. Valid memory depths range from 4096 samples through the maximum system memory depth minus 8192 samples (HP 16554A/HP 16555A) or minus 16384 samples (HP 16555D). 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.
TTRigger (TTRace) Subsystem RANGe RANGe Command :MACHine{1|2}:TTRigger: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.
TTRigger (TTRace) Subsystem SEQuence SEQuence Command :MACHine{1|2}:TTRigger:SEQuence The SEQuence command defines the timing analyzer trigger sequence. First it deletes the current sequence, then it inserts the number of levels specified, with default settings. The number of levels can be between 1 and 10 when the analyzer is armed by the RUN key. In timing analyzers, the trigger is always the last level.
TTRigger (TTRace) Subsystem SPERiod SPERiod Command :MACHine{1|2}:TTRigger:SPERiod The SPERiod command allows you to set the sample period of the timing analyzer. real number from 4 ns (HP 16554A) or 2 ns (HP 16555A/D) to 8 ms Example OUTPUT XXX;":MACHINE1:TTRIGGER:SPERIOD 50E−9" Query :MACHine{1|2}:TTRigger:SPERiod? The SPERiod query returns the current sample period.
TTRigger (TTRace) Subsystem TCONtrol TCONtrol Command :MACHine{1|2}:TTRigger: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.
TTRigger (TTRace) Subsystem TERM TERM Command :MACHine{1|2}:TTRigger:TERM , , The TERM command allows you to a 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 fewer 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 indicated 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 TPOSition Command :MACHine{1|2}:TTRigger:TPOSition {STARt|CENTer|END|DELay, | 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 of 0 percent being the same as an end trace.
12–24
13 TWAVeform Subsystem
Introduction The TWAVeform subsystem contains the commands available for the Timing Waveforms menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer module.
TWAVeform Subsystem Figure 13-1 TWAVeform Subsystem Syntax Diagram 13–3
TWAVeform Subsystem Figure 13-1 (continued) TWAVeform Subsystem Syntax Diagram (continued) 13–4
TWAVeform Subsystem Figure 13-1 (continued) TWAVeform Subsystem Syntax Diagram (continued) 13–5
TWAVeform Subsystem Table 13-1 TWAVeform Parameter Values Parameter Value delay_value real number between -2500 s and +2500 s module_spec {1|2|3|4|5|6|7|8|9|10} bit_id integer from 0 to 31 waveform string containing {1|2} acquisition_spec {A|B|C|D|E|F|G|H|I|J} (slot where acquisition card is located) 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 Query :MACHine{1|2}:TWAVeform:ACCumulate? The ACCumulate query returns the current setting. The query always shows the setting as the characters, "0" (off) or "1" (on). Returned Format [:MACHine{1|2}:TWAVeform:ACCumulate] {0|1} Example OUTPUT XXX;":MACHINE1:TWAVEFORM:ACCUMULATE?" ACQuisition Command :MACHine{1|2}:TWAVeform:ACQuisition {AUTOmatic|MANual} The ACQuisition command allows you to specify the acquisition mode for the timing analyzer.
TWAVeform Subsystem CENTer CENTer Command :MACHine{1|2}:TWAVeform:CENTer The CENTer command allows you to center the waveform display about the specified markers. Example {X|O|XO|TRIGger} OUTPUT XXX;":MACHINE1:TWAVEFORM:CENTER X" CLRPattern Command :MACHine{1|2}:TWAVeform:CLRPattern {X|O|ALL} The CLRPattern command allows you to clear the patterns in the selected Specify Patterns menu.
TWAVeform Subsystem DELay DELay Command :MACHine{1|2}:TWAVeform: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;":MACHINE1:TWAVEFORM:DELAY 100E−6" Query :MACHine{1|2}:TWAVeform:DELay? The DELay query returns the current time offset (delay) value from the trigger.
TWAVeform Subsystem INSert 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 96 waveforms. Once 96 waveforms are present, each time you insert another waveform, it replaces the last waveform.
TWAVeform Subsystem MLENgth Inserting Oscilloscope Waveforms Command :MACHine{1|2}:TWAVeform:INSert , This inserts a waveform from an oscilloscope to the timing waveforms display.
TWAVeform Subsystem MINus Query :MACHine{1|2}:TWAVeform:MLENgth? The MLENgth query returns the current analyzer memory depth selection. Returned Format [:MACHine{1|2}:TWAVeform:MLENgth] Example OUTPUT XXX;":MACHINE1:TWAVEFORM:MLENGTH?" MINus Command :MACHine{1|2}:TWAVeform:MINus ,, The MINus command inserts time-correlated A−B (A minus B) oscilloscope waveforms on the display.
TWAVeform Subsystem MMODe MMODe Command :MACHine{1|2}:TWAVeform:MMODe {OFF|PATTern|TIME|MSTats} The MMODe (Marker Mode) 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 on time. In MSTats, the markers are placed on patterns, but the readouts will be time statistics.
TWAVeform Subsystem OCONdition OCONdition Command :MACHine{1|2}:TWAVeform: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:TWAVEFORM:OCONDITION ENTERING" Query :MACHine{1|2}:TWAVeform:OCONdition? The OCONdition query returns the current setting.
TWAVeform Subsystem OPATtern OPATtern Command :MACHine{1|2}:TWAVeform:OPATtern , The OPATtern command allows you to construct a pattern recognizer term for the O marker which is then used with the OSEarch criteria and OCONdition when moving the marker on patterns. Since this command deals with only one label at a time, a complete specification could require several invocations.
TWAVeform Subsystem OSEarch OSEarch Command :MACHine{1|2}:TWAVeform:OSEarch , The OSEarch command defines the search criteria for the O marker which is then used with the associated OPATtern specification and the OCONdition when moving markers on patterns. The origin parameter tells the marker to begin a search from the start of the acquisition, the trigger, or the X marker.
TWAVeform Subsystem OTIMe 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.5 ks Example OUTPUT XXX; ":MACHINE1:TWAVEFORM:OTIME 30.0E−6" Query :MACHine{1|2}:TWAVeform:OTIMe? The OTIMe query returns the O marker position in time. If data is not valid, the query returns 9.9E37.
TWAVeform Subsystem PLUS Example {1|2|3|4|5|6|7|8|9|10} string containing {1|2} {A|B|C|D|E|F|G|H|I|J} (slot where acquisition card is located) OUTPUT XXX;":MACHINE1:TWAVEFORM:OVERLAY 3, ’C1’,’C2’" PLUS Command :MACHine{1|2}:TWAVeform:PLUS , , The PLUS command inserts time-correlated A+B oscilloscope waveforms on the screen. The first parameter specifies the slot where the oscilloscope module resides.
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 sec/Div 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 RUNTil Command :MACHine{1|2}:TWAVeform:RUNTil The RUNTil (run until) 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 the STOP touch screen field is touched, or, the STOP command is sent. Run until time between X and O marker options are: • • • • Less Than (LT) a specified time value. Greater Than (GT) a specified time value.
TWAVeform Subsystem SPERiod SPERiod Command :MACHine{1|2}:TWAVeform:SPERiod The SPERiod command allows you to set the sample period of the timing analyzer. real number from 4 ns (HP 16554A) or 2 ns (HP 16555A/D) to 8 ms Example OUTPUT XXX;":MACHINE1:TWAVEFORM:SPERIOD 50E−9" Query :MACHine{1|2}:TWAVeform:SPERiod? The SPERiod query returns the current sample period.
TWAVeform Subsystem TAVerage TAVerage Query :MACHine{1|2}:TWAVeform:TAVerage? The TAVerage query returns the value of the average 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:TAVerage] real number OUTPUT XXX;":MACHINE1:TWAVEFORM:TAVERAGE?" TMAXimum Query :MACHine{1|2}:TWAVeform:TMAXimum? The TMAXimum query returns the value of the maximum time between the X and O markers.
TWAVeform Subsystem TMINimum TMINimum Query :MACHine{1|2}:TWAVeform: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.
TWAVeform Subsystem VRUNs Query MACHine{1|2}:TWAVeform:TPOSition? The TPOSition query returns the current trigger setting. Returned Format [MACHine{1|2}:TWAVeform:TPOSition] {STARt|CENTer|END|DELay, | POSTstore,} Example OUTPUT XXX;":MACHINE2:TWAVEFORM:TPOSition?" VRUNs Query :MACHine{1|2}:TWAVeform:VRUNs? The VRUNs query returns the number of valid runs and total number of runs made.
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 allows you to construct a pattern 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. When the value of a pattern is expressed in binary, it represents the bit values for the label inside the pattern.
TWAVeform Subsystem XSEarch XSEarch Command :MACHine{1|2}:TWAVeform:XSEarch , The XSEarch command defines the search criteria for the X marker. The criteria are then used with the associated XPATtern specification and the XCONdition when moving markers on patterns. The origin parameter tells the marker to begin a search from the trigger or start.
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 −2.5 ks to +2.5 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.
13–30
14 TLISt Subsystem
Introduction The TLISt subsystem contains the commands available for the Timing Listing menu in the HP 16554A/HP 16555A/HP 16555D logic analyzer modules and is the same as the SLISt subsystem (except for the OCONdition and XCONdition commands).
TLISt Subsystem Figure 14-1 TLISt Subsystem Syntax Diagram 14–3
TLISt Subsystem Figure 14-1 (continued) TLISt Subsystem Syntax Diagram (continued) 14–4
TLISt Subsystem Figure 14-1 (continued) TLISt Subsystem Syntax Diagram (continued) 14–5
TLISt Subsystem Table 14-1 TLISt Parameter Values Parameter Value mod_num {1|2|3|4|5|6|7|8|9|10} mach_num {1|2} col_num integer from 1 to 61 line_number integer between ±1040384 (HP 16554A), or ±2088960 (HP 16555A) or ±4177920 (HP 16555D) label_name a string of up to 6 alphanumeric characters base {BINary|HEXadecimal|OCTal|DECimal|TWOS |ASCii|SYMBol} for labels or {ABSolute|RELative} for tags line_num_mid_screen integer between ±1040384 (HP 16554A), or ±2088960 (HP 16555A) or ±4177920 (HP 1
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 Example OUTPUT XXX;":MACHINE1:TLIST:COLUMN 4,2,’A’,HEX" Query :MACHine{1|2}:TLISt:COLumn? The COLumn query returns the column number, data source, 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 base will be the same as the one shown in the Listing display.
TLISt Subsystem MMODe Query :MACHine{1|2}:TLISt:LINE? The LINE query returns the line number for the state currently in the data roll box at the center of the screen. Returned Format [:MACHine{1|2}:TLISt:LINE] Example OUTPUT XXX;":MACHINE1:TLIST:LINE?" MMODe Command :MACHine{1|2}:TLISt:MMODe The MMODe command (Marker Mode) 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 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. When the value of a pattern is expressed in binary, it represents the bit values for the label inside the pattern recognizer term.
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 from the trigger, the start of data, or the X marker. The actual occurrence the marker searches for is determined by the occurrence parameter, relative to the origin.
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.
TLISt Subsystem REMove Query :MACHine{1|2}:TLISt:OTAG? The OTAG query returns the O marker position in time regardless of whether the marker was positioned in time or through a pattern search. If data is not valid, the query returns 9.9E37. Returned Format [:MACHine{1|2}:TLISt:OTAG] Example OUTPUT XXX;":MACHINE1:TLIST:OTAG?" REMove Command :MACHine{1|2}:TLISt:REMove The REMove command removes all labels, except the leftmost label, from the listing menu.
TLISt Subsystem RUNTil RUNTil Command :MACHine{1|2}:TLISt:RUNTil The RUNTil (run until) command allows you to define a stop condition when the run mode is repetitive. Specifying OFF causes the analyzer to make runs until either the display’s STOP field is touched or the STOP command is issued. There are four conditions based on the time between the X and O markers. These four conditions are as follows: • • • • The difference is less than (LT) some value.
TLISt Subsystem TAVerage 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. Valid runs are those where the pattern search for both the X and O markers was successful, resulting in valid time measurements.
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 the query returns 9.9E37.
TLISt Subsystem XSEarch Example OUTPUT XXX;":MACHINE1:TLIST:XPATTERN ’DATA’,’255’ " OUTPUT XXX;":MACHINE1:TLIST:XPATTERN ’ABC’,’#BXXXX1101’ " Query :MACHine{1|2}:TLISt:XPATtern? The XPATtern query returns the pattern specification for a given label name.
TLISt Subsystem XSTate Query :MACHine{1|2}:TLISt:XSEarch? The XSEarch query returns the search criteria for the X marker. Returned Format [:MACHine{1|2}:TLISt:XSEarch] , Example OUTPUT XXX;":MACHINE1:TLIST:XSEARCH?" 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.
TLISt Subsystem XTAG XTAG Command :MACHine{1|2}:TLISt:XTAG The XTAG command specifies the tag value on which the X marker should be placed. The tag value is always time for the timing analyzer. If the data is not valid tagged data, no action is performed. real number Example OUTPUT XXX;":MACHINE1:TLIST:XTAG 40.
14–24
15 SYMBol Subsystem
Introduction The SYMBol subsystem contains the commands that allow you to define symbols on the controller and download them to the HP 16554A/HP 16555A/HP 16555D logic analyzer modules.
SYMBol Subsystem Figure 15-1 SYMBol Subsystem Syntax Diagram 15–3
SYMBol Subsystem Table 15-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 stop_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}...
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 allows you to create 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. The values may be in binary (#B), octal (#Q), hexadecimal (#H), or decimal (default). Don’t cares cannot be used in a decimal number.
SYMBol Subsystem RANGe RANGe Command :MACHine{1|2}:SYMBol:RANGe , ,, The RANGe command allows you to create 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 can not use don’t cares in any base.
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.
16 SPA Subsystem
Introduction This chapter provides you with information for programming the System Performance Analysis (SPA) features on the HP 16554A/ HP 16555A/HP 16555D logic analyzer modules. SPA commands have subsystems, indicated by the outdented items in the list. Indented commands must be prefaced with the outdented command above it unless MODE was previously used to set the mode.
SPA Subsystem Figure 16-1 SPA Subsystem Syntax Diagram 16–3
SPA Subsystem Figure 16-1 (continued) SPA Subsystem Syntax Diagram (continued) 16–4
SPA Subsystem Figure 16-1 (continued) SPA Subsystem Syntax Diagram (continued) 16–5
SPA Subsystem Table 16-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 | 516096 (HP 16554A) 524288 | 1040384 (HP 16555A) 524288 | 1048576 | 2080768 (HP 16555D)} o_patt x_patt range_num an integer from 0 to 10 range_name a string of up to 16 alphanumeric characters mi
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 (HP 16554A/HP 16555A) or minus 16384 states (HP 16555D). 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 TINTerval:QUALifier Command :SPA{1|2}:TINTerval:QUALifier , , The TINTerval:QUALifier command defines the start and stop patterns for a specified label. The start and stop patterns determine the time windows for collecting data. A query returns the currently defined start and stop patterns for a given label. string of up to 6 alphanumeric characters "{#B{0|1}...| #Q{0|1|2|3|4|5|6|7}...
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.
16–26
17 DATA and SETup Commands
Introduction The DATA and SETup commands are SYSTem commands that allow you to send and receive block data between the HP 16554A, HP 16555A, or HP 16555D 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, there are four important things to keep 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 HP 16554A/HP 16555A/HP 16555D logic analyzers. The block data consists of a variable number of bytes containing information captured by the acquisition chips.
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 Because block data may contain multiple sections, this description numbers bytes beginning at the section header. The initial 10 bytes of the block length specifier and any other sections are not included in the numbering. The section header uses bytes 1 through 16 (this manual begins counting at 1; there is no byte 0).
DATA and SETup Commands Data Preamble Description Data Preamble Description The UNPacked block data is organized as 574 bytes of preamble information, followed by a variable number of bytes of data. The preamble gives information for each analyzer describing the amount and type of data captured, where the trace point occurred in the data, which pods are assigned to which analyzer, and other information.
DATA and SETup Commands Data Preamble Description Byte Position 37 Example Example 4 bytes - List of pods in this analyzer, where a binary 1 indicates that the corresponding pod is assigned to this analyzer bit 31 bit 30 bit 29 bit 28 bit 27 bit 26 bit 25 bit 24 unused unused unused unused unused unused unused unused bit 23 bit 22 bit 21 bit 20 bit 19 bit 18 bit 17 bit 16 unused unused clkpd1 unused unused unused unused unused bit 15 bit 14 bit 13 bit 12 bit 11 bit 1
DATA and SETup Commands Data Preamble Description Byte Position 61 4 bytes - Tag type for state mode in one of the following decimal values: 0 = off 1 = time tags 2 = state tags 65 8 bytes - Trigger offset. The time offset (in picoseconds) from when this analyzer is triggered and when this analyzer provides an output trigger to the IMB or port out. The value for one analyzer is always zero and the value for the other analyzer is the time between the triggers of the two analyzers.
DATA and SETup Commands Data Preamble Description Byte Position Bytes 241 through 244 contain the number of valid rows of data for pod 1 of either the expansion card in a two-card module, or a middle cardslot expansion card in a three-card module. Bytes 245 through 248 contain the number of valid rows of data for pod 4 of the master card. Bytes 249 through 252 contain the number of valid rows of data for pod 3 of the master card.
DATA and SETup Commands Acquisition Data Description Acquisition Data Description The acquisition data section consists of a variable number of bytes depending on the number of cards in the configuration, the acquisition mode, and the state tag setting. The data is grouped in rows of bytes with one sample from each pod in a single row. The width of the row is based on the number of cards in the system. Each card has four pods with two bytes of data per pod.
DATA and SETup Commands Acquisition Data Description The depth of the data array is equal to the pod with the greatest number of rows of valid data. If a pod has fewer rows of valid data than the data array, unused rows will contain invalid data that should be ignored. The clock pod contains data mapped according to the clock designator and the board (see below). Unused clock lines should be ignored.
DATA and SETup Commands Time Tag Data Description Example A three-card configuration with 516096 valid rows First data byte = byte 591 Last data byte = 14,451,278 [591 + (28 × 516096) - 1] Time Tag Data Description If tags are enabled for one or both analyzers, the tag data follows the acquisition data.
DATA and SETup Commands SYSTem:SETup Additionally, the following sections may also be included, depending on what is available: "SYMBOLS A " "SYMBOLS B " "INVASM A " "INVASM B "
Part 3 18 Programming Examples Programming Examples
18 Programming Examples
Introduction This chapter contains short, usable, and tested programs that cover the most asked for examples. The examples are written in HP BASIC 6.0.
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 E2422-60004 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 570 580 590 600 610 620 625 630 635 640 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 2,5" ! ! **************************************************************** ! Run the timing analyzer in single mode.
Programming Examples Making a State Analyzer Measurement Making a State Analyzer Measurement This state analyzer program selects the HP 16554A/HP 16555A/HP 16555D module, displays the configuration menu, defines a state machine, displays the state trigger menu, sets a state trigger for multilevel triggering. This program then starts a single acquisition measurement while checking for measurement completion.
Programming Examples Making a State Analyzer Measurement 270 280 290 300 310 320 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 ! ******************* SETUP THE TRIGGER SPECIFICATION ******************** ! The trigger specification will use five sequence levels with the trigger ! level on level four.
Programming Examples Making a State Analyzer Measurement 720 730 740 750 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 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 ! ***************** CONFIGURE SEQUENCE LEVEL 4 *************************** ! Store a combination of resource terms (C or D or RANGE1) in level 4 and ! Then Trigger on resource term "E.
Programming Examples Making a State Analyzer Measurement 1170 1180 1190 1200 1210 1220 1230 1240 1250 1260 1270 1280 1290 1300 IF (Status AND 1)=1 THEN GOTO 1190 GOTO 1070 PRINT TABXY(30,15);"Measurement is complete" ! ! ************************ VIEW THE RESULTS ***************************** ! Display the State Listing and select a line number in the listing that ! allows you to see the beginning of the listing on the logic analyer ! display.
Programming Examples Making a State Compare Analyzer Measurement Making a State Compare Analyzer 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 HP E2433-60004 Logic Analyzer Training Board. This example is the same as the "State Compare" example in chapter 3 of the HP E2433 Logic Analyzer Training Kit.
Programming Examples Making a State Compare Analyzer Measurement 310 320 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 ! ****************************************************************** ! Specify two sequence levels, the trigger sequence level, specify ! FF hex for the "a" term which will be the trigger term, and store ! no states until the trigger is found.
Programming Examples Making a State Compare Analyzer Measurement 720 730 740 750 760 770 780 790 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 !*********************************************************************** ! Display line 4090 of the compare listing and start the analyzer ! in a repetitive mode.
Programming Examples Making a State Compare Analyzer Measurement 1100 1110 1120 1130 1140 1150 1155 1160 1170 1180 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 !************************************************************************ ! Start the logic analyzer to acquire new data and then stop it to compare ! the data.
Programming Examples Making a State Compare Analyzer Measurement 1540 1550 1555 1560 1570 1580 1590 1595 1600 1610 1620 1630 1640 1650 1660 1670 1680 1690 1700 1710 1720 1730 1740 1750 1760 1770 1780 1790 1800 1810 1820 1830 1840 1850 ! ENTER 707 USING "#,2A";Error$ ENTER 707 USING "#,1A";Comma$ ENTER 707 USING "K";Line$ GOTO 1610 ! ENTER 707 USING "#,3A";Error$ ENTER 707 USING "#,1A";Comma$ ENTER 707 USING "K";Line$ ! ! ************************************************************************ ! Test for t
Programming Examples Transferring the Logic Analyzer Configuration Transferring the Logic Analyzer Configuration This program uses the SYSTem:SETup query to transfer the configuration of the logic analyzer 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 configuration data will set up the logic analyzer according to the data.
Programming Examples Transferring the Logic Analyzer Configuration 270 280 290 300 310 320 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 600 610 620 630 640 650 ! *********************** SEND THE SETUP QUERY ************************** OUTPUT 707;":SYSTEM:HEADER ON" OUTPUT 707;":SYSTEM:LONGFORM ON" OUTPUT @Comm;":SELECT 2" OUTPUT @Comm;":SYSTEM:SETUP?" ! ! ******************** ENTER THE BLOCK SETUP HEADER ********************* ! Enter the block setu
Programming Examples Transferring the Logic Analyzer Configuration 660 670 680 690 700 710 720 730 740 750 760 770 780 790 800 810 820 821 830 840 850 860 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 1020 1030 1040 1050 ! ********************* SEND THE SETUP ********************************** ! Make sure buffer is not empty.
Programming Examples Transferring the Logic Analyzer Configuration 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 ! ********************** RESTORE BUFFER POINTERS *********************** ! Restore the transfer buffer pointer ! CONTROL @Buff,5;Streg ! ! ******************** SEND TERMINATING LINE FEED ********************** ! Send the terminating linefeed to properly terminate the setup string. ! OUTPUT @Comm;"" ! PRINT "**** SENT THE SETUP **** Program complete.
Programming Examples Checking for Measurement Completion Checking for Measurement Completion This program can be appended to or inserted 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. In this example, the module installed in slot B is being checked for measurement complete.
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 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 531 532 540 ! ! ************* INTITIALIZE VARIABLE FOR NUMBER OF BYTES ***************** ! The variable "Numbytes" contains the number of bytes in the buffer.
Programming Examples Sending Queries to the Logic Analyzer 550 560 570 580 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750 760 770 780 790 800 810 820 821 830 850 860 870 920 930 940 950 960 970 980 990 1000 ! ******************** TRANSER THE DATA ******************************** ! Transfer the data from the logic analyzer to the buffer.
Programming Examples Sending Queries to the Logic Analyzer 1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 ! ************* TRANSFER DATA TO THE HP 16554A/HP 16555 **************** ! Transfer the data from the buffer to the HP 16554A/HP 16555A.
Index A A+B, 4–11, 13–19 A,B, 13–18 A-B, 13–13 ACCumulate command/query, 8–5, 9–4, 13–7 ACQMode command/query, 11–5 ACQuisition command/query, 6–8, 8–5, 12–9, 13–8 acquisition size, 8–8, 12–16, 13–12 analyzer 1 data information, 17–7 analyzer 2 data information, 17–9 ARM command/query, 3–5 ARMLine selector, 2–5 ASSign command/query, 3–6 AUTorange command, 16–22 average time, 13–23, 14–17, 16–25 B BASE command, 15–5 block data, 17–4 block length specifier, 17–4, , 17–5, 17–14 BRANch command/query, 6–9 to 6–
Index WIDTh, 15–8 WLISt, 2–7, 4–4 XCONdition, 13–26, 14–19 XMARker, 16–15 XPATtern, 7–20, 13–27, 14–20 XSEarch, 7–21, 13–28, 14–21 XTAG, 7–22, 14–23 XTIMe, 4–14, 13–29 command set organization, 1–8 to 1–11 compare full, 10–10 compare partial, 10–10 COMPare selector, 10–4 COMPare subsystem, 10–1, 10–3 to 10–12 complex expression, 12–10 complex qualifier, 6–10, 12–11 configuration menu, 3–2 COPY command, 10–6 count states, 6–17 count time, 6–17 D DATA, 17–4 State 17–11 to 17–12 DATA and SETup Commands, 17–1,
Index O transferring configuration to analyzer, OCONdition command/query, 13–15, 14–11 18–14 offset, 4–5 transferring configuration to the OMARker command/query, 16–13 controller, 18–14 OPATtern command/query, 7–11, 13–16, 14–12 Q OR’d trigger, 3–5 QUALifier command/query, 16–19, 16–23 OSEarch command/query, 7–12, 13–17, Query 14–13 ACCumulate, 8–5, 9–4, 13–8 OSTate query, 4–9, 7–13, 14–14 ACQMode, 11–5 OTAG command/query, 7–14, 14–14 ACQuisition, 6–8, 12–9, 13–8 OTHer command/query, 16–18 ARM, 3–5 OTIMe c
Index TSTatistic, 16–25 TTYPe, 16–21 TYPE, 3–11 VAXis, 9–7 VRUNs, 7–18, 13–25, 14–18 XCONdition, 13–26, 14–19 XMARker, 16–15 XOTag, 7–19, 14–19 XOTime, 4–13, 7–19, 13–26, 14–20 XPATtern, 7–20, 13–27, 14–21 XSEarch, 7–21, 13–28, 14–22 XSTate, 4–13, 7–22, 14–22 XTAG, 7–23, 14–23 XTIMe, 4–14, 13–29 query program example, 18–19 SLAVe command/query, 5–15 SLISt selector, 7–7 SLISt subsystem, 7–1, 7–3 to 7–23 SOPQual command/query, 5–16 SPA selector, 2–7 specify patterns, 13–9, 14–8, 14–12, 14–19 SPERiod command
Index TSTatistic query, 16–25 TTRace selector, 12–8 TTRigger selector, 12–8 TTRigger/TTRace subsystem, 12–1, 12–3 to 12–23 TTYPe command/query, 16–21 TWAVeform selector, 13–7 TWAVeform Subsystem, 13–1, 13–3 to 13–29 TYPE command/query, 3–10 to 3–11 V VAXis command/query, 9–6 to 9–7 vertical scroll, 4–7 VRUNs query, 7–18, 13–25, 14–18 W WIDTh command, 15–8 WLISt selector, 2–7, 4–4 WLISt subsystem, 4–1, 4–3 to 4–14 X X entering, 14–19 X exiting, 14–19 XCONdition command/query, 13–26, 14–19 XMARker command/qu
Index–6
© Copyright HewlettPackard Company 1987, 1990, 1993, 1994, 1997 All Rights Reserved. Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under the copyright laws. Document Warranty The information contained in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability or fitness for a particular purpose.
Product Warranty This Hewlett-Packard product has a warranty against defects in material and workmanship for a period of one year from date of shipment. During the warranty period, Hewlett-Packard Company 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 Hewlett-Packard.