Skip to main content

Full text of "Hewlett-Packard Journal Vol. 43 No. 2 (1992-04)(Hewlett-Packard)"

See other formats



April 1992 





AprM 1902 Volume 43 • Nunibfir2 


r\ VXIbus: A Standard for Test and Measurtment System Architectural by LawrBncB A. Dasjardin 

Q The HP VXIbus Mainframes 

I < VXIbus Terminology 

I K The VXIbus From an Instrument Designer's PerspectivCp by Steven J. Narciso and Gregory A. Hill 

/[] Examples of Message-Based VXIbus Instruments 

/ / SmalL Law-Cost Mainframe with a Register-Based Interface 

J A Design of Mainframe Firmware in an Open Architecture Environment, by Paul B. Worrell 

y M Real-Time Multitasking of Instruments in the VXIbus Command Modules, by Christopher P. Kelly 

*s K VXIbus Programming \nC,by Lee Atchison 

A J Achieving High Throughput with Register-Based Dense Matrix Relay Modules i by Sam S, Tsai 
and James B. Durr 

Mass Interconnect for VXIbus Systems^ hy Calvin L Erlcksan 


Km A Manufacturing-Oriented Digital Stimulus/Response Test Instrument by David R Kjosness 
r\ M D igital Test Development Softwa re for a VXIbus Tester, by Kenneth A. Ward 

The VXIbus in a Manufacturing Test Environment by Larry L Carlson and Wayne H. Willis 

EclftDT, RiEhani F Dolan • A^sociBte Editcjf. CIrafIs L. Leatti • Putfiration ftBdwrt'ni^ Majiager. Susars E. WrigM 
CiHfiwIfitt-PacljBrti Company J 932 F^irrtBiJ in.U:SA 

2 April 1 992 Hewlett-Packard Journal 

©Copr. 1949-1998 Hewlett-Packard Co. 

Q 1 The Peak Power Analyzer, a New Microwave Tool, by Dietsr Scherer, WMam £ Strassen 
James D. McVey, and Wayne M. Kelly 

\\lX Multilayer Shiefding Proteats Microvolt Signals in High-Interference Environment 

y n OaAs Technology in Sensor and Baseband Design, by Mhhael C Fischer, MichaelJ. 

Schoessow, and Reter long 

M ZL H armo n i c Errors and Ave r a g e ve rsu s Pea k D etecti on 

Mq Automitic Calibration for Easy and Accurate Power Measurements, by David L Barnard, Henry 
Biack, and James A. Thafmann 

y M Testing the Peak Power Analyzer Firmware 

J fj J An Advanced B-Hz-to- 500-MHz Network Analyser witfi High Speed, Accuracy, and Dynamic 
Range, by Koichi Yanagawa 

1 [J A High-Performance Measurement Coprocessor for Personal Computers, by Mike Moore and 
Eric N Gulferud 

11/ Measurement Coprocessor ASIC 

1 1 ZL Measurement Coprocassor History 


4 In this Issue 

5 Cover 

S What's Ahead 

77 Authors 

Ttie Hewlett Psckafd Joumisl isptiblishtd bimonthly? fry rtie Hewfett-Pacfesfd CoffipinyiD recognize technical contribuTions marfe by Hewlatt Packar^J 

(HP] persam^\. Wtiile rhe infermstiQn: found m [Jiis putiNcanon is belf&ved tD be accurate^ l*ig Hewlett-PackBfd Campany disclaims all iflfarrgnttes of 
mercJiBntabintv and fitness for a particular purpose and bH obliigatiDna and Jiahltes for dflfnagas, siduding bnJt not Nfnted to ^ndi^Ba, special, or cnnse- 
quentiat damageSr atforng-y"* and experts faes, ancf court costs, arising out of ar in cnnnaeticir* witfi tbis publication 

Subscripliong- The Hewiett-Packard JournaJ is distributed free oJ cfiarge to HP reseafch. tfesign and manufacturmg engirTeermg personn-el, as well as to 
qualfhed non-HP indw^duafa. libraries, and edutationsl mstnutiDns. Please address subscription ar change of address requests on printed letterhead for 
inciude a business cardhothe HP address ontbs bacit cover (hal is cfosest lu you When submitting a change of address, please mcfude your iip Of 
postal code and a copy of your old lah^\. Free subscriptions mav not be available in all countries, 

Submissiong. Although articles in the Hewvtett- Packard Jnumaf are primarily authored by HP empfovees, articfes from non-HP authors dealing vvith HP- 
related research or solutions to Itithnical problems nr&de possible fay using HP equipment are also considared for publication. Please oontaci the tditor 
before submitting such articJas. Also, the Hewlett-Packard Journal encourages tec hmcaj discussions o[the topics presented in recent articles and may 
publish latters ojtpacleii to be otinrefest to readers. Latters should be brief, and are subject to aditfng by HP. 

CopyrigfM io 1392 Hewfett-Packartf Company. Afl rifllits reserved. Permisston to copv wittioulfee all or part of l+iis publication is hereby gramad provided 
that H Iha copies are not made, used, displayed, or di^stributed for commercial advantage, 2] the Hewlett-Packard Company copyright notice end the title 
of ttte publscatton and date appaar on the copies; and 3} a noiice stating that the copying is by permission ol the Hewlett-Packard Company. 

Please actdress mquififis. submissions, and requests to. Editor. Hewlett -Packard Journal 3200 Hilluiew Avenue, Palo Aho, CA^4304 U.S.A. 

April 1992 Hewlett-Packard Jountd 3 

)Copr. 1949-1998 Hewlett-Packard Co. 

In this Issue 

VXlbus is a new interconnection standard for modular instruments. It defines an 
architecture, communication protocols, and electromagnetic compatibility re- 
quirements for a mainframe cardcage and for instrument modules that plug into 
the mamframe and work together as a system. The architecture ts open to all 
manufacturers, so users can mix instruments from different manufacturers m 
^^■^rmivii ^^^ ^^^^ system. The history of the VXlbus begins in 1979, when Motorola 
iSl^^m iM ■ I Semiconductor Products Corporation published a description of what came to 
be known as the VMEbus. Three years later, the International Electrotechnical 
Commission proposed that it become an international standard. In 1987, under 
pressure from both military and commercial customers for an open architecture 
for modular instruments, a group of instrument manufacturers, including HR agreed to develop a modular 
instrument standard based on the VMEbus. The VXlbus is the result. VX! stands for "VMEbus extensions 
for instrumentation," The VXlbus doesn't replace the widely used HP -IB standard (IEEE 468, 1 EC 6251, In 
fact, its very common for VXlbus systems to communicate with a computer or other controller over the 
HP-IB, and for HP-IS instruments and controllers, VXlbus mainframes, and MMS mainframes |MMS is 
another open modular architecture optimized for microwave applications! to coexist in the same measure- 
ment system. HP VXlbus products include mainframes, existing HP instruments redesigned to fit on VXlbus 
cards, and new instruments designed specifically for the VXlbus. The article on page 6 describes the VXl- 
bus standard and gives several examples of VXlbus measurement systems. Details of HP's implementation 
are covered in the articles on pages 15, 24, and 29, which deal with internal HP standards that supplement 
the VXlbus standard, the design of HP's mainframe firmware, and the operating system for HP VXlbus 
command modules, A library of C functions that helps test programmers create VXlbus applications using 
the high-level C language is the subject of the article on page 35. HP VXlbus switching and interconnect 
products are described in the articles on pages 41 and 52, and the hardware and software designs of a 
VXlbus functional tester for digital electronic assemblies are presented on pages 59 and 69. HP's own use 
of VXlbus instrumentation for manufacturing test is discussed in the article on page 75. 

In radar, telemetry, navigation, and communications, microwave signals are typically pulsed rather ttian 
continuous. Engineers designing and testing such systems need to make many measurements on the en- 
velope of the microwave pulses, such ss peak and average power, rise and fall times, pulse width and 
repetition rate, overshoot, and others. Until now, the best way to make these measurements was a micro- 
wave detector connected to an oscilloscope. Like many homemade solutions, this arrangement is difficult 
to calibrate for accurate measurements. Among the reasons are the noniinearity and temperature sensi- 
tivity of the diode detector, the frequency response of the detector output, mismatch error, and harmonics. 
This solution also suffers from slow response and limited oscilloscope sensitivity. Overcoming these prob- 
lems was the motivation for the development of a new type of microwave instrument, the HP 8990A peak 
power analyzer Taking a fresh look at the challenges of diode detection, the designers created special 
power sensors using gallium arsenide detector diodes. In the analyzer design, they incorporated switched 
amplification and processing of the pulse envelope signals, leveraged modern digital oscilloscope 
technology, and used microprocessor power to implement a new calibration approach that makes calibra- 
tion mostly autometic. The article on page 81 describes the problems of microwave pulsed power mea- 
surements and tells how the design of the peak power analyzer addresses them. The contributions of gal- 
lium arsenide technology to the sensor and analyzer designs are discussed in the article on page 90. The 
calibration approach and firmware design are covered in the article on page 95. 

April 1S92 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

A more familiar instrument, the network anatyier, measures the response of some device to a stimulus 
signal and displays the response as a function of the frequency of the input signal. The device under test 
might be a filter, a resonator such as a quartz crystal, a circuit an integrated function block, or a complex 
discrete device. The HP 8751A network analyzer is designed to deliver state-of-the-art performance in its 
frequency range of 5 hertz to 500 megahertz, both for testing such devices in production and for evaluating 
them in the development laboratory. Its three-processor design achieves a very fast measurement speed 
of 400 microseconds per point, which not only improves production throughput but also gives the analyzer 
a real-time response that displays the results of adjustments as they are made. The HP 8751 As accuracy, 
resolution, sensitivity, and dynamic range match or exceed those of other comparable HP network analyz- 
ers. It has the powerful built-in analysis functions that users have come to expect, and it offers some new 
capabilities, such as simulating impedance matching networks for the device under test, making simulta- 
neous high-speed and high-accuracy measurements in separate frequency ranges, and simultaneously 
displaying the three key parameters for filter applications The design of this analyzer is described in the 
article on page 101. 

In the early 1980s, when the HP 9000 Series 200 computer was HP's primary instrument controller, HP BA- 
SIC became a widely used instrument control programming language. A few years later, many HP custom- 
ers were using personal computers for instrument control but wanted to continue to program in HP BASIC, 
and HP responded by offering a plug-in BASIC language processor card for the PC. The third generation of 
this card, the HP 82324A measurement coprocessor, is described in the article on page 110. Its contribu- 
tions are higher calculation speed, faster HP-IB input/output performance, and data transfer by direct 
memory access for better overall system performance. The card also provides more efficient communica- 
tion between its own processor and the PC's and makes it possible to develop complex applications in- 
volving up to three measurement coprocessors interacting with PC applications such as a spreadsheet 



A view of a VXIbus module and the backplane of a VXIbus mainframe. Because the backplane is the embodi- 
ment of an industry standard, modules from different manufacturers can communicate over it. Restrictions on 
the VXIbus mainframe and modules ensure electromagnetic compatibility. 

What's Ahead 

The June issue will feature recent developments in system software for HP 9000 PA- RISC workstations, includ- 
ing the latest optimizing compilers, shared libraries, and the HP-UX operating system for the recently 
introduced, very fast HP 9000 Series 700 workstations. There will also be three research reports that were pre- 
sented at the 1991 HP Technical Women's Conference. One is on a parallel computing architecture for ray- 
traced image generation, one is on the evaluation of printed image quality using spatial frequency methods, 
and one is on integration of an electronic dictionary into a natural language processing system. 

April 1^2 Hewlett-Packard JoumaJ 5 

)Copr. 1949-1998 Hewlett-Packard Co. 

VXIbus: A Standard for Test and 
Measurement System Architecture 

The VXIbus standard defines an open architecture that allows 
instrumentation and processors from various manufacturers to operate 
together within a single chassis or mainframe. 

by Lawrence A. DesJardin 

In July 1987, Hewlett-Packard and four other msyor 
electronic instrument manufacturers jointly anno unc eel 
their support for a new instrumentation standard called 
VXIbus J An abbreviation for l^lEbus Extensions for 
Instrumentation J \^XIbus is an open arcliitecture that 
allows Lnstnmientation and processor modules from 
various manufacturers to operate together within a single 
chassis or mainframe. The VXIbus Consortium was 
formed shortly thereafter to develop and mam tain the 
VXIbus specification, the primary technical document that 
describes the mechanical, electrical, and communication 
interface requirements for VXIbus products. Since that 
time, more than 50 manufacturers have announced 
hundreds of \^Ibus products encompassing mainframes, 
instrument modules, computer modules, interfaces, 
fixturing, and software. VXIbus appUcations range from 
research of high-encrgj' physics to computer-aided test 
systems for production test of electronic assemblies, and 
VXIbus is rapidly becoming a mainstream test and mea- 
surement architecture. This article presents an overview 
of the \QQbus standard, and describes how the \^bus 
architectural features are used at a system level to create 
a VXIbus measurement system. 

What is VXIbus? 

The \'Xlbus is based on the VMEbus computer backplane 
standard. While VMEbus has two module sizes. A and B, 
VXIbus offers four sizes by adding C and D sizes (see 
Fig. 1). The C and D-size modules are wider, allowing two 
printed circuit boards and envelopuxg shields to be used. 
Mainframes also come in these four sizes and include 
methods for accepting smaller modules as w^ell (see "The 
IIP \'XIbus Mainframes/' on page 9). To keep the archi- 
tectm-e flexible for a wide range of applications, the 
VXIbus does not speciiy the amount of power or cooling 
a given mainframe must supply, but it does specify the 
w^ay in which module and mainframe power requirements 
and capabihties must be documented. This aEows a user 
to select modules and mainframes for a given application, 
knowing a priori that a particular product set will w^ork 
together. VXIbus defines three backplane connectors, 
labeled Pi, P2, and P3. Only the PI connector is required 
of all modules and mainframes; the others are optional. 
PI contains the required VMEbus data transfer bus 
capability; and can address the A 16 (64K-bjte) and A24 
(i6M-byte) address spaces using S-bil or 16-bit data 
transfers- The VXIbus autocorifiguration registers and the 






23^x16 cm 
19.2x6.3 ml 

23.3x34 cm 

3G.7 X 34 cm 
|14J X 13.4 in) 


2 cm 
{O.B in) 

2 cm 
{0.8 in! 

3 cm 
(1.2 in| 

3 cm 
(1.2 ml 

VXI Additions 

Module Sizes 




Auto cofifig oral ion 
Register- Based 
Mess age -Based 

Fig, 1, The V'XIbus standard (VMEbus Extensions for Instrumenta- 
tion) includes the two original V^iEbus module si^es, A and B^ plus 
two new moduies, C and D. Smaller modules can be inserted into 
mainframes designed for the larger sizes. 

protocol registers for message-based devices are located 
in the A16 address space, allowing all required commu- 
mcation to occur using only PL The V2 connector, 
optional on B, C, and D sizes, extends the data transfer 
bus to include 32-bit transfers and the A32 (4G-byte) 
address space^ as in the VMEbus standard. However, 
while VMEbus left 64 pins of P2 undefined, VXIbus 
de&nes these remaining pius to be a set of clocks, 
identification lines, power supplies, and trigger buses." It 
also defines a local bus that connects adjacent slots using 
these pins. The optional P3 is only found on D-size 
modules, and is fully defined as additional clocks, power, 
trigger buses and local bus lines. 

Electromagnetic compatibility is guaranteed in the \OQbus 
architecture by stringent requirements on how much any 
module can radiate into the adjacent modules and how 
much ac and RF current it creates on each of the power 
buses. Likewise, each n\odule is required to meet its 
measuremenl specifications when subjected to radiation 
from other modules within the specified VXIbus Umits, or 
powered within a specified voltage ripple range. If the 
sum of the dynamic module currents, which must be 
documented for each module \n a data sheet, is less than 
the specified mainframe dynamic current capacity, then 

6 April 1992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Sip«r«ie Unit 
or Embeitdfld 

Host Comrollet 

HP'IB, LAIi Of Oifvct GMMCtion 



Swrtthed Signel: 

T Separate Unit 


Fig. 2. The measurement system architecture for a t^^ical com- 
puter aided test system consistmg of HP-IB, VXJbus, and MMS 


the system is guaranteed to be compatible. The main- 
fcame is required to limit power supply voltage ripple on 
any of its power buses to be within the specified ranges, 
even when all modules are producing their maximum ac 
and RF currents. This combination of requirements 
ensures electromagnetic compatibility. 

Finally, VXlbus adds autoconfiguration and communica- 
tion protocols. All devices must have a set of registers 
available for control and status to perform self-test and 
initialization functions. Register-based devices have 
additional registers that access the device's specific 
functions. Message-based devices communicate using the 
VXlbus word-serial protocol (described later) to transfer 
ASCII commands and data between modules. Some 
devices include both modes of communication ^ using 
SCPl-based"^ ASCII commands for easy development and 
direct register access for higher speed. SCPT, register- 
based instruments, and message-based instruments are 
described in detail in the article on page IB. 

This range of VXlbus functions provides a very scalable 
architecture in terms of size, power, performance, and 
cost for addressing a wide range of applications. The 
VXlbus standard is also upward compatible, that is, 
products that are designed to work with less mainframe 
resources in terms of si^e, connectors, or power will also 
work in mainframes that deliver more resources. This 
gives the user a breadth of products to choose from, 
making it possible to select only the performance needed 
for the present applications while preserving an upgrade 
path if future applications require more performance. 

Measurement System Architectures 
One of the most common applications of the VXlbus is 
testing an electronic product such as a printed circuit 
board. Fig. 2 shows the measurement system architecture 

* SCPI means Standafd Command? far Progrscnmable Instrurr^ts. 

of a typical functional test s>^tem. It consists of a com- 
puter, various mstruments, and a switciiing sj'stem con- 
nected to the de\ice under test (DLH'). The computer can 
be any computer ^vith an HP-IB or other intexface, and is 
commonly called the host controller The instruments can 
be any combination of three formats: HP-^IB, MMS, and 
VXlbus. HP'EB instruments communicate through the 
HP-IB (rEEE-48S.L lEC 625) interface de^^eloped by 
Hewlett-Packard in the early 1970s. These are often bench 
instniments that supply an HP-IB interface port for 
conmnand and control, and can be rack-mounted into a 
standard EIA rack cabinet. Many products, such as power 
supplies, will continue to be controOed priniarily via the 
HP-IB. MMS, the Modular Measurement System, is anoth- 
er open architecture modular instrument system devel- 
oped during the same time as VXlbus. Also maintained by 
a multimanufacturer consortium, MMS is a modular 
architecture optimized for RF and microwave applica- 
tions, and works well in unison with HF-IB and VXlbus 
instrumentation and control 

The controller, though showTi logically as a separate unit 
in Fig. 2^ may actually be embedded in the VXlbus 
mainframe or m one of the o titer instrument architec- 
tures, allowing a direct connection between the instru- 
ments and the controller. Likewise, the switching unit 
may exist as an HP-IB m^it or a group of VlQbus or MMS 
modules. Typically, HP-IB cables are used to interconnect 
the various instruments and mainframes, though some 
applications have used RS'232, LANs, and MXIbus** 

Fig. 3 shows a typical VXlbus system that is controlled by 
an external HP-IB controller Each \'XIbus instrument or 
instmment set (e.g., a set of switches) acts as an inde- 
pendent HP'IB instrument w^hen controlled over an 
IEEE-43B.l'to-\^bus interface device installed as a 
module within the \^bus mainframe. The \^bus specifi- 
cation refers to this interface functionality as a 488-VXl' 
bus interface device. In Fig. -J this functionality is in- 
cluded on the command module. The command module 
owns one primary HP-IB device address, and accesses 
each VXlbus instiiunent or grotip of instruments through 
a unique EIP-IB secondary address. HP-IB cables are used 
to connect to other extenial instnmients and mainfrajixes, 
Signals to the OUT are routed from the various instru- 
ments through electronic switches to an interface connec- 
tor assembly (ICA) mounted on the rack cabinet, TVpJcal- 
ly, for each product to be tested by this system there will 
be a removable mating connector assembly that connects 
the interface connector assembly and the device under 
test. This fixture assembly is often called an interface test 
adapter (ITA) and is unique for each elecrlronic product 
type tested on the particular lesier. This allows one tester 
to test different products by changing only the intercon- 
nect test adapter and the softwaie program that controls 
the instnjments. iCAs and ITAs are described in detail in 
the article on page 52, 

* MXIbiJS IE a flexible intmconftect tabfe tike M HP-iB, but represents the W(fbiisdata 
transfer bus an its conductors witfi only a smati lass of performance MXIbus f^as also 
been used as a high-speed link ffom VXlbus to an exiemal computer and an e^tendar 
link between VXlbus and the instrumEnt msjntraines, 

April 1392 Hewleci-F^kanl Jouma] 7 

)Copr. 1949-1998 Hewlett-Packard Co. 

Host CDntroller 
Typically HP-UX. 

Other VX I Frames 

MMS Frames 

Power Supplies 



SCFl Commands 


10 or from 


tnterfac« ConiiBotitr Assambl^ 

Intersctivft Tast Genarator 
Soft Front PaneJs with Tast Exacutiva 

Interf nee Test Adapter 


Fig, 3, A block diagram of a typi- 
cal VXIbus test system using the 
HP -IB as the interconnection from 
the controller. 

The test system in Fig. 3 is controlled by test executive 
software running on the external controller Often, the 
developer will use the HP interactive test generator or a 
similar software package that displays soft front panels 
for faceless VIGIdus instnmients auc! the other HP-IB and 
MMS instroments. This software caix be used to generate 
the ASCIJ commands for the instniments atitoniatically; or 
the user may develop these I/O commands directly. The 
mdustry-st^ndard SCPl language provides commands that 
a developer can use to control all instruments, regardless 
of the particular instnmient architecture. In this example 
all \'XIbus, MMSt and HP-IB instruments are programmed 
exactly as HP-IB jjist rumen ts. 

Fig. 4 shows an example of a system in which the 
controller is a VXIbus module embedded within the 
VXIbus mainframe. Since this configuration has an em- 
bedded controller that allows direct access to the VXIbus 
instrument modules, higher speeds are attainable %ia 
direct VXIbus communication. Also, because the control- 
ler is embedded, rack space is reduced. The register 
interfaces to these instmments can be directly mapped 
into the memory space of the controller^ allowing ex- 
tremely high-speed command and control. Often, an 
embedded controller will be operated in a diskless 
environment by interfacing through a LAN to a server. As 
in P'ig. ri, a developer may choose to integrate \TVIEbus 

IcQnTinued on page 10J 

HP Et480 


Control lar 





! *■ 






fi *< 









1 s 




T i* 








5 ^ 


Digital -t 
Set 1 

IntaractivB Test Generalcr 
Soft Front Panals with Tast Exectitiv 

SCPl Commands 

' Oltiar VXI Frames 

MMS Frames 


Pewar Supplias 


Other HP-IB 

Int&rface Connector Assembly 


Intadacre Test Ada|Vti 

Fig. 4. A VXIbus siystem controlled 
hv an embedded HP-UX controller. 

8 April 1092 Hewiett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 


The HP VXIbus Mainframes 

Ttie HP 75QO0 lacrniy of VXfbos prodiicis delf^rs a scatabie offering af instnj- 
mems. swTtete, anrf efnbedded cDrrtmiier^ The HP 75OT Series B mairtfnme |HP 
€T3O0l provides ihree A-srze and nirie B-stie [two imemal) sloTs. and a two-lFi® 
display and ijiyboanJ {see Fig 1 1 The mainframe can aim be configured tq incliMte 
embedded harti and flembii disk drrves Command module functionality (HF IB and 
resourcemanagar} is pefmanerrliv embedded in itie mainframe along with two 

internal slots "Rie command module m ilte HP £1300 mamframe can be upgraded 
to an embedded contmllef with tbe IBAS3C (Instrument BASIC! option Sefies B 
products deliver a very sist-effectrve mjIuIioo for cases m whicb rrHideraie peftor- 
manca is r>eeded 

(tontimed orr page TOt 

Fig. t. HP 7500D Serjes B mamframB {HPISOO 
[a) FrpnE view, fbl Rear view stinwmg the 
fDcaiian o( the Asfze and Bsj/e slats. 

Fig, Z HP 75000 Series C mamlrame 

(HP E 1 4(30) and some of the C-sm products 

April 1 9^2 HewleU - 1 'at: k jm I Jr mniaJ 9 

)Copr. 1949-1998 Hewlett-Packard Co. 

[continued fiom page 9^ 

The HP El 400 Series C mainframe (Fig. 2] provides a 13-slDt C-si^e mainframe- an 
embedded HP-UX' workstation controller, a single-sJot command moduJe. and 
numerous high-performance mstruments and swftches C-si^e modules are typical- 
ly constructed within shrelded enclosures and mount vertically wirhm the main- 
frame. Module adapters are available that allow convenient insertion of A-size and 
B-size modules mto the Dsize mainframe. Series C products offer the highest-per- 
formance capabLlJties. yet can be intermixed wnti Series B products to attain the 
most economical system solution 

(cofttfoued from pays B) 

modules into the system or develop custom TO J bus 
modules to create unique functionality that cannot be 
purchased fis a slimdard producl- If high-speed register 
access lo additional VXibus mainframes is desiied, 
MXlljus cables can be used to interconnect to adchtional 
mainframes direcUy. 

VXIbus Electrical Architecture 

h is importanl to understand the basic internal VXIbus 
stmctures so that a system can be configured to take 
advantage of the VXIbus architecture. The \^bus is a 
backplane bus composed of the VMEbus data transfer bus 
m\d various [Kjwen trigj^er, and clocking lines atided by 
the VXIbus specification. For die rnosl part, these lines 
are implemented as standard paraJlel ijuses^ that is, 
conductors connect the same pin of each connector in 
every slot. For example, pin la of PI in slot is con- 
nected to the same pin in slot 1, slot 2. and so on. TXv'o 
otJier topological structures exist in the \^bus: local 
buses and star buses (see Fig, 5a). The widely-used 
\TVlEbus paT'Jillel bus structure has a memory -mapped 
architeclun^ Ukal eim support data transfer rates of up to 
40 Mbytes/s between any two ntodules. It also includes 
the Interrupt bus slrutjrture atid various system control 
and bus arbitration functions. The VMKbus data transfer 
bus can function u.sing only the requited PI connector, 
although die P2 connector is required to use any of the 
32-bit modes. VXIbus defines trigger lines on the P2 and 
P3 connectors that have parallel connections to all 
instaHed modules. This allows tight synchronization of 
instmnients without any external cabling. 

The second bus topology, known as the local bus^ only 
connects ac|jacent slots of the backplane. On a B-size or 
C-si2e system, 12 very short lines connect from the right 
row of the P2 connector to the left row of the P2 con- 
nector in the at^jacenl slot. Thus, except for the slots on 
the end of the backplane, all slots have 12 local bus lines 
coming in on the left and going out on the right (see Fig. 
5b). These bus Unes can be used by manufacturers to 
connect signals or other private ct:jmnmnication paths in 
one set of ruodules mthout interfering with or degrading 
the communications occiuring in another set. Thus, the 
local bus can supply extremely tight coupling between 
modules w^here required, and complete Isolation otber- 
wise. Since the \rXIbus allows a wide range of ar^alog and 
digital signals on the local bus, there was a potential for 
electrical damage caused by accidentally plugging tw^o 
incompatible modules into adjacent slots. This was soh^ed 
in the VXIbus specification by requiring a unique local 
bus mechanical keying scheme on a module's faceplate 


^2v son 




Fig. 5. (a) The paralkl. local, and star bus structures used on the 
\'XnjUK backplane, (b) A detailed look at the signals a vailahle on 
the P2 connector. 

that prevents modules with Incompatible local bus signal 
types from being inserted next 1o each other 

The third bus topologj^ used in VXIbus is known as a star 
bus. Here, signals are routed from one slot in the back- 
plane to each of the other slots, A star bus structure is 
used on the VXIbus P2 connector to route a 10-MHz 
clock signal knowTi as CLKlO from the leftmost slot to all 
of tlie other slots on the backplaJie (see Fig. 5b). The 
CtKlO signal is independently buffered to each slot on the 
backplane, Tlius I lie loading characteristics of any sloJ 
have a negligible effect on the signal received a! each of 
the other slots, allowing a very stable reference frequency 
wiUi minimal phase jitter to be distributed to all modules. 
A derivative of the star bus structure is also used on the 
VXIbus P2 connector by routing a total of twehe different 
signals from the leftmost slot to each of the twelve slots 
to its right, with one signal going to each slot. These are 
known as MDDID (module identification) signals and allow 

1 April 19S3 Hewletl-PackanJ JouitmiI 

)Copr. 1949-1998 Hewlett-Packard Co. 

the system to detect the absence or presence of a module 
m each slot, e\'en if ii is a failed or non operating module. 
MODIQ lines are also used to match each \^XIbus logical 
device and address with its slot number. In the \'XIbiis, 
the leftmost slot is al^^ys known as slot 0. The modules 
that receive the CLKIO and MOD 10 signals are sequentially 
numbered starting at slot I to the immediate right of sloi 
0, and may number up to slot 12, All slots with common 
CLKia and MQDIO signals, and the slot module they 
connect to, are coilectlveiy known as a \^Kfbus subsys- 

The above description iiighlights the uniqueness of slot 
and the module inserted into it. Is slot the only unique 
slot? Not necessarily. To support the data transfer bus. 
VMEbus requires that the leftmost module contain a 
sy^stem arbiter, generate the 16-MHz clock SYSCLK and 
drive the intetrtipt acknowledge chain. This functJonaliiy 
is known as the \^lEbus system controller, and exists on 
the PI connector Since a \^bus subsystem topically 
starts from the leftmost slot also, slot and \'MEbus 
system controller ftmctionality are almost always conv 
bined on the same module and refened to collectively as 
slot 0. Technically speaking, this is not always the case. 
Since F2 and P3 arc optional connectors, and only PI is 
required by VXIbus, a system may be defined that has a 
\'TVIEbus system controller but not slot D. This may be 
implemented in low-cost systems such as the HP E1300A 
B"Size VXIbus mainframe. In an imconunon but allowed 
architecture, a \^XIbus subsystem begins with slot to 
the right of the VMEbus system controller, allowing a few 
slots to be pure VMEbus slots to the left of .slot 0. Here, 
slot and the VMEbus system controller would be imique 
modules. However^ in most cases, slot functions and 
VMEbus system controller functions are combined m the 
leftmost slot. 

VXIbus Logical Architecture 

The VXIbus is based extensively on the VMEbus memory 
map. VMEbus defines 16-bit, 24-bit, and 32-blt address 
spaces that exist independently and simultaneoijsly. Tlvey 
contain 64K bytes. 16M bytes, and 4G bytes of address 
space respectively. VMEbus also has 8-bit, 16-bit, and 
32-bit wide accesses to these ntemor}^' spaces. Each 
module presents a block of addresses that allows another 
device to access that module's fimctionality. A VTVIEbus 
master is a device that has control of the bus, and can 
read from or write to any address. A slave is a device 
that never has control of the bus, but has registers 
located within lis address space that are accessed by one 
or more bus rna^sters. There can be multiple bus masters 
in a system but only one can control the bus at any time. 
The bus arbiter on the \TVIEbus system controller module 
decides which device is granted control of the bus. 

In a VMEbus system, a user typically has to create a 
memory map that shows the address blocks grajited to 
each device so that one device's address space does not 
overlap another's. Next the user notes the startuig ad- 
djesses for each address block and (■onfigures jumt>ers on 
each module to set it up. Finally, the user finds the 
location and definition of any control and status registers 
and writes a driver so that afler power is applied, one of 
the bus masters can access tliese registers on each device 

to check for proper system configuration, perform self- 
test, and then mitJailze the systen^ After initialization the 
user can proceed wiili the application. 

In VXIbus, this is much simpler. TOIbus requires a stan- 
dard definition of the control and status registers for all 
devices. Furthermore, the locations of all control and 
status registers are standardised To implement this, the 
upper quarter (16K bjies) of the IS-bit address space is 
reserved for this information. It is split into 2-56 blocks of 
64 bytes apiece. The lowest el^t bytes of a block contain 
the control and status information, including the manufac- 
turer identification and model code. The 256 blocks are 
numbered from to 255. Each block number represents 
the logical address of a VXIbus device. Topically, a 
\^XIbus de\ice has switches that allow a user to set the 
logical address to a unique number although a totally 
switchless configuration mode also exists. Thus, setting 
the address of a \^XIbus module is ver>^ similar to settiJig 
the address of an HP-IB de\1ce, and the user can remain 
virtually unaware of how devices are actually using the 
VXIbus address space. A de\ice is free to use the remain- 
der of the 64-byte block for operational registers that 
access the device's ftmcUons. The article on page 41 
show^s how these 64-byte blocks are used for matrix relay 

Of course, some device on the bus must still access each 
of the control and status register locations to see if a 
device is present, check the self-test residts, and perform 
a proper system initialization. This functionality, typically 
a software or finnware program, Ls called the msoun^e 
mmiagen The resoiu'ce manager is defijiecl to be at 
logical address 0, and is the only device allowed to 
access the bus immediately after power-up and system 
reset. It checks for the presence of a device at each 
logical address and will synchronize the operation of ajiy 
slot functions to identify the slot tiumber of each 
device. If a device's i'unction requires more than the 64 
bytes of address space given to it. iti the 16- bit address 
space, the device will list how much additional address 
space is needed in its configuration registers, and the 
resource manager will assign the base address for this 
memory by writing to another configiu^tion register. All 
tliis is done automatically without interv^ention from the 
user. Once the resource manager finishes its tasks, it tells 
other bus masters that they may now^ request use of the 
bus and operation catx begin. 

VXIbus Communication Protocols 

V'MEbus devices are typically controlled by accessing 
register's in the module's address space. This allows very 
high-speedt interactive control. However, HP-IB iiLstru- 
ments are typically controlled by sending aiul receiving 
ASCII commands and numbers. Because of the finite time 
required by the instrument to interpret ASCII conmiat^ris 
and translate between ASCII and binary numbers, this 
mode of operation tends to be slower than direct register 
access. However, the speed of the measurement may limit 
system speed, so ASCII conmumications woukt not 
present a speed bottleneck, but could deliver a significant 
improvement in ease of use. This is particularly true if 
the ASCII commands conform to industry standard SCPl 
so that there is a single set of ASCn ctjnmiancls to 

April 1 992 HewlenrPackorrJ .Jo iiri lal 1 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

control instruments, and a single niess^e exchange' 
prot-ocol to exchange data and status. 

VXIbus supports both of the above conimunieatlon 
methods. If a de\1re only supports register accesses, it is 
known as a register-based devif:e. If n supports ASCII 
communication using the V'XIbus-deJlnecl word-serial 
protocol, it is called a message-based device. Message- 
l>ased de\ices may also support direct register access for 
cases in which increased speed is important. 

Word -Serial Protocol 

The word -serial protocol used by message-based V^KIbus 
devices provides a standard way to send and receive 
ASCII messages between devices of different manufactur- 
ers. This is implemented by defming additional commu- 
nication registers next to the configuration registei>» in 
the l(>b!t address space aitd stajKlaidiiiing their operation. 
Essentially, 16 bits can be sent at a time, with data 
represented in the lower 8 bits, and additional control 
information in the upper 8 bits. 

Therfe is a one-to^me correspondence between any HP-IB 
operation and its equivalent word-serial operation. Ttiis is 
a key feature of tine VXIbus. Becanse of this eqnivalenr^e, 
It is possible to build a device that translates from the 
HP-IB at one end to \^lbus word-serial protocol at the 
other without any knowledge of the function of the ASCII 
commands toeing sent. This aliens s -a user to program 
\OLlhus irisinirnents from any t (nniiuler that lias an MP-IB 
interface as if they were HP-IB irtstniments. A translatitju 
module used to translate between the two proto<*ols is 
known as a 488-VXIbus interlace device. A typical metliod 
of translating between HP-IB addresses (32 prin\aiy 
addresses with 32 secondary addresses each) and VXIbus 
logical addresses (256 total) is to use the HP-IB second- 
aiy addressing feature. This can be done by assigning 
each mainframe's 4S8-VXlbys interface device an MP-JB 
primary address and each en^ bedded VXIbus insf fument. a 
Ludque secondary addi'ess. The five most-significant bits 
of the VXIbus logical address are used to deteiTiiine the 
HP- IB secondiiry address. In fact, Jissuming the three 
least -significant bits are already sel to aero, setting the 
five most -signi tic ant bits can t>e exactly the sinne proce- 
dure as setting the five address bits for an HP- IB itistni- 
ment. Since the three 1 east-si gnificant bits are set to isero, 
a single-module instrument always has a logical address 
that is divisible by eight. For a single instrument com- 
posed of several modules, the modules can be set to 
consecutive logical addresses, but controlled from a single 
secondary' HP-IB address. This allows vendors to tieliver 
naturally modniar instnin^ents, such as swiiches or 
scanning volinieters, that operate as a single instrument. 
If a resource manager is included on the 488-VXIbus 
interface module, it will be found at secondary address 
zero since, by defmition, it must be set to logical address 

HP-IB translation works well for communicating with 
message-based devices, but something else is needed for 

regisler-based devices, A common method for communi- 
cating wiUi register-based instruments using ASCD com- 
mands is for a manufacturer to include the instrument's 
AS(^n interpreter firmware on a 488-VXIbus hiterface 
device. An instrument's interpretation firmware is often 
referred to as its driver. At power-up, the HP- IB interface 
device would recognize which modules are register-based 
and which modules it has drivers for, and invoke the 
driver whenever that instrument's equivalent HP-IB 
secondary address is accessed. Using tills method, regis- 
ter-based modules behave as message-based modules, and 
they both appear as independent f IP-IB instruments when 
accessed from a 488-\TCIbus device. If no fimiware driver 
exists for the module, it can still be accessed by com- 
majiding the resource manager to perform the proper 
register reads and writes. 

Since VXIbus is a multiple-master arc^hitecture, there must 
be some method of determining which slaves belong to 
which masters. For this reason, VXlbns has created a 
commander-servant hierarctiy. A commander is a device 
that controls other devices. Tlie devices it controls are 
called its servants. A VXJbus device can only have one 
commander, hut it can have any number of servants. 
Since only bus masters can control the bus, a commander 
must be a master, and slaves can only be servants. A 
conmikmder can ^liso be a sei'van! to smother commander, 
forming a hiertirchial command system. VXIbus has the 
additional requirement that commanders must be mes- 
sage-based devices. TI\is allows the resource manager to 
eontlgure the commatider-servant hierarchy witli com- 
manders from multiple vendors iLsing standard word-serial 

The commander-servant hierarchy is determined by the 
resource manager after power-up. Each commander or 
potential conmiander has an attribute called its serv'ant 
tirea. This is a number, which the user typically sets by a 
switch, that determines how rtiany logical addresses a 
de\ice may own as serv^ants. For instance j if a device is 
at logical address 24, and has a servant area of three, 
then it has exclusive control over devices at addressee 26, 
26, and 27. If there are ot her conmianders at these 
addresses, tlie commander at address 24 can control 
those also, but not those conimandeiis' serv^ants. Tliis 
allows hierarchial command stnictures. 

This featiu'e can be used to make register-based devices 
appear message-based by configuring a conunander to 
peribnn the ASCII command translation and register 
acce^ for a set of registei-based instruments. A user can 
control the set of modules by commurucaLing with the 
commander vising ASCII messages, while the commander 
perfonns the register accesses required. If a particular 
commander doesn't translate for all the modules in a 
given system, and there is ar^other commander in the 
system that translates for the remaining modules, both 
commanders can be configured in the same system 
without conflict by setting up the commander-servant 
hieraix'hy correctly. 

12 April 1992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

VXIbus Tbrminology 

The foHowinig deitnitfws should be heipful \n undefstanding ttie tefminology ysed 
here and in other VXIbus s^tieies in this issue 

Bind ing, Ihe pmc^s c^ assoc^ting a ftrniware function {like a VXIbus device 
driver } with 3 paiticulaf pmce of hardware 

addfffis and input and outpui buffers, and ttse atiility to share system resQurces 
such as tfie human interface with other instruments Some rn^struments hafve op- 
board inteliigence fmessage-&ased tnstrun^fits) and some requite supponfrof?! a 
command modufe *o' me\hQmcB (register-tjasad instftimentsl 

end Modub, This module eomams ms inteilrgerice Ipmcessor) that con- 
trols register' based devices. The human interface, and flS'232 resoufces. In addi- 
nm. thts module may contain m^m tie VXIbus stoi or (Jatacomm functionalitv 

Consote. The human tntejlacs port that is used by the sysfem to report povAffif-on 

and diagnostic information to the user 

Datacomm. This is tJie port through which an eirternal hm (computer) can control 

the mainframe. An example of thts tvpe of port is the HP-f8 connection, which is 
used by the host to send commands to and read data from the instruments in the 

Dewlce. A component of a ^/Xfhus system NonrraUy a device will consist of one 
VXIbus module that occupies one slot. However, multipie-sJot devices and multi- 
ple-device modules ere permitted. Some examples of ijevices are computers. 
multimeters, switches, operator interfaces, and CQunters. 

Driver, A firmware or software program that controls a device- 
Host, This is typiceJIy a computer that contains the test system executive software 

ar>d has an HP-iB connection to the test system However, the host can he an 
embedded controller in the instrument mamframe {e.g.. the HP Et480A V/360A 
embedded controller). 

Human Interface. This is the path through which a user interacts with the main- 
frame TIijs path can be implemented via different hardware interfaces such as the 
front panel of the HP El 300 a-S!£e mainframe, or a terminal connected to the 
mamframe via an RS'232 port. 

Instrument An instrument is a collection of hardware and firmware functions that 
are addressable by the host as a complete unit. An instrument has its own HP IB 

HP IflstnHneet BASIC (IBASICK A sub^t of HP BASIC that can reside mside the 
mairrframe and has the afritity to control mstruments and tJther resources tn tl^ 
^\fSTe^ such 3s The cfispsay and keytaoard. 

Mamframe or Canicage* The VXIhus cage that contains VXIbus modules 

ModuJe, This rs typically a primed circuit board assembly and m associated 
mechanical parts, front panel, optional shields, ami so on, 

Peripheral CorTtroJ. VVhen the mainframe or one of its instruments is controlling 

an external device such as a disk, plotter printer, or another ir^sirument, it is being 
used to do peripheral control Mote that the HP-IB, RS-23Z, or other physical com- 
munication paths can be used to CDntrol peripherals, but thjs functionality should 
not be confused with datacomm One other important note is that peripheral con- 
trof IS only supported via certain IBASfC commands 

Rack-and-Stack Instniment This is a traditional stand-alone instmment that 
consists of a cabmet, jnsirument functionafity, power supply, user interface, and 
computer interface. 

Resource Manager. Tfiis is a VXIbus device located at logical address {some- 
times the command module ur embedded controller), which provides configuration 
management services such as A24 and A32 address space configuration, com- 
mander/servant configuration, power-up self-test, and diagnostic test manage- 

VXI-OS, A set of software services that reside on top of the pSOS **" operating 
system. These services consist of interrupt handlmg, shared data space manage- 
ment, and operation of specific hardware features of the command module that 
enable instrument drsvers to implement the two -task model for handling instru- 
ment and user interface I/O (see artfcle on page 29) 
pSOS is a U.S. trademark Qf Software Corrtpcinsnts Group, Im:. 

Since the slot module is a speciaJ device to begin wit h^ 
it is convenient to place all system reBOiirces on this 
mociule. This includt?s slot 0, tfie VMEbus system control- 
ler, the resource manager, the 48S~VXIbus interface 
de\itM', and the instnmteiit drivers for any register-based 
instnmients made by the same manttfacturer This com- 
bination device will be refetred to as a commnnd module 
in this series of articles. There Is no industry standarcl 
term for this conuTion module, and it is sometimes 
referred to by one of its functions suc^h as slot or 
resource manager. 

Flig, 6 shows the aJtemate communication paths allowed 
in a VXIbus system and the role of the command module 
m this system. If the controller is an external computer, it 
will typically interface through HP IB cables since no 
direct VXtbus path will be available. The instruments will 
be controlled using ASCII coiiuu^mds, typically complying 
with the SCPI standard. If the instrument is a message- 
based device, instrument cotnmands will be routed 
through Ihe command module directly to the message- 
based itistmment for mteqiretation ajul exeeulititi, IT the 
insUument is registt>r-based, the commatid module will 
intercept and interpret, the conmiand and then perform 
the proper binary register accesses to the device to 
execute the function. From the controller, both device 
types connected to the comntand module appear to be 
SCPI message-based devices- 

If ati entbedded controller is used, it can still communi- 
cate over its HP-IB control port to the command modulej 
or it can control any or all devices diiect ly from its 
VXJbus interface, ('ontrary to many preconceptions, 
controlling a message-based device directly from an 
embedded computer will dehver very little or no increase 
in speed. This is because ASCII command Inteqiretation 
and number building Result in delays much greater than 
bus hajidshake time and thus speeds are kept contparable 
to HP-IB communication. However, accessing the hard- 
ware registers directly on a register-based device cmi 

SCPI Commands 


{OptianaMy MXfbus) 






Fig. 6. Alternate eommunicatifjii paths allowed in a VXIbus system. 

April mm Hewlett-P^kflfd Jouniaj 13 

)Copr. 1949-1998 Hewlett-Packard Co. 

provide dramatic increases in continuous and interactive 
throughput, sometimes approaching three orders of 
magnitude. Therefore, the highest-speed path in a VXJbus 
system is direct access to the internal registers of a 
device, and is the only path that can consistently exceed 
HP-IB speeds. 

The recently introduced MXIbus interface allows external 
controllers access to VXlbus registers by mapping the 
\'X[bus data trajisfer bus onto a Oexible interconnect 
cable. This allows external cootTollers to access the 
high-speed \^Xrbus architecture with only a modest 
degradation of totai system performance compared to an 
embedded controller This modest throughput degradation 
is sUll much higher than can be expected froni the IIP- IB. 

Many users choose SCPI ASCII commands to develop 
their test systems initiaOy, and then fine tune the identi- 
fied bottlenecks by accessing registens directly where 
needed- Some message-based devices also support register 
access for functions in which speed is unportanl. These 
may be registers in shaied memory' space thai hold 
blocks of binary data for fast continuous data transfer, or 
registers thai access the instruments configuration 
hardware whenever higii, interactive throughput is de- 

high-performance instrument systenis. Instiimient vendors, 
system intcgratoi's, and end users have unprecedented 
opportunities to address a wide variety of applications 
using the \'XIbus architectural features. By using tJie 
HP-IB as an interface, users can mix and match VXlbus 
products with modular measurement system (MMS) 
modules and HP-IB instiiiments to perfoim an even wider 
range of measurements, while retaining a single model of 
interfacing with the instmments. This migration path from 
the IIP-IB, the compatibility with MMS and HP-IB archi- 
tectures, and the high-perfonnance capabilities of the 
VXlbus architecture promise to make VXlbus a widely 
used architecture. 


1. K. Jessen, "'\TCIbus: A New Intercormection Standard for Modular 
Instruments," Hmtielt- Packard Jou/nial, Vol. 40, no. 2, April 1989. 
pp. 91-95. 

2. Ibid., p. 92. 

HP-UX IS bas&d on and i& compatible wtth UNIX System Laboratories' LfNEK' aperatiog 
system ft ahu complies wxf\ VOpen's* XPG3. POSIX tOD3 ? and .SVI02 miertaCB specifSca- 

UNIX ts a registered trade ma ri< of UNlXSv^tem LaboraLones Inc. in th&U.S A and other 

X/Qpen IS 2 trademark of X/Open Company Limittd in the UK and other countrtes, 


The VXIbuH offers a high degree of flexibiUty in module 
size, bus stniclure, and coitununi cation protocols for 

14 Ap ril 1 992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

The VXIbus From an Instrument 
Designer's Perspective 

HP has defined a set of internal standards to compensate for some 
missing aspects of the VXIbus standard that are critical to instrument 

by Steven J. Nareiso and Gregorj' A* Hill 

The \^bus specification defines a technically sound 
modular instrument standard that addresses eiectrical, 
mechanical, EMC/power, and commimication requirements 
for instrument modules. Although extensive, the ^'Xlbus 
standard does not cover certam information that is 
critical to an mstrumenfs design. For this reason, it 
becomes necessai^' for a VXIbus instrument manufacturer 
to define an internal standard to supplement the VXIbus 

The internal standards developed by HP enable instru- 
ment designers to provide customers ^ith a consistent 
•^look and feel" and functional interoperability. These 
standards also pro\1de designers with c^ommon hardware 
interface and firmwaie design guldeiines so that they can 
focus on specific instrument features and not on system 

HP has concentrated its interna] standardization efforts in 
four areas: a conmicjn instrument language, hardware 
interface, soft front-panel design, irmd industrial and 
mechanical design. This paper will cover these areas ajid 
other supplemental HP standards* 

SCPI: A Common Instrument Language 

Until recently a test engineer had to deal with a variety 
of instniment programming languages and formats. Dat^ 
was transferred in almost every format imaginaijle, from 
ASCn to device dependent compacted binary. UTien a 
new instrument was introduced, the engineer could look 
forwaid to rewriting tiie m^ority of the instrument driver 
code, even if the new instrument was a direct replace- 
ment from the same manufacturer 

In 1987, IEEE standard 488.2 was approved. This standard 
provides a ievel of standardisation in message and data 
formats, message exchange protoc^ols, and common 
commands to be shared among a wide range of devices. 
This standard allows computer Imiguages to speak in a 
consistent manner to instmments and enables higher-level 
instrument; test executives to be written. 

IEEE 488.2 defmes a few common commands that ad- 
dress the housekeeping functions of the instalment. The 
standard intentionally does not define commands that are 
necessary for measurement or signal configuration. This is 
the area that the industiy's Standard Commands for 

Programmable Instruments fSCPI) addresses. SCPI is used 
by all of HP's \\?CIbus modules. 

Originally HP's Test and Measiuement System Language, 
SCPI builds upon existing standards wherever possiblej 
including IEEE standard 488>2 and IEEE Standard 754. 
The result is a language that is orthogonal, powerful, 
extensible, and yet familiar and fidendiy to users. The 
language never refers to instniment tjpes, only to instru- 
ment functions. Therefore, SCPI applies to a wide variety 
of instruments, from power supplies to network analyzers. 
We refer lo this consistent coverage of all instnmients as 
horizontal compatibility. The language also offers vertical 
compatibilit>', or consistent coverage of succeeding 
generations within an instrument family. 


SCPI uses a formal set of truncation rules to generate 
mnemonics. The niles sre stated as follows: 

• If a koyvt^ord is four characters or few er, the key^^^ord 
itself is the mnemonic (e.g., AUTO, ON » OFF). 

• If the keyword is longer than four characters the nme- 
monic is the first four characters of the keyword (e.g., 

■ If the resulting mnemonic ends with a vowel , tlie nme- 
monic is truncated to three characters, dropping the trail- 
ing vowel (e.g., ATTenuator). 

» if a ptu^ase is used instead of a single word, the keyword 
uses the first character of the first words, followed by the 
entire last word { e.g., Kaiser BESsel).'*' 

Hierarchical Structure 

Keywords are joined lo form a compound header element 
consistent with IEEE 488.2. This produces a hierarchical 
language. Thus, to set the input attenuator the command 
would be lNPut:ATrenuator There are several reasons for 
choosing a hierarchical stnicture. First, a four-character 
nmemonic becomes quickly overloaded, even within a 
single instrument. Collisions often occm* that must be 
resolved by \iolating the mnemonic generation rules. By 
making the language hierarchical, keywords can have 
meaning within the context of their tnn^ position, and 
collisions effectively disappear. For example, to set an 
output attenuator, the command would be 
OUTPut: ATTenuator. Both the input and otitput subsystems 

■ The t&ur cheractej- rule restriets the keyword ta KflES 

Apri I 1902 UewJetl-l^ckanl Journal 1 5 

)Copr. 1949-1998 Hewlett-Packard Co. 

use tJ\e keyword ATTenuator without conflict because they 
appear in different places in the tree. 

Default Node 

Soine functions are execuleci more often than others, and 
the most common functions need lo have short and 
easy-to-use keywords. SCFI accommodates this by placing 
default nodes at critical points in the tree. Default nodes 
do not n^^ to be sent as part of the command. For 
example, there are several commands assoc^iated with 
output cfjnditioning such as attenuator, filtering, offsets, 
and output enabling. We detemiinc*d that output enabling 
was the most commonly used function. Therefore, we 
added the command OUTPut[:STATeL whicti enabJes the 
instnmient's output. The application can send either 
OUTPut-STATe ON or simply OUTPut ON to enable an output. 

Default nodes piay an equally important role in allowing 
the language to be extensible. For exaoipie, if we had a 
command in the output section calletl FELTer, which 
enabled a low-p^iss filter, and we wished to add a com- 
mand that enabled a high -pass fiUer, a con Hie t would 
exist. Tlie new command creates a further quali Heat ion of 
the keyword Filter. To add the new command, one would 
add a default node lo the existing command under filter, 
describing the additifjnaJ qualillcation. Thus, the existing 
command would become OUTPut: Fl tier [IPASsl. We could 
then add the new command as OUTPut:FlLTer:HPASs. It is 
important to extend by adding default nodes because the 
default node allows applications written for the old 
instnmient lo continue to work with the new exiended 
capability instalment. The ap])licatioji can still send 
DUTPut:FlLTer and expect it to function the same as it did 
before the extensions were made. 

Standard Parameter Forms 

SCPI provides seveial standardized parameter fonns and 
discourages the use of fomis that do not conform to the 
standard. These standardized fom^s include: 

Nymeric Parameter In addition to accepting ASCII numeric 
input, the numeric parameter also accepts several ciata 
apprf)ximations. For example, INFinity is represented in 
SCPI as 9.9 E^T, and tlie command NAN, or "not a 
number," is represented as 9.91 Ei37, All numeric parame- 
ters nntsf also accept MAX and MIN which represent the 
maximum and mininnmi values thai the function can be 
set to, while giving consideration to other settings within 
the instrument, 

MlN and MAX are also required as parameters to the query 
fonn of a command, Tliis fonn allows the application to 
determine the maximum and minimum legal values that 
can be sent without error. For example, if an input 
attenuator can be set to values of to 70 dB, then for 
the quei^^ IN Put; ATTenuator?, MAX would return the v^alue 
70. Attempting to set a value greater than 70 would result 
in an error. Sending any vtdue within the range of to 70 
dB would cause the attenuator to be set to the closest 
available value. For cxi^miple, if the attenuator had steps 
of 10 dB, receipt of the command IN Put: ATTenuator 38 
would cause the attenuator lo be set to 40 dB. with no 
error generated. 

SCPT requires the use of numeric parameters whenever a 
parameter am be expressed 4is a number Qualitative 
tem^s such as FltTer:CUToff tOWlHIGH are not allowed 
because one instrument's tOW is another s HIGH, 

Boolean Parameter A Boolean parameter accepts ON. OFF, 1, 
\>i as values. DN and 1 are ahiises as are OFF and Q. The 
query form returns 1 and to be compatible with the 
values returned by the IEEE 488.2 common commands. 

Discrete Switch Parametet Ttie discrete switch parameter 
allows for select inn munag several different options. 
These selertions are specified as character data. An 
example would be 

TRlGger:SOURce INTemaJ I EXTemal I BUS l IMMediate 

where I indicates alternate selections. 

Parameter Couplings. When a function can be coupled to 
another function, SCPI controls the couplit^g through the 
AUTO keyword. Tuming AUTO on allows the function's 
value to be automatically determined by other settings in 
the instrument. AUTO hiis the paramelers ON I OFF i ONCE. 
ONCE is an event that has the effect of tuming AUTO ON 
and then OFF, thus allowing the value to be automatically 
determined tmd then frossen at that valtie. The AUTO node 
is a subnoik^ of I he function, producing an unbalanced 
tree hke that in the following example: 

: ATTenuator <value> 
AUTO <Boolean> 1 ONCE 

Minimization of Parameters 

Most conm^ands that control instrument settinjjs have a 
single parameter associated with them. When nu>re than 
one parameter is specified, the function tends lo become 
overloaded and confusing to use, Wien the two paranie- 
ters arc broken into separate commands, the use he- 
comes more obvious an<i easier to learn. An example is a 
proposed commainl that sets a power level and controls 
the output port. The proposed form is POWerlEVel 5 W, ON. 
This is broken into tw^o conmiands, one that sets power 
level (POWei :LEVel 5 W), and one that controls the output 
switch (OUTPut:STATe ON). 

Signal -Oriented Measurements 

When making measurements, the particular type of 
hardw^are has traditionally controlled the specific mea- 
surement technique. This meant that the application had 
to know how the measurement was being performed in 
terms of the hardware. The VS. Air Force's MATE/CllL 
program was the first to recognize that measurements 
should be performed in terms of the sigtuil being mea- 
sured and that the instrument should perform the hard- 
ware setup necessary to make that measurement. 

A signal measurement is performed througli a set of 
layered connnands. At the highest level the MEASure 
command is used. This command configures the instru- 
ment, triggers acquisition of data, and then processes the 
data into final form. Thus, sending the command 
M£ASure:VOLTage:PERiod ? would return the period of the 
voltage signal. 

16 Ap ril 1992 Hewlett-Packard JoumaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 










tiY Ifitemal 






Tramlates SCPI Conimands \m HP 
Regtster-Based Modutes 

Passes ilirougb 5CPI ar otli«r ASCII 
ComRiands to any Message -Ba.sed 


Mod life 



There Is a need to be able to fme tune the measurement 
beyond what the instmment can pro\irie. Therefore, the 
MEASure command has two additional associated com- 
mandSt CONFi^urc and READ. The pinpose of CONFigure is 
to perfonn tiie static setup of the aietisiu-ement. The READ 
command perfonns the data acquisition and postprocess- 
ing functions. The just iHcation is thai the application is 
able to cojifigiu-e the measurement, make smalt device- 
dependent a4iustments to the setup, and then complete 
the high-level measurement process through the READ. 

The READ is further broken down into INfTiate, which 
causes acquisitions to occur, and FETCl^ wirich performs 
the postprocessing. This allows sevei-ai postprocessing 
operations to occur on the same acquired data. Tliis 
feature is especially valuable when the acquired data is 

Parameters to all of these commands are described in 
terms of the desired measurement. Ranges are avoided, 
and replaced with expected value parameters, Accmacy 
parameters are expresstxi in absolute values as opposed 
to a percentage of range. For example, MEAS:VOLT:DC? 5, .001 
configures the instrument to a range capable of 5 Vd(^ 
with an accuracy of 1 mV. 

A Cominoii Hardware Interface 

Hewlett-Packard bases its VXIbus instruments on two 
different haixlware interfaces: message-based and register- 
based. Whenever space and cost allow, the message -based 
interface is used because it allows the ultimate freedom 
in interoperability tmd independence of commanders* 
since the instnmient's language is contained within the 
module. For other instnmients the register-based design 
provides small si>;e and low cost> Both interfaces are 
VXIbus revision L3 compatible. 

The IIP El 405 conunand tnodule (whif h alstj provides 
slot functions) contains ttie SCPl language processor for 
all HP register- based modules and allows transpart^nt 
fEEEi 488.2 or SC'Pl control of register-based and mes- 
sage-based modules. Addressing is identical to thai used 
for rack-and-stack instniments in that there is a primary 

■ A cDmmjjntfer is a dsvica that controEs other devices on the VXIbus (sea page 12). 

Read^ and 
I Binary) 




Fig, I. Altemat^e communication 
paths lor VXl>us instruments. 

address for each VXIbus mainframe and there are second- 
ary' addresses for each instniment. Module combmations. 
such as HP's VXIbus switches, can be configured together 
as a single instnmient. Embedded computers may speak 
directly on the VXIbus using SCPI for message-based 
modules and register-level instructions for register-based 
modules. They may also speak to register-based modutes 
with SCPI \ia the HP-IB and the command module. Fig. 1 
shows these communicatiort paihs for \^XIbus instru- 

The finnwaie for both message-based and register-based 
instmments is based on a generic conunand parser design 
which is IEEE 488.2 c(mipatihle. For the \'XlbiLs interface 
code in a message-based instnunentj the parser and the 
execution routines all reside in the instnmient module. 
The register-based instruments have their corresponding 
code in the HP E14U5 conmituid module or the HP 
E13(K)/1A mainframe's built-in commander. This nm 1 1 it ask- 
ing design alloc^ates each HP register-based instnimetU. its 
owTi task, allowing iransparent programming of each as 
an individual instrunieni, wfuk^ substantially reducing 
overall cost beci^ause die CPU ^^ shared by all register- 
based modules. The article on page 2f* describes the 
multitasking scheme for VXIbus conuumid modules. 

The Message- Based Interface 

The purj^ose of the generic HP message-based interface is 
to control the operation of the instrument's hardware 
througli c^onnnands received over the VXIbus directly 
front the controller. These commands generally take the 
form of IEEE 4aS.2 ASCII strings using \r5abus^defmed 
word-serial protocol (see page 12), but can also be simple 
register reads and w^rites. The ASCII strings allow the 
user to program the instnnnent module in the same 
manner as its rac k-and-stack eciuivalent. The simple 
register reads and writes allow higher-speed communica- 
tion for tasks such as mo%ing lai^e blocks of data be- 
tween the Lnstnmienl and a computer. 

One of the promises of VXIbus is that by designing to a 
connnon architecture, insirumenl designers can foctis 
development efforts on the irislnunentation fimctions 
instead of on the digital interface, and therefore be able 
to release new products wit It a lower up-froni invest ment 

April 1 ml Hewlett-Par kard I oi mial 1 7 

)Copr. 1949-1998 Hewlett-Packard Co. 


Ini Efface 

Privats Bus 

^^9 ^^M 




Reg isle rsi 


Gale Arrety 

Sh«rftif Bt]$ 




Fig. 2. HP message-based instni- 

meril block diagram. 

and slioilor developtnent time. Achitnirig tliis goal is not 
an automatic by-produei of choosing V'XJbus as a com- 
mon platrorm, II requires conunitmenl to a single instni- 
ment architecliirc frorti Lop to bottom. HP's family of 
message-based inslnmients is based on such an arcfiilec- 
ture. Stalling with the IIP E1410A digital multimeter, 
every message-based instrument has bcn^n built arount! a 
common core. This core includes a high-performance 
SCPl parser, a flexible real-time operating system, and 
common VXI driver code, all running in a conmion 
hardware environment. 

At the fotmdation of this architecture is a 68000 micro- 
processor and two gate arrays ^ which guarantee that the 
<*onimon fimctions are identical within the various instru- 
ments (see Fig. 2). With this h aid ware core, designers 
ciui easily concentrate design efforts on the instrumenta- 
tion functions, instead of on the microprocessor, VXIbus 
interface, and contmon finnware. 

The Processor Interface, One of the gate arrays pro\ides 
resources common to most microprocessor-based instru- 
ments, hi a single 124-pin package, it performs the work 
of more Ihan 250 SSI and MSI iniegrated circuits. Its 
functions include address decoding, interrupt conditioning, 
various timing functions, and single-bit 1/0- 
Th is gate array defines a standard memory map, as 
showTi in Fig. 3. It has separate output pins for selecting 
ROM, private RAM, shai'ed RAM, the \^bus, several local 
peripheral de\ices, and a 32K-byte adciress block. It 
generates the ai^propriatc V^XIbus signals for accessing the 
A16 (64K-bjte) and ^24 (IBM-byte) addressing modes as 
well as execnting VXTbus interrupt acknowledge cycles. 

There is signal conditioning for 16 different interrupt 
sources J incluciing three imemal timing soiu'ces. Each 
interrupt can be programmed to one of seven priority 
levels. When an interrupt is asserted, the gate array 
drives the appropriate priority code onto the microproces- 
sors three IRQ luies. The microproc^essor then executes an 
interrupt cycle, in which it fetches a vector fiom the gate 
array, Tliis vector indicates w-hich of the various sources 
is mterrupting. To provide complete Qexibihtjv each of the 
intemipt inputs can he programmed to select the signal 
polarity* attd v\'hether it is edge or level sensitive (see 
Fig, 4), 

The processor interface gate array also includes a pacer 
function. HTien triggered either by software or an exter- 
nal signal, the pacer generates a series of pulses. The 
number of pulses and the pulse frequency are both 
progranmiable as 24- bit values. 

VXIbus Interface. The other gate array provides the inter- 
face lo the VXIbus, This gate array coiitairis the VXIbus 
configuration and communication registers, VXIbus access 
control, and support of shared liAM, It resides on a 
shared bus between the microprocessor and the VXIbus, 
as shown in Fig. 2. The shared bus is accessible to both 
the onboard inicroprocessor and external VXIbus devices. 

The configuration registers are the key to identifying a 
device within a VXIbus system. In addition, they provide 
a standard mechanism for reporting deface self-test status 
and assigning device addresses. The conmiuni cation 
registers provide the mechanism for SCPI commtmication 
between a commander and its servants. 

The VXIbus interface gate array supports the full set of 
message-based capabilities defined by the VXIbus specifi- 
cation incluciing the vailous word-serial protocols, the 
shared-memory protocol, static and dynamic configura- 
tion, shared A24 or A32 RAM, and VXIbus master capa- 


Privnte RAM 


Shared RAM 


UGM Bytes) 




VXIbus mo Achnowiflifgfi 


VXIbus RegisltFB 









Fig. 3, Standard memory map for HP message-ba^ed devices. 

IS April 1992 Hew!ett-Fackard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 



AckiTowledge — 
Fig, 4. IiileiTQpL signal coiidilioi urig. 

The bus access control capability supports eight diffcreni 
access modes. The onboard microprocessor caii directly 
access the gale array registers or the shared RAM Any 
\^Ibus master can access the gate array's registers or the 
shared RAM The onboard nucroprocessor can access 
other VXlbus slaves,'*' and it can access the gate array or 
shared RAM as VXlbus slaves. In addition, the gate array 
itself can initiate \QQbus transactions. 

Ife reduce bus traffic, the gate airay can be programmed 
to send a signal to the device's commander to indicate 
certain events, Tliis mode allows the commander to 
attend to tasks other than polling, which is otherwise 
required. Similarly the gate array can interrupt the local 
microprocessor to notify it of certain events, including the 
arrival of a word-serial comnnand. 

The gate array also impJements hardware decoding of 
conmion word-serial commands. This feature increases 
command processing speed by eliminating the need to 
interpret word-serial commands in firmware. 

Direct Register Access. HP's message-based devices are 
normally controlled via SCPI commands passed through 
the \^bus uiterface. The onboard microprocessor inter- 
prets these messages and then executes a series of reads 
and writes to and from the instrument's internal control 
registers shown in Fig. 2. Some of HP's message- based 
instruments provide a more efficient mode for critical 
high-speed operations, bt these instruments, the internal 
control registers are accessible from the V.\lEbas (they 
are interfaced to the shared bus much like the shared 
A24 or A32 RAM). This architecture allows a \Oabus 
controller to control the instrument's operation directly 
without the overhead of SCPI command transmission and 
parsing. In effect, these instruments can be operated as 
register-based devices when the application demands the 
highest possible speed. 

The Complete FamKy. This common architecture has been 
implemented in more than 15 different HP message-based 
instruments. Some of these instruments include: 

HP El 405 Command Module 
HP EUIOA 64/2 Digh Multimeter 
HP El 446 A Arbitraiy Fimction Generator 
HP E1416A Power Meter** 

* Since the fimcessDi can access and be interrupted by other VXlbus modules, it can func- 
tion as a commander and as a sar^/ant of a commandai. 

'' See "Btamplesof Message-Baaed VXi Instruments" on rhe next page 

HP E1440A Synth^ized Funcdon/Sweep Generator^ 

HP E1420B Universal Counter 

HP EU26A Digitizing Ctecilloscope** 

HP E142SA Digitizmg OsciUoscope 

HP 75000 Series 90 Modular SONETySDH Analyzer 

Register-Based Interface 

The generic HP register-based inierfare is controlled by 
simple register reads and wiites, which aUow high-speed 
communication to the insintment, ASCII strings can also 
be used to program all HP register-based modules through 
the SCPI language processor in the HP E1405 command 
module or the HP E1300/1 mainframe. 

HP's regisier-based devices aU have a simple, consistent 
interface to the VXIbtis backplane. Fig. 5 show^ a block 
diagram of a t>pical register-based interface. The interface 
is ideally suited for any Low-cost instrument application 
ha\ang straightfon^'ard control requirements. To simplify 
the firmware development tasks, these interfaces have 
been designed to have a consistent "look ^md feel" among 
similar tjpes of instrument modules. Each register-based 
instnutienl includes the required \^bus configiuation 
registers as well as the device dependent registers needed 
for instrument control. The key to both the low cost and 
high speed of these devices is their simplicity. Many 
fmictions. such as closing a relay can be executed by just 
a single renter write from the VXlbus. 

The interface hardware consists of some address and data 
buffers, an address decoder, a small gate array, and the 
various data registers. The gate array takes care of aH the 
tuning details for the various handshake and control 
signals between the VXlbus and the device's registers. 
The interface functions as a VXlbus servant ^ and provides 
the device with the capabihty of generating inteniipts on 
the \'lCIbus* This interface is used in more than 30 as- 
sorted HP Series B and Series C modules including 
low-cost multimeters, counters, digital-to-analog convert- 
ers, and switches. It is also offered in both Series B and 
Series C breadboard modules. 

The Model D20 digital functional test gystem described on 
page 59 uses register-based interface hardware to achieve 
the high I/O speed reqmred to move large blocks of 
digital patterns to and from the computer. 




Fig. S. Register-based interface. 

April 1992 Hewlett'FackHtd Joimml 19 

)Copr. 1949-1998 Hewlett-Packard Co. 

Examples of Message-Based VXI Instruments 

To incorporate the capabilities of existing nan-VXIbus instrumems into modules 
that could fit into VXIbus msmframes. the designs and features of some instru- 
ments were reengineered to make liiem into VXfbus message- based msiryrrtertts. 
The following sections describe the design considerations thai went into creatirig 
these msTruments and the benefits denved from thesr VXIbus rmp I e mentation, 

HP Et426A 500-MHz Digitizing Oscilloscope 

To create the HP EU26A. engineefs leveraged technotogy developed for the HP 
5450 3 A 50 Q- MHz digitiiing oscilloscope. This lechnoiogy provided ar^ excellent 
platform to implement a four-channel 5Q0-MH;?. high-accuracv acquisition system 
in a twQ-$!ot VXIbus module. A high level of ir>teQration created all the elements 
necessary to implement the acquisitian system on one board and the control and 
interface circuitry on the second board. The scope functions were integrated using 
the foJ lowing HP semjconductor processes 

» Preamp: HP-5 integrated clrcoit process 

► Track and hofd: LTCMOS 
* High-speed trigger HP-5 
» Logic trigger: MMDS HIS 
»Timebase HQMOS 

The CPU system was designed to take maximum advantage of the existing firm- 
ware allowjng a htgh level ai compattbrlity between the HP E14Z6A and the HP 
54503 A. The HP Et426A offers the user many advantages over its counterpart, the 
HP 545D3A. Along with the benefits of standardizatton of the VXIbus, the user can 
configure a single VXIbus frame with up to 24 500-MHz acquismon channels, alt 
synchronized via the ECL/TTL backplane trigger The E142BA firmware was cus- 
tomized to take advantage of the removal of the display from the traditional oscil- 
loscope architecture to optimize the Ihroughpul to itie VXIbus This, coupled with 
shared memory, has resulted in a significant improvement in throughput compared 
to the IEEE 488 IHP-IB) based HP 545Q3A. In addition to SCPL the E142fiA also 
accepts H? 545D3A IEEE 48B,Z commands. 

HP E1440A ZVMH^ Synltiesizer and Furtcticn Generator 

Tlie HP EI440A .-synthesizer circuits are derived from the HP 3324 synthesized 
function/sweep generator and the HP 3325 synthesizer/function generator With 
this leverage it was easy to provide a full-featured instrument. All features 
associated with the HP 3325 are available, includirtg AM and PM. plus extra bene- 
tits like SCPI programming. 

+ 24V 

CP1 ~ C2 





V V 

100 nF 

To Voltage Regulators 

Fig. 1. The dc-to-dc converter usad in th@ EfP £1 440A ^the^i^er and function generator 

2 Ai ml 1992 Hewleit-Pai^kard Jounml 

)Copr. 1949-1998 Hewlett-Packard Co. 

The HP E1440A plyg-m module occupies two C-srie mainframe slots and h3S a 
stanctertJ front paitel provfding BM^ tyije eiectrical cofinectors SM\ (sufface moum 
leeruiologvJ was nsBS^i^ ^ tJie signal boani to achieve ttie fugJvpscfcage dstsi- 
ty of tti^ rmdiile 

All cntical sectto^s nf the sv^thesizer. such as the VCO. mtxer. preamp, and rBfer- 
enceosEiKalorar- "n a two-stded metal covsrta reduce any 

induced mjise, es: - frejuencv divicters and Other swttchrng 

Ctrcujts. Addflional snieiding oi y>^ power SAjppSy a»>d micnjipfocessor board area 
vi^s necessarv tE improve the purity o1 ttm outpul signal Id avoid crosstalk from 
the switcher of the module ptrwsr supply to the output amplifier, the whole dc-to- 
dc converter with the oytpyt titters had to be shielded wiih a steel box The printed 
circuit board has fi^dthroughs araurxl the dc-to-dc (inverter area so thai ttiis box 
totally encloses all switching circuits This shield is also necessary to satisfy VX1- 
bus specif icatj DOS for magnetic field radiation on the module surface 

Both boards are fnounted with screws (every 3 inches} to the module cover The 

chassis ground and floating ground are coupled with 1 -nF capacitors vja these 
screws For the same reason. BNC connectors are mounted with ring capacitors 
(like a washer] The PI and P2 connectors are shielded with grounding brackets to 
reduce the radiation throughout the connectors and to make a good, iow- inductive 
digital ground connection from the microprocessor board to the mainframe With 
gaskets on nearly all slots, this module meets the VDE Class-B RFI regulations. 

Possible ground loops caused by interconnected instruments are reduced by isolat- 
ing signal ground from the VXIbus and chassis ground. All microprocessor- related 
control signals are coupled via nptocauplers while the analog signals to and from 
the VXIbus are coupled by small transformers The number of optocouplers is 
reduced by serializing the connection between the microprocessoi and the signal 
board. Standard components are used, such as an MC66651 USART on the co ntrof 
board and standard shift registers on the signal hoard for serial -to-parallel conver- 
sions and vice versa With a transfer rate of 800 kilobaud, a data rate of about 40 
khytes/s is achieved for random access to the device bus, which has seven ad^ 
dress, one RM and eight data bits. 

For generating floating voltages of +5V, I5V, and 30V with very low ripple l< 1 mV), 
a new concept for the dc-to-dc converter was needed it consists of two forward 
converters with a duty cycle greater than 50%. running 1B0 degrees out of phase 
(see Fig, 1 \ The rechfied voltages of both conveners are connected together re- 
sulting in a voltage with 100% duty cycle. For this reason the LC filter does not 
need to filter the high-voltage ripple from a smgte forward converter It only has to 
reduce the switching spikes caused by the rectifier diodes. 

HP t41§A RF Power Meter 

The F1416A VXlbus RF power meter evolved from tiie HP 701 OOA power meter 
used in the HP 70000 modular measurement system [MMSf and the VXIbus HP 
£U1 OA voltmeter Ttie E1416A has a high level of reuse and leverage from the 
deslgos of these two products, which reduced the cost of R&D and the time to 

The measuremef^t of power is often made *n Jocstions that have high levels of RF 
noise, so there is a need for good shrefdrng fmm RF fields and immunrty from noise 
condi/ded into iM unit via cables The VXIbus specrficaTion dictates 3 high level of 
immunity to both conducted and ciose-fretd radiated mterference ffom withtn the 
VXlbjs mainframe V30bus also specifies the fa^BJ erf do^-fi^ radiated irrteffer- 
ence gen^ataJ by the insinimerc 

To handle the ftF rKiise probtem in tte HP Et416A a decision was made to use iwo 
ti(£u\i boards, an analog boani for the low-level power meter cm:uiis and a digital 
board for the VXIhus interface ar>d instrument controtlei This is important for both 
performance and manufacturing consideratiorts There was a poteniiat problem 

wfth the coupUng of high*ffequency noise generated by the digital hardware into 
the measurenvent Signal This is eased considerably by separating the circuits and 
their grounds. In addition, ustng two boards improves utilization of the printed 

circuit panels and allows the analog sectEon to use a less-enpensive tWfo4ayer 

The tMjard layout and grounding are significant factors in meeting the VXIbus 
perfonnance and electro rriagnetic compatibility s pec tficat ions. The digital tioard 
uses B ground'pfane layer to reduce the inductance of the ground traces The 
analog board is constructed on a two-layer printed circuit board with a gridded 
ground System for the digital interface and separate ground systems for noisy and 
quiet analog cin:uits These grounds are connected togetlier on the digitai board at 
a star point 

The sensltEve analog input circuits have a ground reference that floats at the same 
potential as the sensor, whtch may differ from that of the rest of the instrument 
because of long sensor cable lengths, This ground reference is a separate single 
point ground system driven by a broadband opamp, supplying all of the ac section 
of the power meter up to the synchronous detector. To ensure trouble-free opera- 
tion m environments with high levels of f^F radiation, the HP El 41 6A circuit boards 
fit into an aluminum alloy case of high shielding integrity. The number of apertures 
and their size were reduced as much as possible and each seam around the case is 
either firmly clamped or sealed with a conductive gasket. The case also functions 
as runners that slide into the mainframe guides 

500- MH: Digitizing Oscilloscope 
Don Smith 
Project Manager 
Colorado Springs Division 

21 -MHz Synthesizer and Function 


Ha raid Mattes and Helmut Senrtewald 

Project Engineers 

B5bliogen Instrument Division 

RF Power Meter 

Tony Lymer 

project Engineer 

Queensferry Microwave Division 

Front-Panel Design 

Since raibus inslrumrnts lack sufficient front-panel space 
for displays and controls, tl^e instmnienl designer RUJSt 
turn to a cotnpiiLer for a \irmal front panel. HP's interac- 
tive t^st generator (ilP ITG) .software allows the progranv 
mer to control VXfbus and rack-and-stack instruments 
interactively and speeds tievelopnient of test programs, 

HP ITG is a program that ntns on HP BASIC worksta- 
tions, HP BAH1C;/ITX, and MS-DOS. Therefore, it offers the 
power and perfomianc(^ of HP BASIC in tht^ devekjpinenl 
or exix'ution environment, as well tis compatibility with 
industry standard operating systems. 

The software has two different environments. The first is 
the development environment. This is the windows or 
panels environment in which instrument panels are used 
to generate code that is displayed in the Editor window of 
this environment and then stored to a file for execution. 
A mouse is used to select from pop~up windows and 
pull-down menus (see Fig. 6. page 23). The second 
environment is the execution en\ironment. In this run- 
time environment, the application is executing, not HP 
ITG. No front panels are seen, and the application 
executes rapidly 

Instruinent States 

W\iQn the instrument is in a desired configiiraLi<jn, or 
setup, the user can save this setup as an instmiuent slate. 

April 1992 HewIett'P;ickard Jaumal 2 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

Small, Low-Cost Mainfranie with a Registei^Based Interface 

The HP El 300Ayi A VXfbus mainframe is designed for high performance and tow 
cost- For cost and sue reasons, tne VXlbus B-size or VMEdus 5U format was cho- 
sen. The desire to maximire the number of available card slots with field wtring 
brought about the idea of an interdigitated backplane with seven 8-size and three 
A'Size siots for external moduJes and three internal B-size slots for the built-in 
command module arid the two-slot HP E13ZG multimeter 

The mairframe with the huilt-in command module is stand-alone. This required the 
addition of other features not found in other VXlbus mainframes such as i;eyboard 
and display, dc power operation, and mass storage. Careful design was necessarv 
TO minimize the conducted and radiated nofse er>vironment that the shieldless 
B-$ize cards operate in. The power system is able to operate from either ac, or 
optionally, dc power with "bumpless" transfer between power sources. There are 
fWD power supplies, one OEM offline switcher providing + 5 and i: 12 Vdc and an 
optional dc40'dc converter that is connected between the ac mafn and the tirst 
supply This second power supply senses when the ac power becomes unusable 
and switches to dc power operatson transparently. 

The mass storage devices were leveraged from the HP 9153C disk dnve. TTie con- 
troller board, ruggedized hard disk, and flexible disk drive were integrated into the 
mainframe around the internal VXIbus slots and power supplies. Communication 
with the disks is accomplished by piggybacking on the huilt-in command module's 
HP-IB port, 

Designing the HP E13XX series of Wlbus cards provided many ctiallenges Size 
was the foremost challenge with only appTOximately one-half inch of vertrcal 
space and 50 square inches of horizontal space in which to design Shields in this 
limited vertical space were out of the question. Therefore, an extra effort was 
made to minimize noise sources by using good ground gnddmg tachmques. mlni- 
m.izing clock and power supply loop areas, and controlling signal rise times. The 
register-based interface was chosen for space and cost reasons. An ASIC was 
developed to do the handshaking and timing tor the regi star-based interface. 

T]ie greatest space challenge was in the development of the field wiring terminal 
housing, This housing has to contam screw lerminat bbcks large enough to handle 
250 Vac, support a 35-pound load, and be less than 0.8 inch wide. Wa did a lot of 
20 and 3D modeling to create liiis design. This housing design has been scaied up 
for use in HP's C-$ize VXIbus offerings. 

Cost was also a major challenge in designing the cards. Two-layer printed circuit 
boards were the rule rather than the exception, further increasing the noise reduc- 
[lon challenge. Most of the cards' backplane interfaces were common, many right 
down to tiie layout of the components This leverage helped to decrease costs and 
time to market. 

Von Campbell 

Project Manager 

Loveland Instrument Division 

HP !TG will record this instmment setup in memor>^ as a 
list of values for each instrument function or control. The 
user gives this instrument state a unique name. The tjser 
can then recall this instrtmient setup at any time by using 
the state name instead of having to set each individual 
value separately. 

Another feature is caUed automatic incremental state 
progranuuing. This simply means that the software will let 
the controller determine the fewest commands necessary 
to reconfigure the instrument to the state selected by the 
user. \^en changing an in.strument from its current state 
to some other state, the list of values for the current 
state is compared with the list of values for the next 
state. The software then identifies the values that need 
updating and sends ordy the commands neccsstuy to 
update those values. Tliis can speed lip the execution 
time substantially compared to traditional techniques. 

Instruinent Drivers 

The drivers lor HP's VXIbus ii^truiuents generate SCPl 
conunands. These drivers are ASCII text files that contain 
the SCPl command information and HP ITG panel layout 
information for a particular instrument, Thest^ Hies are 
loaded into memory by the development eiwlromuent. 

Instrument drivers are written in an independent language 
developed by HR This means that tl^ese drivers are uoi 
tied to a particular operating system. This allowed HP to 
bring HP ITG fimctionaiity to another operating sy stent 
wititoul having to rewrite any drivers. 

HP ITG also allows the creation of application panels, a 
panel that represents a group of instnmients, tinique 
subprograms, or both. The task is similar to writing an 
instrument driver fde. Once this file is created, it can be 
used by any person with a develop me lU system that has 
access to the application driver file. 

Industrial and Mechanical Design 

In addition to colors and graphic styles, HP has adopted 
several other standards for external ease of use. Series C 
instruments have at least three LED annunciators (Failed, 
Access, and Error) to assist in system configuration and 
rroubleshooting. Failed indicates an interface failure, Access 
indicates \OQbus backplane acti\aty, and Error indicates an 
SCPl user progranuning error. Additi^onal LEDs indicate 
instrument-specific activities. 

Series C instruments are normally positioned vertically 
causing cables to hang down. This can obsctu*e the LEDs 
or connector labels. Hence, aH LEDs are located on the 
top of the module and all labeling must be on the side of 
the cormectors. In addition, triggering, c locks, and syn- 
chronizing signals are located centrally on the panel and 
analog signal input and output are on the bottom. 

A dual three- wire analog bus standard has been defined 
which is suitable for microvolts but also has approximate- 
ly a lOMHz bandwidth. There are six HP modules pres- 
ently using this siandard including multimeters and 

2E Apdi 1992 Hcwtett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

All calibraiion controls (e.g., potenliometers) on HP 
VXIbus instruments are either electronic or are accessible 
from the front panel so module removal is not necessary 
for ac^justinents. Swilciics for logical address and inter- 
rupt and bus request level are accessible without remov- 
ing shields. 

Fig, 6. HP ITG development 
enviroruuent, showing t^^pical 
instmment soft front panels. 


The authors would like to thank Jay Nemeth- Johannes, 
Don Smith, Helmut Sennew^ald, Harald Mattes. Tony 
l^vmer, and Von Campbell as well as aU of the others who 
helped make HP VlQbus a truly interdivisional effort. 

April J mi Hewtetf-Packard Journal 23 

)Copr. 1949-1998 Hewlett-Packard Co. 

Design of Mainframe Firmware in an 
Open Architecture Environment 

Compatibility, portability, expandibility, usability, scalability, and 
compliance with SCPI are some of the attributes designed into HP's VXIbus 
mainframe firmware. 

by Paul B* WorreU 

The \^Ibus common fimiware architecture Ls designed to 
mee! ihe needs or HP's instmmenl niamfraine products 
that are based on the VXIbus (\''MEbiJS Extensions for 
Instnimentatlon). The design and dennition ot this archi- 
tecture was based on experience with other IIP main- 
frames such as the HP :M97A, HP 3S52A. and HP ;32:i5A, 
and the needs of two newer products, the HP Bi3D0 
B-size \TObus mainframe and caids and the HP K14()() 
C-size \^XIbus mainframe and cards. 

Tlie desigt^ of the fimiwarp tor rJiese mainframes Wiis 
influenced by many external factors. Some oj' these 
factors included the IEEE 488.2 standard, the evol\4ng 
^'Xlbus instrument standai'd, the emerging SCPI standaid, 
tmd the need to support I he arch i lecture on multiple CPl^ 
platforms. Tliis article will discuss some aspects of the 
design environment aiul the resulting impact on the 
llmware architecture, as well as product features m- 
eluded in the desigit. 

This mainframe Hrmwarc architecture was designed witli 
the following goals: 

• Compafibility with the IEEE 488.2 instrument program- 
ming metaphor 

• Compliance with SCPI and leverage of the HP SCPI Ian- 
guage parser for all instniment development 

• Expandability and openness to support for future en- 
hancements or changes 

• Better ease of use than our previous generation of prod- 

• Support for the creation of a scalable family of VXIbus- 
compatible products from multiple HP divisions 

• Support for a smooth migration between existing rack- 
aitd-stack uistruments and modular VXIbus instruments. 

IEEE 488,2 Compatibility 

The IEEE 488.2 srajidaid had just been ratified when the 
design efibn for the VXIbus fmnware architecture was 
started. IEEE 48S.2 clarifies many aspects of instrument 
imi>iemenlation that were previously left up to the design- 
er's interiJretation. This clarification inevitably removed 
some nexJbility to promote interoperabilitj^ between 

For instance, under IEEE 488,2, an instrument is required 
to continue to respond to bus messages when ui local 
mode, even when there is simultaneous front-panel 
activity. This requirement forces an IEEE 488.2 instrument 

to consist of at least two tasks, one to handle the IEEE 
488 bus (HP-IB) and one to handle frtinf -panel operations, 
IEEE 488.2 introduces tiie cfjncepi of s<M]uenLial versus 
overlapped o]>eration. A se<|uent1al conimand always 
finishes before the next conunand is executetl. An over- 
lapped comntand allows execution of subsequent com- 
mands while the device operations initiated by the first 
overlapped command are still in progress. Overlapped 
commands typically require one additional task per 
simultimeously opera! ing overlapped command. The 
article on page 29 describes the two tasks dissociated 
with handling bus and front-panel activity. 

IEEE 488.2 instruments aren't allowed to perform some 
operations that pre%ious generations of instnuuents were 
capable of doing. An example of one of these illegal 
actiorys is a measurement operation that will never 
complete. The fEEE 488,2 message excliange protocol 
requires that all commands execute to a definite comple- 
tion. Another example is the case of a classical voltmeter, 
which when it is put in in tenial-t rigger mode wiE always 
have its latest reading ready to be output to the bus. This 
type of mslnmicnt behavior is also a violation of the 
message exchiiiige i)rotocol because the readings ivreiVi 
the expiicit result of the execution of a conunand, and 
the readings do not have the defined IEEE 488/2 response 

In exchange for these functional restrictions^ the IEEE 
488-2 standard specifies device hebavior in the following 

Standard message handling protocols that include error 

I -nanibiguous syntactic stmctiu'es for program and re- 
sponse messages 

Conmion commands for instnmtent systems 
Standard status reporting structures and mechanisms. 

The standard message exchange protocol describes how 
messages are received by an instrument and how re- 
sponses to these messages are generated. This protocol 
also defines most of the error conditions that cait arise 
between a controller ^md an Instntment, One of tJte new 
error conditions that IEEE 488.2 defines Ls a query error. 
This error can result from either sending a new command 
to a device before reading all of the response of a pre- 
vious command, or by requesting a response from a 
device that has not received a query. 

24 April 1 992 Hewlett-Packaurd Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

The message exchange protocol also describes in detaiJ 

the actions of an instnnnent in response to several 
asynchronous signals such as clear and trigger It de- 
scribe fuUy the operation of the input and output buffers 
of an instrument^ e\'en during error conditions such as a 

The IEEE 4S82 program and response menage syntax 
allows for handling different lyjies of data in one stan- 
dard way. The program message syntax defines character, 
decmial numeric, nondecimal numeric^ string, arbitrary 
block, and expression data that can be received by 
instruments. The response message syntax aliows charac- 
ter, three types of decimal numeric, hexatiecimal. octal, 
binaiy, sfring, and arbitrmy' ASCII data to be returned 
from instruments. It also allows for definite- and indefi- 
nite- length arbitmr>' blocks, which are useful Tor transmit- 
ting large quantities of data, 8-bit extended ASCII codes, 
or other data that is not displayable directly. 

The common commands enable t^ontrol ajid interrogation 
of instruments with a standard syntax. One example of a 
common command is t!ie *IDM? query, which retnms a 
unique instrument i<lentifier that contains the instrument 
manufacturer, model specifier, and firmware revision 
number Other conuuands configure the status subsystem, 
pro%ide for message synchronization, resei the instnmient 
and initiate mtemal instrumei\t self-tests. 

The common device status reporting model of IEEE 488.2 
allows the liser to generate a generic status handler that 
can operate with multiple instruments. The status subsys- 
tem is configured \1a common commands thai specify 
masking options and SRQ (status request) generation. The 
status subsystem also provicies a way of causing an SRQ 
on several conmion device errors such as an execution 
error, a command error, or a query enor. It also aJlows 
SRQ generation for common events such as power-up or 
operation complete. 

Because of the potential for design and in^plenu^ntation 
leverage between instnjments, we determined that, the 
common firmware archlteetm^^ for the VXIbus wouiti 
require that all in.stmments be IEEE 488.2 compliam. hi 
addition to internal leverage, the conmionality of a 
programming metaphor was thought to be an ease-of-use 
advantage for fmr customers. With the emergence of the 
sen mdtistr>^ standard instmmcnt language, IEEE 488.2 
compliance is now an accepteti design practice, 

SCPI Compatibility 

Concurrently wttli the development of our VXIbus firm- 
ware architecture, HP's Measurement Systems Operation 
(MSO) was in the process of generating a common 
language for all of HP's test and measurement instru- 
ments. TMSL (test and measurement system language), as 
it was being called, was designed to provide both hori- 
jsontal and veriicai language portability between instnj- 
ments. Tlie management team saw the potential for 
stan<iardization mid implementation leverage with TMSL 
and decided that all VXIbus instrument's would be TMSL 

MSO decided that to support the new langtiage more 
fully it would be appropriate to provide software support. 

This support was deli\^red in the form of a highi^erfor- 
mance TMSL parser that was wTitten for the Motorola 
MCOSOOO microprocessor. Since our VXIbus conunand 
module hardware is based on the MC68000, this parser 
became an integral part of all our \'XIbus instruments. 
The performance characteristics of this parser imple- 
menlation enable our \TCIbu5 instruments to deliver better 
throughput than our previous generation of instruments. 

The need for a standard programming language across aH 
test equipment was recognized by other test and measure- 
ment equipment manufacturers in 1989. These manufac- 
turers formed a consortium to generate tl\e SC'FI (Stan- 
dard Conmiands for Progranmiable Instrumentation) 
language specification. The initial core of the SCPI 
language was based on HP's TMSL. Since our instruments 
were designed to be TMSL compatible, we had to make 
only a few minor changes to be compbant with SCPI 

Expandable Architecture 

Early in tlie development of our common VXIbus firm- 
ware architecture, w^e detennined that modularity' and 
Oexibiiity were the best ways to ensure a long hfe for the 
architecture. Modularity' allows independent design and 
implementation of the various niofhiles once their inter- 
faces are specLfied. It aLso allows for upgrading modules 
to add new capabiUty while keeping the old interfaces for 
backwards compatibility. 

We were particularly careful to provide flexibility in the 
areas of instntmeni creation and binfling because the 
design requirententi* specified that the architecture must 
have the ability to: 

• Easily add drivers for new register-biised modules 

• Replace an existing deviec driver with a new driver with 
enhanced capabilities 

• Supply replacement drivers for rapid turnaround of de- 
fect fixes to customers and to HP field service and sup- 
port organizations 

• Allow creation of custom instruments that could be easily 
integrated by customers 

• Allow construction of virtual instruments, which are aiiii- 
traiy combinations of message-based and register-based 

• Allow construction of pseudoinstruments, which are 
code-only modules with an instrument'like interface . 

Driver ReplaGement. Replacuig existing drivers in HP's 
VXIbus firmware architecture simply involves download- 
ing the driver from the host machine to the command 
module in the mainframe. The downloaded driver is 
placed in nonvolatile EiAM so that it w^ill remain in place 
after power cycling. During power-up the driver RAM area 
is fii^f searched by the resource manager when it is 
binding devices to drivers. This guarantees that down- 
loaded drivers will always be able to replace a ROM 
version that handler I he same devices. New drivers can 
also be added i)y ti own loading. Downloadable drivers 
ensure rapid distribution of defect fixes since the custom- 
er only needs to be sent a disk with the driver software 
rather tlian a new ROM. 

April 1 9fi2 Hewlett-Packard Journal 25 

)Copr. 1949-1998 Hewlett-Packard Co. 

select an instnimeni ._ 

1 E^^^tmi^ iMijiUii3 imi£ia4 Uimifl t\ n s 

Fl^, 1. First -level insirument 
!5 election menu for a system 
containing a voltmeter, a 
switch, aiid HP TBASIC, 

Custom Instruments. Drivers for custom instnimenls art^ 
eitsily incDri>oratefl into the mainframe system just like 
liny other downloadable ciriver At configuration time, 
these flrivers tell the resource manager abi>ut Lhe de\ices 
and resources they need- The resource manager ttien 
starts them like any other driver, and since they are 
dov^Ttloadable, custom drivers can replace any ROM 
driver hi the system. 

Virtual Instruments, A \Tjtual instrument Is a j^oup of 
individual insinmieni drivers bound together in one 
driver. To become a virtual instrument, a driver must; 
indicate to the resource manager during configuration 
1 hat it needs a particular set of devices. The resource 
manager will bind those deviceJis to the driver and start it. 
One of the first virtual instruments is the scanning 
\^oltmeter, which consists of a voltmeter device and one 
or more switch devices. The scarunng voltmeter behaves 
like a voltmeter with many input terminals, which are 
selected via channel specifiers. Customers can dov*mJoad 
their own configuration tables that control the binding of 
devices to drivers. 

PseudQJnstruments. Some programs running in the VXIbus 
mainframe do not conununicate with devices directlyj hut. 
they do require some support from the system. These 
prognmis are called pseudoinstruments, or code-only 
instruments. After all the instrument devices in the 

system have been bound to drivers, the resource manager 
looks for drivers that ideniiry themselves as pseudoinstru- 
ments. ft then determines the resource lequirements for 
these drivers and starts tliem. IIP I BASIC is an example 
of a pseudoinstrument driver IBASIC has an SCPI pro- 
gran uning language that is used to cormnunicate with tJie 
1 BASIC execution engine, but it doesn't require any 
VXIbus devices to function. 

Better Usability 

To provide better ease of use, we decided to perform 
extpnsive usability testing. In the design phase of this 
jjrtjject, a user interface and front-panel prototype was 
constructed. This prototype was used to test design 
alternatives for the front-panel layout and menu system 
organization. A fest script that consisted of a list of user 
tasks was generated ajid then people from various depart- 
ments were asked to follow the list. Their questions, 
reactions, successes, failures, and comments were re- 
corded. This input was used to refine the design of the 
VXIbus system display functionality. With user feedback it 
was possible to test for reactions to different types of 
menu presentation and organization. 

Customers of our earlier products appreciated being able 
to use IEEE 488 bus syntax directly from the tont panel. 



! swrrCH_3Z; 

Enter cartf number 1 

Ent&f card number 1 





Ent«r cafil number 


"IS ChaniiBl Relav Mux" 


Fig, 2. The range of selections available after seleciing SWITCH from the first -level menu in a system containing an HP 1345 A relay multiplex- 
er on card L The 1 that appears where it says "Etiter card number/' is entered by the user. 

26 April 1G92 Hewlett-Paekai'd Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

We fell that this was a key feature thai we had to pro- 
vide in the \'XIbus common firmware architeetuie since it 
is easy to leana and debug instrument syiitax by ii>ing it 
on the front panel 

TTiere were also many customer requests for single- key 
setups for common measurement functions. This need 
was addressed by pro\idjng a menu s>^em for the front 
panel Fig. I show^s the first-level instnunent selection 
menu for a ^mem containing a \olimeler. a switch, and 
IBASIC. Fig. 2 shows some of the possible menu selec- 
tions that appear once the SWITCH menu item is selected. 

When a specific instrument is selected, an histrument-spe- 
cific ftmction menu appears. These function menus are 
nested with the most likely selections appearing firsl 
Usability testing was agaui valuable here ui tuning the 
menu choices. Once a menu key is pressed, the user is 
prompted for any additional re(|uired information, the 
measurement is executed, and the result is returned to 
tile display. Tlie user can at any time recall the SC'Pl 
command that corresponds to the last menu choice. This 
feature allows users to intenogate the instrument for 
SCPl strings to prognim specific functions, ^md has been 
viewed as enhancing SCPl ease of learning, 

VXIbus Product Scalability and Leverage 

One of the early design goals for the Ormware was 
leverage between the B-size and C-size VXIbus products. 
This was accompUshcd by designing a system that in- 
cludes all lire featiues required by hotit the IIP EL300 and 
IIP E1400 mainframe projects and then subset ling the 
implementation as necessarj^ The overall arc liitec Lure was 

first put together with HP Teamwork SA, a tool that 

stit^ports structured analj^is and structured design. 
Structured analysis helped the design team \enfy the 
completeness and correctness of the architecture* and 
helped the management team mth effort estimation and 
job partitioning. 

Fig. 3 shows the first-level structxired analysis diagram for 
the \^?abus firmware architcH'ture. This diagram show^s the 
interfaces to IBASIC, external terminals, built-in front 
panels, message-based devices, and so on. This graphical 
depiction of the system was %^ery useful in explaining 
functionality to management and communicating architec- 
ture trade-ofis within the design team. 

Tlie RSr-2:32 temunal drivers are essentially the same for 
both products. The front-panel display driver is unique lu 
the B-size proiiuct since the current C-size product has no 
built-in front panel. The resource^ manager functionality is 
also common except Tor message-based device handling 
(which is unsuppailed because of haidwaie resf del ions in 
the B-size product) and user-defined system configuration 
tables that were added to the C-size product. 

The operating system for both products, c^led VXI-OS, is 
generated from common source code w-hich is retargeted 
for the specific hardware features of the various plat- 
forms. The operating system presents a consistent inter- 
face to the rest of the system despite certain hardware 
dependent features present on specific platforms. VXI-OS 
Ls dc^scribed in the article on page 29, 

Servant EJevtces 



MP ftegist«i-Biisiac| 
S&rvaeil Devices 

Instru ntent Besp oitsas 
InstTiimflnt flesponsds 


Intefnfil From Panel 

(HP £1300 8 Stfe 




Displays^' Input 

Enernef Terminjil 


Fig, 3. Structured analysis dla- 
gram far the VXItms nrmware 

April 199£ HewiGLt-Packard Journal 27 

)Copr. 1949-1998 Hewlett-Packard Co. 

Most of Lht* inBtnunenl drivei^ are identicai in both 
products. The only exceptions arc cases in whicli addi- 
tional c^apability is provided by the C-size product and the 
driver takes advaiitage of it. Even in those cases, there is 
only one coi>y of the source code, which Is conditionally 

In addition to the VXIbus c^ommon firmware architecture, 
we developed a comnif>n message-based kernel for use in 
all message-based instnmients developed at HP. This 
message-based kernel Includes the real-time, multitasking 
pSOS operating system, a common SCPI parser, and a 
recommended hardware layout. 

Migrating Rack -and- Stack Test Systems to the VXIbus 

Since application portability from rack-and-stack systems 
to the VXIbus was one of our goals, we had tu develop a 
scheme that enstu^^s that verj^- little or no change has to 
be ma<Je to applications written for rack-and-stack archi- 
tectures when they are ported to the VXIbus environment. 

A rack-and-stack system consists of separate instruments 
which all have their own lElEE 488 addresses. To allow 
maximujii portability, this type of progranuning melaphor 
should be preserved. Early in the design pliase, tire idea 
of embedding addressing infoniiation into the fiata stream 
was considered. Several problems with this design 

For example, consider tbe case in which the rommand 
SELECT: DVM is used to specify thai succeeding commands 
go to \]w voltmeter, and SEtECTCMR is used to specify 
that succeeding comnmnds go to to coimter. In the simple 
case, if the developer sends SELECT:DVM, then sends a 
measurement command, and then reads the response, the 
response will be from the voltmeter that received the 
measurement command. In a more complicaied scenario, 
if the developer sends SELECT:DVM and a voltmeter mea- 
surement comniand, then sends SELECT:C^fTR and a counter 
measurement con\niand, and then reads tlie response, the 
response thai is read is dependent on the timing of the 
voltmeter and tlie counter nieasuretrients- 

In this type of setup, the system software developer 
views the test systen^ as t:)ne large instnunent with parts 
that can be selected via commands. There is only one 
input buffer, one output buffer, and one copy of the 
status information. With this configuration, the software 
developer has to keep track of which instrument is 
currently processing information from the i^nput buffer. 
Also, any of the instnmients could be putting their results 
into the output buffer. Tlie software developer must know 
which instruments have put what data in what order in 

the output buffer. If the timing between the initiation of a 
measurement and tiie result appearing in the output 
buffer changes^ then it is possible for results to be placed 
in the output buffer with tin^e dependent ordering. This 
task is even more complicated because errors could have 
occurred on any or all of the instrunu^nLs, creating 
unexpected results. 

Device status is another area in which information 
sharing is problematic. There is normally only one service 
request bit in the device status register, which is shared 
among all the instruments capai>le of requesting service. 
When a service request is asserted, the software develop- 
er must tr>' Ui imravel which entity in the system Ls really 
requesting service. 

To solve these problems HP's VXIbus system provides a 
progranunuig melaphor in which each instrument has its 
own ijiput buffer, f>u(put buffer, and device status in- 
fomuitLon. Tliese VXIbus instniments behave exactly like 
separate IEEE 488.2 instruments. The softw^are developer 
is able to use the stmie progiammiiig rnetiiphor used with 
separate instruments in the rack-and-stack implementa- 
tion. Porting the code to the VXIbus system can be as 
simple as substituting the IEEE 488.2 secondary address 
of the VXIbus instrument for the lEEK 488 address of the 
instnimeni in the rack-and-stack system. 

Ac know ! edgm e nts 

When it became evident, tliat. with the available resources 
neither the HP El 300 or the MP E1400 niainlrame proj- 
ects could be implemented on scliedule as separate 
projects, our R&D n^anager tx>mbined the two design 
teams and itsed those resources to design a common 
architecture for both i^roducts. Therefore, Joe Marriott 
deserv^es much of tlie CTedit for the success of the 
implementation of the firmware Jirchilecture, since he was 
able to provide an environment in which it wiLs possible 
to sliare the architecture design. The team that 
constructed the VXIbus contmon architecture consisted of 
Chuck Platz who provided the resource manager, Chris 
Kelly who provided the operating system, Rick Hester 
who provided the terminal inclependent display system, 
and Karen Moy who provided thc^ front-panel and menu 
systems. Martin Meyer, t)ilip Murarijan, Jerry Metz, Bryan 
Sutula, and Dave Rustlci were responsible for the design 
and consttijction of individual instnjment drivers. Addi- 
tional thanks go to An BojTie and Darren Kwock who 
wrote hardware drivers. Ron Firooz provided initial 
project guidance and w^as almosi single-handedly responsi- 
ble for the integration of the two project teams. 

2 8 April IW2 Hewlett-Packard Joumat 

)Copr. 1949-1998 Hewlett-Packard Co. 

Real-Time Multitasking of Instruments 
in the VXIbus Command Modules 

The operating system in HP s command modules uses two reentrant 
processes to handle communication between the user and instruments on 
the VXIbus. 

by Christopher P. KeUy 

The ROM-based program (Rrniware) in the IIP \'X]i>iis 
controllers provides the '"personality" that users interact 
with when operating the mstmmenls in the \vKrbus 
cardcage. The tactors that affected the design of the 
firmware m tJiese products include; 

• The VXIbus standard, which was evolving during firm- 
ware development, describes certain required functions. 

• The SCPI instmmenl language was chosen as the stan- 
dard iiinguage for ail HP VTObus products. Tlie fEEE 
48S.2 language standaid (upon which SC'PI is based) de- 
fines certain instrument behavior and some language 

• Support had to be provided for both message-based and 
register-based VKIbus instrtnnents with no progranmiing 
differences visible from the HP-IB interface. 

• The firmware was targeted to run on the on the CPUs for 
both the B size HP EiSOO and the C-size HP El 400 prod- 
uct fajuilies, 

• Since ongtjing tlevehjpment of instrimients for the VXIbus 
is ex|)e(1ed, the finnware had to allow the addition of 
new instrunient drivers to the existing products with 
minimum develoiJiuenl and upgrade effort. 

• Software development for many register-based instru- 
ments from different divisions had to be coordinated. 

This articie explores the design of HP's VXIbus mull i task- 
ing reai-time operating system, or VXl-OS, and the system 
configuration firm ware called the resource manager. A 
significant portion of the VXI-OS provides suppoil for 
regLster-based instmments. To use tlie high-level SCPI 
language, register-based instruments with less on-card 
intelligence require more support from the host CPU than 
message-based instnunents. Because of this fact most of 
the discussion in this article will be specific to VXI-OS 
support for register- based instruments. 

The VXIbus Instrument Model 

The VXIbus instnimcnt model can be described as an 
**instrunient on a card," meaning that each card acts as an 
independent instnjment. This contrasts w1di some pre- 
vious generations of HP card-based instmments. The 
older products use languages in wliich all llie instruments 
in the cardcage operate as a single instrument. Also, fJie 
older architecture provides the integrated services of 
many different cards with a single, massive command 
langiiage- The new model treats each trard as a single 

instrument, but also allows combining several cards into a 
more complex \irtual instnmient.'^ 

By adopting the new model, I'XIbus instruments allow the 
use of a standard cent m and language shared by both caid 
and rack-and-stac*k instrumerus. For example, a I'XIbus 
DMM and a rack-and -slack f)MIVI use the same SCPI 
language in the same way This provides some hardware 
independence to the user, wi)o can now choose between 
performance, cost, and space without requiring changes in 
the software dri\ing the instmments. Tlie SCPI language 
stiUidard protects the sizeable softwai'e investment the 
typical customer has made in the softw^are for an instru- 
ment system. 

The two major classes of \'Xlbus instmnients are mes- 
sage-based devices and regisler-bas(^d de\ices. Message- 
based devices usually include all langua|*e processing and 
a large well-detlned register set on the Lnstmment card. 
Protocols for communications between a conunander and 
a message-based instrument Jire well-defined iind aimed at 
multivendor compatibihty. By t^ontrast^ register- based 
devices have a smaller required register set and a simpler 
progranmiing interface. These devices are usually smaller 
and less expensive than equivalent message-based instru- 
meiUs, but may require more support from the command 
nKjdule, VViien programmed at the binary register level, 
register- based devices can be orders of magnitude faster 
than equivalent message-based devices that use a higher- 
level language. 

One goal of the VXI-OS firmware team was to provide the 
same language and programming interface for both 
register-based and message-based instruments. Tliis means 
that both types of instrument interfaces should answer 
the I IP-IB communications bus in exactly the same w^ay 
and should operate using exactly the same SCPI language 
regardless of the instrument type. 

Register-based irLsiruments, with tittle or no intelligence 
on each card, retiuire the sendees of a microprocessor to 
use the SCPI language. This microprocessor can be 
shared by several instJiiments, since in most cases an 
instrument does not require full and continuous use of 
the microprocessor's power. This sharing of expensive, 

■ See page 26 for more about virtual irt^uuments. 

April 1992 Ht?vrlett-Pjackani ,Iounuil 29 

)Copr. 1949-1998 Hewlett-Packard Co. 

intelligent l^ardware can result in lower systx^m cost than 
in alteniatJve designs. In llie HP ViCIbiis systems, the 
c(>nuT\iind ntodule provides this shared microprocessor 
wh it'll iirtjf t'Hst^s comnmnds and data for many register- 
based iiistninienl cards. 

The HP Series 75000 nxodels E1300 and E1405 VXIbus 
command modules are based on the Motorola 6800D 
microprocessor. The ti-size El 300 and the C-size El 405 
[>rovicie an tfP-IB inleri'ace to many HP rc^gi^sler-bosed 
devices, TIh^ E1105 additi<inally provides full \^bus slot 
conmtaiul module and resource manager functions for 
message-based devices (see the article on page 6 for 
more about slot fimctions), Tlie design of the nmiware 
in these modules pen nits jjower-on system eonnguiation 
t>ased on the instrument card mix. It also supports 
intJependent operation of muhiple instruments in the 
cai'dcage, and the addition of new instrunn^nt tlrivers. 
Both modules are also able to use HP Instrument BASIC 
(IBASICJ to control the instnunents. 

The nucroprocessor must do the following tasks: 
Receive commands from the HP4B interface for one or 
several instruments 

Receive commands from the instrument front panel and 
RS-232 interface 

Process the SCPI language for register-based instruments 
Exeeute drivei^ functions for register-based instruments 
Pass through conmiands from the HP- IB to message- 
based instruments 

Operate register-based and message-based instruments 

In addition to these product-oriented needs, several 
requirements were added that were dri^^en by the devel- 
opment enviixmmt^nt. One of these requirements was the 
need t(j ensure prodnctivity for developers writing instnj- 
menl driver software. During development, several devel- 
opers were simultaneously writing instntment driver 
software for many different instruments. This software 
was essentially htu'dware drivers, which typically means 
real-tiuTC programming techniques and some assembly 
language prograjruning for peak perfonnance and niiixi- 
nnun control of the instrument. In addition, these devel- 
oi>ers were retjuired to solve nuuiy sinviUir real-time 
progranmiing iiroblerns for each driven However, to be 
most productive, these developers needed to be able to 
use a high-ievel progranuning language such as C whenev- 
er possible. 

To address these real-time ]irograniming (problems in a 
general way, a real-time operatuig system w^as developed 
that provides a set of function calls for the instnnnent 
developer. This system has a C language programming 
interface that permits the instnmient driver designers to 
use C and gain the high progiamniing pro<:luctiv1ty levels 
associated with liigh-level languaj^es and at the same time 
satisfy ttie needs of real-time progiamming. 

Using a single general model for instrument operation, the 
resulting operating system, called VXl-OS^ also frees the 
instrument designer from many of the problems of 
real-time software design. For example, simple rules 
regarding timing of instnmient funetions and use of 


Display or 











HP-m 1 

Orivst H 






omm 1^ 

Task- ^ 

















Command Moduli^ 
leg. HPE1405or 
HP £1300 CPU} 





Cant ai Some Logical Address H 


!■„„ UD ClAfUII. 



^^H f<-'3 


Contains SCPI Pstsbt am! Execution Routines 
' Contains VXI-OS Tables, Task -Specific Data, and 
Instrument'SpecrMc Daia 

Ftg* 1^ Two tightly coupled (i^in) 
tasks operate the instrument hard- 
ware in \^Ibiis register- based 

SO April 1992 Hewlett-Packard JoumaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 





Comntand Module 
(e.g., HPEl405or 


Fig. 2. ,4ji illustration of reeitiraii- 
cy. T\vo register-based courtters 
are driven from one copy of the 
code kiT the datat'omni task and 
one copy of the code for the user 
iiiLerface task. 

interrupts allow cooperative inter operation of many 
instniinents in the same CPU, 

A calling mechanism that is address independen! allows 
addition of RAM-loaded instrnment drivers to the ROM- 
based system. This scheme supports a strategy of instru- 
ment driver upgrade and addition of new instruments to 
existing ROMhased VXJbus systems. At power-on, the 
system conilgures to the instnmieni cards found ot^ the 
VXIbus, and is capable of finding and stalling instntmerU 
drivers that have been RAM loaded. This allows driver 
upgrade or addition of new instniment drivers long after 
the initial system ilnnwarc is completed. See the aiticle 
on page 24 for more about downloading instnmient 

The VKl-OS Instrument Model 

To meel the requirements oi' IEEE 438.2, instruments 
should be able to respond to front-panel commands while 
processing HP-IB commands- TTiis approach differs from 
some instnmierU models used in the piist. in which all 
instrument measurement hardware was operated by only 
one interface at any time. For many VXIbus instalments 
this is not an issue^ since most message-based instru- 
ments do not have a front panel in the same sense as 
rack-and-stack instruments. However, for IIP VXIbus 
register-based instruments the instrument model does 
include a front panel. 

Since this model requires active commantl recepiion from 
both interfaces, in the VXIbus instrument model each 
instrument is implemented as two closely coupled tasks 
operating the same instrument hardware. These two tasks 
are called the user interface task and the daUi^omm task 
(see Fig. 1). 

The user interface task receives comn\ands from the 
display system, which is a task that operates the front 
panel of the instninienL This front panel may be a 
keyboard and a display that, are integral to the chassis (as 
in the IIP EI300 series), or it may be a terminal con- 
nected to the c(mtroller by an RS-232 or RS422 interface. 
The datacomm task receives commands from the HP-IB 

As indicated in Fig. 1^ tlie twin tasks of aiiy giveti instru- 
ment are partners in operating the instrument fiardware. 
These tasks are separate processes in the operating 
system with separate stack space and other memory 
allocations, but share the same global variables (data 
space in Fig. 1). 

Together with these shared global vai-iat>les» a rnimber of 
resource locking functions in the operating system pro- 
vide the tools necessai^^ for cooperative use of the 
instnjment hardware. These fimctions are represented by 
the block labeled VXl-OS arbitration in Fig. h The two 
tasks of a given iiLSinnnenl are nearly identical mth the 
exception of the communications interface, which de- 
fjends tipon whether the task is serving the HP-IB or the 
front panel 

These tasks are written as reentrant firmware, so several 
instruments of the same type can be present in the 
VXJbus system simultaneously. These instrument tasks 
execute the same progiam at the same ROM address, but 
use separate data spaces to (jf'^^^'itlf' indei>endenl opera- 
tion. This reentiancy allows the customer to operate any 
combination of register-based instruments simply by 
plugging in the cards required to perform the desired 

April 1992 Htjwlett-Paclcard Ju n nail 3 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

Fig. 2 shows the case in which more than one register- 
based counter of the same type Lure plugged hi to the 
VXlbiis. Because of reentrancy, the twin lasks execute 
one copy of the dataconini and user mterface ROM code 
specific to the counters. However, bt^cause the counters 
are at different addresses and may have different setups, 
the tasks use st^parale ciata spac^es to distiiigiash one 
counter from the otlier Fig. 3 shows the software orga- 
nization in the command module to hajidle three different 
register-based insLninients plugged into the VXIbus 

Resource Management 

When power is applied to the HP VXIbus system, the 
VXIbus controller contlgnres itself to operate the particu- 
lar set of instniments piesent on the VXIbus. The firm- 
ware that causes this action is the wsource manager. 

Foltowing the power-on reset and the CPU self-test, the 
resource mimagcr scans all \^bus logical addresses for 
instrument identification registers. These registers can 
appear at any V^XIbus logical ad chess from through 255, 
(in the A 16 address space the identification registers 
appear at regular inler\^iils.) The resulting hsl of instru- 
ments is us (Hi to generate a configuration table that 
includes the card mmudacturer identifier, model number, 
logical address, aji<i other data. Ttie resource manager 
also identifies failed devices and places them into safe 

The resource manager also configures the memory map 
of the \TGbus A24 and AlVl memory space, and thp seven 
VXIbus inteniipl lines Eire assigned to VXIbus command- 
ers. Since the VXIbus allows hierarchical instrument 
ownership, the commander/servant hierarchy is estab- 
lish ecJ at this time. This action assigns uistruments to 
commanders based on the logical address of each. 

After the instnmient card set is identified, the resource 
man tiger assigns instrument drivers to the rej^ister-based 
cards. This is done by asking each driver in the library' 
whether il recognizes a partic^ular set of cards, Wien a 
match is found, the driver is flagged for later startup m 
an instrument task, mapping to a particular set of cards. 

This sclieme allows ntultiple copies of any instrument 
t>pe — one for each card or card set matcliing the driver. 
For example, three digital multimeter cards on the bus 
will trigger the startup of three thgital multimeter instru- 
ments, one for each of the three cards. This is possible 
because, as describecJ above, the drivers (which become 
datacomm and user interface tasks when started) are 
written i\B reentrant code. 

Once this phase of resource management is completed, 
the resource manager calls each flagged driver to deter- 
mine the th^iver s needs for mernor>' iind other system 
resources. A cumulative list of resources us compiled and 
j^assed to the VXI-OS operating systjem. This information 
is comp^ed to availabie resources to see whether the 



^ — 1 



V , 




Data Space tor 


"1 i 






Task 1 





Data Space for 
HP £1330 A 

Data Space for 




Command IVIodule 
(e 9 , HP E140S or 

HP E1329A ftegfst»^Basa1l DAC 

At AiUresES 

HP E133flA ttetistsf B«ieil 


HP ItS^KA Reglstar-fiasail 
Valimeler at Addrass fi4 



Fig, 3, Command module software organization for handlii^ three different types of register-based instniments. 

B2 April t932 Hi^wlett-Fackani Jourrml 

)Copr. 1949-1998 Hewlett-Packard Co. 

system cmn be successfiiUy started with the present card 
set. Later, the information is again used to assign the 
required resources to each itislrument task as the task is 

The next phase of startup resenes the required memory 

and other resources, and configures the operating sj'Biem 
to match the present card set. The operating system is 
started and In turn it starts the resource manager pass 2 
process as its first and highest-priorjt>' task. The resource 
manager pass 2 process uses the card configuration fable 
mentioned earlier to spa^iv and activate the instrunaent 
tasks that are associated witJi the V'XIbus instruments 
fotmd earlicL These tasks are assigned to instruments at 
particular logical addresses, and are also assigned HP-IB 
secondary addresses. 

The resource manager pass 2 process wiU spawn ^md 
acthate only the first of each pair of instnmient tasks. 
The first task of each pair started is the user interface 
task. This action is performed by a Si>ecial operating 
system call. Each of these initial instnmient tasks is 
responsible for starting its trvrai task, the datacomni taskn 
using anottier operatittg system call. Tliese calls establish 
the shared global data areas and other operating systeni 
data structures that provide the tight coupling between 
the tasks. 

An additional special instrument called the s^stmti instru- 
menf. is also started. This system instrument allows 
certain systent-wide operations to be controlled. These 
operations include mapping of triggers on the VXIbus and 
the setup of communication interfaces and system time, 
date^ and diagnostic functions. 

When the resource manager completes the startup of all 
instruments, it starts a task to control each display 
interface. These display tasks each control a from panel 
or RS-2;^2 interface. The resource manager then pauses 
(becomes dormant) until later operations require its 
services. As soon as the resource manager pauses, tiie 
lower-priority instrument tasks begin to nin. Each instru- 
ment task pair (user interface and dat^comm) calls the 
operating system to identify the addresses of any inst.m- 
ment hardware allocated to that instrument. Also at this 
time, resource sharing locks and other data structures are 
initialized, a self-test is performed on the hardware, and 
the connections to the HP-IB and the display system are 
estal)lished. Flntdly, each task pauses until commands are 
received for that instrument. 

Communication with VXIbus Instruments 

Since there are usually several instruments served by the 
two communication interfaces (HP-IB driver and display 
task), the Interfaces must select which instniment is to 
receive the incoming command strings. In the HP-IB 
interfac:e, this selection is performed using HP-IB second- 
ary addressing* In the display system, this selection is 
performed by ASCII commands to the display system, or 
by softkey escape sequences. 

In the HP-IB interface, most communication is handled by 
a TMS 9914 interface IC. This chip handles prin^ary' 
address actions satisfactorily, but secondary addressing 
presents additional challenges tjo the interface. Support 

FrimafY Address 


Switch Control 






Fig* 4. An lUiistration showing huw the HP- IB secondary address Is 
used to select an tnstmmenl in a VXIbus system, 

for secondary addressing is provided by a custom ItP-IB 
assistatit gate array IC, In the secondare' addressing 
scheme, the VXIbus controller listens to a priniar>' ad- 
dress, for example, address 9. When a primaty address 
sequence is received, it is followed by a secondary 
address sequence. This secondary address, between and 
30, is used by the IlP-lB interface to select one of the 
instruments connected to the controller at the specified 
printar>' address. If for example, a voltmeter has been 
assigned to secondary address 6, the HP- IB address for 
this device would be 906, 

If the device were being addressed by an HP 9000 Series 
WO controller using workstation HP BASICS the full 
address used by the prograninier would be 70J)06, where 
Ihe 7 represents the H!^-IB card address in the worksta- 
tion. Another device in the same VXIbus system might 
answer at 70904, meaning secondary address 4. 

To make addressing of devices easier, a relationship has 
been establisbefi between the VXIbus logical address and 
the HP-IB secondary address assignments. The relation- 
ship is that an HP- IB secondary address equals 1/8 of the 
VXIbus logif'al address. So a voltmeter s€^t at \\Xibus 
logical address 48 would be assigned I IP-IB secondary' 
address 48/8 = fi. 

When the HP-IB interface has received the full addressing 
sequence, it uses the secondary address to select which 
instnnnent buffer to use for the incoming communications 
strings. This routes conmiajid strings to the appropriate 
instnnvient task, where the strings ai'e processed and the 
commands are executed. Fig. 4 iises the analogy of a 
switch to illustrate choosing the destination of a com- 
mand string. The switch is controlled by the secondary 
address received from the HP-IB addressing sequence. 

In the case of commands received through a display 
system interface, the instrimient selection is made 
through more human-readable means. ASCII strings and 
labeled soft keys are used to select which instrument is to 
be addressed. After an instmment is selected, the display 
system is connected to that ijistrument task and the 
display format is controlled by the mstrument. In this 

April im'-i Hewlett-Packard JoumaJ 33 

)Copr. 1949-1998 Hewlett-Packard Co. 

manner, instruments with differing human interface needs 
can each present the user with appropriate prompts and 
control displays. Softkeys allow the user to perform 
measurementSj change instrument setup, view measure^ 
ment data, and perform other typical instrument front- 
panel functions. 

instrument Operation 

Ulien a regisler-bcised instrument receives a command 
string, the SCPI parser interprets the string and calls an 
execution routine to perfonu the action that corresponds 
to that string. Before a task can operate upon its instiu- 
ment hardware, it must be sure the hardware is not 
already in use by the other twin task. To prevent colli- 
sions between the HP-IB task and the display system 
task, each will request control of the instnmient hardware 
through a call to a VXI-OS function. This function call 
executes in less than 50 nticroseconds In the 8-MHz 
MC68000. The caller is blocked if the hardw^are is already 
in use, and is again made runnable whenever the hard- 
ware becomes available. 

When an instrument function requires an extended time 
to complete, the instrument task may decide to w^ait for a 
hardware interrupt indicating completion of the measure- 
ment function- A call to the operating system allows the 
caller to connect the instrument's interrupt service routine 
with the interrupts from an instruntent card and then 
pause the task until the intermpt arrives. Upon interrupt 
assertion, the instrument service routine begins execution. 
The instrument service routine has access to the shared 
global data area of the two parent tasks of the instru- 
ment, and also can be passed pointers to the data buffers 
or other variables. Wlten the instnmient service routine 
has completed its function, it can signal the parent task 
to a weaken from the pause condition. 

This fonn of operation can result in high efficiency in the 
use of the shared CPl', since many tnstnaments such as 
switches (e.g.. relay multiplexers) have relatively short 
con^^^and sequences and relative ly long relay closure 
times, Uithout Ihis intermpt technique, the CPU would 
w^aste time waiting for relay closure to complete. This 
allow^s other instrument driver tasks to use the CPU time 
for other purposes, effectively overlapping the operations 

of several instruments. Guidelines based on the speed of 
the pause, interrupt, and awaken functions tell instrument 
driver w^riters the timing circumstances in which these 
tools are appropriate. 

The VXl-OS has a sinular function to perfonn the required 
operations resulting from the HP-IB Device Clear command. 
Device Clear is an as^mchronous command used by the 
HP-IB interface to force an instninient into a condition in 
which it can accept conuuands. It can be used to abort 
ongoing measurements, and when properly implemented, 
requires an instrument to be interruptable in any of its 
possible slates. 

To awaken an instrument task that is paused waiting for 
resources or waiting for an interrupt, the VXl-OS contains 
a "clear instrument" function. This function sends wakeup 
signals to an instrument task that awaken the task from 
any of the pause conditions. If the task is awakened in 
this manner, the return value from the "wait for interrupt'' 
function will indicate that Device Clear was received, not 
the expected interrupt. 


The VIQ-OS is a real-time multitasking operating system 
developed for HP VXIbus command modules. VXUOS 
contains many functions that support instrument drivers 
for V'XIbus registei-based cm*ds. The instrument model for 
these cards includes features allowing multiple indepen- 
dent instruments to share one CPU. SoKIng these prob- 
lems once for all instruments, V'KI-OS provides the 
instrument finnware with a high level of stylistic similari- 
ty and increases Ihe productivity of instrument fun^ware 

Ackno w i e d gmen ts 

Many thanks to Chuck Platz, w^ho wrote the resource 
manager for both the HP Ei405 and the liP E1300 Series 
commanders, for his assistance and ideas* Thanks also to 
Martin Meyer and the other instmmenl driver writers at 
HP's Loveland Instnmient Division w^ho provided helpful 
suggestions regarding enhancements to the original 
\0Q-OS definitions. Their patience and skill during the 
parallel development of the opemting system and instru- 
ments enhanced the results of both efforts. 

34 ApriJ l992H#wletl-I^GkaridJouiTiai 

)Copr. 1949-1998 Hewlett-Packard Co. 

VXIbus Programming in C 

A iibrary of C functions provides functionality that makes it easier for test 
program developers to create applications that communicate with HP-IB 
and VXIbus instruments. 

by Lee Atchison 

The VXIbus is a standard insTrament control bus that 
allows high-speed access to test system insinimentation. 
To achieve liiese high speeds, control! ens tunnecled to 
the VXIbus nratnfrajiies require sophisticated test soft- 
ware. These controllers must also be powerful enough to 
take advantage of VXI bus's speed anti versatility. This 
paper describes a modular instrument comnumications 
library that is designed to work with \^Ibus interfaces. 
The library is designed to be extensible and applicable to 
several different computer architectures, operating sys- 
tems, and instrument communication interfaces. 

Lihrary^ Features 

Tlie instrument hbrary defines a core set of runctionaUty 
that will work on ail test-system instnnneiTt commimi ca- 
tion ifilerfaces. This core includes read and write, ad- 
dressing, timeout, locking, triggering! interrupt handling, 
and status reporting. When using just this core functional- 
ity, an applicaijon c^m be written lo use HF-iB instru- 
ments (or VXlbiis jnstniments through an llP-TB-lo- VXIbus 
translator such as the HP R1405 command m{Hlult\). lii^ter, 
the appUcation can be porled with hi tie or no change to 
talk to VXIbus instruments directly from a VXFbus-based 
controUer (bypassing the HP-IB completely). 

Tliis (!ore fuuctiorvality is sufficient for most measurement 
application needs. 1 lowever, If ^m application requir(\s 
additional functionality, features can be addt^l that apply 
only to that application and its associaletl interface lo the 
test instnmients. VXIbus adcls extended triggering capabil- 
ities (ITL and ECL trigger line control), mapping (aUow- 
ing access t<.> register-b;ii;etl and memory-mapi>etl de\ices}, 
and enhanced interrtipf handling. When using the addi- 
tional VXIbus functionaUty, a test progranj (while no 
longer portable to the IIP-IB) can still be ported to other 
VXIbus controller environnu^nts. The same lest program 
should work on VXIbus embedded cotilrolters and exter- 
nal ccjntrollers using a mauiframe expander such iis 

Improved Productivity 

The libnuy rtmlaitvs features that help to improve the 
productivity of a test engineer developing a measurement 
application. These features include easy-to-usp routines, 
high-level I/O comnimids, and a functional unifonnity 
across applications. 

Ease of Use, Thc^ libraiy routines ari^ tlesigned to be easy 
to use ajul understand. The hbr^uy uicorporates the 

features specifically needed to communicate with instru- 
mentation, especially iastnimenis (hat look or act like 
IEEE 488.2 or SCPl instnintents. This differs tron) other 
communication libraries tiiai allow communication widi 
devices that may or may not be instruments (such as 
printers, plotters, disk drives, etc,). 

High-Levef Commands. High-level formatted I/O comnnmds 
are available \o make test jirograms easier to write. These 
include routines tliat allow converting to and front a 
number of data formats iLsed by most instruments. For 
example, number converters are available to convert data 
to and from sbc different numeric formats that are t>TDical- 
iy used m IEEE 488,2 imd St PI instiiiments. These 
formatted 1/0 routines, while based on the C language 
stdio routines prinif mid scarf, iiave extensions specilicatly 
for instnimentation, such as controlling EOl and END bits, 
IEEE 488.2 number and sliing formats, and so on. 

Uniformity, I'sers need to learn only one set of routines 
despite the number of com roller and interfatx's l>eing 
used. This means thai once a test i>rograinrner le^jims 
these library routines, ttiere is no need to re leant a rtew 
set of routines when using a different controller, 

Tlie folk) wing (' program takes a simple measurement 
from a SCPl-biised voltmeter. 


INST dvm; 
double res: 

/* Prim message and terminate on error */ 
r Open the voltmeter */ 
dvm-iopen( "voltmeter*' I; 

/• Take a measurement */ 
/* Read the results 7 

r Pmt the results V 
printfC'Resuft is %f\n",res|; 


This program shows sevei-al different things about the 
instnmK^nt library: 
* It shows how to install an encir hantller, in this case, a 
standard etTor handler that prints an enor nu^ssage and 
then tenninates. 

Aprit m2 Hewiett-^Pilckard JoiintJil 35 

)Copr. 1949-1998 Hewlett-Packard Co. 

• It shows how to address an iiustmnient using a symbolic 
name. This isolatc^s hardware dependencies in Ihe struc- 
ture of the address. 

• II shows a simple example of the fomiatted I/O capability 
to send a command anrl read ar>d parse the response* 

Addresising an Instrument 

Before conmiunicaling with an instmmenl, a Unk must be 
established between the lesi application iind the instru- 
ment. This link is created with the iopen"^ routine. This 
routine takes as a parameter ihe address of au instru- 
ment It then establishes a session with that instrujuenl 
and retmns a number that uniquely itlenlifles ihe session 
with the iustmment. This unique number, calletJ an INST 
identifier, is used by all other routines iri the librar>^ to 
communicate with the particular instnnneni set up in the 
lopen call. A number of other parameters, such as timeout 
values, can be set on a session-by-session basis. 

The address of a VXIbus instrument can take one of two 
different forms: 

vxi,<ladiir> (e.g., vxi,24 or vjtiJ2B) 

<symbolic_name> (e.g., voltmeter, dmrn, scope) 

The fu^t address fomiat specifies a VXIbus instniment by 
its logicaJ adilress <Jaddr>, wliich can he any number from 
to 255. Tlie second fonnat allows an atidress to be a 
symbolic name for an instrunu^nt. Tliese symbolic names 
must be assigned by some other system resource (such 
as the resource manager or a configiuation file) to refer 
to a specific iiislannent at a specific address. For exam- 
ple, voftmeter may he the symbolic nanie of the instrument 
located at, VXIbus logical address 24, 

High- Level Interface 

The high-Ievf I iiip-rface provides a formatted I/O mecha- 
nism thai is similar to the C stdio mechanism, except that 
it Ls designed specifically for instniment communication 
and is optimized for IEEE 488.2 compatible instnnnents. 
Three main routines are available: 

• iprirTtf. Send a fonruitled mt^ssage to a given Lnstrmnent. 

• kcBni Receive a formatted message from a given instru- 

• ipromptf. Send a formatted message to a given instmment 
and then immediately read a formatted response. 

These rormatled routines allow writing and reading of 
several different fonnats of data. The fonuats include the 
following standard stdio data types: 

%d - Integer data 

%t - Floatinji^-point data 

%c - A single character 

%s - A string of characters 

The following data types have been added :^ecifically for 
VXIbus ijistruments: 

• %b/%B. Defmes binarynroded data that uses IEEE 488,2 
definile-lenglh and indefmite-length arbitrary block re- 
sponse data formats. Several options are available includ- 
ing byte -swapping values from the tiyle ordering of the 
instniment to the byte ordering of tlie controller. Tliis 

• All of Ihe instfumeflt W^iy ruutinss are prsfxad wrth "i ' 

allows fast n*ading and writing of large blocks of binary 
daia in a manner consistent v\ith IEEE 488,2 and SCTI. 

' %e/%C. f)efines characters and strings of characters that 
indicate end of data such as the EOl line for the Hr^4B mul 
the END bit for the VXIbus. This includes optionally set- 
ting thc^ END indicator on a write call and waiting for an 
END indicator on a read call 

' %S. Defines IEEE 488,2 string response data. This is es- 
sentially a stritig enclosed in double quotes (with em- 
bedded doul)le Quotes esc:aped). The SCPI language also 
uses the string fonnat. 

Numerif data can be read and writteri in any of tlie 
following data fomtats: 

®1 - IEEE 4Sa2 NEI format (integers such as SI) 
@2 - IEEE 488.2 NR2 format (reai nun^bers without 

exponents such as 53.5) 
@3 - IEEE 4B8;2 Um format (real nimibers with 

exponents such as 5.35E1) 
@H - IEEE 4SB.2 slajidard hexadecimal number 

format (such as #HHf4e) 
@Q " IEEE 488.2 standard octal number formal 

(such as #g377) 
@B - IEEE 488.2 standard binary number fonnat 

(such as#B01I01100) 

WTren writing to an instnnnent, tmy ninnber can be 
converted into any of the above fonnals by specifying the 
fonnat desired. When reading from an instmment, any of 
the above formats c^an be read and automatically deci- 
pher*' d (the data fonnat does not have to hv specified). 
Thus, if a number is read fron^ an instniment, the control- 
ler does not have to know what format ilie number wiU 
be in because the library wiU determine the number^s 
format and act appropriately. 

An optional buffering mechanism is avaiiable that can 
draniai icaliy improve the performance of instniment, 
communication (especially to VXIbus ins tnmi cuts). UTien 
buffering is enabled on writes, chtu-acters sent to the 
instnmitmt are buffered until an END indicator (or new- 
line) is given and then the entire buffer Ls written to the 
device. The END indi<*at.or for output data conesponds to 
the end of a standard IEEE 488.2 piogram message. 
Wlien buffering is enabled on reads, all characteis are 
read from the device up to the EMD mdicator and buffered 
in the controller. The END indicator for input data corre- 
sponds to a complete IEEE 488.2 response message. The 
controller then uses the buffer to satisfy data read 
requests from the appbciition* 

This buffering works fme with all IEEE 488.2 and SCTl- 
based instniments. For older instnmients, buffering can 
be disabled if it interferes with the inslmment/s functions. 
The sizes of both read and write buffers can be set 
indeix^ndently for each session so that tiie buffers can be 
tuned for the requirements of individual instrumerus. 
Finally, the read and write buffers are linked so that data 
is flushed to and from the instnmient as appropriate to 
maintain the IEEE 488.2 Message Exchange Protocol 

36 Apiil i99£ Hewlett-Packard Jountal 

)Copr. 1949-1998 Hewlett-Packard Co. 

These formarting capabilities make it easy to talk to 
\OQI>us and non-VXIbus instnmients. 

Low-Level Interface 

The low-level interface provides a nonformatted I/O 
mechanisni that allows fast trans nussion of nonformatted 
bmar>' strings. This mechanism, while it cannot be used 
siniullaneoiisiy with the high-level interface, allows 
greater control of the instrument I/O than the high-leveJ 
interface. The low-fevel library routines allow sending 
arbitrary data of arbitrary' length while controlling the END 
indlcaton They also alJow data to be received and termi- 
nated by a predetermined maximum count, an END indica- 
tor, or an S-bit pattern character such as a line feed 

These routines provide veiy tight control over I/O to a 
particular instninientH allowing activities to be performed 
that aren't possible with the lugh-le\'el interface. The 
following low-level routines are a%^ailable: 

• fwrite. Send a block of data to iui instrument. The END indi- 
cator can he optionally set on the last byte. 

• iread. Read an arbitraiy-length block of data from an 
instrument. The read can be tenninated by the number of 
bytes read, the END indicator, or a pattern character such 
as a line feed. This routine will return Uie reason the read 

» rtermchr. Set the S-bil pattern character that causes an 

iiead to temiinaie, 
» inbwnte and inbread* These are the nonblocking equivalents 

of iread and iwrite. 

Memory Mapping and Register-Based Cards 

The library provides routines to control register-b^ised 
VXTbus cards and other memory-mapped devices. The imap 
routine maps an arbitraiy^ section of VXIbiis memtjry into 
iin application's data space and the routine rjnmap re- 
moves memory mapping. Once a section of \^bus 
memory is mapped into an application's data space, tiie 
VXIbus memoiy can be accessed jusi like other parts of 
the application's data space. In particular, normal C 
pointer arithmetic can be used to read and write the 
registers of VXIbus instruments. 

Using register-based instnimenls this way allows extreme- 
ly fast access to instmments from a measurement applica- 
tion. This is the operations needed to program a 
register- based instnnnent are simply register reads and 
writes— operations that lake microseconds to perform. 
This is opposed to message-based instruments that 
require several milliseconds to parse and execute the 
requested ASCII commands, losing register-based devices 
in this way, while not as easy as using a message-based 
SCPI instrument, can allow measurements to complete 10 
to 1000 times faster than message-based instruments. 

The following program uses imap to talk to a VXIbus 
register-basted voltmeter. 

typedef unsigned short word: 
struct dvm^dats { 

word id; 

wnrd devtype: 

word Stat, ctd, 

word offset; 

word holdlS]; 

word range; 

ward measure; 

double result: 

mSJ dvm; 

double res; 

dvTTi_d3ta *dvrTtp; 

/*Pnm message and terminate on error */ 
ropert ttie voltnieter */ 
d vrr(- 10 pe n\ "" voltm eter" ): 

/* Get pointer to registers */ 

/* Set the range */ 
d vm p->ra n g e={bc3d4e : 

r Take a measurement 7 


/* Wait for rt to complete */ 

wfiNe{dvmp->mea sure !=0); 

/* Read the result 7 


/* Print the results 7 
printf("Resuit is %f\n'\res); 

The followmg mapping options are available for imap: 

• I_MAP_A16, Maps in a section of VXIbus A16 address 

■ l_MAP_A24. Maps in a section of VXIbus A24 address 

• (_MAP_A32. Maps in a section of \00biis A32 address 

» Lft/1AP_VX1DEV- Maps in the 64-byte device registers for the 
given instrument. Tliese are the device configuration reg- 
isters in A 16 space (see article on page 41). 

► l_MAP_EXTEND. If the given device ha-^ A24 or A32 address 
memory, then iliis routine tnaps in some portion of this 
device's A24 and A82 address memory. The location of 
this device's extended nienioiy is determined by reading 
the identifier and offset registers in the device's 04-byte 
device registers. Tins c^an be very useful in locating a de- 
vice's A24 OT A32 address spare without having to refer to 
conngiinition tables or resource manager files. 

By using these routines, all or a portion of the given 
address space can be mapped into a process at any given 
time. However, hardw^are in Uie VXIbus controller can 
limit the number of simultaneous mappir^gs availabie. This 
is because of the limited number of mappUig windows 
av^ailable in a given VXIbus controller. If an application 
needs to work with several different controller tyiJes but 
still wants to take advantage of as many map windows as 
there are available on a given controtler, it needs to 
modify' its mapping requests based on the hardware 
resources available. 

To get tliis information, the imapinfo routine is used. This 
routine returns, for a given address space, the number of 
map windows the hardware provides and the maxinnim 
size of these windows. This information cm\ be used t)y 
an application (,o manage the mapping and uninapping of 
large chunks of VXIbus memory. 

April imZ Hfiwlett-Puckctfd Journal 37 

)Copr. 1949-1998 Hewlett-Packard Co. 


Tlve VXH>us instrumerit library enables a process to he 
mfomied of asynchronuus events happening on the 
VXIbUK inlCTfaee. There are core internipt conditions that 
can occur on any type of interface, and therp are inter- 
rupt conditions spe{:ific for the gi%'cm Xype of interface 
such as VTCRius. The following is the lis! of core interrupt 
conditions and what tliey mean; 

• STB. The conmiaiider just read a status byte. 

• DEVCLR. The commander sent a de\ice clear. 

• DARRIV. The commander has sen I data. 

• OREO. Tlu* commander has read some data. 

• I NT FACT. The interface has just become active. For V^bus, 
Ihis means normal operation, and for tlie I IP-IB, this 
me^ms that the instmnieni receives control of the bus. 

• INTDEACT. The inlerfaee htis just l>e<*onie inactive. For VXI- 
bus, ttiis means the instmment is no longer in normal 
operation because of either a soft or a haixi reset . For tlie 
I IP- IB, this means ttiat the instrument has piissed control 
to imotticr mstrument. 

• TRIG. A trigger has occurred. For VXIbus, this could be 
any of t he TTL or ECL trigger lines. 

The R>howiug intemipt conditions are VXlbus-specifit: 

• LLOCK. A lock or clear lock word-serial coniniand [las ar- 

• SIGMAL. A write to the signal register or an inteiriipt oc- 
cuiTed from an application s VXibus servant dtHice, and 
the value ret umetl indicates an event signal that the h- 
brajy ditl not fumdle. 

• VXI. An inteniipt occ^urred from a \^bus device that is 
not one ofltie applications scnanls. 

• SYSRESET. A VXIbus system reset has occun'cd. 

A program can be set up either to wait for an interrupt 
to occur, or to have a procedui'e executed when an 
intemtpt arrives (or both). Ttie ionrntr, Isetintr, and iwaitridir 
itjiitines work together to handle inteniipts. Also^ the 
ionsrq routine can be used To process service rtNjuests 
(SRHsj from a device. The* following prograiii liaiidies 

^define on 1 
?!fdefine off 

void myhandlerflNST idjong reasonjong secH 
printft/'An interrupt occurred l\n"); 
/* See what caused the interrupt */ 

esse l_INTR_TRIG: 
/* sec' contains the trig */ 
r Nne that fired, */ 
case l_INTR„VXI.SiGNAL: 
/* 'sec' coniains the value */ 
/* written to the signal */ 
r register */ 
case l_INTR_VXLVMEi 
/* 'sec' contarns the 'iack' 7 
/* value that was read while 7 
/* acknowledging the VME 7 
/* interrupt. 7 

IMST dvm: 

double res; 

/* Print message and terminate on error 7 

/* Open the voltmeter 7 


r Install the interrupt handler 7 
f n i ntri d vm ,mv handler); 

/* Enable the appropriate interrupts 7 


isetintr! dvm,l_l MTR_VXLSI G NAUn); 


/* Wait for an intsrrupt to occur 7 
r with a 10 second timeout 7 

/* Continue wrth other processing 7 


Besides the above capabUities, the iintron and iintroff 
routines are available to disable intemipts globally. This 
allows developers to create critical sections of code. 
WTaen Int.ernipts are disabled with iintroff they are queuetl 
until an iintron occurs. This pn^vents interrupt.s from beui^ 
lost during the exet^ution of critical sections. Also, t he 
iwaithdir rotitine will automatic tilly recnablc inteinipts 
when it is called. Using iintroff or iintron with iwaithdir allows 
interrupts to be queiied tintil iwafthdlr is called, preventing 
iwaithdir from missing an early inteiTUpt. 

Multiproeess Locking 

The instrument libraiy is designed to work on multipro- 
cessing systems such as HP-LTX.'^' In such a system, many 
programs can tr>^ to access a given de\1ce sirnulliuieously 
which call cause instnuiient contention problems to 
occur. To prevent such problems, a locking rnechanistn is 
available. This locking rnecharvisni allows one process to 
grab control of an instriimer^t aiid lock out other pro- 

The ilock routine will lock the gj^-en insinimt^nt or inter- 
face to the calHng process. The calling I^ru( t^ss can 
access the instnimenl or interface, but all other processes 
will he prevented from accessing the instnmient or 
tnteilace. The iunfock routine will remove a lock. 

\Mien a process attempts to access an inslnniient that Ls 
locked by another pi^ocess, one of two things will happen. 
Either I lie call iLsed to access the instnunent will relum 
an errcjr, or tlie call will block until the instrument is no 
longer locked. The isetlockwart routine is used lo set the 
action to be taken. 

Error Handling 

The instrument library provides a convenient mechanism 
for hiuidling errors. This mechanism has substantial 
advantages over other I/O libraries because error hantiiing 
code is located away from the heart of the test prograjii. 
This makes reading and understanding the test program 
easier Topically in test programs error handling code is 
iiUennixed with the test code as in the following test 

38 A^sril 1992 Hewtett-Packard Jounval 

)Copr. 1949-1998 Hewlett-Packard Co. 

INST dvm: 
double resp; 
im res; 

printf("£rror oceurred in HjpBn\f**'|; 
printt( " Error:%£\n ' J errorsfi errno] J; 



printfrEfror occurred in iprirFtf\n*'|; 
prirttfl "Error %s\fi " J erro rsfrerm ol ); 

printfC^Error occurred in iprintf\n*'l: 
p ri ntff " E r ror : %s Vn " ,i e r fo r s|i errno j ); 

pnntff'Voitage is %f\n"',resp}; 
Notice that code is inserted after every I/O call to check 
to make sure the call completed successfully. In this 
exainple, il' an error occurs, a simple message is printed 
along with the error that occurred and the program is 

A test program that uses the enhanced error handling 
mechanism pro\ided by the instrument Ubraty would look 

INST d\/m; 
dQubJe resp; 

/* Install an error handler */ 
/* Use a predefined one */ 



iscanfl '%f'\Sirespl; 

printfi "Voltage is %f\n'\resp); 
Notice that, no special error handling code is iiiserted 
between 1/0 calls. Instead, a single line at the top (calling 
bnerror) installs an error handler that gets called any time 
an error occui^. In this example, a standard, system-de- 
fmed eiTor handler is installed thai priuLs an error me-S- 
sage and terminates. However, a user-supplied error 
handling procedure can be specified as well. With this 
enhar\ce<l error handling mechanism, not only does the 
test program become shorter, bur it also becomes easier 
to write, read, and understand. 

If the tiser installs a custom error handler, the enor 
handler is passed the en'or numljer that occurred and the 
INST identifier of the session that generated the error. 
With this information, the error handler can perfomT 
actioas such as: 

• Talking to the instrument to get more detailed error in- 

• Printing a reasonable error message based on the error 

• Setting a (lag that b checked by ibt* main program for 
error conditions 

• Using setjmp, lortgimp. or HP's try /recover mechanisms to 
pass the error back to an error block within the main test 

• Accessing session-specific data used by the main test 
program using the isetdata and igetdata routines, which are 
described below 

• Attempting to recover from the error. 

If the test program is compiled using an _AN'S1 C compiler, 
then a debugging mode can be enabled that provides 
more information to the error handler, such as: 

• A string containing the name of the librai>' routine Uiat 
created the error 

• The name of the source file of the test program that con- 
tained the call to the routine that failed 

• The line number in the source file that contains the rou- 
tine that failed, 

UTien using the standard LERROR_EXIT error handler, this 
information and the error that occurred are printed 
before the apphcation is teiminated. This infonnation can 
be extremely useful in tracking down how and where an 
error occurred. 

Other Functionality 

The hbrai^^ contains many other routines that provide 
more functionality, too many to discuss in this paper. The 
following types of additional functionality are provided in 
the library: 

• Device and interface clear and reset functions 

• Read and set ihe status byte (STB) 

• Triggering activities 

• Control cjf data transfer preferences such as DMA, polied^ 
and interrupt driven I/O 

• Function timeouts 

• Access to interface and device status infonnation. 

The library also provides the isetdata and igetdata routines, 
which allow a test application to ,store dtul retrieve 
application-specific data. This data is stored and is 
available on a session-specinc basis, so one pari of a test 
program can store data that is used by another part of 
the test program. This data can be stored and sorted on 
an instrument -by-instrument basis. This is especially 
useful for eiTor handler procedures and interrupt liandler 
tirof'cdures. Any appUcation-specUic data can bc^ stored 
with tile session, including things such as the instnm^eiit 
statCj measurement statistics, and current svntch fixture 

Putting it Together 

The following program uses many of the features dis- 
cussed in this paper It inciudes reading and writing, 
register-based access, iniemjpts, locking, and error 

^define on 1 

#define nff 
struct dvnri_ctal3 ( 

word rd; 

word devtype, 

word stat_ctrl; 

word offset 

word holdlSl; 

ward range; 

April 1 992 HewleJ r-Pai ■ ksird J mnTiiU 39 

)Copr. 1949-1998 Hewlett-Packard Co. 

word measure; 
doubie result; 

* Error Handler 

volatde mt error_escape^; 
void errhdlrllNST idjnt error)f 
/* try/recover/escape handling */ 
esc 3 pe{ error); 
/* Otherwise, print and exit */ 
pnntf("ERROB Occurred!\n"); 
printf( "Error: %sVn"Jerror[errorlh 
printf( "Filename: %s\n ",de huQ_f ile}; 

volatile unsigned short vmeiack; 
void intrhdIrONST id, long reasonjong secH 
/* See if it was a VME interrupt */ 


printf{" Invalid lnterrupt\n"); 

INST src,dvml,dvm2; 
dvm^data *dvm2p" 
double voft.amp; 

/* Install error handler */ 

/* Open the devices */ 
d vm 1 =i D p e n ( " vo Itm ete r " ); 
dvm2=iopen| "ammeter" I; 

r Lock the instruments */ 


i 1 c k( d V m 0; i io c k( d vm2h 

/* Get registers for register-based 7 
r ammeter 7 

/* Setup an interrupt handler */ 

/* for register based ammeter 7 


isetintrl d vm2j_l NTR_VXi_VM E.on ); 

/* Turn on the source 7 
r Catch error if occurred '/ 



fprintf(src,"SOUR:FREQ lOO^n"^; 

iprintf{srcrSOUR:AMP 25\n"}; 

iprintf(sfc;'SOUR:WIDTH 20\n"); 

iprintf(sfcrSOUR:DURATION 30\nl; 


printfrCan'l set up SQiirce\n''): 

printfCContinuing with test\n"}; 


/* Take voitage reading 7 

/* Terminate tf error occurs */ 


/• Take current reading 7 

/* Device is register- based */ 

iintroffOn /" Set up critical section */ 





fwaithdIrtO);/* Wait for interrupt! 7 

iintronl}; /* Finish crilfcal section 7 

r prim the results */ 
printf{ "Voitage = %f\n",voit); 
printfC'Current = %f\n".amp); 



This library represents a ni^or improvement over pre- 
\ious I/O library designs. Unlike many other libraricSt it 
pro%itles features and ease of use required s]3ecificaily for 
instrument control. With this hbrary, any test engineer 
familiar with the C programming language can rapidly 
create fast, efficient test applications that are easy To 
understand and support. 

HP-UX is based on and is CDrnpaiiblG wuii UNIX Svstem tabor atones' UNIX' opeiatmg systEm 

It also complies with X/Open's* XPG3, POSIX 1003. t and SVIDZ interface specifics tiDns. 

UNIX ts a regisEef&d t^ademairtt or UNIX Sys^tem Laboratories inc. in tiie U.S.A. and cither 


X/Open is 3 trademark of X/Open Company Limited \n the UK and other countries. 

40 April 1992 Hewlett-Packarti Journ^ 

)Copr. 1949-1998 Hewlett-Packard Co. 

Achieving High Throughput with 
Register-Based Dense Matrix Relay 

With an onboard FIFO buffer and register-based programming, HPs VXIbos 
dense matrix relay modules provide high throughput and a downsized, 
low-cost solution to matrix switching. 

By Sam S, Tsai and James B. Durr 

Matrix switching, througl:\ whicli several instnmients can 
be connected to multiple devices under test (DUT^) 
selectively, is a popular switching teclinique used in 
electronic test. In traditional rack-and-slaek systems, 
matrix switching requires large ainoutUs of mck space 
and is costly because of the ainomU of hardware re- 
quired. The HP E1465A. HP E1466A, and HP E1467A 
dense matrix relay modules described in this article 
provide a do\^Ti sized, low-cost solution to matrix switch- 
ing. These VXIhus matrix switching niodules each occupy 
one C-size VXTbus mainframe sk)t, and witii 256 relays 
per module are one of the higliest-densily switch modules 

These devices are suited for \^XIbus reglster-hased sys- 
tems and register-based pjogramming. In addition lo their 
design, this article covers relay module programming aiul 
provides benchmarks of throughput speeds achieved with 
ASCII nicssage-based and regisler-based programs. 

Dease Matrix Relay Modules 

The dense nmtrix relay module shown in Fig. 1 Is a 
tw^O'Wire, 256 tme rrosspoint matrix switch. True cross- 
point means tliat any row" can be connected to any 
colmmi simultaneously. In this design, four 4-by-16 subma- 
trices have been implemented on the main printed circuit 
board with 256 latching relays. Tenmnal cards convert the 
submatrices into 4-by~*34 (IIP EM66AJ. 8-by-:32 (HP 
E14G7AJ, or 16-by-16 (IIP E1465A} matrices. The tennmal 
card also provides screw terminals to connecting the 

Latching Relays 

Til ere are several advantages to using laictung relays. 
First, with 256 relays on the dense matrix module, 
latching relays prevent excessive current from the power 
supply if tlie user closes too many relays accidentally. 
Second, energy is saved since power is not continually 

Fig. i. A dense matrix relay 

April 1992 Hc^wlplt-Packard Jonnml 41 

)Copr. 1949-1998 Hewlett-Packard Co. 

applied lo keep a latching relay closed. Third, because 
power rs not continually applied, the relay coil does not 
heat up. Tliis is iniportant because llie two metal contacts 
inside the relay in effect fonn a iht^miocouple. Thus, 
tempeialure diiierences on the relay crontacts c:ause a 
themiai EMF lo be generated. Also, the life of the latch- 
ing relay Is usually longer than the nonlatching relay 
becaiise of the power thai must he continually applied to 
close a nonlatching relay. 

The priniaiy disath-^intage of latch in j* relays is thai the 
relay stale Is ui] changed at power-on, power-off, or reset. 
Therefore, the device's firmware must ensure that all 
relays are open following these conditions. 

Matrix Topology 

An exainijle of the relay module's matrix arrangement is 
shown in Fig. 2. Represented is the matrix for I tie HP 
E1467A 8-hy-:32 flense n^atnx relay motlule. The 84jy-32 
matrix is fonned by connecting together the rows of 
suhmatrices A and C, the rows of submatrices B and L), 
the c olurnns of submatrices A and B, ^md the columns of 
submatrices C aiRt D, 

On the 8-by-32 dense matrix relay module, the rows in 
siibnr a trices A and C aie rows tlirough 3. and tiie row^s 
in submatrices B and D aie rows 4 through 7. The 
columns in submatrices A and B are columns througli 
15, and the columns in submatrices C' and D are columns 
16 through :U. 

mgh-Throughput Design 

In con%^en1ional \lQbiis switch module designs, the 
module interrupts its commander's CPU each time a relay 
is opened or closed. The interrupts cause the CPU to 
take more time to service other instruments, which 
decreases system throughput. The dense matrix relay 
modides make efficient use of the CPU by lncon>oratmg 
first -in- first-out (FIFO) memoiy blocks. When a function 
and channel list are sent to the relay module, botJi are 
dow^iloaded into the FIFO memory- The CPU is then free 
to do other tasks. Only afier the last channel in the list is 
opened (or closed 1 is the CFt^ interrupted. 

To show^ the advantage of the FIFO buffer consider a 
reset of the switch module. Following the reset, each 
channel relay must be open. Because lal clung relays are 
used, firmw^are must write data to each channel to ensure 
that it is open. V\lthout the FITO memory, the CPLT would 
be intermpted 256 times (once for each relay) during the 
reset sequence. 

How the Dense Matrix Relay Module Functions 

Fig, 32 ami the following sequence describe how the 
switch relay module operates: 
A command is sent to the rielay module and stored in 
FIFO memory. 

Once the data is in memory, the \TVIEbus timing PAL (pro- 
grammable array logic) asserts the signal DTACK*. This 
signals the CPU on the relay module s commander that it 
is now free to service other instruments. 

• The VMEbus timing PAL signals the FIFO interface PAL 
to execute the commatid. During exeeution, the data bus 
FIFO Empty* flag signals the FIFO interface PAL to read 

I he fitita l>us and address bus FIFOs and generate 7-ms 
IRilses to acHvate the relays. Only one 7-nis pulse is re- 
quired per relay bank (16 relays}* 

• The FIFO Inlerrace PAL reads the data bus and address 
bus FIFOs iiniih he Empty* flag signals the FIFO interiace 
PAL thai llu^ FIFO memor>' is empty, 

• When the MFfJ is empty, the FIFO iiUerface 1*AL signals 
I he VMI^^bus tuning PAL which asserts IRQc- This inter- 
njj "ih (he command module CPU after the last relay has 
[ks ri activated. 

Because the relay module only asserts IRQ* after the last 
relay is activated, the (^PU is not continually interrupted, 
thus enhancing system throughput. 

Programming the Dense Matrix Relay Modules 

In a VXlbus system tliere art^ mess age -based and register- 
based devices. Message-based devices have an onboard 
microproc*essor, which interprets ASCII conmiand strings 
and returns ASCII formatted results. Register-based 
devices, such ys thc^ dense matrix relay mfulules, do not 
Iiave an onboard processor Conunmiication with tliese 
devices is tfirougb access to the device registers. How the 
registers are accessed affects system tfiroughpuL 

SCPI Programming 

One way ft) |>rogram the dense matrix relay moduU^s is 
with higli-level SCPI (Stantlard Connuantls tor Program- 
mable Instnjments) cotrmiands. SCPI is an ASCII-based 
instrument comtiiand language designed for electronic test 
and measurement instnnnents (see the article on page 15 
for a discussion of SCPI conmiands). SCPI defmes stan- 
dard sets of commands that allow different devices doing 
the same fimctions to be programmed with the same 

Programming the relay modules with SCPI conunands 
requires the HP El 40.^ conunand module. Instrument 
drivers in the command module convert the SCPI com- 
mands to register "peeks" and "pokes." The command 
module eriables the relay modules to be progranmied the 
same as message-based devices. 

In a program using SCPI commands, a relay module 
command is sent over the HP-IB to the command module 
(Fig. 4}. The command statement includes the relay 
module's HP-tB address, the command, and the data. The 
format of a tj^ical statement is 


w^hich is a conmiand from an HP 9000 Scries 200 or 300 
computer {select code ?) to the relay module at HP-IB 
secoadar>' address S \ia the HP EI 405 t^onunand module 
at the IIPTB primary address 9. (For HP VXlbus systems, 
the HP-IB secondary address is defmed as tJie logical 
address di\ided by 8.) 

42 Apn\ 1992 Hewlett-Packaxd Jounml 

)Copr. 1949-1998 Hewlett-Packard Co. 

Matrix Mculule 

Tflmtinal Block 

Column OH 



n2iM^ 120T him ^%m\m i2ob W' 1291 ■ tan' 'laos ^mo' ^1211' "^lair 1213 'izm^i 

C-C C C C iLC^^L C^C CCC C C- i 

r 1^ i"^ i^ ^*^ ^*^ fC^^ ^*^ (j^ 4^ ^^ r r (^ ^ 

\im 1401^401 1404 M40i M4W 14OT 1«» '^t4« 14tfl MII1*^1411 ^1413 1414 1 

j^J^^"^ ^<f jr~J^J^J^J^^<f ^<f i"^ jji'^ ^"^ 

Fig, 2. An 8'by-32 rel^ matrix topology. 

April 1 092 He wlett-Paicrkaid J oiin lal 43 

)Copr. 1949-1998 Hewlett-Packard Co. 



Rese{ and 

Status and 





Fig, 3. Pujiinionai block diagram 

for the HP EJ46E^A, HP E1466A, 
and HP El4ti7A dense niatrix 
relay modulei^. 

The comiTiand module's HP-IB driver stores the ASCII 
text CLOS {©10000 J in tlie input buffer of the relay module, 
and signals the parser that the input has a command to 
be parsed (interpreted). The command (CLOS) is reduced 
to a call (with a parameter of lOOQO) to a routine that 
writes register data to the F[p'0 meniorj' on the relay 

The SCPi commands most often used with the relay 
modules are: 

lROUTe:]CLOSe (©channeljist) 
IROUTe:]OPEN (©chanreljist) 
iROUTe:iSCAN (©channeljst) 

Channel lists are specified m the format nrrcc:nrrcc 


n = relay module number. The module number is 
based on the module's logical address and the num- 
ber of modules being progranuned. For example, if a 
switchbox instrument contains three relay modules 
(which must have consecutive logical addresses), the 
module wi\h the lowest logical address is module 
number 1. The module with the next lowest logical 
address is module number 2, and so on. 

rr =the row to be connected to column cc, 
cc =the column to be connected to row rr. 

For example, on relay module I, to scan row column 4 
through row column 8 (relays 4 through 8 in Rg. 2), 
the channel would be specified as; 

SCAN i@10004):(1D008^ 

Note that the nrrccmrrcc format was Implemented before 
the format currently used by the SCPI standard: 

SCPI Advantages and Disadvantages 

The advantage of programming the relay modules with 
SCPI commands is that this instrument language is 

conmion to all HP matrix relay modules and easy to 
understand. Also, the user only needs to specify a module 
number row, and eoiiunn to comiect a row to a column. 

The disadvantage of SCPI programming is decreased 
throughput because of command parsing by the HP E1405 
command module, Iloweveri as the benchmark programs 
will show, the speed of the IIP E1405 commatid int^erpret- 
er is such that significant throughput gains are only 
achieved by eliminating command parsing witJi direct 
register access over the VXJbus backplane. 

Register- Based Programming 

Register-based programming accesses the device registers 
directly (Fig. 5). Register programming increases through- 
put since it eliminates SCPI command parsing by the 
command module. 

Locating the Registers. Register addresses for register-based 
devices are locateii in the upper 25% of the \^XIbus A16 



SCPI CDmmafids 

Coitim«nri WInriiile 

Binary Register Oats 

Oetise Maitiic 
Relay Module 

Fig. 4* SCPI communication path to the dense matrix relay mod- 

44 April 1992 Hewi&tt-Packard Jotirnal 

)Copr. 1949-1998 Hewlett-Packard Co. 


SCPI ComiTtands 




Commanij Modiitc 


Slnarr flaglstsr Data 

Register / 



Rttsy Module 

Fig. 5, Register programndng communication path Lo the dense 
matrix relay modules, 

address space in the embedded controller or the con^ 
mand moduJe. Every VXlbus device (up to 256 per 
system) is allocated a 04-byte block of addresses. De- 
pending on the number of registers a device has, the 
device niay not use all the addresses. Fig. 6 shows how 
register addresses are mapped into the A 16 address 
spaces of the HP EHSOA V7360 embedded controller and 
the HP EI 405 command module. 

When programming a rei^ster-based device, a hexadecimal 
or decimal register adciress is specified. The register 
address is defmed as: 

Register Address = Base Address -f Register Offset 

The Base Address. The base address used to determine the 
register address depends on the location of the A16 
address space. If an embedded controller such as the HP 
E148(JA V/3eO controUer (Fig. 6a) is used, the base 
address is computed as: 

COOOh + (imm x 64)h 


49,152 ^ (UDOR x 54) 

where COOOh (49,152) is the starting location of the 

register addresses in the embedded controller's A16 
address space, lADDR is the logical address of the register- 
based device, and 64 is the number of address bytes per 

If an HP El 405 command module (Mg. 6b) is used, the 
base address is computed as: 

IFCOOOh 4^ (tADDR x 64)h 


2,080,768 + (LADDR X 64) 

w-here IFCOOOh r2,080J68) is the starting location of the 
register addresses in the IIP E1405 A 16 address space, 
LADDR is the logical address of the register-based device, 
and (54 is the number of address bytes per device. 

The Register Offset. The register offset is the register's 
location in the block of 64 address bytes in the A 16 
address space. Table 1 lists the register offsets of tlie 
dense matrix relay mtjdulcs. 

Addres!> Map 









Gi-byte Raaiater Map 



Address Map 




Off'.l l>W-:Hpl«e« 





04 K 

Stnliis^anrrai Reflrslar 


Dgvpcq Type R^gi^tef 


(d(?nlificatmn Ruf islor 


64-byte Rflgistar Map 

Fig. 6. Register mapping within 
the A16 address space, (a] A16 
address mapping for flie HP 
1480A W/Sm controller (b) A16 
address mapping for the HP 1405 
command module. 

April 1&92 Rewiett-Packard Journal 45 

)Copr. 1949-1998 Hewlett-Packard Co. 

When specifying the bank on which to close a relay to 
connect a row to a column, the offset is added to the 
base address to form the complete register address^ For 
example, assuming the Alfi address space is inside the 
HP 1480A V/360 embedded controher, the logical address 
of the relay module is 64, and the relay is on bank 0, the 
complete register addresses is: 

Register Address - Module's Base Add ress+ Register Offset 
= COOOh + (64 X 64)h + 20h 
= D020h 

Taiile l 
Register Offsets in the Matrix Retay Modules 


Register rJame 




Relay Driver 


Bank 15 


Relay Driver 


Bank 14 


Relay Driver 


Bank 13 


Relay Driver 


Bank 12 


Relay Driver 


Bank 11 


Relay Driver 


Bank 10 


Relay Driver 


Bank 9 


Relay Driver 




Relay Driver 




Relay Driver 


Bank 6 


Relay Driver 




Relay Driver 


Bank 4 


Relay Driver 


Bank 3 


Relay Driver 


Bank 2 


Relay Driver 




Relay Driver 












Device IVpe 


Device IVpe 







** Register Offsets 06h, 08h, OAh, OCh, OEh, OlOh, 12h, 14h, 
16h, lah, lAli, ICh, lEh 

Register Data. The base address and register offset specify 
a register's location in A16, Programming the relay 
modules at the register level also requires that the data 
that opens or closes the relay be sent. There are 16 
relays on each bank on the dense matrix relay modules 
(see Fig. 2). These relays have corresponding bil values 
of 2*^ through 2*'^. For example, to specify^ relay 05, 32 

(2^) or 20h would be the data v^alue sent. Similarly, to 
specify a!l 16 relays on a bank, -1 (65,535) or FFFFli 
would be sent, 

Register-Sesed Commands, The commands used to program 
the relay module depend on die controller used. The 
commands used in the benchmark programs given later in 
this article include: 

WRITEIO <setect code>,<register_number>,cregister data> 


Dl AGnnstic: POKE <address>,<w(dtli>,<data>. 

WRJTEID is used with the HP V/360 controller and HP 
E1405 IBASIC (Instrument BASIC). For example, execut- 

WRITEtO -16, Register_numt}Br.t 

on the V/360 writes one word of data on the VXlbus 
baekphme (select code -16) to close the relay whose 
address (and bank offset) are specified by the variable 
Register.number. Executing the conmtand from IBASlC 
closes the relay whose addrejss Ls specified by the vari- 
able Re gister_ad dress: 

WRITEIO -9326,Register^address.l 

D I AG: POKE is an SCPI command that allows users t^) 
program the relay module registers without using an 
embedded controller. This command is executed by the 
HP E1405 conunand module. For example, the statement 

OUTPUT 7Q900;"D]AG:POKE #HlFOO20,16,r^ 

closes relay on bank of the relay module. 

The command module parses the command header 
DIAG:POKE. llov^ever, the register addiess and data are 
written direcUy to the relay modide's FIFO memory. 

Advantages a ltd Disadvantages. The primar>^ advantage of 
register-based programming is increased throughput, 
which is achieved by elijuinating SCPI command parsing 
and accessing registers from the VXlbus backplane. 

The disadvantage of register-based programnuiig is that 
programming at a manufacturer-specific binary level often 
causes the programs to be more complex than SCPI 
progi-ams. Unlike specifying a relay module number, row, 
and colunm in an SCTl program, the register-based 
programs require the programmer to specity a register 
address, offset, and weighted bit (channel) vaJue. 

Benchmark Programs 

The following programs measure throughput speed, which 
is defined here as the time r^quhvd to send a cofmfKtnd 
to the dense rnatrh: relay module and for a reifty to 
dose. The programs, written as they might appear m an 
actual test system, compare typical ihrougliput speeds 
obtained using SCPI ajid register-based programs with 
different controllers and programming languages. Table 11 
summarizes the throughput speeds. 

46 April 1962 HewIett-^PackHid Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Table 11 















7.3 n\s 






15.0 ms 

HP E14S0A 




13.5 ms 

HP 9000 Model 




20.0 ms 



HP 90(K) Model 




15.0 nis 



HP 9000 Model 




15.0 ms 


El 405 

HP 9000 Model 




13.0 ms 


El 405 





8.5 nis 





23.0 ms 

HP E1405/1BASIC 




16.5 ms 





10.0 ms 


EI 405 

HP Vectra/Turbo 




13.0 ms 






8.6 ms 

HP-UX 7,0 

IfP E1430A V/360 (Slot Q. 
sn6 E&sflurce Manager I 

*Each benchmark includes 7-ms busy time required for 
tlie relay to close and settle. (One 7-ms busy lime is re- 
quired per relay hank.) 

''^^Direct register access in a multitasking system. 

The highest throughput is arhieved when SCPI ronmiand 
parsing is eliminated. This oc:€urs when the relay n\od- 
ule's FIFO memoi>^ is accessed directly via WRITE! from 
tiie VXIbus backplane with an embedded controller or 
with I BASIC Note that register-based programming using 
DIAGiPOKE offei-s Utile If any throughput advantage over 
the high-level CLOSe command. This is because of the 
command modules fast command parser. 

Benchmark 1 

• Configuration: Fig. 7. 

• Command: WRITEIO <select code>,<register numbers 

<rBgiste: d3t3> 

• Language: HPBASlC/WSaO 

• Program: 

10 CONTROL 16,25;2 I Map the W360 A1B addr. space for WRITEIO 

20 8ase_addr=DVAL("D0O0M6) IConvert base address to a REAL 

30 [number 

40 Reg_addr=Base_addr+32 !Add register offset, ^ore registei 

50 [address 



ao FOR 1=1 TO too 

ielay Module HP 1466A 
4 X 64 Matnir Switch 
(Logic i I Address G4} 

Ottfcr Modifies 

HP S133 Disk Drive 

Pig. 7* Gonfifiuration for bencJmiark L 

90 WRITEIO -16,Reg_addr;l [Connect row to column on bank 


no UNTIL B[T(REAOIOt-16,Base_addr+4j,7) [Monitor relay card status 

120 ! register bit 7 (busy bit) to determine when relay is closed 

130 NEXT I 


150 PRINT 'V/360 (WRITEID): ";((T2-Tn/lOO.n.Ei-3rms" 

160 ! Compute time 

170 END 

Result: V/360 fWRITElO): 7.2093046875 ms 

Benchmark 2 

Configuration: F^g. B. 

C omman d : D [ AG nostie : P K E <add ras5>,< vyicfth>,<data> 

Language: HP BASICAVS 6.0. 



20 ASSIGN ©Comm TO 70900 

[Declare loop counter variable 
[Assign I/O path 

E mbad de d Ca ntro I ler H P ! 405 

HP E148DA V/3ea {Slat 0, Command 

and Resource Manager) Module 

i -» 

Relay Module HP 1466A 
4 -^ $4 Matriif Switch 
{Lafical Address 64) 

Other Modules 


Slots to 3 

HP 9133 &iilt Drive 
Fig- 8, Gorifiguratinn for tjcnchmarks 2 and 3, 

April 1 992 Hewlett-Packard Journal 47 

)Copr. 1949-1998 Hewlett-Packard Co. 

Relay Module HP 1466A 
4 ■-■ 64 Matrix Switch 
(Logical Address €4) 

Other Modules 

HP 9000 Model 217 



Fig. 9, Configuration for benchmarks 4, 5h 6. ^d 7. 


40 FOR \=] TO 10 

50 OUTPUT @Comm;"DIAG:POKE #H1FD020J6,1" ! Connect row to 

GO ! column on bank statjs bit 7 {busy). 


80 OUTPUT ig!CDmm;"OIAG:PEEK? #H1FDD04J6" IMonitor relav card 

90 [to determine when the relay is closed 

100 ENTER @Comm;Status 

no UNTIL BIT(StatLJS.7) 

120 NEXT I 

130 T2=TIME0ATE 

140 PRINT "V/360 iDIAG:POKE}: ^;(IT2-Tl)/10.n.E+3rms" ICompute time 

150 END 

• Result: V/360 IDfAGiPOKE); 14.9993896484 ms 

Benchmark 3 

• Configuration: Fig. 8. 

• Command: [ROUT:]GLOS (®channeljist^ 

• Language: HP BASICAVS 6.0. 

• Program: 

[Deciare loop counter varrabli 
[Assign ]/0 path 


20 ASSIGN ©Switch TO 70908 


40 FDR 1 = 1 TO 10 

50 OUTPUT @Switch;"CLDS (@10000|;*OPC?" IConnect row lo 

60 IcolLmn on bank and Wait for relay to close (*OPC?) 

70 ENTER @Switch;A 

80 OUTPUT ©Switch;^' OPEN (@10OOO);*OPC'^ I Wait for relay to open 

90 ENTER @Switch;A 



120 PRINT 'V/360(CL0S C0MMAND|:";({T2-Tl|/20rTE*3;"ms" ICompute 

130 ITime 

140 END 

• Result: V/360 ICLOS COMMANDh 114994506836 ms 

Benchmark 4 

• Connguration: Fig. 9. 

• Command: DIAG: POKE <address>,<:width>,<data> 

• Unguage: HP B.^SICA^^S G.O. 

• Program: The saiiie as benchmark 2 except for line 140. 

140 PRINT "217/B6 (DIAG;PDK£}: ":|[T2-T1)/10)*1 E+3fms" 

• Result: 217/B6jDIAe:P0KE}: 19.9981689453 ms 

Benchmark 5 

• Configuration: Fig. 9. 

• Coniniaiid: [ROUTjCLOS (©channeljtsi) 

• Unguage: HP BASIC:WS 6.0 

• Program: The same as benchmark 3 except for line 130. 

130 PRINT "217/B6 SCPI (CLOS COMMAND): ";(|T2-Tl)/20.ri.E+3;"'ms^^ 

• ResuJf: 217/Be SCPI ICLDS COMMAND}: 15.0009155273 ms 

Benchmark 6 

• Configuration: Fig. 9. 

• Corrmiaiid: D1AGnostic:P0KE<address>,<width>,<data> 

• Language: IIP BASICAVS 6,0 

• Program: Same as benchmark 2 except for line 130. 

140 PRINT "Zn/WS (DIA6:P0ICE): ";((T2"Tl)/104*1.E+3rms" 

• Result: 370/WS (0IAG:PDKE|: 149993896484 ms 

Benchmark 7 

• ConOguralinn: Fig. 9. 

• Command: [RDUT:]GLOSf@channei_list) 

• Language: HP BASICMS iySl 

• Program: The same ajs benchmark 3 except for line 120. 

120 PRINT "37CVWS SCPI (CLOS COMMAND): ^{(T2-Tl)/20.ri.E+3;"ms" 

• Result: 370/WS SCPI ICLOS COMMAND): 13.0004882813 ms 

Benchmark S 

• ConHguration: Fig. 10. 

• Command: WRITEIO <select code>,<register number>,cregister 

• Language: HP IBASIC 

• Program: 

10 INTEGER I \ Declare loop counter variable 

20 Base_3ddr=OVALnFD0O0 M6) IConvert base address to a REAL 

30 'number 

40 Reg_addr^Base„3ddr+32 !Add register offset, store register address 


60 FOR Ul TO 100 

70 WRITEIO -9826,Reg_addr;l (Connect row to column on bank 


HP 1405 


Module with 


H0fay Module HP 1466A 
I Logical Address 64] 

- Other Modules 


Fig. 10, Configuration for bejidunarks 8» 9, and IQ. 

48 April 1992 Hewlett-Packard Jounml 

)Copr. 1949-1998 Hewlett-Packard Co. 

30 UNTIL eiT(REA0IQ(-%26,Base_addr^}J) IMonltOf relay card status 
TOO 1 register bit 7 fbusyf m deiermme v^wf\ tfit relay is closed 


130 PRINT "JBASICfWRITEIOh ';in"2-T1|/lflO,rTE+3rms" ICompufe time 

140 END 

• Result: IBASIC(WRITEIO); 8-49975585338 ms 

Benchmark 9^ 

• Configuration: Fig. 10. 

• Command: D[AG;POKE <address>,<widtli>,<data> 

• I^igiiage: HP IBASIC. 

• Program: Same as benchinark 2 except for lines 20 and 

20 ASSIGN @Comm TO BO9O0. 'Assign I/O path 

140 PRINT "IBASIC (Dl AG 'POKE): ";(rr2-Tn/lQO)*10OO,f ms^^ 

• Result: IBASIC (OIAG:POKE):21Q009765625ms 

Benchmark 10 

• Configuration: Fig. 10, 

• Command: [ROUT:]CLDS (©channeljist) 

• Language: HP IBASIC. 

• Program: Same as benchmark 3 except for lines 20 and 

20 ASSIGN ^Switch TO 80908. I Assign I/O path 

120 PRINT 'IBASIC (CtOS COMMAND): ":f[T2 Tl J/20, n 000.;" ms" 

• Result: IBASIC jCtOS COMMAND): 16,4993286133 ms 

Benchmark 11 

• Configuration: Fig. II 

• Command: OtAGn:POKE<address>,<width>,<d3ta> 

• Language: Borland T\irbo C++- Version LO. 

• Program: 

r Include the following header fites 7 

^include <stdio.h> 

#rnclude <string,h> 

/include ctime.h> 

/include <chpib.h> /* File is in HP-f8 command Irbrary */ 

rfinctude <cfunc.h> /* File is in HP-IB cammand library 7 

/• Defines the cominend module HP-IB addfess 7 
Idefine ADDR 709001 

Relav Moriule HP t46fiA 
4 X 64 Matrix Switch 
(Logkal Address 64| 

Other Modules 

/* Defines the relay imidules register address 7 
/define D1AG_DUT ''DlAG:POKE #H1FD020,16J" 
/define DIAGJN "DlAGrPEEK? /H1FO004J6' 

int mainlvoid] 





Tl, T2: 


ifih:_status. last status = 0,; 

r Set HP-18 timeout for error checking */ 
errDr_handier (lOTIMEOUT (7U5.0J. "TIMEOUT"J; 

/* Get irtrtial status bit value 7 
error_handlBJilOOUTPUTSfAODa DIAGJN. strlBn{01AG_IN|l 

"OLiTPUT command"); 
efrQr_handler{IOENTER{ADDR. &inrt_statusl "ENTER command" J; 

/* Determine initial time of test 7 
Tl = time(NUtt); 

/* Start to op to determine time 7 
fcr {loop = 1; loop <= 1000: loop ++) 

/* Close relay for each loop 7 
error^handlerflQOUTP[JTS(ADDR, DfAG.OUT 

stFlen(DIAG_OUT)), "OUTPUT command"); 

/* Determine if relay is closed before executing next loop7 
while(tintt_status - iast_status| \= 128) 

/* Read status value 7 

error^handlerj 10 DUTPUTSiAOOR, DIAGJN, 

strlentDlAG IN)), 'OUTPUT command"); 
errDr_handler[IO£NTEfi(ADDR, Stlast^status), 'ENTER 
r Reset the status value for nexT loop 7 

Iast_st3tus = 0.; 

/* Determine time at end of test 7 
T2 = timefNULL); 

/* Calculate and display test time 7 

printfrTime = %f seconds", (dtfftime(T2Jl) / lOOO)); 

return 0; 

/* Error checking routine */ 
Int error_handler {int error, char *routine} 

char ch; 
if terror ! 


prlntf {"\n Error %d %s \n", error, errstrlerrorJh 
printf C in call to HP-IB function %s \n\n", rotrtine); 

printf ('Press 'Enter' to exit: "); 

scant f"%c'', Sch); 


return 0; 


• Result: Time - 0.010000 seconds 

HP Vactra Computer Mith 
ait HP e23a5 HP-18 Card 


Fig* IL f ItjufigufaLiorr far tx^ncfunarks 11 /ind 12. 

April 1992 Hcwleti-Paokard Journal 49 

)Copr. 1949-1998 Hewlett-Packard Co. 

Bertehmarlc 12 

• Configiiraticm: Fig. 11. 

• Conimand: [ROUT:]CLOS {©channeljist) 

• Lariguage: Borland Turbo C++ Version 1.0. 

• Program: 

/• Include the fallowing header files */ 

^include <stdio.h> 
^incfude <tjfne,h> 
#include <chpib,h> 

/* Defines the relay module HP-iB address*/ 
#defTne ADDR 70908L 

/*■ Defines the relay open coftimand 7 
^define SCPLCLOSE ' CLOS (®10000};*OPC?" 
^define SCPI_OPEN "OPEN {@10000);^OPC''^ 

int main(\/oid) 

tinie_t Tl, T2; 

int loop, length = 5; 

char into[B]; 

/* Set HP-IB timeout for error checking 7 
ermr.handler UOTIMEOUT (7U5.0h TlMEOUr); 

r Deiermine inEtial lime of lest 7 
T1 = timelNULL); 

r Start loop to determine time 7 
for (loop " 1; loop <= 500; loop ++) 

strlen(SCPI_CLOSE)L 'OUTPUT command"); 
error_handler(iOENTERS(ADDR, into. &length), 

'ENTER command"!: 
strlen(SCP!_OPEN)). "OUTPUT command"!; 
error_handJer|10ENTERS(ADDR, rnto, SiJength). 
""ENTER command"): 


/* Determine time at end of test 7 
T2 = time! NULL); 

r Calculate and display test time 7 

prmtfC'Time = %f seconds", (difftime(T2Jl} / 1000)1; 

Embedded CoEitroller 
ttP £14S0A {V/3G4). Sbt 0, 
and Resource Manaf er! 

Rdsy Modute HP 14fi6A 
4 '■ 64 Matrix Switch 
(Logical Address fi4} 

Otfier hlfoddes 

UN # 

HP 9133 Dfsl( Drive 
Fig. 12, Configuration for benchmark 13. 

Benchmark 13 

• Configuration: Fig. 12. 

* Command: Direct register access* 

• Language: C, 

* Program: 

return 0: 









#defrr)e U 64 

#define looptimes S.O 

mainO f 

int Stat; 

int fd; 

int i; 

int j; 


/* Error checking routine 7 
tnt error_hindler lint error, char *routine) 

char ch; 

if (error 1= NOERR) 

printf {"\r\ Error %d %s Vn", error, err str| error)); 

printf (" in call to HP-IB function %s \n\n", routine); 

printf rPress 'Enter' to exit: "S; 

scant r%c", &ch}; 


return 0; 

struct dev_regs { 

jnstgned short id_reg, 
unsigned short device_type; 
unsigned short statLis_reg; 
ynsigned short dummyflSl: 
unsigned short bankO_channels; 

} *dav; 

struct timeval first, 


• Result; Time = 0.013000 seconds 

struct timezone t2p; 

/* open the device file 7 
if (fd<0) { 



5 April 1 992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 


<3ev=(s^uct dev_regs *JvxLg&t_al6_addr(M.LAk 

/^ crtati T-ms bysy time */ 
^ettimeafcfay (Sffrst^tzp); 
for (j=0; j<=7000; i +^): 
gettimecffiiay f&second.Stzp); 

if (first.tv_usec > secDnd,tv_usecJ { 
second.tv_us€C ^^ lOOOOOO^; 
secand.tv_sec — ; 


lapsed;tv_usec = second,tv_usec -- firsLtv_usec; 
Japsed,tv_sec = second.tv_sec - first.tv_sec; 

printf ("Ctianfiel closing (busy) time - %ld see %ld usee 

\n " Ja p^ed tv^secjapsed.tvjsec); 

g ett I me of d a y ( S(f i rst Sitz p ): 
for (i=0; K-lDOptimes; [ ++) 

/* Close channel 1, wait 7-ms jhusy time) 7 


for (j=0, i<=7000; j ++); 

d e v-> bank 0_ channel s=OxOOOO- 

for IH; 1^=7000; j ++J; 


getiimeafday (8isecand,&trp); 

[f (firsttv_LJsec > second,tv_usec) { 
second. tv_tjsec +- 1000000; 
second. tv_sec- — ; 


lBpsed.tv_usec = (second.tv_usec - first.tv_usec)/lO.; 
lapsed. tv_sec = j second. tv^^ec - first tv_sec^/1D.; 

prfntfr'Command execution end busy time = %ld sec %ld usee 



► Results: Channel closing (busy I XmB = Q sec 7322 usee 

Command execution and busy time ^ Osec 871B usee 


The dense niatnx relay modules are among the highest- 
density ^TClbus switch modules available today. FIFO 
memoiy on the relay modules enhances system through- 
put by allowing the modules ro interrupt ti^eir conuuand- 
er's CPU only after the last relay in their channel list is 

The relaj' modules can be programmed using ASCII-based 
SCPI commands and the HP El 405 command module, or 
can be progranuned directly at the re^ster level. Bench- 
mark programs show that the highest throughput is 
achieved with register-based programs in which SCPI 
command parsing is eliminated, and the registers are 
accessed from the VXlbus backplane. Subtracting the 
7-ms relay settlii^g time from each benchmark shows that 
access from the VXlbus backplane Ls up to 26 times 
faster than the HP-IB, However, it is the command 
parsing time, rather than IIP-IB or VXlbus speeds, that 
has tiie greatest impact on throughput. 

Benchmarks using D I AG: POKE were run because of its 
similarity to commands supported by other command 
parsers. The results show that DIAGPOKE, an SCPI com- 
mand that writes data directly to the relay modules FIFO 
memoiy, offered approximately the same throughput 
performance as the high- level CLOSe command. This is 
attributed to the efficient SCPI parsing algoritluns of the 
HP E1405 command module and shows that with a fast 
command parser, there is little throughput advantage to 
register-based progranmung imless command parsing is 
eliminated entirely, 

Ac kn owl edgm en ts 

We would like to thank Ron Hanson, Chuck Platz, and 
Conrad Proft for the useful technical discussions. A 
special thanks goes to Peter Meyer for his C programs 
for the IIP Vectia c^ompuier, and to Art Boyne and Frank 
Goss for their reviews. 


1 VMEhus Ejrte7isiofis for huUrumentation System Bpeciji^alion, 
Revision L3, Juiy 1989. 

2. Standard CommaitdJ^for Frogramma^lM Instrummtt^ Manual, 
Version 19fK).{), April imU, 

3. HP E1S26E/E141 IB fj m-DigU MiUtiimter User's Manual, Edi- 
tion J, HP Parr Niimbf^r El 326^90003. 

4. L. DesJardin, "VXlbus versus (jPIB: Is VXlbus actually faster?,** 
VXlbus Jourrml, November 1990, pp. 1M4. 

April 11:^:^1 lew let^Pa^!kard Journal 51 

)Copr. 1949-1998 Hewlett-Packard Co. 

Mass Interconnect for VXIbus Systems 

The HP 750D0 family of VXIbus products includes a set of interconnect 
hardware that enables automatic test system developers to mount OUTs 
easily to HPs VXIbus mainframe. 

by Calvin L, Erickson 

The interconnect harciwajc in an autoniatic tost system 
consists of the components that connect the device under 
test (DUT) to the test system mainframe. Typically, 
automatic test equipment (ATE) product development has 
focused on instrumentation, controllers, and software. The 
resuh is that the interconnect hardware in a test system 
has hecome a m^ctr comt>oiien1 of ^iysteni cost. In niosl 
test systems, interconnects consist of chscrete wire and 
connector harnesses, and their fabn cation is custom and 
labor intensive. Many systenis also require a mass inter- 
connect for interfacing with niultiple devices under test 

The development of the VXIbus has brought these issues 
into sharper focus, tireater density requires that more 
signal lines must be packed into less space. Higher 
speeds require shorter lead lengths and better connectors. 
Finally, economics and time-to-market constraints demand 
standard parts suitable for n\any applications. 

This paper discusses the development of mass intercon- 
nect products specifically for VlObus systems. Based on 
the HP ATS 2000 system resource interface, these prod- 
ucts mount directly on the front of the IIP VXIbus 
mainframe. Tlris paper also discusses the trade-offs 
involved in incori^joratiivg a mass interconnect into a 
VXIbus test system. 

HP Interconnect Components 

As pail of the UP 75000 family of VXIhus uistruments. a 
numl>er of mass interconnect products are available for 
use in VXIbus test systems. These products, known as the 
IIP 75000 system resource interface, allow^ a single test 
system to service a large variety of units under test. Fig. 
1 shows the products included in the IIP 75000 system 
resource interface. 

The interface connector assembly (ICA) is the heart of 
the system. It seri'es as the primary interface between the 
test system and the DUT. The ICA is typically rack- 
mounted and wired directly to test system resources such 
as switching, sensoi"s, and sources. The ICA provides 
locations for mounting ICA connector blocks and aligning 
connector blocks and their mating halves, and a mecha- 
nism for overcoming the connector mating forces. Tlie HP 
75000 system resource interface connector assemblies 

The HP 0420A ICA. This is the standard rack-mount ver- 
sion shov^Ti in Fig. 1 . 

■ The HP E3720A \^XIbus ICA. This ICA mounts directly on 
the front of a VXIbus niainframe. it also allows direct 

Imerfacfi ConnectDr 

Interface Te& 
Adaptei {\TA} 

Contt«c(4ir Bittcks 

Fig. 1. The kinds of interconnect products in the HP T5000 system 
resource interface. 

access to VXIbus modules and provides the greatest op- 
portunity for short lead length. 

The HP F:3722A hinged ICA, This ICA also mounts direct- 
ly on the front of a mainframe and hinges down to allow 
access to VXIbus modules. 

The interface test adapter (TTA) is the frame that mates 
with the ICA It. provides locations for mounting connec- 
tor blocks. Typically, several ITAs are purchased, one for 
each type of DVT. A frame or fixture is often built on the 
ITA, customizing it to the particular DIT. Fig, 2 shows an 
ITA customized for functional testing of a printed circuit 
board. The IW 75000 system resource interface includes 
two different ITAs: 

The HP 942 1 A. Ttiis TTA is used with the HP 9420A ICA 
and the HP E3722A hinjied ICA. 

Tlie HP B3721 A VXIbus ITA. This ITA is used witlt the HP 
E3720A \OClbus ICA, 

Different kinds of connector blocks are available for use 
with the fCAs and ITAs (see Pig. 3). These blocks are 
wired and Uien installed in tlie appropriate location 

52 Apdl 1992 HewJett-Packard Journai 

)Copr. 1949-1998 Hewlett-Packard Co. 

Fig. 2. A Hypical autoniatit test application m which an interface 
test adapter (ITA) is ciistonii!xed Tor Lhe fimctional testing of a 
printed circuit board. 

within the ICA or ITA. Tiif three pritTiary choices are 
192-pin general-puriMisc', 36-(^ontact coaxial, and 24-can' 
tact power Ttiese connector blocks iire compatible with 
each EGA and ITA choice listed above. 

Customer Eequirements 

The Bst of customer requirements for mass interconnect 
in a VXIbiis test systetn is extensive. Most of these 
requirements derive from the need to test a large variety 
of DUTs. The mass Interconneet must have a variety of 
coimectors that can handle different types of signals. 
These include low-level precision signals, iiigh-fiequency 
sigtials, and high-power signals. Some rimes, it is neces- 
sary to keep lead lengths as short as possible to maintain 
signal integrity. The connectors must have a long life to 
allow frequent changes of the ITA. The ITA must have a 
nigged and versatile eonstniction to allow the add! I ion of 
a variety of fixttues suitable for testing everytliing from 
printed circuit assemblies to automobiles. 

Most test ."systems requhre many modes of wire routing. 
For tJie VXn^us, tliese modes include: 

• VXI-to-ICA. For example, a VXIbus relay module c^m liave 
many connections directly to an K'A eoniiecMor blrjck, 

• VXl-to-VXI. The same relay module vim have aji analog 
bus connection to a neigiiboiing module in the same 

• \9Cl-lo-System. A VXIbus slot module niay require an 
11 [MB connection to the controller. 

• It;A-to-Systeui. A non-VXlhus sigi\iil gerterator may re- 
quire connection to an ICA connector l>lock. 

Test systems must be ^rsy to configure and reconfigure. 

This requires that VXIbus modules must be easy to install 
and remove. Wiring should be accessible. Standard cable 
4issemblies should be available that satisfy' most of the 
wiling requirements. Dlffeit^nt ICA configurations should 
be available for mounting in from of VXIbus or standard 
rack mounting. 

Finally, some customers require that the mass intercon- 
nect conform to industry standards such as .^INC 608 
and MATE. 

Product Development 

The project definition dictated that we rely on ejdsting 
protlucts to satisfy citstomer requirements. From a 
Ijractical standpoint, a lack of resources prevented us 
from designing a new product from scratcli. Therefore, 
one of our m^jor decisions concerned the selection of a 
vendor. There were two viable choices. One vendor liad 
already luodified their existing interconnect product line 
(connector block, ICA, aitd fTA) to fit on the \iabus. 
Their design was generally sound, and contained only a 
few minor problems. Another vendor had a different 
product line that conformed to the recently emerging 
industry' standard ARINC 608, which has become increas- 
ingly important in some segments of the marketplace. 
.\lthough this product line had not been adapted to 
VXIbus, it was already established within HP, Both 
products were similar in cost, quality, and density. In the 
end, the decision to tjse the second vendor was based on 
two primaiy criteria: leverage and industry' standards. 

We gained leverage from previous HP engineering experi- 
ence in lest systems, the willingness of the vendor to 
provide engineering expertise, and the use of the same 
connector blocks acrross the entire ftmiily of ICAs arul 
ITAs, HP's Advanced Manufacturing Systems ()peratit>n 
(AMSO) had the products set up on the liP ATS 2000 
product line. This allowed us to adopt the IIP 9420A ICA, 
the HP 9421 A ITA, and tlie contiector blocks without 

ICA Connector Blocks 



ITA Connector Blacks 

Fig, 3, ITA and \VA tujuH/ctor blocks, 

April 1 1)92 HpwU'tt^PatTimr^ JournaJ 53 

)Copr. 1949-1998 Hewlett-Packard Co. 

Connector E)clen&ion 

Bulkhaad PaneJ 



Mounting BlQck 

VX^btis Modute 

ICA CBnitectDr 

Fig. 4. An HP E(J730A interface terminal module (TtM) with the 
cover remove £;l. 

going throiigli full qualific^ation testing. We still had to 
solve the problem thai these interconnect components ditl 
not mount on the front oJ' a \'XIbus mainframe. The 
vendor solved this problem for us by agreeing to make 
modifications to the standard ICA based on our design 
concepts. Finally, we made the decision to use the same 
connector blocks across the entire family. This pi evented 
duplicate docun^entation and qualification efforts. 

Modifications to the statidard ICA for use on the front of 
a VXIbus mainframe faced several design challenges. A 
primary design goal was to minimize the wire length 
betv^een the VKTbus mrjdule and the ICA connector block. 
This meant that the connector block had to be assembled 
directly to the \OGbus module. An interface terminal 
module (ITM) similar to those already used in the HP 
VXIbus switch products was a logical choice. This inter- 
face terminal module attaches to a VXIbus ntotliile on one 
side and includes an ICA connector lilock on the other 
(see Fig. 4). The two ends are wired together, minimizing 
vvnre length- Note that a better solution would [lave been 

to include the ICA connector block as part of the VXIbus 
module. This was not practical because VXRjus does not 
specify the type and lo<*ation of front-panel connectors. 
Most systems include modules from various vendors, 
Thus, there is no way to control all the connectors and 
their locations. 

The next challenge was providing easy installation and 
removal of V'^bus modules past an ICA monnlod on the 
front of ttie mainframe. The first vendor demonstrated 
one solution to this problem. Tlieir ICA simply hinged 
down and out of the way. Although this pro\ided excel- 
lent module access, it had two problems. The first w^as 
the requirement for ver>' tight alignment tolerances 
between the mainframe and l:he ICA. The second was that 
the VXIbus module, and not the sturdy ICA frame » sup- 
polled the interconned mating forces. We decided that 
inslailirtg the ITM-to-\OiIbus assembly directly thi'ough a 
stationary VXIbns I CIA was a better solution (see Fig. 5). 
If the c^oimector block were allowed to Ooat witliin the 
interface terminal module, tolerances between the main- 
frame and the ICA could be kept loose. Also, if the 
connector block could be screw^ed into the iCA as origi- 
nally designed, mating forces would be properly sup- 
ported. There was only one problem: the standard ICA 
was not tall enough to allow a VXIbus module to pass 
through the opening. Increasing the height of the ojjening 
just enough to allow passage of a VXIbus module solved 
this problem. A connector extender was designed to 
increase the height of the standard connector blocks to 
fit in (he new^ stretched VXIbus ICA. This modification did 
not affect the ICA alignment and closure mechanisms 
because only the top member was changed. These mecha- 
nisms reside in the bottom and sides. 

Another challenge was that the standard connector blocks 
are on 19.05-nnn f0.75-in) centers. C-size VXIbus modules 
are on 30.48-mm (1.2-in) centers. This was handled by 
simply ac^usting the hole pailems in the VXIbus ICA and 
VXIbus ITA, making the inierface lenninal module 3048 
mm (1.2 in) wide, and supplying appropriate filler panels 

Wiring Access Penel 

Front ' 

Block ~ 





VXibus Module 



VXIbus Mainframe witti Cable Tray 

Fig. 5, An HP E:5720A\'Xlbni! ICA 
Mth an interface temiirial rtrndule. 

54 April 1992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

for use with the narrower connector blocks. A side effect 
of this is that the IIP E3r2(*A V^KIbus ICA is no longer 
tmfy compatible with ARINC 6()S, We decided that this 
was an acceptable comproniise if all the connector blacks 
were the sanie. 

Other challenges included the need to main tain easy 
access to modules and to facilitate ail modes of system 
wiring. These neetfe were satisBed ^ifh careful placemeni 
of the \^bus ICA relative to the rack mcmnting surface 
and the inclusion of access panels for wiring and a 
special tool for the module mounting screws. 

The clevelopment of the IIP E3722A hinged ICA was 
much more opportunistic. A customer rtN^ue-sted that we 
supply an ICA hittged to the front of a mainframe. For 
this product, interface terminal modules are no! used and 
all wires between the VKIbus module and the ICA con- 
nector block are flexible, so that opening the hinged ICA 
allows access to the \^lbus modules. The vendor devel- 
oped the changes based on one of their previous designs. 
Customer interest has remained strong and the E3722A is 
now a standard product (see Fig. 6). 

Product Description 

The three ICAs and their associated ITAs and connectors 
described above meet system wiring requirements in 
different ways. The following sections describe and 
illustrate these differences by showing the ICAs installed 
in a typical! rack-mounted test system. 

HP 94Z0A Interface Connector Assembly. The HP 9420A 
mterconnect products are identical to those used in the 
HP ATS 200D product. These include the HP 9420A ICA, 
die HP 9421 A ITA, and three sets of connector blocks 
(general -purE)0se, coax, and pcjwer)- These products are 
not specific to VXIbus and can be useful in any rat^k- 
mount application, 

T^ie HP f)420A ICA can \)e rack-mounted in any location 
in a test system. II confonns Kj ARINC 608, and provides 

VXIbus Mf}riyle in 
l^ecessc^d Aiainfrinw 



Reverse Mounted 


Fi>^- 7. Typical system wiring for an HP 9420A ICA. 


Fig, 6. An HP E3T22A tiinged ICA, 

21 slots on 19.a5-nun (0,75-in) centers. Although it is the 
most versatile ICA, it may use more rack space and 
require longer lead lengths tttan desired (see Fig. 7). 

The HP ^M21A ITA is designed to mate with the HP 
042DA ICA. It, has a frame widt 21 slots. Tapped holes are 
provided for attaching additional framework specific to 
each [)LTT Tliis frajuework and associated wiring must be 
provided by the customer. 

The general-purpose connector blocks (ICA and ITA) 
include two Ofvpin connectors. The coax connector blocks 
inchnlc^ positions for 36 conl^cts, purchased sepai'ately. 
The power connector blocks include 24 sense contacts 
iiiid positions for 24 30-A contacts, purchased separately. 
All the contacts have a life of 25,000 cycles. 

HP E372DA VXIbus tfiterface Connector Assembly (VXIbus ICA). 

The HP K3720A is im ICA modified 1t> fit on I he front of 
a VXIbus mainframe. It provides 13 positions on ;K).48-nun 
(1.2-inJ centers. Each position is aligned with the corre- 
sponding slot h\ the mainframe. The main differences 
between the HP E3720A and the standard HP 9420A ICA 

Flanges to position the VXIbus ICA relative to the VXIbus 
mainfranu> (thejse flanges also allow rack mounting any- 
where in the test system) 

April 1992 Hewlett-Packard Journal 55 

)Copr. 1949-1998 Hewlett-Packard Co. 

' Access panels above and below the VXIbus ICA (mmoval 
of these panels provides access to sysr.eTti wiring and 
eases the task of module installation and removal) 
The lop horizontal bar shifted up a sufficient distance to 
allow VXlbus modules to be inserted through the VXlbus 

The l)ottom horizontal bar cut out to allow greater access 
to system wiring 

■ Support by both horizontal bars for 13 connector blocks 
instead of the standard 21 

A special tool to gain easter access to the VXlbus module 
mounting screws. 

Fig. 8 shows wire routing in a slot that does nni refjiiire 
an interface tenninal modtile. 

The HP E3730A interface terminal module (rTM) is a 
housing that mounts on the front of a VXlbus module 
(see Fig. 9). It is designed for use only with the IIP 
3720A \rXIbus ICA. Featmes of this prtjduct include: 
Mounting blocks For mounting the ITM onto most VXlbus 
modules (This is accomplished by removing the handles 
from a module and replacing them with the blocks.) 
Standard connector blocks that mechanically float rela- 
tive lo the !TM (Tliis accommodates tolei"ance buildup 
between I he mainfrtmie and the VXlbus ICA.) 
Bulkhead panels for connections Lo other parts of Uie 

Provisions for installing te mi in al boards (see Fig. tO) 
supphed with many HP VXlbus switcli products (These 

VXlbus Module in 
Re c esse if id a intra me 

V)(lbus Meduie 




Fig. 8. Typical system ulrlng for an HP E3720A VXtbu5 ICA with- 
out an inlerface terminat rm>dule. 



VXtbus Module in 
Recessed Mainframe 

VXttius Module 




Fig. 9. Typical sysLeni wring for an HP ESTIDA VXJljiis ICA \^ith 
itii tiP E3730A intcvf^fM-^ tr^nninal inrKinliv 

boards supply functions such as matrices, rhemiocouple 
reference, and so on.) 

• A "funner for tool guidance when installing a module in 
the main frame 

• A pull ring to ease the task of removing modules. 

The E3721A \Oflbus interface test adapter fV^bus ITA) is 
designed to mate with the E372QA VXlbus ICA. It is 
identical to the HP 9421 A ITA except that il supports 13 
conned or block^ij instead of 21. 

HP E3722A Hinged Interface Coiinecfor Assembly (Hinged ICA). 

The I IF E3722A is another ICA I hat has been modified lo 
fil on the front of a VXlbus nuiin frame. Like the HP 
9420A It:A, it conforms to ARINC 608 and provides 21 
slots on 19.05-nuti (0,75-in) centei^. The main (iifteiences 
between Ihe HP E:iT22A hinged ICA and the standard HP 
*H2t)A ICA include: 

• Flanges to position the hinged ICA relative to the VXJLms 
mainframe, which include hinges on the bottom and 
knurled screw tied owns on top 

• lapped holes across the bottom for cable tie points. 

Fig. 11 shows the wire routing with a hinged ICA. 

System Integration Process 

The process of including a mass interconnect in test 
system developmer^t is very complex. The following 
simplified procedure may hetp the system integrator 
through many of tiie issues. 

56 April J 992 IlewIi*ii'PadcMd Jmimat 

)Copr. 1949-1998 Hewlett-Packard Co. 

Pig. 10. In the foregroimii is an HV E'STSOA inLerface terminal 
riiodulp tenminaJ board mih the fovpr rornovpfJ. In Llip backgrf)und 
is an HP E'^TSO VXIbns irittTface connector assembly attac:hed to 
an HP 75000 Series C cardcagf*. 

1. The first step is to identify the number and type of 
BVTs that will be tested Ijy I lie system. Usual ly, a differ- 
ent ITA will be built for each DlIT, with one more for 
system selMest, A list of necessary' system resources 
should be created for each ITA. Each list should include 
sources such as power supplies, sensors such as voltme- 
ters and counters, and components for switching and 
communication. The different ITA lists can be combined 
iiito a single list of system resources required for all 
tests. Each ilern on the list will translate into a single line 
on the ICA. 

2. The second step is to determine if a mass interconnect 
is necessary. The follow ijig questions should help in ttiis 

• How many different DlIT^ wUl be tested? More than two 
or three n>ay indicate a need for mass inlerconnect, 

• Flow offen will ITAs be changed? More than 4f)0 to 50() 
times through the life of the system may indicate a rieed 
for mass interconnect. 

• How^ many lines must be fed through the mass intercon- 
nect: more than 200 to 400 general -purpose lines, or more 
than 20 to 50 coax or power lines? If so, mass intercon- 
nect may be appropriate. 

' What type of signals must be connected? 

• Do appropriate mass interconnect connectors exist? 

In many cases, a mass interconnect Is not appropriate. A 
hish-quality, militaiy-slyle circulai" connector may be 

3. The next step is to refine the list made in step 1. 

Trade-offs must be made between maximizing system 
riexibihty, minimizing complexjiy and cost> and maintain- 
ing critical performance specifications. Particular attention 
should be given to switching networks. Consider the 

• Cusiom configurations behind the ICA limit system flexi- 
bility, but they also reduce ITA complexity and cost, 

• Switch networks are essential for minimizing resources 
and providing system flexibUity^ but switches have lim- 
ited life. They add complexity and reduce system perfor- 

Add lines to the list to account for switching networks, 
ITA identification, and so on. To each line, attach any 
important performance specifications stich as frequency, 
voltage, and current. 

4, The next step is to make a preliminary^ layotit of the 
entirL^ system. In most cases, it is best to start with a 
block diagram. The diagnim can then be used to make a 
skett^h of a rack showing all systent components. This 
sketch should include all sources, sensors, switches, mass 
interconne<'ts, controllers, and so on. Now is the time to 
think aboui wiring issues such as grouiuliJig and critical 
lead lengths* Remember to leave room for growth and 

Selection of the appropriate ICA occurs at tliis time. This 
decision should be based on the above considerations and 
the following: 

• Is compatibility required with other ITAs? These ITAs 
may already exist or they may be planned as part of a 
large prcyject. 

• Is compatibility required with an industry standard such 
as ARINC 608? This would limit the choice to the HP 
9420A or the IIP E3722A. 

• What type of signals will be connected? How many lines 
will be connected? UTiat is the required cycle life of the 
connectors? The answers to these questions may indicate 
the use of less-t^xjiensive interconnect products such as 
the HP 34592A quick intercomiect. 

Fig. IL 'IVpical system wiring for an BP E3722A hinged ICA. 

April mz Hewlett-Packard Joiim;i] 57 

)Copr. 1949-1998 Hewlett-Packard Co. 

Is rack space limited? If so, the HP E3720A or HP E3722A 
may be the best choice. Botli ICAs niouril on the front of 
the VXIbus mainframe. Remember, however, thai other 
sysiem components may be reverse mounted behind the 
IIP 9420A without sacrificing rack space. 
Is a reduction in access to VXIbus front panels accept- 
abie? Any ICA mounted in front of the \OQbus mainframe 
wiU limit acx-ess to VXIbus modules. Front-panel indica- 
tors will not be visible and modifying modules and wiring 
will be more difficult. 

Is short lead length between the VXIbus modules and the 
ICA connector important? If so, the HP E3720A may be 
the best choice. 

Do most of the ICA wines {at least 60 to 75 percent) con- 
nect lo VXIbus nu)dules directly in a single niainlVanie? If 
so, the HP E'3720A may be the best choice. If there are 
many wires that cormect elsewhere in the system, Ihe IIP 
9420 A could be a better choice. 

Are the limitations of the IIP E3722A hinged ICA accept- 
able? A practical hniitalion in density is imposed by the 
requirenient tliat all wires must bend every iliue the ICA 
is hinged down. Because the hinge is at the bottom, ali 
wires must l:*e tied at tliat point. This impedes wiring that 
must connect to resources above the VXIbus mainframe. 

5. The fifth step is to refme the system layout and 
interconnect list. In partieuiar, add detail on the layout of 
connector blocks in the ICA, including pinout definitions 
for each block. It is usually a good idea to retain a 
generic funclioniil grouping. In other words, dedicate 
some blocks to sources, some to sensors, some to power, 
some to liiglt frequency, some to switching networkst and 
some for groviib, Tliis functional grou|nng is jiarticularly 
important for systems that will he testing many different 
DlTTs. Remember that many of the rustom cormecfions 
can be made inside the ITA. 

6. tlnatly, it is time to compile a list of all parts and 
products, For the system side, this should include the 
ICA, interface terminal modules (for the E;3T20AJt ICA 
connector blocks and blanks, cable assemblies, and 
contacts. For the DLT side, this should include ITAs, ITA 
connector blocks and blanks. cat)le assembhes, contacts, 
and all parts necessary to customize the ITA for a partic- 
ular DUT 


The integration of mass intercormect into a test system 
adds significant, but often essential, complexity. The 
.system integrator is required to consider many factors. 
These factors include Dl^T quantity and type, signal 
chararteri.stirs and tiensity, system components, available 
rack space, diagnostics, reconfiguration, and so on. One 
of the most importaJit factors is the availability of ap- 
propriate mass interconnect products. The HP 75000 
system resource interface provides an excellent set of 
tools for use with VXIbus-based lest systems. Appropriate 
use of these products can greatly influence system cost, 
de%^elopment time, and perfomiance. 

Aek n owl ed gm e tits 

I would Uke to thank the following people for their key 
roles. At IIFs Advanced Manufacturing Systems Opera- 
tion, Mike Stefan isko for his teclmical expertise and 
advice, Dari Meitus and Jim McGitlivary for their support. 
At Mac Panel Company, TYoy Rector and Kellie Coble for 
their responsiveness. At HP's Love land Instrument Divi- 
sion, Chailie Srlrmiflt for the riesign of (Jie ITM, and in 
pailiculai; Bryan Thompson for his uivolvement in the 
defmition and in the details of introducing these new 

58 April 1992 HewItFtt-Packard Joiimal 

)Copr. 1949-1998 Hewlett-Packard Co. 

A Manufacturing-Oriented Digital 
Stimulus/Response Test Instrument 

This digital functional tester consists of pattern I/O, tinrring. and command 
modules configured in a VXIbus mainframe. The maximum pattern rate is 
MHz and pin-to-pin skew is less than 6 ns. 


by David P. Kjosttess 

Test en^neers and system integrators have tised analog 
instm mentation for years in their automate d functional 
test systems, tinljl t^ow. however, there lias been little iii 
the way of cost-eflecti^ e, manufacturing-oriented digital 
instnmientaiion with which to round out their toolkits. 
The HP 75000 Model D20 was created to nil this void. 

The decade of the 1980s saw an explosive increase in the 
ainount of digital circuitry- used in all nianner of electron- 
ic assemblies. Today, an estimated Bi>^> of all circuit 
boards are uiamtfactured with substantial digittd content. 
In the 1990s, the use of digital cirrulti'y will continue to 
increase p as will the use of advanced packaging such as 
fme-pitch surface n)ouni tcchnologj^ (SMT) and multichip 
modules (MC'Ms). Also, the proUferation of open architec- 
tures w^ill require testing to rigid specifications. The effect 
of these developments will be a greater emphasis on 
digital functional testing in future manufaciuiing schemes. 

Functional testing involves tlie transfer of information to 
and from the device under test (DIT). A stimulus is sent 
to the OUT tti ovcike some response, which is then 
anal>^ed to detennine If the IlL^T is operating correctly tf 
the stinuilus and response art^ digital, then it is a digital 
functional test. If some part of the stimulus or response 
IS not digitiil (i.e., atuilog or uux-hanical), then it can be 
said to be* a mixed-signal lesf hi functional testing, the 
stimulus application and response measurement are 
generally performed through the assembly s edge eonnec- 
tors; connections to inten^al nodes are kept to a muii- 

The uses for functional testing can vary considerably 
St>me manufacturers use it simply to verify connections 
from connector pins to internal components. Others use it 
to exercise thp functions of their assemblies in go/no-go 
tests. Still olhers develop complex fault isolation and 
cUagnostic tests to pinpoint fmled components within their 
assemblies. Regardless of lest complexity, there is a need 
for cUgital instrumentation that can be jntegrat€Hi with 
analog mslruments like voltmeters and counters. 

A General Model for Digital Interfaces 

t>igii;U interfaces ccjme in myiiad forms. There are 
standard backjjlanes [like VXIbus) and proprietary back- 
planes specific to certain products, fheri^ are iUso non- 
backpiane interfaces, both stajidard (like SCSI) and 
proprietaiy. However different, all digital interfaces shai'e 

certain characteristics which can be exploited when 
designing a digital stimukis/response instrument. 

The signals of ilie interface fall into two major categories. 
First, all but a few of the tines tue dedicated to canying 
information ro or from the DUT. These include the data 
and address buses on a computer backplane, for example, 
and will be called patlem luws here. Second, there are a 
few signals, the control and handsfmke lines, which 
facilitate the infomiaiion transfers on the pattern lines. 
Control signals are created liy the tester to regulate the 
transfer process; strobes and clocks are typical examples. 
In many interiaces, the DUT responds to control signals 
wqtli a handshake signtil to acknowledge a data transfer 
or to modify the rate of transfer. 

Let's define some terms. A ci/de is the sequence of events 
necessary to transfer one bit to or from the DUT on each 
of the interface's pattern luies. A particular interftice 
specification may define more than one type of cycle — 
read and write, for instance. The specification of a cycle's 
pattern data along with that cycle's type forms a vector. 
An ordered list of vectors is a called a sequence, A 
complete test consists of \he execution of one or more 

As an exan>ple, consider a data transfer cycle on the 
VTVIE (or VXl ) bus. Suppose that the tester is acting in the 
bus master role, writing dala to the Dt.T (Fig. la). At the 
beginning of the cycle, the tester places valid information 
on the address (A01A31), addi'ess modifier (AMO-AtVlSj^ long 
word(LWORD*) and inlemipt acknowledge (IACK*j hues, 
.^er allowing for propagation delay and st^ttling time, tlie 
addreas strobe (AS* J is asserted. Also, near the beginning 
of the cycle, WRITE* is asserted and the data to be w^ritten 
is put on the data bus (DSM-OSI). This is followed, again 
after a suitable delay by the assertion of one or both of 
the data strobes (DSO*, DSU). It is now up to the DUT to 
acknowledge the data transfer by asserting DTACK*. after 
which the tester will negate ttie address and data strobes, 
then wait for the DUT to negate OTACK*. When DTACK- 
goes false, the cycle is complete and another cycle can 

A read cycle (Fig. lb) is similar, except that the tester 
tiegates WRfTE* and tristates (do<\sn't drive) the data bus. 
Instead, when tJie data strobes are asserted, the DLIT 
puts its response^ data on tlie data bus and assert-s 

Apri! imi Hewlett-Pac; karxi ,J^ >iiri i :il 5 9 

)Copr. 1949-1998 Hewlett-Packard Co. 

DTACK*. The tester then accepts the response and negates 
the flaia strobej>, causing the PUT to iristale the data bus 
and negate DTACK'*', conipletinjLj the read cycle. 

hi this exaniph\ the address, address modifier, and data 
tiuscs are identified as ]) at tern lines. The address and 
datii strobes are control signals and DTACK* is a hanci- 
shake line. LWORD*. IACK#. ajid WRfTE^ roiiid be treated as 
pattcm Unes but are really control-like in nature since 
they serv^e to define tjie type of cycle- 

Some observations about the two categories of signals aie 
in order here, beginning with pattern lines. First, pattcm 
iines each assume a single value in each cyc^le: they make 
at most orte tninsition per cycle. St*cond, pattern lines jire 
mosi often collecfed into sets that have coninion func- 
tions and timing. These sets are ealletl buM'.s and usually 
contain multiples of eight patlem lines. There might be a 
16-bit data bus or a 24-bit address bus, for example. A 
third ot)senation is Ifiat some, but usually not all pattern 
lines jnay t>e bidirectional. That is, they may caro'^ in- 
lonnatiou first one way and then Lite otlier during the 
course of the test. Data buses, for example, are typically 
bidirectional but address buse^ are generally not. 

The few control and handshake lines in an interfare differ 
from the patleni lines in a number of ways. Firsl. [Iu y 
are sinj^le lines, not contained within buses. (Sonu^tin\es 
an interface will have wiial is ctUled a c:onlrol bus, whicli 
is really a collection of individual control and handshake 
signals, not: the same as a patteni bus). Another differ- 
ence is that these lines usually make more than one 
transition in each cycle. In the \TVlEbus exanii)le above, 
the data and address strobes, as well as DTACK*, are first 
asserted^ then negated, thereby making two transitions in 
each cycle. There can be many repetitions of a clock 
sigrjal in a cycle. A third difference is that control mid 
handshake lines are nnidireetional, not bidirectional. 
Finally, for a given cycle type, the control and handshake 
lines have the same* behavior regardless of the irifuntia- 
tion on the pattern lines. 

Handshaking can be either synchronous or as^TichronoLis. 
If there is no exphcit clock signal in the hit erf ace, it Ls an 
asynchronous handshake. The VME and VXl buses employ 
this type. On the other hand, if there is a clock signal in 

the interface, then handshake and control transitions must 
usually lie synchronized to the clr>ck transitions, creating 
the synchronous variety. An exantple of this is when a 
device requests a wait state in a personal computer. 
When there is a clock signal in the interface, it can be 
generated either by tlie tester or by the DHT In the latter 
case, the tester Jiiusi be able to synchronize itself with 
the Dtrr-supphed clock, and this forms a type of hand- 
shake as welL 

Model 020 Requirements 

To be useful, a digital stimulus/response instrument must 
be capable of entulating the DlIT's interfaces. Its applica- 
tion to manufacturing test Ing imposes other requirements, 
including high test quality ai\d throughput, ease and 
flex ibi lily of integration and use, attd low downtime. 

Achieving high test quality places several demands on the 
instnmient s timing capabilities. The tester must first of 
all be capable of exercising the DLIT at full speed. Also, 
timing relationships at the DiFT must closely resentble 
those defined by the interlace specification. This means 
that the tester must have good resolution and accuracy 
for edge placement and cycle duration. Since different 
tyT:)es of cycles may have different durations or different 
(iming relationships between the various signals, the 
tester must l)e capable of changing timing on the fiy. 
Finally, since there may have to be a substantial length of 
cable between tlie VXIbus mainframe and the DITT, there 
must be some means of compensating for the restdtant 
cable propagation delays. 

Good signal fidelity is another requirement for high test 
quality. A tester must deliver clean stimulus waveforms to 
the DIJT and not be difficult for the DUT to drive cleanly, 

Maximis^ing test throughput requires not only that devices 
be tested at fuU speed, but that time spent transferring 
infonnation between the test controller and the tester be 
minimizefl. The amount of data tliat must be transferretl 
must be small, and the transfer rate must be high. 

Fixturing is an important aspect of production testing, so 
a variety of methods of connection to the DIT must be 
accommodated. In some cases it is possible to put the 


luyoRn + 


Valid Stfmirlris 


, Asserted 




\ AssAited 





Asserted ; 







\ Asserted 


A01 A31 , 
AMU- AM 5 y- 
LWOflO . 

AS 4 

WRnt ' 



Iftilid StiiBuliia 

\As$ert id 






■ Asserted 

tteflftte d^ 


' Asserted 

jlega ted 

^^ Asserted 

Neg ated 

(a) (b| 

Fig, 1, (a) VMElius v,tile cycle timing diagram, (b) VMEbus read cycle timiiig diagram- 

60 April 1992 Hewlett-Packard Jouma] 

)Copr. 1949-1998 Hewlett-Packard Co. 

DL1T dose to the instrument, but in others there may be 
one or two meters of enable separating them. There may 
also be a mass interconnect de\ice involved, such as the 
HP 9420A or E3722A interface connector assemblies. 

V\lien <ic>iiig mixed-signaJ testing, the digital instruraent 
must be synchronized with analog instrumentatioR. 
Flexible trigger inpuL^output capabiMt>' is therefore need- 

Functional test systems use a \^anet>' of instrument 
controller platfonns: peisona] computers. UNIX* worksta- 
tionSf and HP BASIC workstations, to nanie a few. To be 
compatible with all controUere. a digital instrument 
should have an ASCII command language like the other 
instruments in the system. SCPl [Standard Commands for 
Programmable InstnmienLs. a superset of FEEE 488.2) 
comnumd format is preferred. There should also be 
efficient non-ASCII opiions for transferring large volumes 
of patteai data. 

Finally, reducing downtime requires a reUable instnnment 
with built-in self-test to identify failed modules quickly 
Replacing a module must not rec^uiie time-consmning 
recalibralion to meet specifications. 

Model D20 Architecture 

With an eye to the tibove requirements, the HP 75000 
Model D20 design team in^-estigated various digital 
stimulus/response instrument arcliitectures. We looked at 
a number of existing products as well as several new 
proposals. What follows is a discussion of the architec- 
ttu^e tliat emerged from our Investigation and the deci- 
sions that siiaped it. 

The fact that interface signals fall into two categories 
(pattern and conlrol^iandshakc) suggested a similar 
division of roles in the Motlel D20, We therefore created 
pattcni I/O modules (UP K 1451 A and El 452 A) for pat- 
lenis anrl a timing module (HP E1450A) for control 
signals and Itandshaking. 

The timing module generates eight control signals an ft 
performs both synchronous and asynchronous h^indshak- 
ing with the DfTT, It also accepts and generates triggers 
for synchronization with t>iher Insinnnenialion, and it 
provides timing Infonnation to Iht* patttTU 1/U modules in 
the form of twelve patleni clocks on the VXJbus local 

Each patttni I/O module has thirty-two channels, ar- 
ranged as four eight-bit porfs. Ports sltv independenl of 
one another and can be progranuncd for stimulus output 
or response input. The two types of pattern I/O modules 
are identical except that the HP K 1451 A passes pattern 
clocks on to the next, mainframe slot and the HP E1452A 
tennhiates them. 

A Model D20 system is configured as shown in Pig. 2. 
The IIP E1450A timing module is placed farthest to the 
left, followed by a number of HP El 451 A patleni I/O 
ntodules. One HP E1452A terminating pattern I/O module 
completes the instrument. 

' UiytX is B rag(stsred tfadematk of UiyiX Syslefi] Laboratories Iric in thg tJ.SA and other 

Local Bus 
(Pa^em Clocks) 

Fig. Z. HP 75000 Madpl D20 conliguraUon, 

A single tiniini^ OKKiule can service^ up to ten pattern f/0 
modules, a full mainrrame. Furlliennore, up to three 
timing modules can be linked in a master/slave arrange- 
ment, allowing up lo thirty pattern ]/0 modules to he 
included in the instrument. Tlie timing module is optional 
when an cxiemal clock source is avtiilable. As a result, 
instnmients with from 32 to 960 patleni lines and from 
to 24 control Imes can be assembled. 

Tlie pattern I/O and timing modules cat^ interface directly 
to the DITT, but En ca*^e the DPT nnist be some distance 
from the mainframe, pods are provided. A pod cont^ains 
active circuitry at the end of a two-meter cable. It buffers 
and reconstnicts stimulus waveforms, chminating any 
distortions a length of cable might cause, and gives a 
lower output impedance than a cable would. It also 
buffers responses from Ihc OUT, pro%iding high-imped- 
ance inputs which are easier to drive cleanly than long 
cables. The IIP E1454A pattern I/O pod liuffers sixteen 
bits of pattern data; two pods are used with each pattern 
I/O module. Tlie HP KHri;iA timing t>o<i huffet^ the 
control and handshake signals associated with the tinting 
niodtile. The HP E1I456A and E14B5A pods are electrically 
identical to the IIP E 1454 A and E1453At respectively, but 
arc mechanically diflerenl to allow them to bi* mount e«i 
in the HP 942()A and Er3722A interface connector assem- 

Given this basic architecture for the Model D20, attention 
was turned to the question of message-based versus 
register-bEised programming interfaces. Message-biised 
inteifac(*s simplify instnimcn! iiiogr^iiuniing and provide 
for controller independence. Since they employ onboard 

April 1992 1 [4 w iL tt - Pa< kiml Mm rtial 6 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

processors, they allow butll-m self4est for quick klentin- 
t:ali()ii fjf failures, Srjphisiicatrd nu^j^sage-fjased intiTfaces 
can, however, slow data traiislVr mtcs, linuting through- 
put. They require sigiiifjcant iuooimts of hoard space, an<l 
in the case of the Model D20, w here therp is not one 
inudyie guaranteed to be a part of tiie instnintent , each 
module would he recjuired 1o have one. This would raise 
the cost significaiidy. 

Register-based interfaces, on Itie other hand, provide 
direct control of the liardware and maximum data trans- 
fer rates. They are less expensive and take less hoard 
space. Programming regis ter-hased uiodides as complex as 
the Model D20's can he a daimting task, however. 

Fortunately, recent versions of the HP K14(J5 command 
module, with their downloadable fin n ware capability, 
provide a single place from which lo control umltipie 
regis! er-based modules with an SCPl command lanj^uage. 
This approach was taken with I he Model [)20, reali>^ing 
the benefUs of a niessage-hiisetl interface while still 
allowing fast, unrestricted regisier-based operation. 

Maximmn pattern rate is a key specification for a digital 
instrument, and many standard and proprietary interfaces 
wtTc examined to determine how fast the Model 1)20 
sliould nin. Ttie VME iu\d VXl buses have a maxinnnn 
patleni rate of 10 Ml Ik, Personal conipulers, while having 
clock rates of 25 MHz or more, have pattern rates of 12.5 
MHz or less. Most other interfaces have speeds of the 
same order. It became apparent, then, that an insfnmient 
capable of 20-MHz pattern rates would be viable, jjro- 
\1ded it could produce control signals at tip to 40 MHk. 

Picking 20 MHz as a maxinnim pattern rate meant that 
much of the Model D2(fs circuilo' could be implemented 
with oft'the-shelf CMOS technology- The low power of 
CMOS places !ow^ demands on the niain frame i)ower 
supply and coohng system and minimizes failure rates. 
Losing conmioniy available technology minimized both the 
time to market and the cost. 

Since the vast n^jority of cllgital devices Imve either T'fL 
or CMOS interface levels, the Model D20 needs to be 

compatible with both. To tjiia end, all outputs swing to 
CMOS levels (ground to +5 volts), allowing Uie inslrtmu^nt 
lo drive either TTL or CMOS DITT inputs. Conversely, all 
inputs have i.5-\T>lt tyi>ical thresholds, allowing them to 
be driven by either rfL or CMOS DlIT outputs. 

Pattern I/O Modules 

Realizing thai nu>st of the parten^ signals in a DUT 
interface can be collected into buses that have multiples 
of eiglit lines led to the concept of the pattern I/O port. A 
port Ls a self-corLtained. independent, eight-hit 1/0 struc- 
ture with a single clock to control its timing. Each 
pattern I/O module contains four pons. Compared w-ith 
so-called *' per- pin" architectures, this "per-hyte'' approacli 
reduces cost considerably without seriously limiting 
flexibility in real applications. 

As shown in Fig. 3^ each port consists of an address 
counter, a pattern and control memory, input and output 
stages, clock seleclion and delay cij'cuitiy iuid a compara- 
tor. At the beginning of a sequence, the address counter 
is preset It then increments for each cycle (vector) of 
that sequenc(\ The memorj^ has tj,5,5;i(j (t>4K) iwelve-bit 
words. Eighl bits of each word are used for pattern data 
while the remaining four pro\1dc cycle-by-cycle cojitrol 
lor I he port. The output and in [in I slices provide the 
interface to (he DUT (ii' there is no pod) or to the pod 
cable. The clock for each port can be one of the pattern 
clock signals from the timing module or an external clock 
signal Sincr* there Ls only one pattern value associated 
with earh wt lor, a single c^lock edge per cycle provides 
all the timing information a poil nec^ds. Pattern clocks are 
subjected to a variable delay for the puiposes of deskew 
and cable-length compensation, to be described below. 

A port can be programmed to perfonn one of tJiree 
different tasks, with its memory assuming a different role 
for each. The first mode of operation is stimulus, in 
which the eight [lalletTi bits of each rnerriot^' word are 
sent through the output stage to tiie UCT In this mode, 
one of the control bits provides c^cle-by-cycle tristate 

Clock Select ion and Delav 

Pattern ro 
or frojTi 

Compare Expected Actual 
Enable Respanse ■ Respoitse 


Fig, 3. Pattf^n I/O port block dlaitram. 

62 A [1 ri I 1992 tie wlett-Packaid JoumaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 

Mast^f SectJOfi 

Slav« Section 


Timiflf { Q0-Q3-!^ 


Fro fit Panet 
Malice r 


TTl ) VXIIius 
ECIJ Trigger 


TtmJng GeneratDr 

rtrifiitg GenefdlDi 

Paflem Clocks 
to I/O Modules 
via Uc^l Bus 

Ffont Panel 

Ttmifig {^cneralor 

Confiol Outputs 
~^ to OUT 


Fig. 4. Tinting module hlock rjiagram. 

control for the whole port; when tristated, outputs as- 
sume a hlgh-nnpedance state — ntnlher high nor low. An 
additional iiiput to the output stage allows lixtemal 
Lristate control. 

The second mode is record, in which eight bits of re- 
sponse pattern data are sampled by tlie input stj^e and 
written into the niemoiy in each cycle. Final ly, there is a 
compare mode, which brings the comparator section into 
play. In this mode, eight bits of exjiected response data 
fron^ the niemor>' are compared with the eight bits of 
actual response from the DCT. Another control bit. en- 
ables this comparison on a cyckvby-cycle basis, and there 
Is a static mask register that allows any bits to be de- 
clared "don't care"". When a coniparison fiiils, tlie port 
stops, thus preserxing the memory address of the first 
failure and both the expected and Lhe actual responses. 

One of the remaining two control bits is used to indicate 
the end of a sequence, causing the port to stop. The last 
is a branch Ijit used to implement a diagnostic looping 
feature by forcing the adchess counter to loatl a nonse- 
quential address from a branch destination register (not; 
shown in Fig, 3). 

Tltere Is a high degree of llexibility in this port concept. 
Multiple ports witb duplicate progranuuing ancl the same 
pattern clock can form pin groups conesponding to the 
Dirfs buses. IEEE 488.2, the basis for SCPT, restricts 
integer data to thirty-two bits or less, thereby limiting 
firmware supiiort for pin groups to no more than four 
ports. Laiger buses c^m t)e cEnulated by dupli<"aTing the 
progranmiiiig for more than one pin grcjup. Ports (^an be 
programmati rally reassigned to diffen^nt pin groups as 
necessary to test different devices. 

Bidirectional buses can be tested by connecting a stimu- 
lus pin grou{> in parallel with a response pin group, Aji 
advantage of this approach is that the I wo pin groups mv 
othcrwisi^ irui(*]!endt^n!, allowing ctnnplde nexihility in 
liming ami making cable-delay compensation possible. 

Another advantage Is that the resources to implement 
bidirectional buses need only be purchased for those 
pattern lines that are bidirectional, and not necessarily 
for alL 

Paralleling pin groups creates other possibilities, <is well 
Responses can be simultaneously recorded and compared, 
for example. Also, multiple stimulus or response pin 
groups can be combined, to double, triple, or even 
quadntple tfie Model D20s pattern rate and memory 

Compare mode mid fieep memory' incTease test tbrough- 
pui by reducing the amount of information that must flow 
between the inslimnent and the c'ontroller for each device 
tested. Compare mode does this by eliminating the need 
to move whal could be millions of bits of response data 
into the controller for go/no-go analysis after each se- 
quence. It is only neeessiiry to inten'ogate two registers in 
each response port. Of those ports indicating a contpari- 
son error, tfie one witii the lowest memory acklress 
identifies lhe first failure. Deep memory allows a long 
sequence or nuiUipIe shorter ones to reside In the Model 
D20. This reduces the incidence of reloads during testing. 

Timing Module 

The IIP E1450A timing module accepts a number of 
inputs from the DUT and/or olJier instrumentiition and 
produces control outputs to the DUT and pattern ttlocks 
to the pattern I/O mcjduies. It also generates triggers for 
other instruments. Its overall block diagram is shown in 
Fig. 4. 

The tiJiiing mt>dule's inputs it\clude triggers from various 
sources, two READY lines for synchronous handshaking, 
and ten lines (aO-Q9} thai are used mainly for asynchro- 
nous haiulshaking imd trigger quaiification. 

All of these mputs must be synchronized with the internal 
160-MHz oscillator, and al! lhe timing modules in the 

April i ^2 Hewlett-P^l^catd .lounial 63 

)Copr. 1949-1998 Hewlett-Packard Co. 

iiLstniment must "see" the mputs at the same time. For 
til is reason, thp riming modulo is divided into master tmd 
slave sections, which ai'e linked by an external cable. A 
timing module becomes a slave by ha\iiig its slave 
section connected to the master section of another timing 

Maiiter Section 

As Fi^. 4 sIkjws, I tie master section accepts in purs, 
processes ttieni, and synchronizes I hem with the internal 
oscillator. The two READY lines, one from a front-panel 
coimector and one from the pod, are ANDed together, then 
sent to the slaves after being synchronized. Lines QG-Q9 
become variables in fotir tiser-ilenned Boolean expres- 
sions. These lines address a fast meiuoi^ tiiat has been 
II I led with Ihe tnitii tables of the expressions (laljeled 
"Boolean Expression Evahialors'' in Fig. 4), and the 
results appear on four conchtion lines. Three <jf the 
conditions (CON DO, C0ND1, mid C0ND2) are for general 
liandshaking and synchronization, and are sent to the 
slaves, while the foiulh (C0ND3) becomes a trigger qualiii- 
er Available trigger sources include the eight TTL and 
two BC'L VXlbus trigger buses on the backijiane, an input 
on the timing pod, and Ijoth ITLrlevel and ECHevel 
front"pai\el connectors. Positive or negative slopes can be 
selected for Hie pod and front-panel trigger inputs but 
slopes for the VXlbus trigger buses are ITxed by the 
VXlbus standard. Trigger qualincation is done by sampling 
tlie state of C0ND3 when the selected edge from the 
selected source occurs. If C0ND3 is true, then the trigger 
event is recognized, but it is not passed on to the slaves 
until after a prognuimiable delay. This trigger delay is 
provided by a sixteen-bil coimter, giving a range of zero 
to (2J*5 - l)xa25 ns (almost 409.0 us). READY, CDMDO, 
CONDh C0ND2, the ciiiahfied and delayed trigger, and the 
oscillator signal appear at three front-panel connectors, 
from which they drive the slave sections via master/slave 

Slave Section 

While the mtister section deals with inputs to the timing 
module, the slave section is concerned with the rtmdule's 
outputs, namely control signals, pattern clocks, and 
triggers. Recall that control signals ai'e generally higher- 
speed than patterns, with possibly many transitions per 
cycle. They are essentially arbitrary digital waveforms. 
Pattern clocks (which provide timing infoniiation to the 
pattern I/O modules \ia the VXlbus local bus) and trigger 
pulses can be thought: of and created in the same way. 
Therefore, the timing module has three similar timmg 
generators: one to create marker (trigger output) pulses 
and six stimulus pattern clocks, one for six response 
pattern clocks, and one for the eight control signals. To 
acconrplish system deskew and pod/cable delay com- 
pensation (discussed later), the three timmg generators 
need to operate in different time frames and tberefore 
must be separate. Tliese timing generators, along with a 
prescaler a sequencer, several control state machines, 
and some cable-length compensation and deskew^ circuits, 
make up the timing modnie's slave section. 

Fig. 5 show^s the slave section in more detail. Tlie stimu- 
lus, response, and control timing generators are all 
similar, consisting of a ten-bit address counter, 1024 

w^ords of memory, an output register, and a little random 
logic. At the beginning of each cycle, the address counter 
loads a new value, then begms incremer\ting through 
successive memory addresses. The memory data is 
clocked through the output register, creating waveforms. 
Cycles are defmed by putting appropriate data into a 
range of memory locations, each corresponding to what is 
termed a a u bey vie. Many cycles can be defmed at the 
same time, as long as the simr of all of the subcycle 
locations does not exceed the size of the memory. 

(Oscillator frequeircy determines tlie riming resoludon of 
the instrimientj anci shotild therefore be as high as 
|)ossil:jle. However, memory access time and logic delays 
limit the maxinmm oscillator frequency. Sticking to the 
policy of using relatively inexpensive, reaiUly available 
parts, a 16t>MHz osciilalor is used, for a best -case resolu- 
tion of 0.25 ns. This ntmiber is an even divisor of 50 ns 
(the pattern VO ports' mininumi cycle time) and provides 
ade(iuate resolution In most cases. 

The control timing generator's memory is eight bits wide, 
each bit corresponding to a control signal output. Similar- 
ly, tlie response timing generators memory is six bits 
wide, one per response pattern cloc:k signal. The slintuhrs 
tinrirrg generator has twelve-bit w^ords, however Six bits 
are for stimulus pattern crlot^ks and the rest are for the 
ECL marker' pulse, for testiJig lite three conf lit ions fronr 
the master section, and for' both conditior\al ar^d uncondi- 
tional end -of- cycle definition. 

Two synchronous bits control each limhig generator. The 
foLU' resulting operations are next subcycle^ next cycle, 
hold, and inhibit. The next subcycle operation causes the 
address counter to incremertt aird the new^ memory data 
to be clocked out on the next oscillator' cycle. The next 
cycle operatrorr is sinrMar, except that instead of iucre- 
nrenting, the address counter loads the first address of 
another cycle. Thc^ hold operation freezes the address 
counter but allows the outptjt register to u|>date its 
contents. Pin ally, the inhibit operation causes the oscilla- 
tor to be completely ignored; notliing changes state. 

The prescaler is a programmable sixteen-bit, di\ide-by-N 
counter which causes the timing generators to hold for 
N - 1 out of every N oscillator cycles. This lengthens each 
subcycle and changes the Model D20's timing resolution 
to N X 6.25 ns. The maximum subcycle duration is 
2**'^ X 0.25 ns (409.6 |is). 

At the end of each cycle, a next cycle operation occurs. 
The timing generator address counters are loaded with an 
address determined by the sequencer. This sequencer 
makes the Model D20's on-t he-fly timing changes possible 
by either causing the sante cycle to be repeated or 
switching to a different cycle. Ilie sequencer functions 
like a pattenfr I/O port configured for stimulus opemtion, 
except that its memory contains eight-bit tags instead of 
pattern data, and its four control bits have different 
functions. Tlie sequencer is clocked once, fiUTrishmg one 
tag per cycle. Startmg addresses in the timing generator 
memories are formed by multiplying the tags by four 
(left-siiiffing tjiem two places). Tliree of the four remain- 
ing bits per-mit cycle-by-cycle control of trigger anning. 

64 April 1 992 Hewleu-Packarci JouniaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 

marker (trigger output) pulse generation, and breakpoints, of several state machines. T^e outputs of the run/stop. 
The last bit designates the end of the sequence. tngger, conditioa and EOC/SEQCLK state machines are 

combined with the prescalers output (PCLK) into the two 
State Machines timing generator control bits. The EOC/SEQCUC state ma- 

As can be seen in Fig. 5. the control logic section pro- chine monitors the nearH?nd-of-cycle (NEOCj bit from the 

\ides control of the timing generators through the actions stinmlus timing generator memoi:>^ to deiermine when the 



Tinting Cycle Tag 


End of Sequence 


Arm Trigser 




lAaster ' 

B Control 


g Response 
► Pattern 

Fig. 5, Timing module slavf? ,'3«ctlon detail. 

ApriJ lDfl2 Hewiett P&ckarti Jnnrruil 65 

)Copr. 1949-1998 Hewlett-Packard Co. 

end of the cycle is at hand. It causes another cycle to 
begin by initialing a npx! cycle operation in the last 
oscillator period of the current cycle. It also issues a 
clock pulse to tlie sequencer to make the next tag and 
control bits available. 

An end-if-ready (EIR) bit in the stimulus timing generator 
memory works like NEDC, except that it is ANOed with the 
READY line from the master section. If the Dirf is indicat- 
ing that it is ready for tlie next cycle to begin when EIR is 
encountjered, the cycle Ls terminated in a manner similar 
to when NEOC occm^s. 

An example will show how this end-if ready feattjre forms 
the basis for synchronous Iratidshaking. Suppose that the 
Dirr is a device that requires a continuous clock input 
(to be provided by a Model 1320 control output) and that 
it can request wait states, wMch must lengthen a cycle by 
whole clock periods, up to some maximum number. This 
is tyi)ical of a personal computer card. The Model 1)20 
cycles would Ihen be progra mined to be thu maximum 
length alio wed J but an EJR would be placed at the poiiil 
where a cycle normally ends and at whole DLTT dock 
periods thereafter. If the DUT is not requesting a wait 
state, it drives READY true, and the cycle tenni nates at the 
first EIR. If J on the other hand, the t)lT needs a wait 
state^ it makes READY false, causing the cycle to go past 
the EIR. The cycle will then tenninate at a subsequent EIR, 
once READY goes true, or at the end of the cycle as 
defmed by NEOC. Placing EIRs at DITT clock period inter- 
vals ensures that the tester will always generate DUT 
clocks with the proper period. 

For each of the condition lines from the master section 
there are a corresponding st^te machine and control bit 
from the stimulus timmg generator memory. When a 
control bit is true, the associated state machine tests its 
condition at the end of that subcycle. If the condition is 
false, the timing generators m\d prescaler are inhibited, 
and all activity stops. Once all the conditions being tested 
become true, operation resumes. 

Referring back to the VMKbus example above (FHg. 1), 
recall that the instniment must first wait for the asser- 
tion, then negation, of DTACKm. by the DUT. For this 
example^ two conditions couid be progranuned to c'orre- 
spond to the assertion and negation of DTACK^. respective- 
ly. The Model D20 would then be progranmied to test 
these conditions at appropriate points in its cycles. 

Wlien the sequencer arms the trigger in a particular cycle, 
the trigger state machine inhibits the timing generators 
and prescaler immediately before the beginning of that 
cycle. Operation continues once a trigger is received from 
the master section. Trigger events that arrive while the 
trigger is not armed are ignored. 

The Model D20 can be synchronized with an external 
clock signal by feeding the clock into a trigger input and 
then arming the trigger immediately before the expected 
clock edges. The variable trigger delay (in the master 
section. Fig. 4) provides the means to change the phase 
of the instrument relative to the external clock. Tliis is a 
Simple way to align stimulus patterns and control signals 
with other events in the BUT. However, trigger inputs are 

synchronized with the internal 160~MHz oscillator, result- 
ing in 6.21^ ns of random error, or jitter 

The run/stop state machine can he idle, paused, or 
running. If it is idle (its initial state) or paused, the timing 
generators and prescaler are inhibited. The running state 
is entered, allowing operation to begin, when a rtm 
eonunand is teceivt^d, A pause fl^, which can be set or 
cleared at any time, is tested at the end of each cycle, 
with the paused state resulting if it is true. A run com- 
mand with the pause fiag set causes a single cycle to be 
executed, while a rim eonunand with the flag cleared 
either starts or continues the sequence. At the end of a 
sequence, firmware places the instrument back into the 
idle state. 

The breakpoint and end-of-sequence control bits from the 
sequencer are ORed together and then fed to the run/stop 
state machine. The resulting sequencer pause line has the 
same effect as the pause flag. Thus, the instrument 
pauses at each break^^oint and at the end of the se- 
quence. These two bits are separate so that breakpoints^ 
can be distinguished (by reading a status register) from 
the ends of sequences. 

The fourth control bit from the sequencer causes the 
stimulus linung generator to produce two types of nuirker 
pulses. Orie type is aJways two subcycles wide and can 
be directed to one or both of the X'XIbus ECL trigger 
buses. The second type of marker pulse lasts the whole 
cycle and can be sent to any or all of the VXIbus TTL 
trigger buses. This second pulse also appears in both 
active-high and active-low forms on the front panel 

System Deskew and Cable -Length Compensation 

Suppose that two outputs from a digital instnmient wre to 
have transitions that happen at exactly the sante time. 
Tills is impossible to achieve In reality, and the difference 
in tune between the transitions is called skew. A similar 
notion applies to inputs that are supposed to sample DIJT 
responses at the same time, but don't. Skew is llie main 
component of tester timing error and should therefore be 
minimized at the DUT. 

There are many sources of skew in an instnmient like the 
Model D20. A big contributor is the statistical variation in 
delay between instances of otherwise identical timing or 
data paths. T^o pattern 1/0 ports can have substantially 
different delays from their pattern clock inputs to their 
stimulus outputs. Pods will also differ from unit to miit. 

Even two modules with equal delay wOl have skew 
between their outputs because of backplane propagation 
time. The farther a pattern 1/0 module is from the timing 
module, the later it will receive pattern clocks. Each slot 
introduces a delay of about 800 ps. 

Now suppose that there are pods (and their cables) 
between a Model D20's pattern I/O ports and a DIJT (see 
Fig. 6). Suppose also that a stimulus transition is meant 
to occur at the same instant (t = 0) as a response transi- 
tion at the OUT For this to occur, the instniment nmst 
generate the stimulus before t = 0. Likewise, the response 
arrives at the response port after t - 0, To create the 
proper timing relationships at the DUX response pattern 

66 April 1992 Hewlett-Packard Jouinal 

)Copr. 1949-1998 Hewlett-Packard Co. 

clocks irmst lag stimultis paltem clocks by ^proxiniately 
twice the delay of a pod and its cable. 

Mmimizing skew and compensating for pod/cable delay 
both require that internal timing relationships be atijusted 
according to the actual delays of v^arious parts of the 
sj^em. When a Model D20 module or pod Is manufac- 
tured, its delays are measured and stored in electrically 
erasable read-only memory (EEROM) in that module or 
pod. Ever>^ time the instrument is turned on, its EEEOMs 
are read by the firmware- which then uses the informa- 
tion to compute how much delay to add using variable 
delays in the pattern I/O and timing modules. This com- 
pensates for the m^or eontributoi'S to skew, as weU as 
the pod/cable delays, without any special measurements, 
n^turing, or progranuiiing on the part of the user Even 
after a failed module or pod \s replaced, the instrument 
automatically meets its skew specifications. 

In many cases there will be a significant length of cable 
between the instrument (with or without podsj and the 
DIJT, For these situations, there is a command that 
aJlows users to specify the delay to the DIT and back. 
The Model D20 then corrects for this round-crip time as 
well as its own, in the manner described above. Since 
many cables have specified propagation veloci^, timing 
accuracy can be maintained at the DUX even in the 
absence of pods. This feature also makes it feasible to 
build custom interface circuitr>' and compensate for its 
delay. For example, translators to and from ECL levels or 
differentia] drivers and receivers for the SCSI bus could 
be employed. 


^r HP 75000 V 
Made! D20 


rp Port :| 


Stimulus at v/ 

Model DZO A. 

ai DUT 

lit DUT 

Response at 
Model 020 







Fig. 6 Foil aiid rable delay compensation. 








Integrator . 

Voltoge i x^ / 

ThrEshotd Voltage ^ ^v,/ 

(From OAC} r 

Pattern ' f I 

cjock ^;^ ^ 

Fig. 7. \ariahlf: clock dr-lay. 

The maximum possible delay from a pattern clock at the 
output of tlie tinxing module to a stimulus outpui (includ- 
ipg backplane, pattern I/O port, and pod delays) is a 
knovtTi constant. Since actual delays are always lower, the 
Model D20 can be deskewed by adtUag an appropriate 
delay in each port's clock path. The circuit that does this 
is shown in Fig. 7. When the pattern clock arrives, it sets 
the Hip -flop, which opens the switch and allows voltage 
to star! building on the integrator capacitor Wlien this 
voltage crosses a threshold set by the digital-! rj- analog 
converter (DAC), the comparator trips. This generates the 
delayed clock signal and resets the flip-flop, closing the 
switch and rai)idly resetting the integrator in [ireparation 
for the next patient clock. Thresholds that are more 
negative take longer to reach and therefore result in 
longer delays. The total range of delay variation is 25 ns 
and the worst-case resolution is 130 ps. 

To contpensate for pod and cable delays, response pattern 
clocks nnist be delayed with inspect to stimulus pattern 
clocks by approximately 50 ns. The cable length com- 
pensation circ:ulLry in the timing module (Fig. 5 J accom- 
plishes I his by delaying the two control bits to the 
response timing generator with a twelve-stage tapped shift 
register This results in up to 75 ns of delay in 6, 25-115 
steps. The clock delay circuit in each response port 
interjiolates tiiese steps and deskews the port as de- 
scribed in the paragraph above. 

The control timing generator is much faster than a 
w^orst-case stimulus port located at the far entl of the 
back^Dlane. Delay must therefore be introduced to deskew 
the control signals. This is done with the same tapped 
shift register thai is used for the response timing genera- 
tor The tw^o control bits and the accompanying oscillator 
signal are then fed through ta^pped delay lines to subdi- 
vide the 6.25-ns shift register steps into tjiiarters. Thus, 

April 1 092 Hewiett-Packitrd if >iim al 67 

)Copr. 1949-1998 Hewlett-Packard Co. 

control timing generator delay can be a4justed with 
1.56-ns resolution, 

Tlie most-sign ifieant causes of skew are nieasiirpd or 
characterized at tiie factor^' and conipensated in the 
deskew process. The many factors that cannot be com- 
pensated combine to form tlie Model D20's skew specifi- 
cation. Two main somx'cs of this residual skew are the 
differences in delay among the eight bits of a port and 
between rising an<i falling edges. (Jther contributors 
include power supply and temperature variations, aging, 
inconsistency between backplanes, and available deskew 
resolution. The net effect is that stmiulus transitions 
(excluding going into or out of tristate), control signal 
transilions, and actual response sampling times, will aH 
be within ±3 ns of their programmed vtUiics. This gives 
the Model D20 a pin-to-pin skew of 6 ns. 

Since all actions are initialed by ci^stal-coii trolled circuit- 
ry, an additional error of only 0.01% is introduced for 
events that are separated in time. This is usually insignifi- 
cant, being on the order of picoseconds in most cases. 


The HP 75000 Model D20 was created to fill the need for 
digital stimiilus/n.*sponse capabilitj"^ in a wide range of 

manufacturing functional test applications. Characteristics 
of digital interfaces and the VXlbus platform were ex- 
ploited in the design, resulting in a high-perfonnance 
instmment that is both cost-effective and easy to inte- 
grate and use, 

Acknowl e d gme nts 

No project of tiiis size is brought to completion without 
honest efforts from too many people to name here. Tlie 
author would, however, like to recognize the accomplish- 
ments of the rest of the R&D hardware and firmware 
teanL Lee Gregory's architectural insight and sohd cLrcuil 
design put the Model 1)20 on firm fooling from the 
beginning. Phil Mlzuno intplemented the patteni t/() 
modules. Tim Lock designed cost-effective yet EMl-pro<>f 
packaging for both modules and pods. Rick Adams wrote 
all the fmnware with the exception of the timing correc- 
tion algorithms, which fell upon Jim Epstein's shoulders. 
Bob Hetzel and Dave Swigen designed and built the 
production test ajid calibration systems, respectively, 
while Bob Vienot's technical skills continued to amaze us 
all Plnally^ Lirr>^ Jones provided the leadership and the 
glue for the team, making the tough calls when necessary^ 

68 .^pril 1992 Hewiett.'Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Digital Test Development Software for 
a VXIbus Tester 

This software provides ease of use and direct control for the complex 
hardware of the HP 75000 Model D20 tester It uses a spreadsheet 
paradigm and separates the programming of pattern data from that of 

by Kenneth A. Ward 

The HP EI496A digital lest development software is 
designed to make it quick and e^isy to use the HP 75000 
Model D20 VXIbus digital funclional tester (see article, 
page 59). In one sense, the software acts as a front panel 
for the iiistnnnent; since the Model 1)20 consists of 
VXIbus modules, it has no conventional front panel. The 
IIP E1496A digital test development sofi^vare provides the 
user ^Ith a graphical environment in which digital tests 
can be developed and debugged. The challenge for 
softwaie Uke this is to let users think in temis of the 
problem they need to solve instead of thinking of how to 
program the hardware. 

Hardware Overview 

The HP 75000 Model 1)20 hardware consists of two types 
of modules: the HP E1450A timing module and the HP 
EI451A and E1452A pattern \/0 modules. The pattern 1/0 
modules contain l.he digiUil stimulus and response data. 
Each module has 32 channels, divided into four port*s of 
eight bits each. Each port can be prograimned for either 
stimulus or response, and has the aljility to do a real-time 
compaje or to record the response data. Each port can 
store up to 65,535 patterns, and cait be clocked at up to 
20 MHz. Stimulus data for each port can be an eight-bit 
value or can be tri state (not driven). Expected response 
data can be an eight- bit value or don't care. Up to four 
ports can be grouped together to foim pin groups up to 
32 bits wide. Each port can be externally paced, or can 
be programmed to take timing from the timing ntoihde 
via one of twelve timing channels. Although each port 
can be clocked at most every 50 ns (20-MHz maximum 
clock rate), the timing module provides 6.25-ns resolution, 
so two different port^s can be clocked just 6.25 ns apait. 

The timing module provides the timing for the pattern 
modules along with high-speed control outputs, condition 
inputs, and triggers. There aie six tijning channels for 
stimulus timing and six timing channels for response 
timing. The eight high-speed control output lines can be 
programmed to provide arbitraty digital control wave- 
forms at clock rates up to 40 MHz. Ten condition input 
lines and a ready irHHit line allow h;mdshaking with the 
device under test (DDT). The timing module also hiis the 
ability to wait for and produce triggers so the test can be 
coordinated with other tnstniments. 

The tiniing module is progranimed in terms of timing 
cycles. Each timing cycle specifies the length of time for 
the cycle, when each timing channel will produce a clock, 
what the wavefomi for each control output is, and whai 
to do with the condition and ready uiputs. Up to 256 
timing cycles can be defined. Each of the 65,536 vectors 
can refer to any of these tinting cycles, potentially using a 
different timing cycle for each vector and switching 
between them with no pause in the test. This is called 
changing timing on the fly. 

Massive amounts of data are involved here. For a system 
with ten pattern VO modules, there can be over five 
megabytes of pattern data. There can be 256 different 
timing cycles, each specifying timing for twelve timing 
channels and waveforms for eight control output lines- A 
friendly means of entering, editing, aiid viewiiig all of this 
data is highly desirable. The Model D20 modules have a 
conunand set that is coitipatible with the Standard Com- 
mands for Programmable Inslni merits standard (SCPI), 
but SCPI is a textual, prograuHnatic interface. Wha.t is 
needed is a visual interface that gives the user a feeling 
of direct control of the hardware. 

Software Desfign Decisions 

Presenting massive amounts of pattern data to the user 
Wiis the first problem to solve. After surv' eying several 
different methods, tJie spreadsheet parytligm was chosen. 
It was exix^cterl that users would already have some 
fanUharity witii spreadsheets, and could apply that knowl- 
edge to make the IIP Ei496A digital test development 
software more immediately intuitive. 

The next important decision was to separate the program- 
ming of pattern data from the programming of riming. 
The hai-dwaie Ls divided in this manner, and there are 
many benefits that c^m be realized by separating the two. 
The most common DUTs envisioned for the HP 75000 
Model D20 hardware are digilal devices, which usually 
function in tenns of cycles. Anytime a cycle is executed 
on a bus, the times when the values change on the bus 
and the states of the bus control lines remain constant 
every time the cycle is executed. The only things that 
change are the values on the bus. Separating the timing 
from the pattern data allows the user to program the 

April 1992 Hewlett-Packard Jotunal 69 

)Copr. 1949-1998 Hewlett-Packard Co. 

-I — 

Pfh Group Nflme Type 

Oefmg Pifi [jro^fps 


Number of Pins 

♦ Pattern I/O 
^ Contol Output 


# Stimulus 

^ Compare 

^ Record 

StimuEuS Timing 

Response Timing 

^ Ejctemai Pos 

^ Ejttefngl Meg 

^ Stimulus Ttming 

^ Stimulus Timing 


^ Stimulus Timing 


^ Stimulus Timlf^ 


^ Stimulus Timing 


^ Stimulus Timing 


^ Eiflernol Pos 

^ E/ternal Neg 

^ Response Timing 

^ Response Timing 1 

^ Response Timing 2 

^ Response Timing 3 

^ Response Timing 4 

^ Response Timing 5 


Pattern I/O 



Timing 1 


Pattern I/O 





ConlroJ Output 


2 C 


2 I 


2 C 


2 I 


Fig. 1 . Oefirre Pin Groups dialog box. 

digital test \hu same way I ho DUT works, a mEyor advan- 

For the HP E 1496 A digital test development software, this 
meant that there woidd be two spreadsheets: one for 
pattern data and one for timing cycle definitions. The 
tinting events are specified graphically, since timing 
infonnation is inherently graphical, like a data sheet 
timing diagram. 

The HP E1496A digital test development software is 
designed specifically for the HP 75000 Model D20 haid- 
ware. [t is not meant for general-purpose instrument 
control or for integrating multiple instmmenls into a 
complete test system. Tlie ptn^^ose of this software is lo 
create and edit the digital test, run the hardware for the 
purpose of debugging that test , and produce an SCP! 
output fde that contains all of the commands to program 
the hardware with the defined test. 

Denning Pin Groups 

The user wants to program in terms of DIJT names, such 
as address, rather than in terms of the tester, such as slot 
4, port. 1. The software allows the user to enter names 
that represent the pin groups on the DUT Tw'o types of 
pin groups can be defined: pattern I/O and control output. 
For Dl^T pin groups that have large nmnbers of pins and 
values that change oi^ly once per timing cycle, it is best 
to use the pattern module ports and the pattern I/O pin 
group tyi^e. For this type of pin group, three other 
attributes must be specified: the number of pins, ttie 
mode, and the timing channel. The nuntber of puis can 
range from one to thurty'two. The mode determines 
whether the pin group is to be a stimulus to the DUT. to 
perform a real-time comparison of the response from the 
DUT, or to record the response from the DUT The timing 
channel specifies which timing-module timing channel the 
pin group will use for timing, or if it is to be externally 

paced. W\wu assign ir^g timing channels, if two pin groups 
specify the same liming channel they will always have 
I be same timing. If two pin groups specify different 
timing channels, they can have different timing. 

Fig. 1 shows the Define Pin Groups tlialog box with the pin 
group Address being defined. As a result of this definition, 
the software will assign three ports of a i>attem 1/0 
module io be Address, and will program them to be 
stimulus ports that are clocked from stimulus Tiniing 
channel 0. The assignment of pin group names to tester 
ports is automatic, taking the first available ports where 
there are enough contiguous unassigncd ports to satisfy 
the specified number of pins. This assigiunent can later 
be viewed and modified by the user. 

For DIFT pin groups that are control pins, it is best to 
use the timing module control outputs and the control 
output pin group type. Control output tjpe phi groups can 
only be one pin wide, and the mode and timing channel 
attributes do not apply, since they are for controlling 
pattern I/O ports. A pin group assigned to be a control 
output is automatically assigned to the first available 
control output line, like the automatic assignment of 
pattern 1/0 type pin groups to pattern I/O ports. 

Defining Timing 

The tiniing cycle spreadsheet (Fig. 2) allows the user to 
enter Dl'T timing infonTiation graphically. The spread- 
sheet has DUT pin group names down the left side, one 
per row. and has tinting subcycle numbers across the top, 
one subcycle per column. There are 1020 subcycles 
available. Each timing subcycie has a cell for defining a 
timing event for each pin group. The timuig subcycles are 
grouped together and named to fomi the timing cycles. 
Each subcycle represents a period of time equal to the 
system tiniing resolution, which can be set by the usen 
Eac!i tiniing cycle represents a period of time equal to 

70 .^piil 1992 Hewlett-P^'kard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 


"Tr^snc CyC'S Spreadsheet 

— j 

Resolution fs: 

12.50 nSec CLifrent sub eye it ■$ 

' - " " " *c 5Z50 nSec 

Pm Group 



1 ' ~ '■ -- ' 5 c 

" • - J 

Address [24] 

Stim -> 

X : ; : 

. : iX : J ; ■ : 

. 1 

1 DataOut [16] 

Stim 1 -> 


; : : '. y ' ■ - 

1. r 

i^ : 

: [n^; 

Datain [16] 

Resp <- 

CntlO -> 

' i 14 i 


\\~^ i 

.„.:.... :....i^^.„J ; ! 

- .J _J^ ' " " 

* 1 1 

1 1 < 1 < " 





Fig, 2, Tmiirtg cycJe spreadsheet ^s^iih tiniing fUIed in, 

thc^ system tiniing resolution times the number of sub- 
cycles m the timing cycle, and must be at least 50 nano 
seconds long (20- MHz maximum clock rate). The system 
timing resolulion must be a multiple of 6.25 ns. the 
minimum system resolution. The maximum Timing resolu- 
tion is 0.4096 nis (65,536 times 6.25 ns). 

Ever>' pattern L/0 tjpe pin group must have one antl only 
one timing event per timing cycle. The control output 
type pin groups can have multiple timing events per 
timing cycle. Timing information is entered into the timing 
cycle spreadsheet by selecting a cell, and then selecting 
the timing event to go into that cell from the Timing Cell 
Values menu (Fig. 3), 

Once the timing cycle waveforms have been entered, the 
length of the timing cycle must be set. This is done by 
selecting the suhcycle column that is to be the last 
subc*ycle in the timing cycle, imd then selecting a menu 
choice. A heavy vertical bar at the end of the subcycle 
indic:ates the end of the cycle. Beyond the end of the 
cycle, the subcycle tnimbering starts over again from 
zero, since this represents Uie mmiber of the subcycle 
relative to the start of the cycle. The subcycles lo the 

Timing C«ll Values 

Ta Deia 
To 3 State 
thsnge Dale 
Change 3 State 

Sentple Data 

r n 
1 ^ 








1 1 

Fig* 3. Timing Cell Valu a a menu. 

right of the end of the cycle are now a\'ailable to define 
another timing cycle. 

Finally, each timing cycle must be given a name. These 
symbolic names are used by vectors in the pattern 
sequence spreadsheet lo reference the timing cycles. 
Timing cycles are named by selecting the entire tinnng 
cycle and then selecting a menu choice, which brm^ up 
a tlialog box for entering the desired name. 

Defining Patterns 

The pattern sequence spreadsheet (Fig. 4) allows the user 
to view iuxd edit the test vectors. The pattern I/O type 
DLJT pin group names are on the left, one per row. 
Across the top arc vector immbers, one per column. 
There are 65,5^35 vectors available. Each vector has a cell 
for the value for each pin group, and in tJie row labeled 
Timing Cycle^ a cell for specifying the name of the timing 
cycle to be used For applying that vector. Tliese timing 
cycle names link the vectors to timing cycles defined in 
the timing cycle spreadsheet. The timing cycle defines 
wheti a pin groups port data is clocked, while the pattern 
sequence spreadsheet defines what that data is. In the 
example shown in Figs. 2 and 4, each vector that refers 
to timing cycle Read will be 50 ns long, and will clock out 
the Address value immediately Any vector that refei's to 
timing cycle Wnte will be 100 ns long, and will clock out 
the Address value after a delay of 25 ns. 

Data is entered into the pattern sequence spreadsheet by 
selecting a ceU and then entering or editing the value for 
the cell by using menu choices or the keyboard. The 
operations of entering data and mo\ing from cell to cell 
are consistent vsith other spreadsheet programs. If a 
timing cycle name is specified for the vector and that 
timing cycle specifies that a pin group should be Instate 
or don't care, then the corresponding cell on the pattern 
sequence spreadsheet contains an X to indicate tltat no 
data needs to be entered for that cell. Data can also be 
specified as tristate or don't care hy entering an X into 
the c^ell For pin grfiups of more than one pin, the pin 
group can be expmided Into one row per bit, allowing the 
values to be viewed and edited as binary digits. The base 

April 1992 Hp w I ei:t-Pai' kard Joiimul 7 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

in which the pattern sequence spreadsheet displays data 
is selectable. 

When the development system software is connected 
directly to the HP 75000 Model D20 hardware, more 
pattern sequence spreadsheet features become available 
that are very useful when debugging the test. For pin 
groups that are programmed to record input data, the 
data wiJl be read back from the tester and displayed on 
the pattern sequence spread shed when the test pauses or 
stops. If a comparison error is detected by the hardware, 
the pattern sequence spreadsheet will update and display 
the vector thai failed. For each pin group for which a 
failure was dctectctl, the actual received data is displayed 
along with the expected result and the pin group mask 
value. For each pin group programmed to compare data, 
the compLue data mask value caii be set to mask off 
individual bits from the comparison. Breakpoints can be 
set on vectors; these cause execution to pause before the 
vector is executed. 

Importing Pattern Data 

For users who generate vectors with a program or with a 
sinmlator, the development system software can import 
files m the pattern capture format (PCF). This is an 
ASCII file format designed by the Manufacturing Test 
Division of Hewlett-Packard for just this pur]>ose. If the 
user produces vectors in the PCF format j or translates 
simulator output to the PCF format, the HP E1496A 
digital test development software can bring those vectors 
into the pattern sequence spreadsheet. 

Combining Tests 

Tests can be combined by melting the currently loaded 
test with a test stored in a file. This allows a test to be 
developed in a modular fashion. A test can be created as 
a number of short tests, each for a different p^ul of the 
DUT, and then all of the sections can be brougfit together 
to form the complete test. 

Mixed^Signal Testing 

Mixed-signal testing requires the ability to coordinate with 
other instnunents. The HP 75000 Model D2Q hardware 
does til is by using triggers* On the pattern sequence 
spreadsheet there are two rows labeled Arm TrEgger and 

Assert Marker. Entering On into a vector on the Arm Trigger 
row will eatise the tester to wait for a trigger before 
executing that vector. Entering On into a vector on the 
Assert Marker row wUl cause the tester to produce an 
output trigger pulse. 

Handshaking with the DUT 

Synchronous and asynchronous buses both typically use 
some kind of handshaking protocol to indicate when 
more time is needed and when transfers can continue. 
Asynchronous buses tyi^ically have control lines that tell 
the DUT when there is data available, and other control 
lines for the DUT to indicate when it is ready to go on. 
For the control lines to tlie DUT, control output type pin 
groups can be used. For the control lines from the DUT^ 
three conditional tests can be checked in the timing 
cycles. Each conditional test is defined by gi\ing it a 
nanie and specifying a Booleai^ logical expression that 
uses ten timing module input lines (QO-09) as variables, 
WTten a conditional test is enabled, a row for it appears 
on the timing cycle spreadsheet, with its name shown at 
the left (Fig. 5). 

If Yes is entered into tbe condition row for a particular 
subcycle, the test will execute tmtil a vector specifies this 
timing cycle. Execution of this timing cycle will continue 
imtil the subcycle containing the Yes is encountered. The 
tester wUl then wait, until the result of the Boolean 
expression becomes tnie. 

Syi^chronous DUTs tyijically work in a different fashion. If 
the DLT camiot respond at the expected time, it will 
change the state of a control line to indicate that it is not 
ready. This is sampled during the cycle, and if the DUT is 
not ready a wait state is inserted into the cycJe. The 
timing module has a special input tine just for situations 
like this. Tills line can be checked with the End If Ready 
test, which is enabled in the same way as the other 
conditional tests. Another row appears on the ttnung 
cycle spreadsheet when this test is enabled; it is labeled 
End If Ready, 

If Yes is entered into the End If Ready row for a subcycle, 
the test will execute tmtil a vector specifies this timing 
cycle. This timing cycle will continue to execute until the 
subcycle containing the Yes is encountered. The READY 

1 1 



Sequence Spreadsheet 

Number Base 

: 10 

Pin GroLJp^^^^^ 














Data In 




'00032 1 X 





X i 00128 

— 1 p ^ 





i i { \ \ 

r r 
1 1 


i_^^ — — _^_^ 


TinninQ_ Cycle 



jRead IWrite 

L^ .-^ 


Arm Trigger 1 

1 1 

Assert Marker 

1 1 1 1 F 

^ \ 1 _l 

^ ^ ^ 1 J 



Fig- 4. PaUeni sequence spreadsheet with four vectors filled in. 

72 April 199^2 HewJett-Packflttl Joumal 

)Copr. 1949-1998 Hewlett-Packard Co. 


Timing Cycle Spreadsheet | 

Resofutton Is: 

1Z50 nSec Current sybcycle is 

: 50.00 to 52.50 nSec 



Write 1 

Pin Group 

Q '1 ;2 :j 

^ ; 2 : 3 : 4 : 5 

e - lo 

1 ; 2 : 3 ' 4 

Address [24] 

StimO -' 

:< ; : 

;X : : : 


DalaOul [t6] 

Stim 1 -> 

: !\ : 

* ■ i I y ■ 


.; . 

I ; : :<v . 

Datalri 116] 

CntlO -> 

!♦ ; 



■^ ; 

i j. .M J 

\ \ ] 

.._,_|_„4— H*~ 


: . . ; :ves: 

End If Ready 

i t ► 

* t 1 i i t 
1- t 1 ] .1 « 

4 1(411 

^ — 


> ■ 

Fig. 5* Timing cycle spreadsheet with condition and End ft flea dy at bottom. 

input to the tiniiiig module is then sampled. If it is true, 
the timing cycle ends just as if the subcycle had been 
specified as the end of the cycle. If the line is not true, 
the timing cycle will continue to execute. The subcycles 
foJloi^ing the End Jf Ready would be programmed to provide 
the wait state. If it is necessar>^ to check for more wait 
states, the process can be repeated as long as there me 
subcycies available. In this way, the test can be pro- 
grammed to tolerate a variable nuntber of DUT wait 

Debugging the Digital Test 

There are two aspects to debugging the digital test: 
running the built-in rules check to citeck for violations of 
tester rules and constraints, and running the test. The 
rules check does extensive checking on the lest defined. 
Many constraints need to be observed to ensuie thai the 
test will execute in the manner expected. For example, 
consecutive vectors may have been defined such thai 
when the tinrung cycles they specify are put back to back, 
they place timing events within 50 ns of each other. The 
rules check ensures that the lest violates none of Ihe 
constraints of the hardware. 

To nin the test, the user selects a menu choice that 
brings up a dialog box thai allows the user to nm the 
defined test directly on the HP 75000 Model D20 hard- 
ware. Fig. 6 shows the Run Test dialog box. From this 
dialog box, the user can nm the test and examine any 
data recorded or failures found as a result of running the 
test. The test can be single^-stepped from either the start 

of the test or from a breakpoint set in the pattern se- 
quence spreadsheet. Ulien the test is paused, execution 
can be continued tmtU the next breakpoint or imtil the 
end of the test, whichever occurs first. The tiser can also 
request direct I/O, which presents a dialog box that gives 
the user direct control of the pins on the HP 75000 Model 

Producing the SCPl File 

The object of the HP E1496A digital test development 
software is to produce a test that rmis on the HP 76000 
Model D20 hardware. This is done by producing art 
output file of SCPI commands. This file contains all of 
the SCPl commands to program the instrument with the 
defined test. It can be produced in either a portable 
ASCn format or a more compact binary format. The 
resulting file cait be later incorporated into whatever test 
environment the user may have. 


The HP Eli9*5A digital test development software is an 
ImporlajU addition to the IIP 75000 Model D20 tester. It 
allows the user to concentrate on creating the test for the 
DUT instead of on programming Ihe hardware. The 
graphical presentation allows the user to tmdcrstaod and 
use the features of the hardware quickly and easily. The 
spreadsheet metaphor allows convenient manipulation of 
the large amounts of data involved. The software's abUity 
to create and debug digital tesLs, yet cooperate in an 
open environment by allowing vectors to be brought m 

ll Load I II Run 1 |j Step J | Contmue j 

Number ot limes lo run test: |i || Current Iteration; I 

(1 .. :52767, or -1 for infinite) U=J l_J 


ll Pause I I Stop ^ 
|| Direcl I/O- II 

} Completed tester bad> waiting m idle siote. 

Quit Debug rxecgtimn 


Fig. 6. Run Tesi dialog box. 

April 1S92 Hewlett Packanl JoumaJ 73 

)Copr. 1949-1998 Hewlett-Packard Co. 

from Dtiier sources, and its ability Lo produce a test that Ackjiowledgments 

is p*>rtaljle to other environments, make this software a Hie crfalion of this software was a leaxn effort. My 

powerful tool thanks to the otlier menibers of the team for their help 

with this papen Special thanks to Joe Ward, Jake Smaltz, 
;md Don Lenhert for their help as well. 

74 April 1992 Hewlett-Packard Journal 

©Copr. 1949-1998 Hewlett-Packard Co. 

The VXIbus in a Manufacturing Test 

Engineers at HP's Loveland Instrument Division have found that using the 
VXIbus and the SCPI programming language provides benefits such as 
reduced test development time and system support costs. 

by Larr>^ L* Carlson and Wa>Tie H. WlUis 

The adoption of an indiLstry-staiitiard tnodulai' iiistninient 
architecture was the natural evolulion for botli tlie 
defense and commercial indugitries. Now, VXIbus is fasf 
becoming one of the moduiai- arciiilectures of choice and 
VXibus vendors aie providing usetB with a broad choice 
of test tools such as instruments^ switches, DlIT inter- 
faces, and special-purpose fimctions. Recentl}^ new 
pro<kicls with tesJ capability not available in the IIP-IB 
have enierged, \rXJbus users have access (o the same 
compatibility benefits the industry has enjoyed for years 
integrating HP-IB instnimeniation. 'VXIbus along with l.he 
new standard insinunent language, SCPI (Standard 
Conmiands for Progranunable Instnmients) promises 
users greater nexibillty for building systems that are 
much easier and less costly lo reconfigure or upgrade to 
meet growing test requirements. 

This article focuses on the benefits of the VXIbus and 
SCPI in a commercial manufacturing application for 
functional rest, The inforniation is ir^ai on the imple- 
mentation of a new lest strategy and experience e gained at 
HP's Loveland Instmmeut Division wiiert> piecLsion digital 
multimeters and modular instruments are manufacture*! 
This article also explains how^ I lie VTCItms and SCPI are 
implemented to reduce test development time and system 
support costs. It examines I he importance of these new 
standards in building a stantlard test platform liiat is 
designed to be easily upgraded and conngured for a 
variety of testing applications. 

Functional Test on the Manufacturing Floor 

Tlie manufacturing profile at HP's Lowland Instrument 
Division is characleriKed as low-volume ;iJid high product 
mix. This means tluit production volumes ai^e on the 
order of 10 to lOOs per month and the total number of 
different products rs high, more than 250. Production 
characteristics siic*h as thest^ typically mean that the cost 
of testing can be very high because of the need for a 
wide variety of test capability. Botli in-ciicuit and func- 
tional test are employ e<l in this produc^tion situation. 
Functional lest is almost always used because of the need 
to do calibration and in-circuil test is used when the 
economies justify it. 

Functional Tester Characteristics 

Historically, modular instrumenlalioii iias been an impor- 
tant part of the test strategy. Test systems were typically 

built using HP-IB rack-tmd-stack instruments along with 
modular instrument products for housing switching and 
some functional capability such as digital muhimeters. 
counters, aitd digital UO. Lack of a laige breadth of 
modular products to choose from w^as one of the ob- 
stacles to taking full adi^euitage of these proprietary 
modular systems. Finlhermore, their obsolescence meant 
that few, if any, replacemerus w^ere available for upgi^ad- 
uig tiie system, and long-term system maintenance was a 
problem. An industry standard arcliitectLUe such as 
VXIbus solves the breadtJi of product offering and ob- 
Stjlescence issues. 

Custom engineered products aie t>i:»ically built mto test 
systems to meet special nieasuremenl and control needs 
for functions not commercially a\'ailable. Custom equip- 
ment is expensive to design and build and costly to 
document and support. Modular instniment systems have 
provided a v^ehicie for custom designs because of the 
availability of breadboard modules that are powered by 
mainframe power. The package, interface, and docimienta- 
tion are providetl by the module suppber leaving the task 
of designing and documenting the unique circuitry to the 
test englnecning design tetuu. Eireadboard modules are 
usually availatile for most modular systems including 
VXIbus. However, VXIbus development tools (not avail- 
able for tiie earlier modular systems) facilitate the job of 
custom design. The real advimtage of the VXIbus is thai it 
protects custom design iavestiuents because they can be 
used on other compatible test plalfonus (jn die manufac- 
t.unng tloor. On the other haird, because of the broad 
choice of VXIbus (and compatible VMEbus) functions 
available on the market, tlie tu^ed to build custom func- 
tions is greatly reduced. 

Standard Test Platform 

In the Uist te[i yeai*s a large number of different test 
systems werc^ developed t<i test Uie various product-S 
introduced Into manufacturiiTg. There is a very high cost 
associated with maintaining and supporting so many test 
systems. Some of the older test subsystems have become 
especiiilly difficuK to sappcHi because of poor parts 
availabihty and equipmeul obsolescence. Today, products 
are being developed at a faster pace, and competitive 
pressures are driving the need for shorter time to market. 
Therefore, test system (k^velopntenl titnt^ and cost ttuist 
tie reduced. Also, the number of test platfonns required 

April 1992 HewMt-Pii^kan! Journal 75 

)Copr. 1949-1998 Hewlett-Packard Co. 

Tesi AdsptBr 


Relay Duve 
AC^C Powe< 
Fixtum IdenlitJer 




to test a rapidly expanding mix of pioriiicts rniist hp 
reduced. This requires devising a test strategy' that not 
only includes an upgrade path, but also ailows a suffi- 
eiently equipped system to be reconfigured easily to t(\st 
any one of many DOTs, 

A generic test platform using standard hardware and 
sofi ware architectures and a flexible DIJT inlerfaee is the 
bfisis for this test strategy. Fig. 1 depicts this test plat- 
fomi, which can lest numerous modular-type products. 
T]m test plalfomi can be configured to test products 
from simple switch nuiltiplexers lo precision digital 
multimeter moduk^s. A flexlijJe Dl T interlace that allows 
rapid system reconfiguration has a replaceable weajHHit 
mechanism for protecting tJie interface adapter's connec- 

Because of an anticipated broad offering ot prtulucts from 
\^bus vendors, the generic test system can he upgraded 
with new capability so that it can keep pace with new 
product test needs and still keep the size of the test 
system to a minimum. Also, by including the lest require- 
ments of many existing products, w^e can migi"ate them to 
I his new^ system to reduce the number of different test 
platforms. As manufacturing is expanded to other loca- 
tions around the glob<\ this generic test platform becomes 
important in containing the cost of system duplication 
and support, 

SCPl plays an imporiant role in test development pnxluc- 
U%ity and system upgrade strategy. Upgrading an older 
test system's test code, typically written in various instni- 
ment -specific languages, is difficult because the program 
typically has not been well-documented and the original 

Fig. 1. Test platform for testiiiig 
modular type prodtK't^. 

design engineer is ntit available lo make the modifica- 
tions. The SCPi statidard instrument lattguage opens the 
door for developing a test software that is haidw^are 
independent. This allow^s subslitution of new^ hardw^are 
[usually a superset of the old ) for old hardware and 
requues only minor or no programming chtmges. Because 
SCPI is an integral part of j:m upgrade strategy, products 
are chosen that support it, 

SCPI contributes significantly to test development produc- 
tivity. Once a test programmer learns SCPI, there is no 
need lo spend time leiUTiing the iustrument-s]jecific 
CO n I man 1 1 language for each piece of equijiment in the 
systeni, A 6:1 time savings in writing instnuuent drivers 
using SCPI has been experienced by our manufacturing 
test engineering group. 

Floor space in numufacturing is costly The use of VXIbus 
has lielped reduce a three-bay system to two bays- As 
more VXIbus products becon^e available, equivalent HF-IB 
rack-and-siack functionality will be put Into Uie VXIbus 
mainframe to free space either for other rack-and -stack 
fiuiciionality not yet available in ^Itlbus, or to further 
size reduction. 

Capacity flexibility is another key benefit of the generic 
test platfonn. Having an entire production line go idle 
because one instrument in the test system is down is 
something manufaeturing managers fear. Having more 
than one of the generic test platforms means that if one 
system goes tlown for any reason, within a few minutes 
one of the others can be reconfigured to get the produc- 
tion line running again, thus cutting dow^ntime losses. 

76 April 1992 Hewt^tt-P^kard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Test Throughput 

WiUiout question, test throughput js an issue for the manufac- 
turer who produces products in great volume. However, when 
production volume is relatively low, tiiroughpul is an issue 
when test system capacity is reached. The ability to inci^ase 
throughput can eliminate the cost of equipping and building 
duplicate systems in which more equipment has to be main- 
tained, calibrated, and supported, thus raising overall support 
costs. Tlie \^?Qbus is expected to enhance the ability to line 
tune the generic test system for optimum throughput. 

So how does t-he \rxibus improve system throughput? \^XIbus 
manufacturers are pro\iding the test-and-measurement mar- 
ket with intelligent message-based TOTbus Instrument mod- 
ules whose measurement through|?iit is much greater than the 
previous generation of HP-IB instruments* Advances in tnstni- 
ment language interpreters and faster instnuttent reconfigura- 
tion designs are responsible for much of this improvement. 
For even higher throughput speeds, register-based program- 
ming \1a direct memory-mapped access to regisiei's on either 
register-based or message-based instruments is possible. Hav- 
ing the flexibility of both register-based and niessage-based 

programniing available in a single VX^us mainfiwne allows 
test developers to develop the test, program quickly in the 
fiigli-le\'Cl SCPl language, then improve it later w'ith register- 
level programming where throughput bottlenecks have been 
identified. See the article on page 41 for more about register- 
based throughput. 


Punctional test strategies based on industry standards hold 
great promise for reducing time-to-niarket and total lest cost. 
The VXIbus architecture can lower custom engineering in- 
vest iTients because it is an easier environment to design and 
support VXlbus c^an save costly rack space and protect in- 
vestments from product obsolescence. l^XIbus integrates easi- 
ly into a system with rack-and-stack HP-IB instrumentation, 
and With SCPl implementations on both architectores, soft- 
ware development and reuse lue virtually architectm'e inde- 
pendent. Tliis gives the systems designer the greatest latitude 
m matching the hardware to meet the test needs. Finally, with 
\'XIbus implementations, the test developer has the flexibility 
of accelerating the system's throughput to increase manufac- 
turing productivity and minimize costly test system dupUca- 


April 1992 

Lawrence A. DesJardin 

Larry DesJardiri is VXfbus 
program managef at HP's 
Love I and Instrument Divi- 
sion, He also serves as sec- 
retary on the board of direc- 
tors af the VXf bus 
Consortium He joined HP 
Laboratorie?! in 1977 after 
receiving a BS degree in 
engrneenng from the Californsa Instdute of Technolo- 
gy, He atso has an MSEE degree (1978) from Stanford 
University Larry has held various engineerirfg and 
management positions far HP's vol f meter and com- 
pdter-aided-rest product lines. An expert on the VXl- 
bus standard, he has written several techmcai ar- 
ticles on the standard and is the recipient of the John 
Fluke, Sr Memortal Award for participaiion in its tre- 
at ion. His work with test equipment has resulted in 
two patents on instrumentation techojqyes. He is a 

meinher of the IEEE Insirumentation Society and the 
American Society of Test Engineers, Larry was born in 
Redwood City. Caltfornia and now lives v^/ith his wife 
in Long mom. Colorado. Skiing, bikmg, scuba diving, 
and boanjsailing ere among his leisure activities, 

14 D e s ig ne r's Pe rsp ecti v e , 

Gregory A. Hill 

Software development engi- 
nner Greg Hill developed tv/o 
\jf the gale arrays used in 
HP's VXlbus products. He is 
one of the authors and archi- 
tects of the VXthus specifi- 
cation His current re spans i- 
as a technical representative 
to the VXlbus Consortium and as VXlbus Technical 
coordinator ai HP's Loveland Instrument Division {LIOJ, 
Greg received his BSEE 1 1 977) and MSEE f 1 970] 

Aprtt 1092 Ht^wli^ir-r^iit'kHrd ,liujmal 77 

)Copr. 1949-1998 Hewlett-Packard Co. 

degrees from Te^as Tech University He joined LID in 
197S_ Before joinmg HR he worked on higti-vottage 
pylse generation and EMP testing at BDM Corpora- 
tion. HP products lie has worked on include ilie HP 
3497A/3498A data acquisition and control unit and 
the HP 323&A switch and lest unit. He also developed 
a process control system and software for LID's 
printed circuit board shop. Greg is the aythoi of two 
articles on VXIbus protocol for tfie VXtbus Journal and 
FS involved in VXIbus, VMEbus. and Futurebus+ stan- 
dards activities. He was born ^n Wichita. Kansas and 
now lives in Love I a nd^ Colorado with his wife and 
two young boys. He is active m cbiirch activities and 

Steven J. IVarciso 

HP's VXIhus technical direc- 
tor Steve MarcjscD joined 
HP's Lave land Instrument 
Division in 1979 He received 
his BSEEdegreejn 1978 and 
hi^MSEE in 1979 from Pur- 
due University. He led the 
m^^^ r design team in the develop- 

^^'— ^' men! of itie HP 3Z45A uni- 

versal source and assisted in the design of the HP 
3235A switch and test unit. Before joining HP Steve 
worked for NASA designing data commDnication in- 
terfaces He has written several papers on the VXIbus 
which have been presented at various test confer- 
ences. His efforts in circuit design have resulted in a 
patent for reducing settling time in filters. He was 
born in Englewood, New Jersey and currently lives in 
Longmont, Colorado with his wife and three children. 
In his leisure time, Steve enjoys tennis, hikmg, train- 
ing his golden retriever, and spending time with his 

24 Mainframe Firmvvare ~^^^H 

Paul B.Worrell 

Currently a project manager 

for new software projects, 
Paul Worrell worked as a 
firmware design engineer 
and project manager on the 
VXIbus mamframe firmware, 
^s^ Pay I b ega nhiscareeratHP 
as a summer intern at HPs 
Love I and Insirumeni Division 
in 1979, arrd became a fulUtime employee in 1960. He 
received his BSEE degree from the University of Mis- 
souri in 1979 and an MSEEfrom Stanford University 
in 1 984 througti HP's honors coop program Paul has 
worked on the HP 3421 A data acguisition control unit 
and the HP 4445BA software package, He has also 
sen/ed as a technical representative to the VXIbus 
Consortium. Paul was born in Hannibal. Missouri and 
cuTemly lives with his wife in loveland, Colorado 
His ouiside-of-woric interests include home improve- 
ments, constructing automobiles, and building audio 

30 Real Time Multtteskin^ ] 

Chnstopher P Kellv 

^^^^P^^H Design engineer Chris Kelly 

^^^^^^^I^^H was responsible for the f irm- 

^^K flf^l warenntheHPi300B^si2e 

^■^ ^^H ^nd HP 140EC'Size VXIbus 

^^ft^, ': ^^1 controllers. Chr I sjoinedHP's 

^H| ^^1 '- ^^^^^ ^^ ' ^^^^^ ^^ ^^ ^ ^^ '^ '^^ 

^^-^^ ■ ■■'^ ^^ I n 1 9 33 afte r r eceivi ng a n 
mmiljjr mm jy s degree m computer sci- 
^^m m mM ence from Colorado State 
University that same year. He also holds a BS degree 
in biology and chemistry (19751 from the University of 
New Mexsco One of his past assignments was the 
firmware revision for the HP 3457A multimeter Be- 
fore joining HR Chris worked on real-lime data ac- 
quisition systems, analysis systems, and control sys- 
tems at Lovelace Biomedrcal Environmental Institute 
in Albuquerque. New Mexico. He has authored and 
coaiuithored several articles and papers in electronic 
test magazines, computer science symposiums, and 
scientific journa's Because he likes to work on the 
boundary between ha^aware and firmware, his pro- 
fessional interests include real-time operating sys- 
tems and data acquisition firmware Work in church 
organizations, public service communications wjth 
ham radio, and severe weather spotting for the Na- 
tjonal Weather Service are some of the activities he 
is involved in. Born in Seattle, Washington, Chris now 
lives in Love I and, Colorado wtth his wife and three 
young boys, fn his spare time, he enjoys amateur ra- 
dio {advanced class), shootmg sports, fishing, and 


VXIbus ProgranTTiiing In C 

Lee Atchison 

^^^^^ S oftware des i gn engs near 

^^^^^^ Lee Atchison joined HP in 
^^"^Pl 1 987 at the InformatJon Wet- 

^^9i^MP. '.vorks Division in Cupertino, 
California, where he worked 
on SNA network software 
drivers. He is now located at 
HPs Measurement Systems 
Operation, in Level and. Colo- 
rado, Lee received BEE and BCS [computer science) 
degrees from the University of Minnesota m 1987. For 
yie VXIbus project, he worked on the instrument I/O 
library, the instrument communication strategy, and 
the software drivers for die HP V/36D controller Lee 
is a member of the IEEE Test and fv^easurement So- 
cial and the IEEE Computer Society, and participates 
in VXIbus Consortium activities. He is also chairman 
of the IEEE P-1 174 standards committee. His profes- 
sional interests include mstrument I/O. networks, and 
operating systems. Lee was born in Minnesota and 
lives wEth his wife m Ft, Collins. Colorado. He is a 
Walt Disney memorabilia collector 

41 Matrix Relay Modules { 

James B. Durr 

Learning products developer 
Jim Durr wrote the SCPI and 
reg^ster-based benchmark 
programs for the VXIhus 
dense matrix relay module 
Jim received a BSEET from 
DeVry Institute of Technolo- 
gy in 19B1. He joined HP^s 
Lake Stevens Instrument 
Division in 1931 and later relocated to HP's Lovefand 
Instrument Division. Jim has developed user manuals 
that cover SCPI and register- based programming for 
VXIbus products. He has also developed manuals for 
the HP 3245A universal source and for the HP 3852A 
data acquisition and control unit, He was born in Riv- 
erton, Wyoming and currently lives in Lovefand, Colo- 
rado with his wife and two children He en|oys bird 
hunting, skiing, and biking into backcountry lakes and 

Sam S. Tsai 

The electrical and mechani- 
cal design for several of the 
VXIbus modules such as the 
HP El47ZAfiF multiplexer, 
ihe HP Ei403AA/B active 
module earner, and the HP 
E1466A 4x64 matrix switch 
are some of Sam Tsai's con- 
tributions to HP's VXIbus 
product line. Sam received a BSME degree in 1975 
from National Cheng-Kung University in Taiwan, an 
MSME in 1979 from Te>;as Tech University, and an 
MSEE in 1987 from Colorado State University. He 
joined HP's Loveland Instrument Division in 1979, One 
of his early contributions was to the design of the HP 
3235 A switch and test unit. Sam was born in Taiwan 
and now lives in Westminster, Colorado with his wife 
and two daughters. Teach mg Mandarin to his chil- 
dren, watching movies, and landscaping are some Qf 
his leisure activities. 

Calvm L Erickson 

A graduate of Colorado 
State University (BSME 
1978) and the University of 
Manchester Institute of Sci- 
ence and Technology 
[MScEE 19851 in Manches- 
ter, England, Calvm Erickson 
joined HP in 1979 at the for- 
mer Civil Engineering Divi- 
sion in Loveland, Colorado Calvin was the project 
manager for the VXIbus C-size system hardware and 
switches and was the mechanical representative on 
the original VXIhus standardization committee He 
has worked as the mechgmcaf engineer on various 
voltmeter and cardcage product developments at HP's 
Loveland Instrument Division. .At the Civr I Engineering 
Division, Calvm worked on distance meter product 
development. He participates in the development of 
young scientists and engineers by working in the vis- 
tting scientist program at the high school where his 
wife teaches He is also active in church activities 

78 f>lot)er 1991 Hewtctt-Packaiid Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Catvin was born m Greeley, Cotarsrfo and currsitly 
lives m LxjvelBnil. Colorado Travel, hiking, and ^iwq 
5fe tiis maiD trrterests outside d woric 

SS Diaitai Test Eqiittniieiil ^^^B 

David R Kjosness 

The devefopment of the HP 
E1450A Timing moduie was 

ihe mam responsfbility of 
desjgn engcneer DavE K]OS' 
p^ss. Dave joined HP in 1979 
after receiving an MSEE de- 

p^^^^^^P^ ^^_ gree 1rom the University of 
ll^^ S^ Colorado that same year H^ 

^^^ ' also received a BA degree in 

physfcs and ntathematics m T976 frorr* Western Slate 

Coffege of Colorado . In ihe past Dave has worked on 
an inie^ratBd ctrcuii for a fractional-N fretiuency syn- 
thestzer, a timing generator for a proprtetary inte- 
grated circyit tester, and various switching modules 
for the HP 3235 A switch and test unit. His work has 
resulted in two patents related to HF switching, and 
his pro less I orta I interests include high-^peed analog 
and di-gital drcustry. Gave was born in Gunnison, Col- 
orado and now lives m iongmont. Colorado He is 
married, has two children and is active in scouting. 
To stay m shape. Dave enjoys running, bfcyding, and 
wejghthfting He a^sa enjoys camping and handgun 

69 Development Software ^^H 

Kennetti A. Ward 

Ken Ward is a member of 
'hfi leam that developed the 
L^ri^ware for the HP 75000 
Model D20 digital functional 
s ester He jomed HP's Love- 
land Instrument Division in 
1982 He received a BSEE 
J -^ degree f 1 978) from Kansas 
"* '^ S tale U n ivers i ty a n d an M S 
m computer and informatmn spence \ 1 9801 from Ohio 
State University. Before joining HP. he worked as a 
software engineer at BeiS Tfilephone Labor atones in 
Columbus, Ohio. Ken is a member of the IEEE and the 
ACM. Born in Manhattan, Kansas, he now lives with 
his Wife in Loveland. Colorado His leisure activities 
include playing trumpet with several local groups, 
hiking^ and camping rn the mountains. 

tW v^mwMBmm^ 

ring ^^g 

Wayne H.WJHis 

Fonnerly a manufacturing 

test engm Bering manager at 
HP's Love I and Instrument 

Division. Wayne Willis is 
currently a sales devalop- 
ment manager at the same 
^ . .. * division. Before jOrning HP in 

h^ ' \ 1979. he worked as an RSD 

^^ ^ engineer for a company that 

mariufaciursrG water analysis instrumentation. 
Wayne received a BSEE degree from Iowa State Uni- 
versity in 1973. He was born in Marshal Itown^ Iowa 

and correotly dves with his wife and three children in 
Lovelarwi. Colorado Wavne si^ftds mtich of his spare 
lime playing with his ditldren and is an avid cimputm 

Larry L Carlsan 

Carrefitly a product manager 
ai HFs Loveland [nsirument 
Division, La^v Carison jomed 
" n 1 9i2 after ^ecEiv^ng a 
5-IiEE degree from Colorado 
State University that same 
year He aJ so received an 
fvlSEE in 1957 from the same 
school Larry has held post- 
lions in prodoction engineering, product development 
(analog voitmetersl, and marketing His publit^tjons 
Include several application notes, and he is a coau- 
thor of a basic instrumentation handbook. He was 
borri and currently lives in Love land, Colorado with 
his Wife and two children, both of whom are studying 
engineermg at the University of Cotorado. Larry's hob- 
bies and other interests include tennis, hiking, and 

81 Peak Power Afialy^erj 

Dieter Scherer 

Dieter Scherar was praject 
manager for development at 
the HP 8990A peak power 
analyzer a? HP's Stanford 
' ' /_A Park DivisFon. Born in Bad 
J5c!^ Reichenhall in Gavana, he 
U||HflpP attended the Technical Uni- 
:S^^H^ vorsity of Munich, graduat' 

"**^^^^^*^ ing in 1 967 with a Diplom 
IngenieuT m eiecirical engineering At Stanford Park, 
which he joined in 1967, he dessgned WEdeband hy- 
brid ampJiliers, microwave oscillators, and mi.xers for 
the HP 8ESQ family of synthesizers, was responsible 
for the BF moduias of the HP 8662A synthesized sig- 
nal generator and the fow phase noise circuits tor 
that instrument, developed GaAs fiybrid circuits for 
micfO wave signal generators, and served as project 
manager for phase noise measurement mstru menta- 
tion and the HP 6990 A One patent on a gain strobing 
technique has resulted from his work In 1972 he re- 
ceived an MSEE degree from Stanford LJnrversity. A 
senior member of the IEEE, he has authored papers 
on low phase noise design, RF synthesizer design, 
phase nofse measurement, peak power sensors, and 
peak power measurement. Since 1 9S1 , he has been a 
part-time lecturer in RF design at Stanford University 
Dieter's interests include furniture design, photogra- 
phy, hiking, and boardsailing. He's married and has 
two sons 

William E. Strasser 

Bill Strasser did analog de- 
sign for the RF power and 
ajicilloscnpe channels of the 
H? B930A peak power meter 
Since joining HP's Stanford 
Park Division in 19B4, he has 
designed power, phase 
noise, and noise figure 
instrumentation A memher 
of the IEEE microwave theory and techniques group, 

he is narrjed as a cthinventor on two paienis, orte on 
a w^de dyoamfc rarrge amplrfi©' and one on pin 
strobir^, Bill was hmn in Washir^n, U.C Hb re- 
ceived his BSEE degree m 1984 from Lehigh Universi- 
ty and his ME£ degree in 1986 frum Coinell Univefsi- 
ty, spec" "" ^ ' :^owave theory and 
etectfor s married. Wren he's rHS at HP 

Of wtsfking rr. s ome, he etijoys tertisanrngand 
other oiftdaor actrvitma 

James D. McVey 

tR&D engineer Jim McVey 
was one of ttie designers of 
the HP B390A peak pawer 
analyzer ar HP's Stanford 
Park DivtSEOn. He came to HP 
in 1985 after rsieivingES 
and MS degrees in etorical 
engineering from Stanford 
University in 19B4 and 1985 
In addition to the HP 8990 A, he h^s contributed to the 
design of the HP 8780A and 87B?A vector signal gen- 
erators, the HP 117536 II F channel simulator, and tfte 
HP 89810 vector modulation analyzer. 

Wayne M. Kelly 

Wayne Kelly received his 
BSEE and MSEE degrees 
from California State Univer- 
sity at San Jose in 1963 and 
1965, After ten years with 
GTE Sylvania designing mi* 
crowave components and 
subsystems, he joined HP's 
Microwave Semiconductor 
Division itneit HP Assocfaies) m t975 and designed a 
radar preamplifier. After moving to the Stanford Park 
Division, he rtesigned a vector modulator for the HP 
8780A and HP B702A vector signal generators and a 
frequency agile upconvertor for the HP 8791 Models 
n and 21 frequency agile signal simulators For the 
HP 8990 A peak power analyzer, he designed the 
1 05-GH/, +10-dBm sensor check source. A member 
of the IEEE microwave theory and techniques group, 
he has authored a paper on a figure of merit for X- 
hand GaAs power amplifiers., and hrs work has ra- 
suited in a patent on mixers and multipliers using 
slot/cop I an ar transmission line. Born m Oakland, 
Califnrnra, Wayne is married and has two cfiifdren, 
He's a skier and has developed the special skill of 
building massive wood decks on concrete retaining 

90 GaAs Technoiegy 

Micfiael C. Fischer 

CD eve I Dpm en t eng inee r M ike 
.^^ Fischer has been with HP 

..„£Si^^l since 1973. He has worked 

on phase noise measure- 
ment, developed frequency 
standards, and contributed 
to the development of the 
HP 8990 A peak power ana- 
lyser, for which he did sys- 
tem design and testing, sensor amplther design and 
testing, and verification source design. He's presenily 
doing producibibty improvement engineermg. A mam- 
ber of the IEEE and the Audio Engineering Society, he 

)Copr. 1949-1998 Hewlett-Packard Co. 

April imZ EewleU4'ai^km^] Jutimal 79 

has aLJthored many techrncaf papers and ariicies on 
the measurement and control of phase noise and fre- 
quency stability, and is named an inventor on seven 
patents on signal prooessmg and measyremeni and 
on frequency standards A nattve ni Colenian, Texas, 
he received his BSEE degree from tfie University of 
Texas in 19B6. Before coming to HP, he designed fre- 
quency standards and navigation receivers for Tracor, 
Inc. and Magnsvox, Mike has three chtldren. He 
serves as a Boy Scout leader and is interested in au- 
tomobites, audio equipment, sailing, and photogra- 

Michaet J. Schaessow 

Mike SchoessGW joined HP's 
Stanford Park Division in 
19B1 as a production engi- 
neer, then moved to RSiD in 
1987 Since then, he has 
contributed to the design of 
the HP 36792A agile upcon- 
povver meter for the HP 
8990A peak power analyzer, he vwas responsible for 
the baseband circiiit design, ground management, 
and electrical interference rnanagement. A member 
of the Audio Engineering Society, he has coauthored 
papers on graphic equaiizer design and Joudspeaker 
equalization. Mike wes born in Milwaukee. Wiscon- 
sin and received his BSEE degree from the University 
[)f Wisconsin in 1981 He is married His interests 
include ultrahigh -voltage research, kite frying, restor- 
ing antique radios, goormet cooking, and hiking. In his 
spare time, he vvorks on a design for the "ultj- 
mate"cdmmunic3tions receiver 

Peter Tong 

^ Mow studying for JD and 

MBA degrees at 3anta Cfara 
V University, Peter Tong has 
^ moved from the R&D lab to 
I* "^^H^ * become a legal associate on 
y , - ^^t- .Jim HPs corporate legal staff. A 
native of Hong Kong, he re- 
^^^^ ceived his BSEE degree in 
*^^^^^^ 1 980 fro m the U ni vers i ty o f 
Hawaii and his MSEE and PhO degrees in 1 981 and 
19B5frnm the California Institute of Technology As 
an R&D engineer with HP's Stanford Park Division 
starting in 19B4, he was responsible for the design 
and production introduction of the HP Ra47B and 
fl347B noise sources and for microwave design and 
calibration of the HP 8481 2/1 3/1 4A peak power sen^ 
sors He has published eight technical papers in the 
fields of microwave design, optical systems, and 
semiconductor technology, Peter is married, enjoys 
tennis and swimmmg. and is presently serving as vice 
president ol the California Institute of Technology 
Alumni Association. 

% Autoinatic CaJifaration 

David L Barnard 

^tttk A software des ig n engi rieer 

^^^^s with HP's Stanford Park DivE- 

^^ j^^ s ion, Dave Barnard was re- 

hP ^^^ s pons ibke tor firmware de- 
^. igr sign for the HP 899QA peak 
y^l^^ power meter With HP smce 

^^^^^^^^ 1 9BD, he did reliabi lity engi- 
^^^^^^^^k 'leering for two years before 
^^^^^^^^* ■ -'G V I ng to the RSi D Ja h , 
where he v^oiked on ihe HP 1 I729C carrier noise test 
set. He received his BSEE degree m 1 980 from the 
University of Colorado at Boulder and is a member of 
the EE. Dave is active in his church and is interested 
in music, particularly guitars. 1<eyboards, and MIDI 
sequencing He enjoys traveling in Latin America and 
studying the culture, and he participates in a bilingual 
tutoring program He's a native of Longmont, Colorado. 

James A. Thatmann 

^0f- ■ J i m T ha I ma nn received his 

^^F^ \ BSEE degree from the Uni- 
■ ,^te^| versity of lllinojs in t976and 

1 I'SilBtf fordUnivefSity in 1979. 

Jl^*' Sirice 1 376, he's been a da- 

Jffc ve Jopment eng i ne er with 

jBP* HP's Stanford Park Division 
*^^^ and has contributed to the 

design of the HP 8683/84 signal genera la rs, the HP 
lt729A carrier noise test set, and tiie HP 11759A/B 
RF channel simulators. He also worked on the firm- 
ware and automatic calibration scheme for the HP 
B390A peak power analyzer. In his spare time, he's an 
avid cyclist. 

HenrY Black 

Henry Black joined HP's Stanford Park Division in 
19B8a& an R&D engineer He was responsible for 
firmware development for the HP 701 OQA MIVIS pow- 
er meter and the HP 8990A peak power analyzer Be- 
forB coming to HP, he dtd earJy design work on syn- 
chronous data communications with ICL and designed 
6Q-Hz energy measurement instrumentation with Ro- 
binton Products. Inc. He recently left HP to become 
chief engineer with Information Consultants. Inc. A 
registered professional engineer and an amateur ra- 
dio operator, he was born in Wallasey. England and 
received his BA degree from The Open University. 

m m-iyilliWBtmrhftnttwtT 

Koichi Yartagawa 

Koichi Yanagawa was proj- 
ect manager for develop- 
mem of the HP 8751 A net- 
work analyzer He's been 
with Yokogawa 'Hewlett- 
" ' Packardsince1974;andhas 

n^. ^^^^ CO n tr i boted to the de s rgn of 

P^ ^^ the HP 4194A impedance/ 

'•*' gain-phase analyzer, the HP 

4278 A capacitance meter, and the HP 42841 A bias 

current source. His work has resulted in one U,S, pat- 
ent and several Japanese patents on analog circuits. 
Born m Toyama, Japan, he received his BS degree m 
electrical engineering from Tohoka University in 1971 
and his MS degree m electrical engineering from Kyo- 
to University m 1974, Has a member of the Institute 
of Electronics, Information, and Communication Engi- 
neers. Koichi IS married, has two children, and enjoys 
rnusic and hiking. 

110 M easy rem ent Co pr o cess or 

Michael P. Moore 

a Mike Moore was project 
leader for the HP 8Z324A 
high-performance measure- 
ment coprocessor He joined 
HP's Corvallis Division m 
1 973 and contributed to the 
design of the HP 85 and HP 
. ^ -.: 87XM computers and the HP 

'- ■ ' "^-- 82300AandHP82324A 

measurement coprocessors When the HP 82 324 A 
project moved from the Corvallis Workstation Opera- 
tion to the Measurement Systems Operation (nuw the 
Measurement Software Division^, Mike followed it to 
Colorado, where he now fives. A native of San Fran- 
cisco, he graduated from the U.S Naval Academy 
with a BS degree in electrical science in 1 968 and 
served ten years in the U.S. Mavy, attaining the rank 
of lieutenant commander Jn 1975 he received his 
MSEE degree from Oregon Stete University, specializ- 
ing in solid-state electronics. He is married, has two 
daughters, and enjoys camping, hpking, fishing, cross- 
country and downhill skiing, and running. 

Eric N. GulNrud 

EricGullerud is a software 
devebpment engineer vvith 
HPs Measurement Software 
Division. Born in Colorado 
Springs, Colorado, he re- 
ceived his 8SEE degree from 
the University of Illinois in 
19B1 and joined HPs Corval' 
Its Division the same year 
He served as a chip designer for HP Series 10 calcula- 
tors, developed software for Northwest IC Division 
design tools and for [C testing, and developed soft- 
ware' for the HP a23D0A and HP 82324A measure- 
ment coprocessors, mov^rrg back tu his nahve Colora- 
do when the HP 823 ?4 A project moved. Enc is 
married and has three children His leisure interests 
include music, camping, and hiking. 

80 October ISQl Hewlett-Packard Joumat 

)Copr. 1949-1998 Hewlett-Packard Co. 

The Peak Power Analyzer, a New 
Microwave Tool 

Gallium arsenide sensor design, a new calibration approach, switched 
amplification and processing of the envelope signals, leveraged digital 
oscilloscope technology, and micropracessor control provide 
calibration-free, accurate pulsed microwave power measurements. 

by Dieter Scherer, WilUajti E* Strasser, James D» MeVey, and Wayne M, Kelly 

Microwave signals used in radar, telemetry, navigation, 
and coinnumlcations applications are typically pulsed. A 
Doppler radar, for example, operates on the basis of 
pulse modulation and is critically dependent on die 
characteristics of the pulse power envelope, such as peak 
and average power, rise and fall times, puLse width, duty 
cycle, and pulse repetition rate. For satellite communica- 
tion links in TDMA (time division multiple access) mode, 
the concerns arc absolute and relative power levels m\6 
delays between uidividual pulses within a frame or from 
fraiTie to frame. Even if the microwave signal is only 
frequency keyed or phase swiiched, like a QPSK signal in 
a digital radio application, it is often iniportant to mea- 
sure power overshoot and ringing at transition times. 

The perfomumce tjf systems like these can be detenninf^d 
to a large degree by accurate power imd Lime nieasure- 
nient5 of the microwave pulse envelope. One stage earlier, 
the desigii, performance, and stress of the components 
making up such systems can be characterised by pulse 
parameters such as rise time, overshoot, peak powen 
power compression, spike leakage, pulsed gain and 
reflection, and gain suppression. Delay measurements are 
also imptJriant:, not only along the nucrowave signal path, 
but also bet ween tile control sigiiul and the micruwave 
puise response, (teneraiiyj the microwave response of a 
system or component to control stimuli is relevant in 
analyzing pulsed perfomimice. 

Common Ways to Measure PuJsied Microwave Power 
What are the common ways to measure pulsed micro- 
wave power? The simplest approach is the use of a 
tliennocouple sensor and a power meter like the IIP 
43 7B. This combination rc?ads the average iKJwer of tJie 
microwave pulse train. Knowing the pulse tluty cycle and 
tissuming a rectangular pulse shape, the FIP 437B can 
calculate the pulse-top power. 

Tlie spectnim analyzer can also be a tool for measuring 
microwave pulses. For coiTecl atni)litude determination^ 
the desensiti^ation factor needs lo be added to the 
displayed amplitude and the user has to distinguish 
between line and pulse spectra Tlie spectrum analyzer 
yields infonnation on pulse repetition fretjuency pulse 
width, and pulse power. The accuracy uf tlie latter two 
measurements again depends on the assumption of 

rectangular pulse shape. Either method is highly inaccu- 
rate if the pulses show significant overshoot, ringing, or 
droop, and w^ouldn't work at all with an irregular pulse 
train like the pulsed frames of TDIVL^ signals. 

High-bandwidth oscilloscopes can be used in these cases. 
The F!P 54124T, for instance, is capable of displaying the 
RF signal diiectiy up to 50 GHz. Miile the sampling 
oscilloscope has plentj^ of speed to observe the rise dme 
and ringing in the applications mentioned above, it falls 
short witJi regard lo accuracy and dynamic range. 

Diode Detector with Oscillosrope 

None of the above solutions can comprehensively satisfy 
the measurement needs indicated at the begi ruling of this 
article. What is missing is an instrumenl thai accurately 
detects and displays the power envelope of conxpiex 
pulsed microwave signals, allows instantaneous power 
measurements on I he pulses and convenient measure- 
ments of pulse paranu^lers, all at an ecoiiomic price. 

A potential solution has been m use on benches for a 
long time: a niicTowave detector connected to a 5(^ohm 
oscilloscope input. However, it is dLfficult and cumber- 
some to make meaningful measurements on the displayed 
pulse with this setup. The video output of the detector is 
far from being an accurate replica of the microwave 
pulse envek^tie. vokage or powej'. The causes reside in 
part in tiie oonideal detector, and in part in the limita- 
tions of the oscilloscope. 

Detector NQnIinearity. The diode detector has a square-law 
response al kiw power (the video voltage is proportional 
to llie square of I he RP" voltage), a linear response at 
high j>ower. and a wide transition nuige in lietween 
(approximately - 15 to +10 dBni). Even if tlie user 
manages to calibrate tlie top level of the displayed signal 
with a substituted known RF signal, any meiisurement 
invoKing other levels, such as rise time, is highly inaccu- 

Detector Temperature Dependence. The Temperature sensitive 
ity of the diode dt^iector is high and complex, changing 
rapidly with signal level and lemperature. For instance, a 
lO^C change from calibration can cause errors in power 
measurement as great as 5tM Very large enors can result 

April 1992 Hewletl-Parkafti JcniniiiJ 81 

)Copr. 1949-1998 Hewlett-Packard Co. 

Detector Djade 


jTypicaElv a 


Schottky Diode} 

Input RF Shurtt 


Fig. 1. The basic diode tJet.ector, 

from connecting the detector to a device under test thai 
is hot or warming up. 

Frequencv Response of the Video Oytput. The diode Junction 
cajjaciiLuicc and device lead iniku lance are the nia^jor 
device parasitics affecting Uie freciuency response of the 
detector output. Tlie junction resistance aiso ehat^ges al 
high signal levels, wliich indirectly causes tite frequency 
response to vary with the signal level to some degree. 
ThL^ unflatness of a low-barrier Schottky diode detecl<;>r in 
X bantl may be around ±0.3 dB, which translates to a 
± 7% en'or in powx^r 

Mismatch Error. Mismatch representii a major enor source. 
It is proportional to the product of the reflection coeffi- 
cients of the detector iind the device under test fDlJT). A 
typical low -barrier Scholtky detei tor (SWR < 1.5) con- 
nected k> a t^LT with an SWli of 2.0 may give a maxi- 
mum mismatch error of ± 13%. Unless tlie detec^tor and 
DIJT impedatices are accurately known in rnagniLude and 
phase, this error cannot, be calibrated out. 

Microwave Signal Harmonics. The microw^ave signal and 
harnioMics of die signal are detected as a vector sum 
when the detector t^pe rales in tlie lineai* range. A 
-2(l-dBc harmonic may therefore cause as UMich as a 
21% error in powder measurement. 

Slow Video Response. A detector reQiiires a RF bypass 
capacitor on the video side (see Fig. 1). In combination 
with the capacitive loading of the oscilloscopej this 
capacitor slow^s dow^n the rise time of the ionise envelope 
signal. The time constant can he decreased by choosing a 
low^-impedance termination for the oscilloscope input, say 
50 olmis. Unfortunately, the lower impedance also causes 
a corresponding decrease in detector sensiti\ily because 
the diode detector at low signal tevels represents a 
current source. 

Limited Oscilloscope Sensitivity. The low \ideo signal levels 
obtained with a low-impedance termination are two 
orders of magnitude below^ typical oscilloscope sensitivi- 

This list of obstacles doesn^t yet inclnde the problems of 
accurately calibrating the measurement. Nevertheless, the 
concept of envelope detection is viable and holds die 
promise of an economic solution. It requires only one 
broadband microw^ave component to translate the pulsett 
microwave signal to a video signal wiiere it am be 
processed at much lower cost. 

Commercial solutions based on the principle of diode 
detection have been on the market for some time- For 
example, the IIP 89t)0C/D peak powxT meters use diode 
detectors, but represent only partial solutions. More 
advanced are several non-HP peak power meters w^hich 
address the detector deficiencies witli a calibration source 
and limited calibration processing. 

New Peak Power Analyaser 

Tlie Ht* B9110A jjcak power analyzer (Tig 2) is a new tyi>e 
of instrnrrieni lliat represents a comprehensive solution to 
the f>rol>leni. Tin* design team took a fresh look at the 
challenges of diode detection. Our goal w^j;is to trails lb rm 
the inaccurate, cumbersome bench setup into a ( ar'efree 
product that measures accurately and meets the complex 
measurement leijuiremenls of modern microwave systems. 
The use of GaAs IC technology in the sensor design, a 
new calibration approach, switched amplification and 
processing of t be envelope signals, broad leveraging of 
niodeni digital oseilloseope teeimology, and extensive use 
of microprocessor power in signal calibration and pro- 
cessing accomplished this task. 

Fig. 3 is a block diagram of the HP 89D0A peak power 

Sensor. A new approach was taken in the sensor design J 
Ij involves a Ga^As-based diode technology, integration of 
a balanced circ nit on GaAs, and a new^ calibration scheme 
(st^e the aiticle "GaAs Technology in Sensor and Base- 
band Design,*" page 90). The use of planar doped barrier 
diode technology improves the frequency response and 
consistency of the diode characteristic. 

A balanced diode circuit including the terminating load is 
implemented as a t^aAs IG. The integration of the detec- 
lor circuit minimizes mismatch loss^ thanks lo the veiy 
low parasitic reactances on the 10. The bakmced circtut 
effectively minimizes the potential problem with even-or- 
der hannonics of tlie RF signal Both integration and 
l)alancetl design help minimi^se I he effect of thennoelec- 
trie voltages, which f oulci otheiwise mask low-levei 

A three-dimensional calibratior^ scheme takes care of the 
problems of nonlinearity, temperature dependence^ and 
frequency response. Extensive calibration data is taken 
over a wifle range of power levels, frequencies, and 
temperatures. Condensed as a matiix of coetTicient sets, 
the calibration data is stored on an EEPROM supplied 
within the sensor. Wlien a sensor is connected to an 
analyzer, the analyzer reads the calibration matiix and 
reconstructs a precise curve of sensor output voltage 
versus input powder for a given frequency and tempera- 
ture. Tiie frequency is entered by the user^ and the 
temperature is measured by a them^istor chip close to the 
detector IG. The analyzer continuously rea<is the thennis- 
tor chip and automatically triggers the rebuilding of the 
sensor cune for ^my minor temperatiue shift. Tliis feakue 
of caiefree calibration is especially helpful when a sensor 
at room temperature is connected to a hot device under 
test, such as a power amplifier (see the article, "Automat- 
ic Calibration for Easy and Accurate Power Measure- 
ments," page 9b}, 

82 April 1 992 H<?wlelt4'at.kcircl J oiunaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 

Fig, 2. Tlie HP 8990A peak power 
analyzer has two DOO-MHz-to-40' 
GHz microwave input channels 
and two 100- MHz ndeo input 
channels. It makes calibration- 
free power measurements on 
pulsed microwave signals and can 
display the video dri\ing signals 
simultaneously. It operates with 
the HP 848 12/1 a/1 4Atoiiiy of 
peak power sensors. 

Currently, three sensor versions cover input frequencies 
from 500 MHz to 18 GHz, 26.5 GHz, aitd 40 GHz, respec^ 
tively. Sensors are specified from +20 tlBm to -32 dBni 
and are usable down to -40 dBm* 

Sensor Amplifier The problem of slow video response must 
be addressed right at the detector output with the sensor 

amplifier The system goal of <5-ns rise time requires 
special measures to deal v^ith pulse flatness as well as 
drift and low-sensitivity issues. Conflicts between speed 
(\idco signals range from dc to 10-ns-wide pulses) and dc 
stability are resolved with a split-path design (see article, 
page 90). A microprocessor-controlled chopping circuit 
ahead of all dc-coupled circuits perfonits an autozeroing 


O.Sto40aHz ^0^^^ ^^^ 

Ext Trig/ ^^^^ 
100 MKz Stope 


ExtTfig/ ^^^ 
lOO-MH; Sco|»e 








1.05 GKz 
-)-iadBm ^ 

V o 




1S Sttps 



Trig CH2 


Trig CH3 

X Postampiilier 

Ir nek -and -Ho Id 


Trig CH4 

11 Steps 



Chech S<iurce 

mmHi Crysml 

Fig, 11. 1''unctional block diagram of the HP 80^0 A peak power analyzer. 

April 1992 H&wlett'Padsard Journal 83 

)Copr. 1949-1998 Hewlett-Packard Co. 

Multf layer Shielding Protects Mtcrovoft Sfgnals in High-Jnterference EnvirDninent 

MultHayer shielding fs employed in the HP 3990 A peak power analyzer to minimize 
interference from magnetic field sources. All three shielding mechanisms — reflec- 
tion, absorption, and shunting — are used where apprapriate (see Fig 1 ). 

The leveraging of an HP digital oscilloscope chassis, display, display driver, and 
power supply creates a highly constrained design problem because the field 
source and receiver geometrv is f i?;ed. Consequently, ttie interference ranr^ot he 
reduced by orientation or physical separation of the sources and receivers The 
most sensitive receivers are the baseband boards with their almost lOD dB of gain. 
Aluminum castmgs provide channeJ-to-channel isoJation, gam stage isolation, and 
substantial electric field shielding. However, these onboard shields are ineffective 
in comhatmg the magnetic fields emitted by several internal corrponents. In addi- 
tion to the switching power supply operating at 40 kHz, the CRT and the CRT driver 
circuitry emit magnetic fields at 60 Hz and 25 kHz, plus harmonics. 

The low frequency and close proximity of these magnetic sources result in a low 
wave impedance, which is difficult to reflect with a conductive shield. Common 
practice suggests the use of a high-permeability shield enclosure to shunt the flux 
away from the baseband hoards, and a mu-metal enclosufe around the baseband 
boards was designed for this purpose. With a\y assist from the partial CRT enclo^ 
sure, this enclosure lowers the 60-Hz interference to an acceptable level However, 
the mu rtietal loses most of its permeability at the higher ( > 25 kHz) f retjuenciBS, 
decreasing its ability to shunt the flux. An additional shielding mechanism, absorp- 
tion loss, is caused by ohmic losses and is proportional to the square root of the 
product of frequency, permeability, and conductivity. Although the mu metal con- 
tributes some absorption at these frequencies, it is not enough. Even 1045 SAE 
steel would probably do better. 

To achieve the necessary shielding, an additional layer of O.OU-inch copper is 
placed on the baseband shield on the sides facing the sources. Diis layer has a 
negligible effect on the low frequencies, but it is increasingly effective as the 
frequency mcreases. For example, although the copper does not shunt the fields, it 
reflects an estimated 18 dB and absorbs an estimated B dB at 25 kHz Moreover, at 
the 100-kHz harmonic of the fast CRT sweep, these values increase to 25 dB re- 
flection and 15 d6 absorption. Th^s increasing attenuation of the higher harmonics 
lowers the p^aks of the 25 kHz waveform m the time domain to an acceptable 

The mu-metal CRT shield is used to lower the 60-Hz field further and has only a 

minor effect on the higher f > 25 kHz) frequencies. This shield has an unusual 
shape in that it does not fully enclose the yoke, which is the recommended method 
of shunting the field. Although this geometry seriously limits its performance, the 
CRT beam path is not distorted^ and the yoke need not be magnetically adjusted to 
the shield. In addition, it is easily installed and removed The installation of the 
baseband and CRT shields ret|U[res the addition of only two screws to the original 

The multilayer shielding achieves the required 40 to 55 dB of near-field shielding 
white, leveraging the inexpensive CRT and CRT driver components. 

James L. Sertsch 
Charles W. Cook 
Development Engineers 
Stanford Park Division 



Power Supply 

Comrol Board 

Onboard Shield 

Mu-Mctal — 
Baseband Ba&rti Shm\i 

Baseband Circuits ^^ 

Rg. 1. Shielding m tt^ HP 8SS0A pe^k pcFwer enatyr^r 

84 April 1992 Hewlett-Packarti Joimtal 

)Copr. 1949-1998 Hewlett-Packard Co. 

function at appropriate breaks m the acquisition proce^. 
This process, which is transpaient to the user allows the 
system 10 correct offsets and offset drift with temperature 
along the dc-coupled signal path. The dc and fast paths 
are reunited before lea\ing the sensor head Both ends of 
the standard D-foot sensor cable need lo be well-niatched 
to avoid vidcK) signal reflections. 

Baseband Circuits, Mo\1ng from the sensor to the instm- 
nieni. the \ideo signal undergoes 94 dB of switchable 
gain. This gain resolves the problem that the limited 
sensitivity of an ^oscilloscope wotdd present with micro- 
volt signal levels. The dc-coupled amplifiers, si^itched 
with GaAs switch ICs. MM a dual task. First, they 
project the sensor \ideo signal in coarse gain steps into 
the limited dynamic range of the track-and-hold circuit 
and later the analog- to-digitai converter (ADC). Second, 
they limit broadband noise. The bandwidtli of the amphfi- 
Cfs changes from > 150 MIz for higher signal levels to 
2.5 kHz for the lowest power decade. Correspondingly, 
the system rise tmie increases from a specified < 5 its to 
<2&0 MS (see article, page 90)- 

Acquisition and Digital Signal Processing Circutts. The 

acquisition ci.rcuii:s follo\\ing the baseband circuits and 
the digital signal pro<:essing circuits are to a large degree 
leveraged from the digital oscilloscope technology of the 
HP 54500 family. The puise envelope signal roughly 
scaled by the baseband circuits, is subsequently sampled 
by a track-and-hold ctrcuit at a rate of 10 MHz (see 
"Acqtiisition Process'' later in this article). The hold level 
of the track-and-hold output then passes through a 
postanipliner wirli 15 One gain steps. In combination with 
the baseband gain blocks, the postamp guarantees that 
any input level in the specified -32-to-+2(J-dBm rar^ge 
can fiU tiie ADC window. 

The 8-bit resolution of the flash converting ADC repre- 
sents a bit range of to 255. This t ranslates to 24 dB of 
dynamic range referenced to the sensor input, if the 
sensor wcn^ to operate solely in the s<juare-law range, or 
to 48 dB for operation strictly in the Imear range. The 
wide transition range betw^een square and Unear operation 
causes most applications to fall between these numbers. 
Tiie ADC output is captured by tlie 2K-byte-wido circular 
acquisition memory. 

The task f>f accurate time placement of t he received 
pulse envelope is carried out by the powerful trigger and 
time-base ICs. A 40-MHz crystal oscillator is responsible 
for the time-base accuracy of 0.005%. A 68000 micropro- 
cessor controls the signal processing and the monochro- 
matic 9-in display The control code resides on a separate 
memoiy board ai\d takes up roughly f>OOK bytes of ROM 

Dual Sensor and Trigger/Oscilloscope Channels, The peak 
power analyzer is equipped with two sensor channels: 
channels 1 and 4. This facility allows pulse comparisons 
and delay measurements at different probing points along 
a microwave path or between systems. With the capabihty 
of displaying ratios of the channel inputs, the IIP 8990A 
can measure pulsed gain and pulsed return loss (using 
external dirt^tional couplers). The sensor channels have 

internal trij^ering down to -30 dBm and a trigger 
band^\1dth of 1 MHz, 

Mtdtiplexed with each sensor channel is a \ideo input 
channel. The purpose of the \ideo channels (channels 2 
and 3) is twofold: they can be inputs for external trigger 
signals when fast triggering Cbandwldth <I00 MHz) is 
required, and they also serve as oscilloscope inputs with 
100-MHz bandwidth and limited sensitnity (100 mV/div to 
500 mV/dh'). With these channels, the HP 8990A can 
simultaneously display control signals and the resulting 
irucTowave pulse envelope and measure delay times 
between them. It can also meastu-e transfer characteris- 
tics like the power-versus-controI'Valtage sensitivity of a 
pulse modulator. 

Sensor Check Source, A built-in source provides a puJsed 
or CW signal of +10 dBm ±0.5 dB at 1050 MHk. This 
serxes two pun^oses. First, k acts as a source to verify 
the operation of a sensor. Peak power sensors are fre- 
quently used around high-power signals. Tlie sensor check 
source Ls a convenient signal for checking the sensors if 
the user suspects sensor damage after an inadvertent 
connection to a high power level (damage level is speci- 
fied at IW peak power for 1 ^is, not to exceed 200 mW 
average). Second, the check source supplies a signal for 
time calibration of the trigger circuits and the timing 
between the four channels. 

AcQuisitioii FrocesB 

The time-base portion of the acquisition process is a 
dtiplicate of that found in the HP 54500 family of oscillo- 
scopes, while the vertical hardware processing was 
modified to accommodate the greater dynamic range 
requu-ements of the HP 8990A, 

The sampling method used m the peak pow^er analyzer is 
random repetitive sampling. In contrast to real-time 
sampling, where the sampling rate must be at least twice 
the highest frequency of the digitized signal (Nyquist 
rate), random repetitive sampling can sample at less than 
the Nyquist rale and still avoid aliasing.-^ Consequently, 
lower-speed circuits can be used in random repetitive 
sampling to achieve the same nominal bandwidth as 
real-time sampling. 

The transition from a higher-bandwidth circuit require- 
ment: to a lower bandwidth is achieved in hardware 
through the track-iind-hold diode bridge. Ideally, the 
bridge is modeled as an SI'ST switt^h operating at 10 
MHz, closed during the track mode for 50 ns and open 
during the hold mode for 50 ns. In die track mode, the 
capacitor tracks the input sigiiiil, and in the hold mode 
the capacitor is isolated from the input signal. The charge 
residing on the capacitor during the hold time is a 
renmant of the input signal immediately before the bridge 
opened. During this 50-ns hold period, the 8-bit flash ADC 
digitizes the waveform. Conversion is initiated at a time 
when the sampled signal has settled. 

The practical bandwidth lindtations in the track-and-hold 
process arc* a nonzero hold capacitanre and a finite diode 
switching lime. PVjr the HP 8990 A, this translates to 
appn>xiruately 2-ns rise and fall timers or a 175-MHz 

April 1992 Bewlett-Packard Jfiunml 85 

)Copr. 1949-1998 Hewlett-Packard Co. 

bandwidth. Random repetitive sampling provides 100-ps 
resolution at the fastest tinie-base settings. This theoreti- 
cally translates to aix effective sampling rate of 1/100 ps = 
10 GHz." Of course, tMs bandwidth is not realized be- 
cause the track-and-hold circuitry limits the speed and 
thus acts as a siurogatc anti-aliasing filter. 

The 100-ps resolution results from the time-base IC and 
the fine interpolator circuit, which time-s(re(ch«^s the 
uncertainty of one 40-Mllz clock cycle. The iU-Milz clock 
is used to count the separation between the trigger event 
and the nearest data siuiiple. Hence the possible error is 
from zero to one full clock cycle or eguivalently froni 
to 25 ns. Instead of truncation, tliis residual time Is fed 
into a time-stretcher circuit which accurately expands the 
time duration of the signal The stretched signal is then 
counted with the same 40-Mlk clock. The resultant 
uncertainty of one full clock cycle is divided by the 
stretch ratio, which is 250 in the HP 8990A. Hence the 
equivalent uncertainty (one clock cycle) is 1/(40 MHz)/250 
= too ps. 

The input signal is continuously sampled at lOO-ns inter- 
vals for the fastest tinie-base settings. The sampled data 
is then successively placed into a circular acquisition 
RAM that has 2048 frames (see Fig. 4J. At the end of an 
acquisition cycle, tlie RAM data*s location relative to a 
trigger event that occurred during the acquisition cycle is 
determined. The samples are taken at exactly lOO-ns 
intervals and therefore only one data sample's position 
relative to the trigger event need be determined to place 
the data appropriately in time. Botii pretrigger and 
post-triggeT' data is gatiiered for each trigger event. The 
proportions of pretrigger and post-trigger data are deter- 
mined by counters, which are set according to the time- 
base range and delay settings and the choice of left, 
center, or right screen placement. 

The sampling signal and the input signal are asynchro- 
nous, so eventually all of the time slots, or buckets, will 
be filled with samples. Since the samples are randomly 
skewed in time between success ii^e trigger events, no 
missing data or holes result in the recreated waveform. 
Thus a requirement of the input signal is that it be 
repetitive with a stable trigger event. For slower time- 
base settings the time buckets will be greater than 100 ps 
wide, reflecting the display's fmite number of horizontal 

t, = Sampling Perind {10Q ns) 

t Trlggof 
2. Triggar^ J 




Fig. 4, (a) Random repetitive sampling. The number at each sam- 
ple indicates the trigger event used, (b) Circular acQulsirion 
memory with 2048 time T>uckets". 

Continuous random repetitive sampling offers mayor 
advantages over sequential sampling. In sequential sam- 
pling only one saitiple per trigger is taken, with each 
successive trigger having an increased sample delay. In 
random repetitive sampling, data is continuously acquired 
at the san^ple rate, thus achieving a mucii faster display 
and providing pretrigger and post-trigger data as well. 

\Vhi\Q the oscilloscope design is mainly aimed at the 
analysis of repetitive signals, it is also capable of captur- 
ing single-shot events. The 10-MHz sampling rate records 
the event with sample points every 100 ns, Witlt a criteri- 
on of 10 sample points per event, the HP 8990A offers a 
single-shot bandwidth of 1 MIlz. 

Microwave Pulse Measurement Features 

Digital signal processing makes full use of the pow-erful 
timing and trigger ICs and the properties of random 
repetitive sampling. The resulting features have already 
found wide acceptance in the HP 64500 digital oscillo- 
scope family^ whose feature set was heaviJy leveraged in 
the HP B990A. The following are some of the capabilities 
thai are most important for microwave pulse measure- 

Time Windowing. The user of a peak powder analyzer often 
rieetis to analyze a detail on a single pulse while keeping 
the full pulse train in view. Time windowing provides this 
horizontal zoom capability m\d allows measurements 
within the time window. 

Trigger Conilitioniiig. Many micro w^ave applications present 
complex trigger situations that require more than a simple 
edge trigger function to achieve a stable display. Trigger 
holdoff prevents recurrent triggering on the subsequent 
edges of nonperiodic pulse trains, pulse packets, or 
bursts. Pattern trigger helps to specify a particular pulse 
within a frame of pulses to be triggered on^ a useful 
feature when chasing sporadic misfires of a niicrowave 
transmitter, for example. Trigger delay, speciiled in time 
or pub>e count, can be useful on long pulse trains to 
zoom in selectively on a particular pulse. 

Persistence and Envelope Mode, Radars often operate with 
pulses that are extremely narrow compared to their pulse 
repetition interval. The doty cycle can be 0.01% or less. 
These signals are quite a challenge to fmd since most of 
the time the pulses fall between sample times and are not 
captured in the limited niunber of time buckets. With 
iniinite persistence and envelope mode, they wiU eventu- 
ally appear in a single pixel width and can then be 
expanded by using time windowing. Random repetitive 
sampling is a great advantage in this situation; a system 
based on sequential sampling would take a prohibitively 
long time to plot out such a low-repetition-rate signal. 

Averaging. As lower-level signals are detect ed^ broadband 
noise increasingly widens the trace of the amplified 
signal. Choosing a narrower bandwidth, if possible, cuts 
down on noise, but also slows down the systen^ rise time. 
Averaging in the context of random repetitive sampling 
means av^'raging sample points associated with the same 
point in time with respect to the trigger event, but from 
different acquisitions. With increasing averaging, pulses 

86 April 1992 He wic'tt-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

hidden in noise eniei^e and take shape. The distal 
averaging process filters noise like a low-pass filter viith 
one important difference: it doesn*t result in a rise time 

Ratio in g Channel Inputs. Hie Waveform Matt? menu allows the 
user to display ihe ratio of any two channel inputs, in 
addition to performing many other useftil functions. For 
exanipie. die ratio of the two sensor channels can convc- 
nientiy show pulse compression when probing the input 
and output of a limiter, or the irarisfer function (mWAl 
of a pulse modulator can be displayed as a ratio of a 
^nsor channel to a video channel 

Amplitude@lline Markers. The HP 8990 A pro\ddes not only 
amplitude and time nuu'kers, but also amplitude @time 
markers. These denote power (or voltage for channels 2 
and 3), power difference, and power ratio for a start time 
and a stop time. The feature is useful in determining 
power or gain variations along a pulse, such as pulse 

Thirteen Measurements. Automatic level measurements on 
micTowave pulses, including pulse peak, average, or 
pulse-top power, and lime measurements on pulses, 
including rise time, pulse width, and duty cycle are 
implemented as siitiple bltie-key shift functions. The 
rpfprenre levels for these measiu^emenis, that is, pidse top 
(lOOKt) and pulse base (0%), are histogranvbased accord- 
ing to IEEE standards. 


The combination of two microwave sensors and two 
video inputs, able to make complex microwave and video 
pulse-measurements in one instrument and relate them in 
level and time, promises broad applications in many 

Radar Components and Systems. Starting out with a tradi- 
tional area of peak power measurements, the character- 
ization of the power transmitter is central to radar 
perfomtance. Peak and average power, rise time, over- 
shoot ^ and droop are standard measurements at the 

output of the transmitter, ^"ith the use of coi^lers, the 
dual microwave channels facilitate measurements of 
pulsed gain, gain compression, and pulsed return loss. 
Coupler losses can be compensated numerically in the HP 

On the receiver side, the receiver protection limiter needs 
to be characterized in terms of spike leakage and spike 
compression. Fig. 5 displays the output of a limiier. The 
time windowing feature is lised to focus on the spike 
detail and markers spell out the spike leakage in dB. The 
ratio of the input of the limiter to its output would show 
the power compression along the pulse. 

At the system level, the peak power analyzer performs 
delay measurements between, for Instance, pulse drive 
and transmitter output. The concurrent and time-cali- 
brated display of the drive signal and the microwave 
puise avoids cumbersome calibration tasks. 

Analyzing the transfer characteristic of the puise modula- 
tor is another example of the combined use of sensor and 
video inputs. The transfer characteristic can be displayed 
as a ratio of the microwave channel to the video channel 
and examined for linearity. 

Complex Communication Signals. The pow^erful trigger 
capability of the HP 8990 A comes into play w^hen signals 
like the pulse bursts of a TDMA (time division multiple 
access) system are to be evaluated. For instance, trigger 
holdoff stabilizes the display by Inhibiting recurrent 
triggering on subsequent edges. IVigger delay allows the 
user to select^ say, tJie 231st pulse of a long pulse train. 
Trigger pattern lets the aser trigger on specific pulses, 
like gUtches, within a train or burst. The dual time base 
is useful for observing and measuring time or power from 
burst to burst and simultaneously on individual pulses 
within a burst (see Fig. G). 

Not so obvious is the application of the peak power 
analyzer to communication signals keyed in frequency or 
phase. The peak power analyzer can be used here to 
measure accurately the power glitches and changes that 

hp running 

remote tolk 


35 , 000 ns 

(iiflrl<er2C 1 ) 
ftorker !C 1 ) 
d9l la Gmp] 

160.000 ns 

2S,0 ns/div 

479 UW 

305 UW 

173 UH 

eijnpi ratio 1,951 da 


Pig. 5. Spike leakage measure- 
ment at the output of a radar 
receiver protector 

Apiil 1 mi Hewletl-P^kard Journal 87 

)Copr. 1949-1998 Hewlett-Packard Co. 

hp stopped 

reiote 1 Isten 






f amp] m arkers — \ 



tine sorkers 

orr MBM 


y- Star t marker — ^ 

516. GOO us 

582,000 us 

13.2 us/div 


stop markeri 

start marker: 

delta tE 

1/d8lla t: 



us I ' 

stop marker 


a m p 1 @ t i m e 
pi 1 ® stop 
pi 1 ® start 


I am 

Fig. 6. (JS.M Signal showing three 
frames uf different ieveis repre- 
senting maximuni, minimum, and 
typical frame spec: ificati oris. 

accompany phase and frequency switching. More complex calibration to account for control signal and instnimenta- 

digital modulation formats, like the 16QAM signal of a 
digital radio, can be examined with regard to level 
transitions, overshoot, and power (ampLitude) compres- 
sion. Infinite persistence is useful for recording multiple 
traces (see Hg. 7). 

Transient Response of Components. Transient measurements 
on microwave components usually require cumbersome 

tion delays. The time calibration provided in the IIP 
8990 A between the sensor channels and the video input 
channels and the simultaneous display of both the control 
stimulus and the microwave response make this task 

hp stopped 

reiDote 1 i s ten 

Coftstellattott diagram 
of IE QAM signal 

r affipl markers 


off ^^Q 




1 ^Hssmut 

L J 

r- time markers 


**1 ,00000 us 

morkerSC 1 5 
marker K 1 3 
del to ampl 

omp! ratio 

0,00000 s 
200 ns/div 
7.90 mH 
6>60 mH 
1 . 30 fnW 
.784 dB 

1 .00000 us 

Fig. 7. Amplitude sigrmtnre of a 
digital radio signal. Markers 1 aiid 
2 measure the overshoot of transi- 
tions to the maximum amplitude. 

88 Apili 19^2 Hewlett-P^kard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

^ running 

reiote Us tan 


Microwave H 
Source ^M 


^ Tb CSiinnil 1 

W^ W 

* (Sfiiisi>r) 



Smndl H 


1 2.00 fl>H/div 

ext loss: O.OOdB 
BH- 150 HHz 
frsqi 3.00 GHz 

3 1.00 V/dlv 

offs: 1.000 V 
t.OOO I 1 dc 

^55.000 ns 44.000 ns 

20,0 ns/div 

delayC 3 ?-M ? 47, 106 ns 

144.000 ns 

Fig. S- Delay time measurement 

3 ~L ^SO itiV on a pin switch. 

The pin switch in Fig. 8 is turned on by the falling edge 
of the control signal. A single blue-key operation mea- 
sures the delay between the mesial points of the falling 
control signal (lower display) and the rising microw^ave 
pidse at the pin switch output. The wide pretrigger range 
makes it possible to view the fall tum-on region of the 


The apph cations Listed above give an indication of tlie 
versiitility of the HP 8990 A peak power analyzer. The 
integration of advanced sensor and calibration technology 
wiih the trigger and signal processing power of HP's 
advanced digital oscilloscopes results in an instrument 
thai delivers carefree and acciu'ate measurements on 
microwave pulses and dri\Tng control signals. 


We would like to thank the HP Colorado Springs Di\i- 
sion*s HP 54500 team for their tinie and technical support. 

The enthusiastic collaboralion of Helen Muterspaugh and 
her firmware tean^, and on the hardware side, Laura 
VMiiteside and Yvonne Utzig, was key to the successftil 
leveraging of digital oscilloscope technology and gave a 
powerful initial boost to the peak power analyzer devel- 
opment Acknowledgments to the production engineering 
team, headed by Jay Anderson. Their efforts were critical 
for the fast-paced introduction of the project Credit also 
goes to Darren McCarthy who wits the driving Force in 
reliability lesting, to Alien Edwards for his technical 
contributions and his support as section manager, and to 
Jim Jensen who led the fiiTnware effort. 


1. D, Scherer, "Designing Sensors to Read Peak Power of Pulsed 
Wavefonns," Mirm waves & RF] Fcbniaiy 1990. 

2. R.A. Witte, ** Understanding Digitizing Oscilloscopes," RF Expo 
Digest, 1989. 

April 1992 Hewlett-Packard Journal 8 9 

)Copr. 1949-1998 Hewlett-Packard Co. 

GaAs Technology in Sensor and 
Baseband Design 

In the HP 8990A peak power analyzer design, the detector diodes for the 
sensors are GaAs planar doped barrier diodes, and the switches in the 
switchable-gain baseband amplifier use GaAs FETs. 

by Michael C. Fischer^ Michael J. Schoessow, and Peter Tong 

The hardware design of the signal patli of the IIP 8990A 
peak power analyzer presented the conflicting requlre- 
ments of wide bandwidth, high dynamic range, excellent 
dc performance, and a controUable gain range of more 
than 100 dB. 

The signal path begins at the microwave detector, which 
is followed by a preaiiipliner, both residing in the sensor 
The delected (baseband) signal then goes to a switchable- 
gain amplifier located within the analyzer The stringent 
performance and reliability goals set for these circuits 
were met with the help of recent advances in galliuni 
arsenide technology. 

GaAs Balanced Detectors 

Three different sensors aie offered. They differ in their 
upper frequency limits o( IB, 26.5, and 40 GHz, and 
correspondingly in their RF input connectors, which are 
type N, 3.5-min, and 2.4-nini respectively. All three types 
use the same circuit configuration, but each is tested and 
cahbrated only over its specified range. 

The coaxial input connector interfaces with the circuit \ia 
a small cylindrical bellows that acts as a spring to accom- 
modate mechaiMcai tolerances between the input connec- 
tor and the following sapphire substrate. The liellows also 
carries the input dc blocking capacitor. This capacitor 
sets a lower limit on the input frequency. 

The coupling capacitor is pushed against the input end of 
a coplanar waveguide on the substrate by pressure from 
the bellows. A coplanar waveguide has the advantage of 
single-layer simplicity with convenient ground paths and 
also pro\iries a good match to the coaxial input line 
because the field patterns are similar. The coplanar line 
includes a 3-dB pad to improve the input match at some 
cost in sensitivity. This pad drives the GaAs detector 
diodes and a 65-ohm shunt resistor to establish a net RF 
input impedance of 50 ohms for the detector circuit. 

The MMIC (microwave monolithic integrated circuit) chip 
containing the detector diodes is bonded in a flipH:hip 
manner onto the thin-fiim sapphire substrate to connect it 
to the coplanar structure. This integrated approach 
extends the upper frequency limit of the sensor to 40 

Gallium arsenide planar doped barrier diodes are used in 
the detector. The average saturation velocity of GaAs is 

nmch greater than that of silicon, and this allow^s the 
construction of diodes having the nt^cessary very small 
junction capacitance with low junction series resistance, 
A low junction resistance lowers the RC lime const^ant of 
the junction and raises the diode cutoff frec]uer\cy. A 
planar doped barrier diode is less frequency-sensitive than 
a normal pn junction tiiode because of the intrinsic layer. 
In a pn junction diode the equivalent capacitance of the 
junction changes w^ith power level, but in the planar 
doped barrier diode, junct ion capacitanc^e is tletemuneil 
by the intrinsic layer, which remains almost constant as a 
function of power 

A specialized GaAs \C process allows custom tailoring of 
the doping to control the height of the Schottky barrien 
This control makes ii practical to operate the detector 
diodes in the current mode for all its advtmtages (see 
''Harmonic Errors and Average versus Peak Detection," 
page 94). while keeping the video resistance low enough 
to maintain high sensitivity. 

The detector circuit employs two diodes, tJeposited 
synmietrically about the center of the coplanar line. They 
are driven in a push-pull manner to effect full-wave 
rectification. This scheme securer a number of advan- 

* Common-mode noise or interference riding on the 
ground plane is canceled at the detector output. 

* Thermoelectric voltages resulting from the joining of dis- 
similar metals, a serious problem below^ -30 dBm, are 

* Measurement errors caused by even-order harmonics in 
the input signal are suppressed. 

' A 3-dB signal-to-noise improventent is realized by having 
two diodes. The output signal is doubled in voltage (qua- 
drupled In power) while the noise output is doubled in 
power, since the donunant noise sources (in the input 
stages of the amplifiers) are uncorrelated. 

Each diode is comiected in series with a small integrated 
resistor at its output, foUow^ed by an RF bypass capacitor 
to ground. These resistors further improve the iitput 
match of the detector circuit. The in^pedance at the input 
side of the diodes consists of the 65-obin resistor to 
ground in parallel with the loads presented by the two 
diodes. The junction resistances vary quite widely as a 
function of input power level, and the series resistors are 
there to reduce the effects of this variation. The choice of 

90 April 1992 Hewrlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

resistance is a compromise between minimizir^g the 
impedance vaiiation and reducing detector sensitivity. 

The output of the detector circuit drives a transresistance 
amplifier (essentially a wideband current-to-voltage 
converter) wi\h a low input resistance, forcing the diodes 
to operate in current mode rather than voltage mode. 
This prevents peak detection and ensures thai the detec- 
tor remains substantially average-responding, even at high 
power levels. Average-responding power detectors are 
sagnificantly more accurate than peak detectors when the 
input RF carrier contains harmonics (see ""Harmonic 
Errors and Average versus Peak Detection," page 94). 

Diode saturation current and the thermal voltage kT/q are 
both strongly temperature dependent. This shifts the 
diode V-1 curv^e and affects detection efBciency. A chip 
thermistor, mounted acUacent to the GaAs detector chip 
on the sapphire substrate, provides temperature data. The 
data is used to adjust firmware calibration coefficients 
automatically^ thereby continually maintaining the analyz- 
er's accuracy over temperature. 

Thousands of hours of testing at maximum power and 
maximum operating temperature have confirmed the 
long-term stability of the detector sensitivity. 

Sensor Video Amplifier 

The amplifier circuit board in the sensor performs the 
initial processing of the rectified signals from the detector 
diodes. It also carries the EEPROM that contains the 
calibration data for that particular sensor The sensor 
amplifier forms the interface for the balanced output of 
the detector diodes, pro\1des chopping for dc siabilit^^ at 
low levels, provides wideband gain from dc to over 3O0 
MHz, and drives the 5CkDhm cable to the analyzer. 

The diode outputs must be loaded with a low impedance 
to keep the detection in a current mode rather than allow 
peak detection or voltage mode to occur. Signal-to-noise 
ratio is the limiting factor for low-level detection, so the 
amplifier also has to have low noise. 

To provide submicro volt-level dc stability along with 
hundreds of megahertz of band width, the amplifier is 
constructed with separate paths, each optimized for its 
respective task (see Fig, Ij, This requires that the initial 
circuit in the signal path be a diplexer to split the signals 
into dc/low -frequency and high-frequency paths. 

Associated with the diplexer in the low-frequency path is 
the chopping stage, which disconnects the detector diodes 

40 GHZ 


Low- Drift Diffemntist Amplifier 
Usiing OperBtiojifll Amplrfia 

Chop Control 

Temperature Datji 

Calibraiion Data 


Fig. 1. Sensor amplifier design. 

April 1 992 He wlett-PackaKi Journal 9 1 

)Copr. 1949-1998 Hewlett-Packard Co. 

from the amplifier while the aniplifier dc offset is being 
sensed and corrected using a combination of hardware 
and software techniques Ln tiie liost analyzer, A bipolar 
jtuiction trarisistor is used as a shunt chopper. It nearly 
shorts together the two opposite-polarfty signals from the 
two diodes. The bipolar jiinct ion transistor ofTers an on 
resisttmce of very few ohms tmd an off capacitance of 
only a few tens of picofarads, both iinpoilanl for this 
function. This shunt chopper is driven through a pair of 
junction FETs, which pro\idc the tum-(Hi current for the 
chopper, and have low leakage and offsets when the 
chopper is turned off. 

The most important part of the chopping is performed by 
the next devices on the signal paths, a pair of junction 
FKTs in series with the signals from the detector diodes. 
These FETs have on resistances of only a few ohms to 
preserv^e the low input resistance of the amplilien When 
these FETs are turned off, the low-frequency amplifier 
circuits are open-circuited, allowing their offset voltages 
and any other offsets in the entire active signal process- 
ing chain tx) be zeroed automatically. 

After the chopper stage in the low-frequency path come 
Ihe trans resistance amplifiers. Tliese are operational 
amplifiers, each having a feedback resistor that converts 
an incoming cunent to a corresponding output voltage. A 
pair of these aniplifieiis processes the balanced signals. 
These amplifiers are referenced to the diode and RF 
comiector shell ground for fre<]|uencies below 10 Ilz^ and 
to the ground plane on Ihe circuit board for higher 
frequencies. This separation of grounds allows the man- 
agernent of groimd ciurents that might otherwise superun- 
pose dc errors on the signal to be measured. One typical 
source of such interference is the potential difference 
between the chassis of various pieces of dectronk 

The outputs of the transresi stance amplifiers are next 
combined differentially in the following stage by an 
operational amplifier with balanced inputs and a single- 
ended output. This single-ended signal is then reconibined 
with the higtt-freqiiency component of the rectified 

Tlie recombined signals are fed to the high-frequency 
ampUner, a silicon bipolar junction transistor connected 
with collec"tor-to-base feedback resistance to make it 
function as another transresistaiK-e amplifier with iow 
input resistance. This fast ampfifier nmsi also handle the 
dc component of the signal To stabilize it, an operational 
amplifier is connected to compare the input current with 
the output voltage of the stage and diive the base to 
force correspondence, witli accuracy detenTuned by ttie 
dc accuracy of the operational amplifier. The feedback in 
the fast amplifier stage lowers its output impedance 
significantly, so a series resistance is inserted to back-ter- 
minate the coaxial cable to the instrument properly. 
Combined with this back tenuinalion is a shunt resis- 
tance. Together, these two resistors standardize the 
overall sensiti\1ty of each sensor so that it closely 
matches all others. 

Several adjustments allow compensation for component 
tolerances to yield a very flat time-domain pulse re- 

Postsensor Gain Requirements 

The sigrial vcjitage lev (I at the output of the sensor 
ranges from roughly 2 fiV to 300 mV, corresponding to an 
RF input range of 100 nW to 150 mW. 

An input power range of 62 dB results in an output 
voltage range of 104 dB. Most of this "range expansion" 
occure at power levels be^ow - 1 5 dBm, where the 
detector diodes operate in the sqtiare-law legion. Here a 
l-dlJ input power change results in a 2-dB output voltage 
chcUige. This effect substantially increases the gain 
requirements of the succeeding circuits. 

Baseband Board Circuitry 

The \ideo processing circuitry of the IIP 8990 A requires 
at least 50 mV of signal, so considerable amplification of 
the sensor output is necessaiy in most cases before the 
signal can be processed. The baseband amplifier provides 
this amplification, along with a variable-bandwidth capa- 
bility to optimize the noise perfoimance. 

The baseband board also contains additional circuitry to 
facilitaie gain calibration and offset correction. 

Pig- 2 shows a functional block diagram of the baseband 
board. Five separate low-pass amplifier blocks can be 
switched in, curnulativi^ly. hs more gain is required. The 
first three blocks use oJTi tie-shelf operational amplifiers, 
while the last two are discrete wideband amplifiers with 
dc servos to ensure low offset. 

\^l^en no amplifiers are switched in, tliere is typically 12 
dB of loss along the signal path because of losses in the 
switches. Baseband gain can be set to six different values 
from - 12 dB to +82 dB. Finer control of the overall gaitt 
is provided downstream in the video processing circuitiy. 

In any high-gaui amplifier chain, circuit noise is an issue 
that must be addressed. In this case the noise originates 
primarily in the sensor amplifier, and if unchecked^ will 
saturate the video cicuitry at the liigher gain settings. The 
standard method for controlling noise is bandwidth 
I invitation J and that is pan, of the solution here, along 
with digital processing of the \1deo signal. There are 
always trade-offs, however, and in this case the trade-off 
is between rise time and dynamic range. At low sensitiv- 
ity settings (for example 500 [iW/div) noise is not a 
problem and tlie maximum bandwidth of 150 MIIz is 
available, while no noise is visible on the screen. Howev- 
er, as sensitivit>^ is increased a band of noise begins to 
appear about the trace, limiting the precision of the 

Digital signal processing allows the user to reduce the 
displayed noise through the use of trace averaging for 
repetitive wavefomis. This is a powerful tool but it does 
have limitations. First, the waveform no longer appears in 
real time because a certain nmnber of averages of the 

92 April 19©2 Hewlett-Pac^lcard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 


Td VldeD 
Si g nil I 
^ Processing 

Fig. 2, Furniiotial blfick diagram uffhe baseband board. 

same waveform must accumulate before the (unciirre- 
lated) noise is canceled out. Second, the riigiiai [jrocess- 
ing captures only signals appearing on the display. Noise 
peaks beyond the boundaries of the display are ignored 
during averaging and this can lead to an offset error in 
the averaged dispUiy for cases where tlie ntnse is exces- 
sive or where I lie trace conies close to the top of the 
display in the presence of noise. 

The iiniitaiions of tUgital trace averaging don't apply to 
the i)an<l width liniitalion method of noise control. Howev- 
er, there is an adverse effect on rise time that always 
comes with lower bandwidth. 

In the HP S990A a judicious application of both tech- 
niques provides optimum performance over a wide range 
of test and nieasurement apphcations. 

As the baseband boaid gam is increased by switching in 
more amplifier blocks, the bami width is reduced in steps 
to limit noise to a moderate level whiie not sac^tificing 
rise time too much. The bandwidth is set by tJie aiupUfi- 
ers themselves or in some cases by swttchable filters, as 
shown in Fig. 2. The use of switchable alters, plus 30 dB 

of fine gain c^onirol tlownstream in the video circuits, 
provides fiexibiiity in the setting of l>aseband gain and 
btmdwidth. This flexibilily allows the user to select the 
bamlwidth best suiting a particular application via a 
Low/Auto/High switch. For example, a rise time of 5 ns is 
available at r> ^W/div with the bandwidth set to High, but 
the dynamic range is limited by the high noise hnel, 
whicli must be reduced through averaging. The dynamic 
range reduction results from the requirement that the 
noise must be contained within the borders of the display 
before avera0ng, as explained above. With the bandwidth 
set to Law, a negligible noise level is achieved at the same 
sensitivity without the use of averaging, buf at the ex- 
pense of a 25-Lts rise time. Tlie (default) Auto banclwiflth 
setting falls between these two cases. 

A critical consideration in the design of the baseband 
board was the performance of the switches used to select 
the amplifiers. The performaiK^e requirements include low 
on resistance^ low capacitance, small si^e, low power 
dissipation (low heat generation), arid good dc accuracy. 
The requirement for simultimeous low resistance and low 

April 1^92 Hewlett-l^c-lcajtl Soumal 93 

)Copr. 1949-1998 Hewlett-Packard Co. 

Harmonic Errors and Average versus Peak Detection 

Envelope detectors can be operated m a voltage mode by loading them with a high 
impedance, or m a current mode by loading them with a low impedance. In the 
voltage mode, at high signal leveEs, ctetectors perform peak detection, that fS, their 
output response is proportionaf to the peak voltage amplitude of the input wave- 
form, Historically, most microwave envelope detectors have been designed to 
operate as peak -res ponding detectors, often to maximize their voltage sensitivity. 

Current-mode detectors (as in the HP 84812/1 3/1 4A sensors] keep the diodes in 
conduction over most of each half-cycle and this results in a detector thaj is sub- 
stantia Hy average- responding, even at the highest input power levels. 

Detectors that operate in the peak mode in their Jmear range suffer from the Iran- 
srtion betvi/een square- law and linear response, and from the change from an 
average response in the square-law region to a peak response in the linear region. 
Peak-mode detectors also have much slower rise and fall times than average- 
mode detectors, and the peak-responding detector incurs the full errur penalty 
ffom harmonic content, en error that is only partially improved hy balanced full- 
wave detectbn with differential emplificaiion. 

The mode of operation {average or peai<] of a detector is established by con trof ling 
the ratio of diode video resistance to video load resistance, taking into consider- 
aticin the HF bypass capacitance and any other reactive components of the video 

load seen by the djode. 

At low input power levels (< — 10 dBm], both voltage-mode and current-mode 

detectors are in their sCfua re-law region, A detector in its square -law region is 
inherently average-responding. This square-law average response combines the 
energy in the fundan>ental and anv harmonic components present to give a true 
total average power result However, at high signal levels, a vol tag e-m ode detec- 
tor responds to the instantaneous peak of the waveform, the vector sum of the 
components. The f of lowing table shows the errors caused by harmonic content for 
different detection methods 

Worst-Case Error Caused by 

-20 dBc HamioniG Content 

Detector Type 

Second Harm on jc 

Third Harmonic 




IMost Detectors] 

with Balance 






with Balance 




A signal having a second-harmonic conterrt of - 20 dBc can suffer a 21 % error in 
a peak-mode detector, while the average-mode detector can reduce this to 3%, 
even at high power levels in the linear region. Balanced average detection can 
further reduce this error to 1 %. 

Third-harmonic content can cause the same magnitude of en'or in a peak detector, 

while average detedian gives a factor of 3 improvement. Balancing gives no im- 
provement for odd hannonics. 

Michael C Rscher 
Development Engineer 
Stanford Park Division 

capacitance ruled out the use of *TFETs and the dc 
accuracy requirement eliminated the possibility of diode 
switching. The choice fmally was between mechai\it:al 
relays and GaAs PET switches. Monolithic Ga.*^ switches 
were chosen for their advantages iti size and power 
consumption. Tin ere was also concern about the reliability 
of mechanical relays in some ATE applications in which 
the switches coiiJd see more than a million cycles in a 
relatively short period of time. 

The on resistance of the switches is low^ but not iiegligi- 
ble^about four ohms. With tw^elve such switches in 
series, tlie impedance of the signal patli could deviate 
significantly from 50 oluns, depending upon the switch 
settings, and this would cause gain and frequency re- 
sponse errors leading to poor pulse response. The prob- 
lem was prevented by placing resistors or RL networks 
between ground and each switch pole to equiilize the 
impedance along the signal path in a distribut^ed manner. 

Two digitaUto-anaiog converters (DACs) feed into the 
baseband signal path, as shown in Pig. 2. The fme DAC at 
the input of the hoard can be progranmied to output 
specific dc voltages or currents with ver>' high accuracy. 
This DAC is used to measure the dc gain and input 
impedance of the board during vertical calibration. The 
coarse DAC is used primarily to acljust the dc level of the 
signal path during zeroing. 

The very high gain of the baseband board and subsequent 
circuits makes interference from electric and magnetic 
fields a msyor design consideration. This is especially true 
with a switching power supply and a CRT tlisplay residing 
in the same box. Mu-metal shield structures are employed 
around the board and around the CRT components (see 
''Multilayer Shielding Protects Microvolt Signals in lligh-hi- 
terference Environment," page 84). In addition, the 
printed circuit layout of the amplifier chain and the 
routing of input cables are configured to keep signal loop 
areas small The input cables pass Oirough common-mode 
chokes that reduce ground -loop currents at the 25- kHz 
CRT sweep frequency. These extreme measures ensure 
that interfering signal levels at the input to the baseband 
board remain below 100 nV peak to peak. 

Ackn o wledgme iits 

The authors would like to acknowledge the contributions 
of Riiss Riley and Lee Colby for sensor development. Bill 
Strasser for the initial baseband design, and Sandy Dey, 
Rust>' Myers, and Marc Tognaccini in sohing the many 
intricate problems of assembling, testiiig, and establishing 
the calibration of these devices. 

M April 1992 Hewlett-Packard Joiimal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Automatic Calibration for Easy and 
Accurate Power Measurements 

Changes in input power, carrier frequency, and sensor temperature are 
automatically compensated for. The user is not required to disconnect the 
sensor from the device under test and connect it to a calibration source. 

by David L* Barnard, Henry Black, and James A. Thalmann 

The HP 8990A peak power anal^^er is designed to mea- 
sure the power of pulsed signals accuralely over a wide 
d>Tiainic range, A well-designed calibration sirateg^^ was 
required lo achieve the specified accuracy over all of the 
specified operating conditions. EIP 8990A calibration 
includes both calibration of the power sensor and calibra- 
tion of the analyzer. 

Calibration of the Sensor 

The sensitivity of the sensor is strongly influenced by the 
operating conditions. Calibration of the analyzer and 
sensor to compensate for changes in sensor sensitivity 
over these varying conditions became a significant design 
issue. There are three parameters thac affect the sensitiv- 
ity of the sensor: the incident power le\'el, the carrier 
frequency of the applied signal, and the operating temper- 
ature of the sensor diode (see Fig. 1). These needed to 
be carefully considered in the development of the calibra- 
tion scheme. 

Besides the accuracy requirement, other goals affected 
the selection of a calibration strategy. One of these was 
ease of use. We wanted to minimize the effort on the part 
of the user to perform a cahbration. For example, we 
didn't want to require the user to disconnect the sensor 
from the device under test and connect it to a calibration 
source. This would be especially objectionable if frequent 
calibrations v^ere required. Another goal waa to avoid the 

High Powtr 

Planas o1 Constant 

D elector Outfiut 



Fig. 1- Power sensor sensitivity is atfecXed by the incident power 
level, the carrier frequency of the applied signal, and the tempera- 
ture of the sensor diode. Automatic calibration of the HP 8990 A 
peak power analyser compensates for changes in these parameters. 

need for a lot of specialized calibration hardware that 
would add significantly to the cost of the anal^-zer. We 
didn't want the analyzer to perform excessi\e computa- 
tion during normal tise, w^hich could make operation slow. 

Sensor Characteristics 

The sensitivity of the sensor diode is a nonlinear function 
of the incident power. At low power levels, the diode 
response has a square-law characteristic, so the voltage 
appearing at the output of the sensor is proportional to 
the power of the appUed signal At high power k\^els, the 
response approaches linear operation. In this operating 
region f the sensor^s output voltage is approximately 
proportional to the signal voltage. A broad transition 
region starts to appear above 10 ^W and is still evident in 
the high-power region, so linear operation is never fully 
achieved. For this reason, no simple mathematical model 
exists to describe the voltage -versus-power transfer 
function of the sensor over the specified power range. 

The sensor is required to operate over a broad frequency 
range, which brings into play the frequency dependent 
characteristics of the diode. The dominant effect is a 
roU-off of sensitivity that occurs at higher carrier frequen- 
cies. This roll-off is strongly dependent on the incident 
power level. In addition, there are some minor ripples in 
sensitivity starting near the middle of the frequency 
range. These frequency dependencies are much more 
noticeable at low incident powers (see Fig. 2). 

The sensitivity of the sensor shows a significant tempera- 
ture dependency The sensitivity changes quickly at low 
temperatures and flattens out at high temperatures. Again, 
this effect is most noticeable at low incident powers (see 
Fig. 3). 

Calibration AJternatitves 

We concluded that each sensor would have to be cali- 
brated over its specified power range at a given operating 
point of carrier frequency and temperature. No way was 
found to model the physical processes in the sensor 
diode with sufficient accuracy to reduce this requirement. 
Several calibration alternatives were considered. 

One solution would be to use a calibration source capa- 
ble of producing accurate power levels over the power 
and iTeqiieney range of the sensor. The sensor could then 

April 1992 Ifewlett-Packanj Journal 95 

)Copr. 1949-1998 Hewlett-Packard Co. 

O 1 GHz 
iS 9 GHz 


D D n D D o D D a ag a p ^ o 






Input Power Prnldfiin) 



Fig. 2. Sensor sensitivity as u fujttilloii of powt^r for thre«? 
carrier frequendes, 

bt^ calibrated before use, regardless of its current uperal- 
ing Leriiperature. However, such a calibration souree 
wtiulcl be proliibilively expensive. Also, this approacfi 
would reqirire the user to disconnect the sensor from tlie 
source under test tcj perform the calibration, and the 
cahbration would have to be repeated whenever the 
operating temperature of the sensor changed. 

A more economical solution would be to have a single- 
freqiiency calibration source. As before, tlie calibration 
w^ould be perronueil over the sensor's input power range, 
Fi'equency calibration data rnight be stored in the sensor 
to correct for the change in sensitivity over frequency. 
This approach would be less accurate, since the frequen- 
cy response of the sensor diofle is uot iiHlependcnt of 
power and temperature. It would also suffer from the 
need for manual intervention by the user 

HP 8»90A Approach 

The disadvantages of these calibration approaches led us 
to consider a dramatic tdly different approach — character- 
izing the sensor over temperature, frequency, and power, 
and storing this intbmiation in the sensor for use by the 
analyzer. TJiis scheme relies on the long-term stabihty of 
the sensor diode technology, which was shown to be 
excellent in the course of extensive reliabitity testing. 

To make use of the data characterizing the sensor, the 
analyzer must know the operating conditions of the 
sensor. The operating powder is not a problem since the 
analyzer always knows wdmt range it is set to. Since the 
analyzer has no way of determining the carrier frequency, 
the frequency must be specified by the user, but this 
w^ould also be true for any of the previously mentioned 
calibration schemes. Tlie one new item of information 
reqtured by this scheme is the sensor's operating tempera- 

To support this calibration scheme, the sensor is designed 
with a thermistor located in close proximity to the sensor 
diode. The analyzer can read the thermistor with an 
analog-to-digital converter to learn the operatirtg tempera- 
ture. This, along with the carrier frequency supplied by 
the user, gives the analyzer sufficient information to 

iitteipret the sensor data to perform a calibrated power 

Im piemen tat ion 

To iniplenieru tire selected calibration scheme, we needed 
to find m^ efficient way to represent the sensor's behav- 
ion As pi'eviously mentioned, we concluded that the 
sensor's nonlinear relationship of input power to output 
voltage precluded the use of a simple rrtathematicai 
model This led us to test each sensor over the specified 
l>ower range. Since the effects of tempera t me anti fre- 
quency infiiience each other and are not easily niodeled. 
it became apparent that the power-to-voUagc trtuisler 
function of each sensor would have to be measured at a 
nmnber of different temperatures and frequencies, 

A sensor test system was designed to perform the needed 
measurements. It measures the sensor output voltage as a 
function of powder over the specified range fif (he sensor. 
The souices ai"e broadband, allowing any test frequency 
in the specified range of the sensor to be used. The 
sensor under test is placed In a temperature chamber so 
it can be characterized over temperature. 

A grid of temperatures and frequencies is constructed for 
each sensor model Ptjr each temperature, power-versus- 
voltage data is collected at eacli test frequency. After 
correction for mismatch errors, tlie resulting test data 
forms a three-dimensional matrix of power and voltage 

Processing the Sensor Test Results 

The matrix of measurements delivered by the sensor test 
system is too bylk>' to stoie directly in the sensor. We 
decided to try processing ihe data with numerical curv^e- 
tltting techniques to yield a more compact representation. 
We were concerned that the representation be usable by 
the analyzer without a lot of timeHi'onsuming floating- 
point processing. Such processing could cause large 
delays wirenever the analyzer recomputed the sensor's 

This niled out the use of logaritluuic or exponential 
functions. Instead, we chose polynomials. To cover the 
large dynamic range, we broke the power-to- voltage curve 
Into four segments. For each segment, a curve Is fit to 

oooo oooooo ^ 

^. 15 


25 C 

nan ^ 

I lOl D O ODD pO^ 







Irrput Power Pji^ {dBm| 


Fig. 3, Sensor sensitivity as a function of power for three tempera- 

9e April 19fl2 Hewlett-Pacl(2ffd Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

the daia by the least squares method with the added 
constrain! of making the endpoints mat rh rhe ac^acent 
segments. Tlie rx^sulting polynomial coefficients are much 
more compact than the original data, making storage in 
the sensor's intcnial EBPROM practical. Also, polynomials 
can be efficiently calculated in the analj^er 

Analyzer CalcuJattotiB 

The analyzer reads the coeRicients and associated data 
from the sensor's EEPEOM ai iK)wer-up or when the 
sensor is plugged in. The analyser then uses the coeffi- 
cdents to calculate tJie polynomials, which give power as 
a function of sensor output voltage. Each set of coeffi- 
cients, and therefore each polynomial, applies at a single 
point in a two-dimensional grid of temperature and 
frequency. Thus, the power at a given operating poini is 
calculated by inien>f>lating between the powei^s at the 
nearest test frequencies and temperatures. This interpola- 
tion is implemented by a spline surface-fitting algorithm^ 
and is included as pait of the overall voltage-to-power 

The voltage-to-power function is applied in two ways. The 
first step is calculating the amount of internal gain that 
the analyzer must insert to anipiify the detected voltage 
to match the selected full-scale power sensitivity. This 
requires the inverse function, power to voltage, w^hich is 
calculated from the original function by a version of 
Newton s method,^ Once the gain is set, we are assured 
that applying tlie power corresi>onding to the top of the 
screen to the sensor will result in the an^pliHed output 
voltage corresponding to Hie top quantization level of the 
analog-to-digital converter (ADC). Independently, the 
offset leveling, which is automatically performed, ensures 
that the lowest ADC' reading coiTesponds to zero power. 

The fmal step is to calibrate the rest of the ADC levels. A 
table maintained inside the analyzer translates the ADC 
levels to calibrated (>ower. The voltage-to-power function 
is used to calculate the values in this tabic. 

This process must be repeated whenever a new analyzer 
sensitivity is selected, when a new carrier frequency is 
entered^ when the sensor temperature changes, or when a 
new sensor is plugged m. 

The analyzer continually monitors the sensor thermistor 
to check for t.empcTatiu-e changes. If the temperature 
deviates more than a certjiin muount, the calibration 
procedure is automatically performed- This relieves the 
user from the worry of manually recalibrating the analyz- 
er when the sensor's operating environment changes. 

Calibration of the Analyzer 

The calibration of the analyzer is c:omplicaled by a 
number of constraints. These include circuit i\ on lineari- 
ties, the large dynamic range, iind the nature of the signal 
in the UP 8990 A, A systems design approach was re- 
quired, including both hardware and software design, 

OfTset Voltage 

Even igtKJring tlie effects of the GaAs switches in the HP 
S99QA signal path, offset voltage is a design issue, since 
the amplifiers iii the sensor produce an offset, that de- 
pends upon ambient temperature and other factors and so 

tends to drift slowly in operation. The HP 84810 Series 
sensors incorporate a "chop" line, which commands the 
sensor circuitrv^ to simulate a con<lition of no inciderit RF 
power. This permits offset leveling without operator 
intenention. The offset is periodically reieveled to pre- 
sent any drift out of tJie specified accuracy' over time. It 
doesn't matter where in the signal jyrocessing path the 
offset variation originates; a single swift automatic level- 
ing effectively compensates for the offset, 

Channel Resistance 

The channel resistance of the GaAs switches is knowTi to 
vdny with operating temperature, so it is important to be 
able to con\pensate for the effects of channel resistance 
variation during analyzer self-calibration. One reason 
channel resistance effects are so inn>ortant Ls that they 
affect the imped at ice n\atch bet wee u amplifier stages and 
so influence the overall gain of the analyzcT. Consequent- 
ly, the voltage gain is measured during self-calibnition. 

Another effect of channel resistance variation is that it 
du-ecOy affects the (nominally 50-ohm) input resistance of 
the IIP 8990 A The sensors are calibrated in terms of 
their output to a load of exactly BO ohms. During self-cal- 
ibration the HP S990A measures its own mput resistai^ce 
to determine the match betw^een the sensor and the 

Offset DAC Circuits 

In a sense, (he HP 8990 A self-calibration subsystems are 
built around the precision One-DAC circuit t which is 
constructed of highly stable precision components. The 
circuit can operate as either a low-impedance source 
(voltage mode) or a precise mediimi-impedancc source. 
The IIP 8990A also has a coarse DAC, which is not a 
precision t)AC. The coarse DAC ipjects into the signal 
path downstream of some amplification (jr atteniuition 
from the pomt of ipjection of the precision fme DAC (see 
Fig. 4). 

Automatic Offset Leveling 

To level the offset in the general case, the analyscer is 
fiist set up as follows. With the sensor chop line '^pulled" 
aittl the j>recision line DAC set to its starting position in 
niedium-hnpedance mode, the slick t)At'j which pro\icles 
the reference voltage to tiic flash ADC (see Fig. 4), and 
tlie coarse offset DAC are set to midrange. Then the fijish 
ADC is used to take many data samples. Typic^illy the 
ADC output is at its upper or lower limit at this time 
since the coarse DAC is pro hah ly in the wrong position. 
A conventional binar>^ chop search is made for the coarse 
DAC settmg that will bring tlie signal level within the 
range of the ADC. Tlien^ because the fine DAC is ex- 
tremely linear, an extrapolation can be done ttsing two 
pairs of fine DAC settings and ADC readings to calculate 
tlie fine DAC setting that Just gives an ADC reading of 
zero. This completes offset leveling for tlxe simple case. 

The coarse DAC has a relatively long settling time, so 
when offsel leveling is perfomiedi cart^ is taken to avoid 
changing the ct>arse DAC setting unless absohitely neces- 
sary. Since different vertical ranges typically require 
different coarse DAC settings, changing the range can 
result in a delay because of the biiuuy search needed lo 

April 1992 Hewlett-t^ kard ,ki\ i rnal 97 

)Copr. 1949-1998 Hewlett-Packard Co. 

Baseband Boflnl 

Post^mp lifter 


Fig* 4* Analog model of the HP 8 9 90 A used in calibration- 
find the new coarse DAC setting. To avoid this delay, 
once offset leveling is performed in a particular vertical 
range, the coarse DAC setting for that range is stored. 
When that range is revisited, which might happen after 
the user makes a series of range changes, the stored 
coarse DAC setting is used. This eliminates the need for 
the tinie-consuniing binary search except w^hen the offset 
voltages have changed significantly. 

A manual zero feature analogous to that of Hewlett-Pack- 
ard average powder meters is provided- This feature can 
be time-consuming to use but is available for best accura- 
cy w^hen the signal is below^ —30 dBm. It is capable of 
correcting for offsets that precede the chop switch* 

Vertical Calibration 

Essentially, vertical calibration of the HP 8990A answers 
the question: How^ much signal from the sensor corre- 
sponds to fiiU scale at the ADC? 

Within its operating range, the sensitivity of the HP 8990A 

is, for practical purposes, continuously ac^ustabie. Thus 

the purpose of vertical calibration is to provide data so 

the vertical setup subsystem can select the analj-zer 

hardware settings that will provide the desired sensitivity. 

The vertical calibration data includes: 

Vertical sensitivity expressed in ADC counts per volt. 

Input resistance expressed in ohms. 

Compensation coefficients for correcting analyzer nonlin- 


This data is repeated for each combination of v^ertical 
amplifier settings. 

The actual measurement of vertical sensitivity^ is relatively 
simple: the precision fme DAC is placed in its low imped- 
ance mode (also known as voltage-source mode) and its 
count is changed. The ratio of the change in the fine-DAC 
count to the corresponding change in the ADC count, 
together with the absolute sensitivity value k of the 
precision fme DAC, provides the needed value: 


^ A(fme DAC) 

Mathematical techniques such as linear regression and 
drift modeling are used to minimize execution time and 
maximize accuracy. 

Input resistance can be measured with or without a 
sensor attached. The input resistance calibration is 
performed using the precision fine DAC as a stimulus. If 
a sensor is connected to the input of the analyzer, the 
sensor output impedance forms a load in parallel with the 

HP 8990 A 


Fig. 5. Input resistance calibration equivalent circuit. 




98 April 1992^ Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

Testing the Peak Power Analyzer Firmware 

The fsfjr^ware quality assiirance plan for the HP 8S0A Umvme had !he foiiowing 

• Extewiv?^ ?tst elf HP 89904 functtcwTaiity to meet nhinmrnt cmsria 

• Oe Tomatedie^" -rifrcationof 

tte," ;3ns3ridpos' ;>es 

• Leverage as many tesi loots as possible. 

An jnternafiv deveioped toot called the HP-IB Interactive Test System (HITSI was 
leve^apd frmn previous projects and used for automated testing. The program 
^^s moditfed to add various new features and commands to test H? 8990A tunc- 
tiorrality, HrrS is a ^^1C pcc^ram that runs in the RMB4JX environment on HP 
9000 Series 30Q workstations tt takes fn HITS mpyt test files and creates corrB' 
spondrng Signature files The HP-UX m utihty \$ used to compare the output sig- 
nature files against verified reference files Any discrepancies point to a change 
With the new firmware revision which should be mvestigated as a potential proij- 

The HITS test files contain a sertes of commands, usually or^e per line The com- 
mand format is as follows: 


The CC field contarns a two-character command that specffies how to interpret the 
other two fields. For example: 


The CQ tells HITS to send the command Chaniv£li:Ran3£ lOmw and then send 
the query CHAf^NELT RANGE? The command, query, response, any error mes- 
sages, and status information are logged to the signature file. 

HITS provides the folfowmg capabiltties: 

» Send a command 

" Send a query and get a response 

■ Send a command followed by a query 

■ Perform a measuremenT and limit-check the result 

• Perform random key testing for a specified number of key presses 

■ Randomly set parameters in a specified range a specified number of times 

• Perform a series of tests in sequentjai order 

■ Repeat a series of tests in random order a specified rromber of times 
•Test IEEE 48B.2 functionality 

• Test dtgiti^ation functional ity of the HP B990A 

• Test autoscale functionality of the HP 899DA 

• Interact with the OUT to facilitate development of test cases and other functions 
i Log commands and queries to a file (no responses, errors, or status messages are 


All the commands and the resulting queries, responses, error messages, and sta- 
tus infornriation are logged to signature hies, 

The HP B990A is a fairly compter analyzer with over two hundred and fifty func- 
tions- To test this large set of features, both subsystem and scenario- based testing 
were used. As a first step, subsystem tests were written to verify the basic func- 
tional itv of each subsystem Then scenario tests were written to test various 
measurement scenarios and the interactions end couplings between the various 
functions About 60% of the automated test development time was spent generat- 
ing the scenario tests 

Time was also devoted to manual testing of front panel operation, the display 
subsystem. calibratJEK^ scenarios, interaction wrlh different contra Her platforms, 
ar^a^r options, and features that cannot be tested m an automated fashi^ Jn 
addttien. all code was run through the C program ct^ec*^^^ vPTfi^' --y^! ■ and the 
C syniBx cirecicer tool insiieci * 

In addition to HITS, a second BASIC program called IKTEBP was used for oomial 
inTeraction with the analyzer and for testing new functionality The If^TERP pro- 
gram was written by ttie projects HP-18 engineer as a development tool This 
program takes an HP4B command, sends it to the analyier and automatically 
reads the responses to queries, tt prints mor messages and status information, 
and provides svppQrt for readtng and sending block data and for recalling previous 
commands. The program can also read commands from a file. This feature was 
used to recreate problems, with inptit provided by the file created by the HITS log 

The automated tests pn:ved to be very useful After changes to the firmware a 
successful test run helped us verify that a bug fix had not introduced any new 
problems. When bugs were found that were not detected by the automated tests. 
the tests were updated to check for those specific problems. This improved the 
coverage of the automated tests. The automated tests were also run to verify that 
hardware changes had not had any unexpected impact on firmware functionality 

The firmware shipment goal for the HP 8390A peak power analyzer was to reach a 
defect rate of <0.05 defects/fiour of test time. To stop testing, the defect rate had 
to exhibit a trend of <0,05 defects/hour and the product had to go through a period 
of 40 hours of test time without discovering any defects. 

During the final phase of quality assurance testing an automated/manual test 

cycle was used. Once the firmware passed the automated tests the product was 
released to a group of marketing and P&D engineers This group performed ap- 
plicatjon-specihc and function -specific testing for a period of 24 hours. Any de- 
fects found were fixed and the cycle was repeated until the shipment criteria were 

The HP B99DA has a total of 99,351 lines of noncomment source statements 

{NCSS). Since this was a leveraged product, a better metric is the number of lines 
of code that were modified or added. Approximately 40.0D0 NCSS were addtju u^ 
modified During the product development cycle. 355 defects were togged. This 
gives a defect rate of 0.86 defects per thousand lines of code 

The testing process worked well in helping the HP 8990 A firmware team meet all 

of Its quality assurance objectives 


I would like 10 EhanK Tatsuo Yano and Mark Johnston for their help with HITS. Jim 
Thalmann for writing IhTfERP, and the Colorado Springs Division's HP 545DG team 
for their help in resolving venous defects. 

JayeshK Shah 

Development Engineer 
Stanford Park Division 

* insfifict IS a trademark of ATgiT 

analyzer input resistance (see F!g. §). In essence the 

resistance calibration consists of finding two prt^ision 
fine-DAC stimuli, one in low-iinpcdancc mode and one in 
medium -impedance mode, that produce tfie same effects 
at the ADC converter. The Thevenin equivalenl source 
reststimce of the sensor is a%^ailabie from the sensor*s 
awn EEPKOM coenici<*nts. The sensor's parallel conduc- 
tance is corrected for mathematically. 

The compensation coefficients correct for small changes 
in analysjer sensitivity that occur if iht* caliliration hard- 
ware setup is not the same as the meiisurement hiu-dware 
setup. One such coefficient corrects the Input resistance 
for llie differeore in voltage gain betwtnn^ calibration and 
measurement. Another coefficient accounts ft>r the effects 
of offset voltiige feedback. The error component is only a 
small pari of the gain, so a ver>^ simple model of it is 
good enough. 

April 1 992 Hewl etl-Packard Journal 99 

)Copr. 1949-1998 Hewlett-Packard Co. 

Vertieai Setup 

To see how the vai-ions calibration factors interact, it is 
illustrative to look at what fiappens when a new vertical 
sensitivity is selected. In part the process involves making 
some apparently arbitrary- decisions at the otitset to set 
an overaJ] gain or sensitivity. The process then converges 
to a solution . It begins when the user selects a desired 
sensilivity in nncrow^ave power level per screen division. 
This detenmines the full-scale power level. From this 
level, the sensor data, the teniperature, aitd the carrier 
frequency, a full-scale Thevenin equivalent circuit of the 
source (openHTircuit voltage and source resistance) can be 
determined. Making an approximation for analyi^er input 
resistance, the full-scale power level is converted to an 
input voltage at the analyzer front panel and the amount 
of baseband board aniphfi cation required to produce a 
roughly correct signal level at the flash ADC- converter is 
selected. Recall that the baseband board anipliQ cation is 
available in steps of approximately 20 dB, Once the 
baseband board amplifiers and appropriate low-pass filters 
arc selected, the intntt resistance and the full-scale input 
voltage can be determined accurately. Since the full-scale 
input vohage is knowUt the lookup table (which expresses 

the nonlinear relationship between power and voltage) 
can be constructed. The postamplifier settings can also be 
selecti^d. Having converged this far^ the setup is within 
about ± I dB of the desired sensitivity, After a fmal 
iteration of the calculation, ti^e linal value of the stick 
DAC setting is deduced so as to arrive at precisely the 
desired sensitivity. The stick DAC: provides the reference 
voltage to the flash ADC^ converter and is the rirml 
adjusttnei\t of sensitivity. Offset leveling is theit all that 
remains to be done to complete Ihe veitieal setup of the 


Tom Menten developed and refined the curve-fitting 
algorithm that is used to process the sensor data. Sandy 
Dcy provided production support of the sensor etdibration 
process. Kari Santos helped develop the vertictd calibra- 
tion firmw^are. 


1. CI Dalik|iiist and A. H^orK NimiericQ'i Methods, Prentice-Hall, 
1974, p. VM. 

2. ibid, p. 5, 

1 00 April 1992 Hewlen-Paclcard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

An Advanced 5-Hz-to-500-MHz 
Network Analyzer with High Speed, 
Accuracy, and Dynamic Range 

A thfee-processor design provides a measurement speed of 400 
microseconds per point, fast enough to keep up with manual adjustments. 
Maximum frequency resolution is 0.001 Hz. Dynamic accuracy is ± 0.05 
dB in amplitude and ±0.3 degree in phase. Sensitivity of the three 
receiver channels is - 130 dBm, and dynamic range rs llOdBor 130dB, 
depending on the sweep mode. 

by Koichi Yanagawa 

Higher productivity with lower cost is an etenial theme in 
all industries, not only in production but also in ihe 
laboraJory. Several of the design objectives for the IIP 
8751 A network analyzer were based on tMs obser%^ation. 
For example, a faster network analyzer directly increases 
productivity. In production, it increases throughput by 
reducing test time. If the line has a tuning process, such 
as for LC fillers, then a network analyzer fast enough to 
give a real-time response improves linitng efficienry. 
Powerful analysis capabilities built into a network analj'z- 
er improve the efficiency of component evaluation, 
thereby contributing to reduced development cycles in 
laboratories imd reduced lest time in production. 

Customer re<pirenients for network analyzer functions 
and performance are becoming more varied and demand- 
ing because these customeii^ have an incrt^asing need for 
component evaluation and testing to ensure higher quality 
for their own products. For example, a c^uslomcr might 
want to measure the passband characteristics of high-Q 
quartz crystal or ceramic rdters with less than 0, 1-dB 
resolution and relatively coarse frequency resolulion, the 
st.op-bfmd spurious below - 100 dB with very fine fre- 
quency resolution, and the oven one characteristics of 
these devices, all in the same sweep measurement on the 
same screc?n. Just as the filter or resonator characteristics 
to be evaluated aie many and complex ^ powerful analysis 
capabilities for ripple, insertion loss, Q, bandwidth, center 
fre<tuericyt resonant frequency, and so on are desired as 
bulh-in fun tn ions of a network analyzer 

HP network analyzer customers also want a common user 
interface with earlier HP i>roduris for reasons of familiari- 
ly, ease of use, and a ciuick iuiroductian to their working 
environments. The user interface includes the soft key 
operation, the HP-IB control ((jmmajids. and the program- 
ming language. 

New Network Analyzer 

The HP 8751 A network analyzer (Fig.l) provides solutions 
for these customer requirements. The HP 8751 A is de- 
signed to improve the tesLing of filters and resonators for 

telecommunications and commercial products^ and to 
simplify- the design and evaluation of circuits, function 
blocks, and discrete complex devices in the development 
laboratorv^ It inherits the look ajid feel of HP 8752/3 
analyzers, making it easy to become familiar with and 
introduce into a production line. Among its new features 

* Simulation of impedance matching networks for a device 
imder test 

» A ILst sweep mode for measuring at various aser-defined 
frequency points, power levels, and IF band widths 

* An order base display mode useful with list sweep for 
making simultaneous high-speed and high-accuracy mea- 
surements in separate frequency ranges 

» Simultant^ous display of gain, return loss, group 
delay— the three key parameters for filter applications. 

In addition to these functions, the HP 8751 A offers 
inea^suremcnt iH^rformance as high as existing HP prod- 
iu1s (jr higher. Its frequency range is 5 Hz to 5()0 MHz. It 
lias three tuned receiver charmels with - ItiO-tlBni sensi- 
tivity and a maximum frequency resoluf ion of (KtlOl Hz, 
Sint^e dynamic accuracy is one of the most important 
parameters for network antdyzers, the receiver section is 
designed for typical (tynamic accuracy several times 
better ttvan the specifications of 0.05 dB and 0.3 degree. 
Typical dynamic accuracy has been meastu-ed as less than 
0.01 dB and 0.1 degree as described in "^Dynamic Accura- 
cy** later in this arficle. 

The HP 8751A has a maximum sweep rate of 80 milUsec- 
onds for 200 points with a 4-kHz IF bandmdth. This is 
fast eni>ugh to give a near-real -time response. In a tuning 
prfHTCss, production personnel can see the measured 
characteristics varying as fast as they make adjustments, 

A 130-(iB d>iiamic range wiih list sweep (!10 dB for 
oihvr sweep modes) gives higtily accurate spurious 
measurements of high-Q ciystal filters. The wide dynamic 
range makes lower-level spurious detection possible. With 
the order base display capability, the measureuR^nts can 
be indicated in a natural form on the CRT screen. 

April 1992 Hewlc^tt-Packartl Journal 101 

)Copr. 1949-1998 Hewlett-Packard Co. 

I i I I i I k i- h h k t ^ 

* ft I I » > I r r IV V ir 
_t f r t t t I t I t t » 

N • n 'I 

1 I I h 1 I 

Fig. l.TlK'HPSTrjlAS-Hz- 
lo-SOO-MHz network anaiy^er with 
lo-500-MHz s-parameter test set 
and a keyboard for the optional 
HP Instrument BASIC . Designed 
for both t.he produclion line and 
the laborat.oiyj it offers a maxi- 
mum measurement speed of 400 
lis/poini, list sweep, conjugate 
matching capability, and many 
dedicated functions for resonator 
and filter manufacturers. 

The HP 875IA's 25-dB to 35-flB power sweep range is 
useful for evaluating the gain tonipression of amplifiers 
or measttring the drive-level dependency of resonators. No 
mechanical relays are used, so reliable and faster power 
sweep measurements can be made with no discontinuity 
of the applied sigrml. C(jntinuity of this signal is important 
for smooth measurements on devices with drive-level 
dependency such as ciystal resonators. 

A built-in coi\iuga1e matching capability pro\ides circuit 
designers with a poweii'ul design tool that makes imped- 
aitce matching problems easy tt:> solve. This capability is 
aiso useful for simulating the effects of inserted LC 
elements, Aii example is the simulation of the effects of 
load capacitance in resonator measurements. 

Many built-in functions, such as ripple and bai^dwidth 
analysis for filter appii cations or resonant parameter 
analysis for resonator applications, provide high-speed 
analysis capability. 

A btiilt^n ;l'';!-anch flexible disk drive is standard. MS- 
DOS'-' fonnai is supported for easy data transfer hetw^een 
the IIP 8751 A and personal computers. Users can manipu- 
late measured data using available PC software, such as 
LOTUS^^ 1-2-3^3 

The HP Instrument BASIC option provides control of 
measurement sequences, data manipulation, attd external 
devices, making it possible to build a low -cos! system 
without an external computer I/O capabilities include the 
HP-IB (IEEE 488, lEC 625), the HP-HIL for an external 
keyboard, anci a ger^eral I/O port that pro\ides four bits 
for m]iut and eigiit bits for output and is used to control 
external apparatus such as sequencers, handlers, or 

* MS-DOS ts a U.S registered tredecnark of Microsoft Co rporati an. 

'totus and 1-2-3 are U.S. registered iFademarics of Lntus Dijyelopm&nt CorpUfatinn, 

Measurement Examples 

The main applieatiotvs for the HP 8751 A are testing ajid 
evaluation of components and circuits such as filtei's and 
amplifiers. Fig. 2 shows a three-trace display for a crystal 
filter obtained in a single swept measurement. Fig. 3 
shows wideband and naiTow band characteristics of a 
cry^stal filter on the same screen using list sweep. Stop- 
band rejection at lower fi'equencies is greater than 130 
ilB. Pig. 4 shows another application f>f list sweep. The 
fundamental and overtone responses are measured in one 
sweep and displayed on the same screen using the order 
base display mode. Fig. 5 show^s the coryugate matching 
capability used in an LC filter application. The siinple 
simulation capability of coryugate matching can be used, 
for example, to simulate the load capacitance of a reso- 

System Overview 

The m^or .sections of the HP 8751 A are the signal 
source, the receiver, the digital control section, and the 
power supply. 

In the analog sections, many of the 3800 electrical com- 
ponents are mounted on 2-layer or 4-iayer boards of 3500 
cm- area using suiface mount technology to save board 
area. Through-hole components are also moimted on 
these boards. Fig. 6 shows a typical analog board, the RF 
and local oscillator (LO) board. 

Most of the filters on the printed circuit boards w^ere 
designed using the IIP Microwave Design System (HP 

In the digital control section, about 600 electrical compo- 
nents are momited on 4- layer or 6-iayer boards of about 
1600 citi^ area using standard through-hole technology 
and leaded components. Both sides of the digital boards 

102 Aph\ 1992 Hewlett-Packard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

CH2 S 1 1 


a e 1 a V 
Ipg MAG 

lO us/ REF 
2 dB/ REF 

B2.i415 us 

-11. 309 dB 




CENTER S9 . 99S MHz 

SPAM 50 kHz 

fig, 2, Simulianeom measure- 
ment of gain, reiiint loss, arid 
group delay makes fiiter evalua- 
Lion easier and faster, Here the 
heavier solid line shows tht' gain 
<jf a filter, the thinner solid line 
shows its return loss, and the 
dashed iiiie shows its group delay 

are covered by the llxed-potential planes, that b, the 
ground plane and the +5V plane, to inhumize electromag- 
neiic Lnierference from the printed circuit traces. 

As a member of the HP B752/3 family, the HP 8751A has 
the same footprint as its predecessors, bpt is 1.75 inches 
taller to accommodate the flexible disk drive. 


las MAe 
lag MAG 

IS dB/ REF O dB 

10 dB/ ^HEF 


1: —1*10 . 3^ da 

l: -3 . 7B04 dB 




Cna CENTER B9.995 MHz 


SPAN sgo kHz 

Fig. 3. hi the Hst sweep mode, 
the user can set the power level 
and IF bandwidth for each fre- 
quency list sweep segment. Dy- 
namic ran^e is 130 dB. ShowTi 
here is the niagnltude of i he gain 
characteristic of a 70-MHz crj^stal 
fiiten The solid line shows the Ust 
sweep with the frequency range 
of I MHz to 200 MHz divided into 
three segments; 1 MHk lo WM 
MB;:, m.92 UHz to 70.07 MUz, 
and 701)7 MHz to 200 MH^. The 
!iaJ:ihed line .shows a nonnaJ tinear 
sweep with 69.995- MHz (tenter 
frequency and 500- kHz span. 

Aprtl 1992 Hefwiett'Packard Journal 103 

)Copr. 1949-1998 Hewlett-Packard Co. 




lag MAG 

lO dB/ HEF 

£2.5 ""Z REF 

SO dB 

o " 

31 . aa u 




. 099 ^ 

^63 a^6 MNr 






















.371 A 

33^ 3e"^S.,5^Hz 

\ / 












V Jlj 






START ag ,365 MHz 

STOP 100. O07 MH^ 

Fig. 4. Qvf*rr.orie cimmcteri sties 

car !)[■■ i-vTtJij.atod iirone sweep on 
^ .siai^li' M'nH'ii LLsing list sweep. 
Ht^re the leiL side shows Ihe fun- 
danit'iiLal charaLeristics [niagiij- 
tiide and phase) ai^l tlie right side 
shows the fifth overtone chamc- 
tPTOtics of an AT-cut crystal reso- 

The signal stuirce section consists of three oscillators. MHz. I'he variabie osciDator gent^rates a variable frequen- 

The RF osc:illat.or getierates a tlxed rrequency [rjt = a5(J ry f^y + j;, where fr is the measurement frequency at the 

or 848.484848484 lVIH:fi. The local oscillator (LO) generates front-panel RF OUT connector and varies from 5 Hz to 500 

a fixed LO frequency Ui) = ^rf - hvh where Tifi = L5d75 MHz, 

CHI Sll 

CHE Bl 1 


log MAG 

log MAG 

5 dB/ REF O dB 

5 dB/ HEF O dB 

l: -IB , B31 dS 

l: "S6 . 936 dB 

Cn j 
















B , 1S7 

5 MHz 


us: 3 

1 . 5B± 

nH C 

p: 1 . 


76 ( 






Fig. 5. The conjugate matehtnj? 
capahUity shows that the return 
toss characteristics can be im- 
proved by adding a 32 -nH induc- 
tor and a 1 .3-pP capacltnr. 

1 04 April 1 992 I [p wIelt-Packard JoiimaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 


Fig. 6. Mosi of the analog boards contain both through-hole m\6 
suiface mnujit (!evires. Tln^ tract* iniluttors Tor filters wer^ de- 
signed using file U? Microwave Desjjin Sy.stem. 

The HP 8751 A contains thrt^e identical rec Diver sections 
for the R, A, aiui B input ports of a conventional network 
analyzer The signal from eacti input port is convertett to 
the first intemietiiate frequency fjpi by a double balanced 
mixer* This signal is amplified and fiUered and then 
converted to the second liitemiediate fraqneney fip-2, 
which is 5 kHz. Tlte f|pj signal is processed hy the 
ranging and nUering circuits and then converted into 
digital fonu by an analog- to-digital converter (ADC), 

The digital control section consists of the master CPU 
and the analog control circuits. The master CPC is a 
12.5-MHz MC68HC:tKK) microprocessor with a 25-MIiz 
MC68882 coprocessor. It controls the HP-IB, the display. 
the keyixiard, the flexible disc drive, the test set. and the 
I/O port at the rear panel The analog control section also 
has a 12.5-MHz MC68HC01M} CPU and controls the analog 
section through bus lines to tlie analog boardn. This 
configuration was determined by trading off cost and 
measurement speed. 

Signal Source 

Fig. 7 shows a block diagram of the signal source. It 
contains five phase-locked loops. 

The RF loop generates the fixed frequency called Trp. 
Normally 850 Miix is selected as fRp-, but in 37 special 
frequency regions, 84S.484M8484 MHz is selected to avoid 
residual responses caused by spurious signals generated 
at the LO mixer. However, this frequency change is 
canceled if the IF bandwidth is 4 kHz because an in- 
creased noise level hides the spurious responses. The f^p 
frequency change is made by changing the division 
number of the reference divider, w^hich divides its 50-MHz 
iEiput by 32 or 33 to output 1.5625 MHz or 1.515151515 
MHz, respectively. The f^p signal is phase locked to this 
reference frequenqy and to another 25-MHz reference. 

The LO frequency fuj is divided by two and phase locked 
to rRF/2 and to half of the first intermediate freiiuency 
twi to generate fRp ~ fiFi- Th*^ first IF of 1.5675 MHz is 



SMtl2 O-H^ 

100 kHz O- 

BflkH; O- 

Fig. 7. Blork dia^raiTj of thi^ sij^rtal source section of tlii^ HP 875] A network analyz<!r. Fast settling? and low spurious outputs w(tp the key 
per fo m lanc e gtuil5 . 

^rit 1 992 UewtHt-Packartl Juunial 1 05 

)Copr. 1949-1998 Hewlett-Packard Co. 

= 15675 MUX 

Second IF 
^5 kHz 

5.25 MHz 

generated by dividing 25.08 MHz by 16. The 25.08^MHz 
signal IS created in another phase-locked loop. 

The variable frequency t\ from f^p + 5 Hz up to Thk ^ 500 
MHz is generated by the step phase-locked loop and the 
fraclionai-N phase-locked loop. The output frequency of 
the fractional-N phase-locked loop varies from 56 MHz to 
69 MHz depending on the frequency f^. This signal is 
divided by 20 and summed in a mixer vi^ith 25 MHz to 
generate a signal from 27.8 MHz to 28.46 MHz- This 
frequency divided by 16 is Ihe reference input to the step 
phajse-lockcd loop. The output frequency of the step 
phase-locked loop varies from 850 MHz to 1350 MHz as 
the division number f4M, where M is an integer) is 
incremented. Each step is orte Iburth of the reference 
frequency, so as the reference frequency from the frac- 
tional-N phase- locl<ed loop varies, the output frequency of 
the step phase-locked loop varies with 1-niIIz resolution. 
In other words, the output frequency of the fractional -N 
phase-locked loop varies with enough resolution to give 
1-inHz resolution at the output port of the HP 8751A. 

The output signals of the RF phase4ocked loop and the 
step phase-locked loop are the mputs to the RF mixer 
The RF mixer output, after being amplified by the RF 
amplirierj is the measuring signal of frequency fr- The 
outputs of the LO phase-locked loop and the step phase- 
locked loop fire the inputs to the LO mLxer. Tlie output of 
the LO mixer is spht into three branches, one for each 
receiver, and is amplified and leveled to generate the 
local oscillator signals for the first mixers of the receiv- 
ers. Since the residual responses of a network aitaiyzer 
are caused by the spurious signals appearing on the LO 
signal, the isolation betw^een the RP' signal path and the 
LO signal path is a key design parameter The reason for 
using fLc/2 and f7ip/2 instead of fu) and f^p in phase 
locking these two frequencies is to isolate these signals 
and to reduce ttie cost of mixing. Buffer amplifiers at the 
outputs of phase-locked loops and at the input ports of 
mixers are also important for isolation. 

The voltage-controlled attenuator at the RF Input port of 
the RF mixer has a 35-dB attenuation range. This perfor- 
mance is essential for the powder sw^eep and list sweep 
modes. A cai>acitive divider coidiguration is used for 
attenuator stability 

Combined with the O-dB-io-30-dB fixed attenuators, which 
are switchable in 10-dB steps, the 35-dB voltage-con- 
trolled attenuator giv^es an output power level range of 
-50 dBm to +i5dBm. With a 0-dB fixed attenuator setting, 
the output powder range is -20 dBm to +15 dBm. With a 
10-dB fixed attenuator range, it is -30 dBm to +5 dBm, 
mid so on. 

Ta Digital 
S set ton 

Fi«. 8. HP 8751 A receiver section. 
Tlie dynamic accuracy depends 

mainly on this section. 

The maximum power sweep range varies from 25 dB to 
35 dB, depending on the stop pow-er setting. If the stop 
power is set to +6.0 dBm, the fixed attenuator is set to 
10 dB and the maximum power sw^eep range is -30 dBm 
to +5 dBm, or 35 dB. If the stop power is set to +5.1 
dBm, the fixed attenuator is automatically set to dB, 
and the maximum power sweep range is -20 dBm to +5.1 
dBm, or 25.1 dB. 

At the output of the RF mixer are two active-L circuits 
for absorbing dc offset of the mixer otitput, which occurs 
w^hen a coarse frequency change is made. 'IV o inductors 
can be switched in^ depending on the frequency settings. 

The RF amplifier at the fmal stage of the RF path pro^ 
vides +15-dBm output power A level detector feeds back 
the output level to the voltage-controlled attenuator to 
level the output powder at frequencies of 501 kHiS and 
above. (Below 501 kHz, the frequency response of the 
output amplifier is very flat, so for faster settling, the 
output power is unleveled.) The LO amplifiers at the fmal 
stage of the LO path are for splitting the local oscillator 
signal to the first mixers of the three receivers and for 
isolating the receivers. 


Fig. 8 shows a block diagram of a receiver section. The 
receiver is a double-conv^ersion type. The received signal 
at the input port is introduced to the first mixer through 
an input att^enuator and a buffer amplifier and is con- 
verted to the first IF The attenuation of the input attenu- 
ator is either 20 dB or dB; ii is selected by the user to 
set the maximum input level to dBm or -20 dBm, 
respectively. The first mixer is a commercially available 
double balanced diode mixer Its input level affects the 
upper-range dynamic accuracy of the analyzer. The first 
IF output from the first mixer is amplified and filtered to 
reject the unw^ anted upper sideband and is introduced 
into the second mixer. The second mixer, a monolithic 
analog switch, converts the first IF signal to the second 
IF The second IF of 5 kHz was selected as a trade-off 
among measurement speed, the conversion rate of the 
following ADC, the simplicity of the ranging amplifier, and 
the ease of generation of the second LO signal. The 
ranging ampiifier amplifies Oie second IF by L 8, or 64 
depending on the signal level. Because the amplifier's 
linearity and ranging stability affect the midrange dynamic 
accuracy, much care was taken in the design of die 
amplifier to optimize the signal levels and phase changes 
at the range switching points. The conversion rate of the 
ADC is 50 microseconds per point; thus, four data sam- 
ples equally spaced in time are obtained in one cycle of 

106 April 1992 Hewlett-Paekai^ Joumai 

)Copr. 1949-1998 Hewlett-Packard Co. 

s n A B 
# • II # 




Birffef Amplifier 


Fig, &. Test configuration for step 1 of the d^Tianiic accumcj* mea- 
surf^HK'iit. Mid range performance was measured using a raUo 
ifansfornier at 2 kHz. HP 8751 A settings: power sweep vvith 6 dBm 
c^enter and II dB span, A/R measurementt 21 points, A channel 
attenuation - 20 dB, R f:!iannel attenuation = 20 dB, H'^ bandwidth 
= 20 Hz. avera^in^ factor - 64. CW frequency = 2 JcHz. 

the second IF. The ADC is a comniercially available, 
16-bit, sLiC'cessive approximation type. 

Dynamic Accuracy 

To verify the design. I he dynamic accuracy perfomiance 
of the tip 8751 A network analyzer wasi tested in rlire^ 
steps during the development phaae. Since die perfor- 
mance data obtained in these tests was well below the 
specified accuracy of 0.05 dB and 0.3 degree, the HP 
8751 A is verified in production tising easier and less 
costly methods whose accuracy ratio to the specificaticjns 
is still quite high. Sophisticated atttt)rttaied tests now 
under development will result in better specifications 
without degrading I lie accuracy ratio or the testing 
efficiency. The perftjrmaruT tests were as ibllows: 

Step L The first step was an overall performance test 
from the input port to the final ADC using a ratio Iratis- 
former at 2 kHz as shown in Fig. 9. The change in the 
measured values relati%'e to the value measured at the 
-20-dB (= O.IOOOOCK)) setting of the ratio transformer was 
measured for ever>' 10-dB change of the ratio transformer. 
At the low power range, 64 measurements were averaged 
to reduce the error caused by random noise. The mean 
value and the standard <1eviatic>n (o) w^ere calctdated for 
the measured data from 18 receiver boards kind it was 
found tliat tlie mean plus L3a in the range from ~&) dB 
^ "10 dB was within 0.01 dB for the magniUide ratio 
measurement and within 0.1 degree for the phase mea- 
surement. The mean plus 1.3o reiyresents the range in 
which SQ^Hi of the samples are expected, assuming a 
Gatissian distribution. This result is shown as typical 
perfomiance in the instrument specifications. 

Step II. The second step was the testing of the frequency 
dependent tiortion of the signal path before the firs! 
mbter near the maximum input range. The linearity of this 
portion becomes better as the signal level decreases, so it 
is sufficient to test at around the maximum input level 
Fig. 10 shows the measurement conflgiiration for this test. 

A 2<MB fixed attenuator was placed at the reference 

cJiannel input (e.g.. the R channel) Id apply a level 20 dB 
low^er than that at the test channel input (e.g.. the \ 
channel). Tlie powrer level applied to both channels was 
\^aried by a step attenuator ahead of the power splitler- 
The measured data taken in a .swepi- frequency measure- 
ment from 1 MHz to 5<X» MHz with a O-dBm input level a! 
the lest channel was compared with data taken with a 
-2(MBm input level at the test channel to find the 
frequency at w^hich the data changed most. Then the 
dependency on the signal level w^as measured at that 
frequency, using the powder sweep mode up to the maxi- 
mum input level. The mean \alue and the standard 
deviation were calctdated for the measured data from 9 
boards and the mean ^alue plus L3ti was adopted as a 
typical valtte at full-scale input, that is, at dB. The Ldo 
values for amphtude and phase were 0JJ14 dB ;md 0*44 
degree, well below the specifications of 0. 1 dB and 1.2 
de^ee. Since a cur^^e fit to the Unearity data obtained in 
step II showed that the nonlinearity decreases quickly 
when the input level is 10 dB or more below full scale, 
the data obtained in step II wus adopted as typical 
perfomiance for the maximtmi input level. 

Step III. The third step was a test of the dependency of 
the magnitude imd phase measurements on the phase 
change. Fig, 11 shows the configuration for this test. The 
frequency of the HP 8751 A sotirce was set to the worst 
case found in step il above, and a signal from another 
signal source, which was frequency locked with the HP 
8751A, was applied through a (able long enough to give 
some phase difference between the reference and test 
channels. With the frequency of the signal source slightly 
different from thai of the HP 8751A, the phase difference 
between the input signal and the inleiTial phase reference 
of the HP 8751 A rotates at. a rate equal to the frequency 



S fi A B 
a <i II # 

Power Splitttr 

Fig, 10. Test configuration for step II nf the dynamic accuracy 
UK ;isurrment. Hi^h-range perfomiance of the frequency depen- 
denl iJorMon (if the signal path was tested. HP 8751 A settings: lin- 
ear frequericy sweep with 1 -MHz start frequency and BtifJ-xMHz stop 
frt?quency, A/R mea^surement, power = f5 dBm, IF bandwidth = 20 
Hz, A channel attenuation ^ 20 dB, R channel attenuation - 20 dB. 

April li'm Up wiptt-Packard Jounral 1 07 

)Copr. 1949-1998 Hewlett-Packard Co. 

differeiife. If tlit* receiver depends on the phase of the 
signal cvjniparecJ wiLli llic ir\leni;il reference, (he (race of 
(he magnitude or pha^se will change smusoi(lalI>'. I'he 
peak-to-peak value of this trace gives a ineasiire of this 
dependency. The resulliint values are 0.(J02 dB peak tt^ 
peak for the niagnhnde ratio ajrd i)X\] degree peak to 
peak for the pfiasf nu^asurenienl. These results si tow iha( 
the dependence of (he measurements on itje phase 
change is small en<M!^^)i To he neglecled. 

Digital Section 

Pig. 12 is a block diagram of the digitid section of Ihv IIP 
8751A. A 12.5 MHz MCliBHC'OOO CPV caUed the master 
CPIT controls the overall measuring sequence, the graph- 
ics system processor, the IIP-IB. the disk drive, the test 
set, the keyuS on (he front panel, the general I/O port, and 
Ore HP-IIIL for tiie external keyt>oard of the HP Instnj- 
ment BASIC option. A 25-MHz Mt*68882 floating-point 
coprocessor is used for the c:omplex matiiematical f^pera- 
tions involved in conecting and fonnatting the measured 
data, A 1M-I>v1:e ROM contains the operating system and 
other control routines. Tlie firmware for the HP Instru- 
ment BASIC option is contained in 1.5M bytes of ROM, A 
16K-byte EEPROM contains (he setup and correction da(a 
for Ihe analog rirruits. A (ilK-bytc SRAM backed up by a 
large capacilur hukis the cfilibration tiataj the users 
disjjiay colors, the date and limej and the RAM disk. 

A i2.5-MTiz MC68HC(K)0 CPU called the slavt CPU 
controls the analog sections, h ext hanges commands and 
da(a witti tbe nmster CPL^ rh rough a MK-byte eomrnuniea- 
tion HAM. A 128K-h,vie ROM holds the slave CPU ilrm- 
ware, and a b4K-t\>'te SRAM sei^'^es as a work area. 

To maximize the nieasuremenl speed, the master CPU is 
isolated from ttiany (x>ntrol tasks and Irom the setting of 
tlie analog boards hy the slave CPU. The master CPft is 
isolated from the display tasks by the graphics system 
processor This configuration, uUmg with pipelined pro- 
cessing of tlic nieasiu*ement jobs luid the correcting and 





• ft fl • 

Step Attenuator 


Power Sptrlter 

HP 8120 fl7B2 



Fig. II. n^st con fig umf inn Um .-^lep III of the dynaniif acciu'acy 
measuremeRt. Phase dependency' of ttie accuracy characterisLics 
v^ lesied. HP 4ID5A setting: 340.32 MHz - 0.05 Hz. HP a751 A 
settiJigs: frequency = 340.32 MHz, sweep time = 20 s. Step attenua- 
tor setting = dB 


Fig. 12, HP S751A digital section. 

calculating jobs, doubles the measin-enient rate. Tlie slave 
CPli sets the stimulus, reads the outpul data from the 
ADC in 50 j.ts after waiting for a settling time of 200 ^s 
for Oie analog sections, transfers the data to the master 
CPIJ through the communication RAM, mxd then starts to 
set the stimulus for the next measurement. The master 
CPU, with the aid of the MC68^2 coprocessor, corrects 
the raw data for internal errors and user calibration, 
formats the corrected data for the display, and transfers it 
to (he graphics system processor. This process takes less 
than 350 as per point. While the master CPU is process- 
ing, the slave CPU is collecting the data for the next 
measmement point. 

Firmware Design 

In developing the Ormware for the HP 8751 A, efforts 
were made not to specialize but to genei^ize. The 

108 April 199-Z Itr w'lrtT -PiirkarTi Joiimal 

)Copr. 1949-1998 Hewlett-Packard Co. 


Fig. 13. (a) HP 87512At.ransniissioiL''reflec:noii t.esl set., (bj HP 
418G2A 1 -Ma input. ada|)l,er. 

operating system is designed to provide a general Gn\ii'on- 
ment for other firmware routines, similar to that in 
computers, rather than an instmmentHDriented environ- 
ment like that in earlier analyzers. Almost all of the 
firmware code is written in the C language, taking into 
account the portabUity of the code to future products. 
The code for the slave CPU and part of the c;ode for the 
master CPU are written in assembly language for maxi- 
mum speed. The compatibility of the user ititerface with 
that of existing products is taken into account in the 
design. The HP-IB commands for the same functions arc 
tJie same as for the IIP 8753A/B/C, and the softkey 
allocations and the structure of the service functions are 
almost the same. 

Installing HP Instrument BASIC into the instrument 
environment requLred special considerations. One was 
how to share the I/O resources, such as the CRT the 
kej^boards. and the HP-IB port. Another was how to 
share the processing time between the instnunent and HP 
Instrument BASIC. To resoh'e the first item, display 
allocation is designed to be user-selectable by soft key. 
The user can select aU instrument, half instrument and 
half BASIC, or all BASIC to determine how the CRT 
screen is allocated. To resolve the second item* the 
processing time is sUced into lOO-ms intervals and is 
shared almost equally between the instrument and HP 
Instrument BASIC. The inter\-al of about 100 ms is tuned 
so as not to interrupt measurements during a sweep 
operation in the fastest sweep mode. 

To keep HP Instrument BASIC programs in the HP 8751 A 
as consistent as possible with those in external control- 
lers, select code 8 is used for the HP S751A, following 
the example set by other HP products. 


Tw^o types of test sets and an adapter for a high-imped- 
ance probe are available. The HP 87511 A 50-ohm test set 
and the IIP 8751 IB 75-ohm test set are UX)-kHz- 
to-500-MHz s-parameter test sets for measiuHng device 
s-parameters in both forward and reverse directions. The 
HP 875 12A 50-ohm test set and the HP 875 12B 75-ohm 
test set are 5-Hz-to-500-MHz reflection/transmission test 
sets that are essentially resistive di\iders for measuring 
reflection and tiansmission characteristics at iow cost. 
For adequate directivity, these test sets must be cali- 
brated using standards stipplied witli them. The HP 
41802A is an adapter that converts the HP 875 lA input 
impedance from 50 ohms to 1 megolim for the conve- 
nience of using the high- impedance probes matched to a 
1 -megohm termination that are widely available for 
oscilloscopes. Pig. 13 shows the HP 87512 A test set aiid 
the HP 41802A adapter. The HP 875 11 A test set appears 
in Fig. 1. 

Ackn o w ledgm e iits 

The HP 8751 A design team members who deserv^e special 
recognition are Hitoshi Imaizumi, KazuhJsa Utada, Satoshi 
Roppongi, and IVoy Morin for the signal source section, 
Hiroaki Ugawa for the receiver, Kazuhiro Matsui for the 
power supply and test set, Jun Kadowaki, the leader of 
the softvt^are and digital group, Akira Nukiyama. Kohichi 
Takeuchi, Katsuhiro Hakamada, Atsushi Hattori, and 
Hideki Yamashita for software, Ken-ichiro Nakaya, Kotaro 
Yamauchi, and Mutsuhiko Asada for software and digital 
hardware, Akira Uchiyama, Koji Takeda, and Norio 
Nakano for mechanical design, and Kenichi Katoh for 
industrial design. Special thanks are also due Kazuyuki 
Yagi for his general management, design ideas, and 
encoiu-agement to the team, Masahiro Yokokawa and 
Satoru Hashimoto who managed the software group, 
Ihroshi Shiratori who managed the mechanical and 
industrial design group, and Masao Noguchi for his 
general management. 

AprU 1 992 Hewlett-Packard Journal 1 9 

)Copr. 1949-1998 Hewlett-Packard Co. 

A High-Performance Measurement 
Coprocessor for Personal Computers 

This plug-in card brings test and nneasurement coprocessing power to ISA 
(Industry Standard Architecture) personal computers with greater 
calculation speed and better HP-IB performance than its predecessor It 
also has DMA capability. 

by Michael P. Moore and Eric N. Guile rud 

The IIP 8232M high-porformancp measuTGmenl coproces- 
sor is a plug-in card for PIP Vectra and compatible 
computers that turns an ordinary PC into a multiprocess- 
ing test and measurement workstation. The coprocessor is 
programmed witlun the DOS environment using HP 
BASIC, a de facto standard test and measurement pro- 
gramming language. 

The HP 82324 A high-performance measurement coproces- 
sor is designed to meet customer needs for higher cal- 
culation speed and better HP-IB performance than its 
predecessor, as well as DMA for better overall system 
performance. To minimize duplicated effort and maxim isse 
reliability^ the design of the measurement coprocessor is 
leveraged from the HP 9000 Model 332 computer The 
Model 332 was chosen because of its low cost, high 
performance, and potential for fitting onto a single 
fun-size PC I/O card. 

Hardware Ardutecture 

Fig. 1 is a block diagram of the high-performance mea- 
sxirement coprocessor At the heart of tbe design is the 

16-MIlz MC68030 CPU with its integral memoo' manage- 
ment unit. The MC68882 floating-point coprocessor can be 
installed as a socketed option. A custom DMA controller 
allows rapid transfers of data between niemorj' and 
devices. Plug-in RAM boards, similar to the Model 332 
RAM boards, are available in lM-b>te and 4M-byte sizes. 
One or two RAM boards can be plugged into the main 
board , allowing RAM configurations of IM, 2M, 4M, 5M, 
and BM bytes. Built-in HP DIO input/output bus circuitry 
provides a connection to companion HP GPIO and HP 
SRM (shared resource manager) interface cards, and the 
onboard HP-IB interface allows direct connection to 
HP-IB (IEEE 488, lEC 625) instruments and devices. 

Features eliminated from the Model 332 design include 
the display circuitry, keyboard controller, timer, speaker, 
and serial I/O. Those functions are performed by PC 
resources through an emulation process discussed later. 
Space constraints required the elimination of the memory 
parity circuitrv'. The boot ROMs were replaced by a 
scheme tliat uses the CPU's memory management unit to 
remap RAM downloaded from the PC into the boot ROM 

Fig, 1. Block diagram of the HP 82324 A high-performance measurement coprocesson 

1 10 April 1902 Hewlett-Packard JoumaJ 

)Copr. 1949-1998 Hewlett-Packard Co. 

PC Address 


T — r 

1 — r 








MsMUifiwem CofirDGes^or D«t» 

J L 

Fig» Z. Btock dia^gram of the application-specific integrated drciiiL In the measurement coprocessor. 

address space. Added to the Model 332 design is an ASIC 
(application-specific integrated circuit) that provides an 
enhanced Interface to the PC backplane. It includes the 
same interface mechanism used by its predecessor 
(detailed in the section below on de\ice emulation), as 
well as a new memory-based mechanism that allow^s a 
higher-bandw^idth data path to the PC. Fig. 2 is a block 
diagram of the ASIC. 

PC Backplane Interface 

The inlerface to the PC backplane consists of two banks 
of eight H-bit UO registers, two 1024-byte menioo' buffers, 
and three interrupt sources. The base address of the I/O 
registers is configurable by a DIP switch at the top of the 
main board. The base address of the memory buffer and 
the intentip! level are both configurable through the I/O 
registers. The user can reconfigure the card whhout 
having to remove it from the computer and without 
turning off the computer Four switches aie used to 
select the base address of the I/O registers. Two of the 
switches select one of four adtlress ranges within the 
PC/s standard 10-bit I/O address range. These addresses 
are 250h, 280h, 330h, and 390h, The other two switches 
select one of four "alias'* address ranges outside of the 
PC's 10- bit I/O address ranges making the base address a 
12-bit value. In other words, if the first two switches 
select a base address of 250h, then the other two 
switches further qualify the address as one of 250ht 650h, 
A50h, or E50h. This addressing scheme allows up to four 
HP 82324A cards to be mapped into a single S-bit register 
bank, conserving scarce PC I/O resources. Finally, the 
second bank of registers is selected by the thirteenth 
address bit. Thus, if the first eight registers are at 250h 
through 257h, the second eight are at 125€h through 
1257h. Again, this scheme conserves PC I/O resources. 

One of the I/O registers selects one of eight possible PC 
interrupt lines and one of eight base addresses for the 
memoiy buffer. It also selects either the 8-bit or the 16- 
bit access mode of the memoiy buffer or disables tt 

Another I/O register is used to generate interrupts to the 
68080 from the PC. ThLs enables the PC software to 
emulate devices that generate interrupts , such as the 
keyboard controller This register is also used to enable 
or disable the three interrupt sotirces that generate PC 
interrupts. These interrupt sources are a lO-millisecond 
periodic interrupt, a PC mailbox interrupt, and an addre^ 
match interrupt. 

The 10-milhsecond interrupt source is used as the time 
base for the keyboard controller emulation. In an HP 
9000 Series 300 computer, the keyboard contxoHer con- 
tains timers used for keeping the time and date, for 
timeouls. for periodic event generation, and for delays. 
These timers all have a resolution of 10 milliseconds. 
Since the PC's periodic system interrupt occurs only 
approximately every 55 milliseconds, the 10-millisecond 
interrupt source on the measurement coprocessor w^as 
necessar>^ The mailbox interrupt occurs when the 68030 
sets the PC mailbox flag. The purpose of this flag is 
discussed later The address match interrupt occurs when 
a bus cycle initiated by the 68030 is within an address 
range reserved for device emulation. This intemipt source 
can be used to implement intern^pt-driven device emula- 
tion instead of polled device emulation. 

Device Emulatlott 

When the 68030 (or some other DIO bus master, such as 
the DMA controller) generates a bus cycle within a 
certain range of addresses, the ASIC freezes the bus cycle 
and waits for PC software to complete it. If the 6S030 is 
performing a write operation^ the PC software can read 
the value and release the bus cycle. If the 68030 is doing 
a read, the PC software can place a value on the data 
bus and release the bus cycle. To the 68030, nothing 
different is happening from writing to an actual hardware 
device, such as the built-in HP-IB interface, except that 
the bus cycles take much longer to complete. The PC has 
complete control over the termination of one of these 
"trapped'* cycles, and can take its time determining 
whether to terminate the bus cycle nonnaliy or abort it 
with a bus error 

(continuKttJfi page 113) 

Aprii 1 992 Hewktt-Packartl JoomaJ 111 

)Copr. 1949-1998 Hewlett-Packard Co. 

Mea§iireinent Coprocessor ASIC 

The ciistam. ap pJ ica linn- spec rfJc integrated circiiit (ASIC) in the HP 82324A mea- 
surement coprocessor dessgn contains the mtarface between the Industfy Stan- 
dard Architecture [[SAJ backplane bus of the PC and the CPU bus of the measure- 
meni coprocessor The interface to the PC supports either 8-bit or 1 6-bi1 access 
modes while the measurement coprocessoi mterface is hxed at 16 bits. 

The ASJC has outputs directly connectetl to six interrupt lines on the measurement 
coprocessor interface so that PC software can generate multiple mterrupts. On the 
PC. each interrupting device must have a dedicated interrupt line. At boot time, 
three software-controlled outputs select ore of eight possible interrupts to con- 
nect to the ISA bus by external circuitry. 

Sixteen registers in the ASIC are addressable from the PC interface and six are 
addressable from the measurement coprocessor interface. In the PC interface the 
registers provide a view and limited control of the state of the measurement co- 
processor bus. Data can be read from or written to the data bus during trapped 


HfSU nnd imtial £lal^ of 
REQ IS ckHircd ' 

Put Wrilf! Tu nln¥i?. !■ ot hytss. 

bujchsui? inro buHur A 


RESn jiiiti initial state of 
ACK IS "set ^ 

Set nEQ m ClCBf ACK and 

siAfiiiy; I he 1i offers; copy Btock 

MmH 1} to buffer B 

^»^ # 

Got Writtf IQ ituvB. 4 at hyies, 
bic^ckiifc from tiiiffer A; set ACM 
10 siynBl ready aild ule^r REH 

Sot I^EO 1Q clitsr ACK and 

swjni} ihe bixffers, €Opy Block 

2 tor H\ Id biitfeT A 

Copy Slack 1 traai buffer B: 

set ACK 10 signal ^eady and 


Copy Btack H from buffer A: 

£«t ACK tu signal ready anri 

clear HECL 


RESET and inilial state of 
RHQ IS 'cleared " 

Pul Rfailtroinslavii, i of bvli3%. 
^loctturr rnta bulfer A 

litnckie/t; IroiTl buflfir A 

Copy Block 1 into buffer A, 

set AC^K to signal ready and 

clenr req 

Set R£U lu clem ACK iind 

swing Ike buffers, copy Block 

}\oiN II from bulfer A 

<4 ^ 


Copy Block 2 [or fU) inio 

buffer B; sei ack to signal 

ready and clear REQ 

Set RtD 10 clear ack and 
swing the bulfejfs, cepy 
Black rj Irom buffer B. 

Rg. 2. Dats transfer from slave to master 

accesses, and the cycle is then ended under register control, (for a description of 
trapped accesses, see "Devfce Emulation" in the accompanying artjclef. The PC 
can else assert any of the six shared priority-level interrupts on the measurement 
coprocessor, A typical use of tfiese interrupts fs as follows. The PC receives a 
keystroke for the measurement coprocessor and asserts an interrupt as if it were 
the keyboard controller. The measurement coprocessor responds to the interrupt by 
addressing the keyboard controller register to read the keycode. Tfie read cycle is 
trapped and recognized by the PC, wh^ch writes the keycode to the measurement 
coprocessor data bus and asserts the signal to end the read cycle. 

There are three types of interrupts for the PC, which can be enabled separately. 
These are generated by s lO-mHIisecond tfmer, a semaphore flag in the measure- 
ment coprocessor mterface, and address matches, Matching addresses are exter- 

Fig. 1. DaiB transfer from rrtaster to ^lave, 

112 April 1992 Uewlett-F^ksrd Jouma] 

)Copr. 1949-1998 Hewlett-Packard Co. 

nally decoded tnd cat^orizsd by three inputs m ifie ASIC: aip}^ ^?c^se$^ grapiv 
ic$ accesses, and a! I others. Ttie PC can view these categortes to detenTune wtiai 
action needs to ^ taktn 

The DMA EontroJIer on the me^urement ct^rocessor reli^ on extetjal rea^urces 
to perfonn dyte folding, ttiat is, duplicating data fiam the few byte of tfie bus to 
ihe htgh byte when necessary for tiwistefS [nvoMng 8-t)st toices iyte foldinQ is 
haml^ed w?thm the ASiC on ifemand hrim the DMA cwrtmller 

Byte addressing by the Motorola CPU of the messy remem coprocessor is diffennt 
from byte addressing by the imsl CPUs used in PCs The least'Significant byte of a 
WQtd has an odd address for MotorDfa and an even address for Imel For files as 
well as for some data types, it i% necessary to swap bytes whenever they are 
stoi^ed on the PC. The ASIC can perform byte swapping in hardware if enabted via 
3 register ir> the PC interfKe. 

Two banks of 512 x T6 bits of RAM are included in the ASIC to facilitate fast block 
transfers between the measuremem coprocessor and the PC, The two RAM banks 
are configured as a "swing buffer" called the HyperChannel. Each bank can be 
accessed from either the PC interface or the measurement coprocessor mterface 

but mt fwm boih simuhan^MJSly While the PC is ao^sslng one t@nk. the tr^a- 
sur^nent copfocessor can be irKJeperxlently accessing the oih^ When both xfm 
PC and the m^sufemem copfoeessor have frntshed their resf^ctive accesses, tfie 
buffers can tre swaj^ied or "swung" beivween the two interfaces. This allows one 
[nterface to be continuous ly hllfng buffers while the other Tmerface is continuously 
emptying them m a fully simultaneous process. In this way. a transfer can be 
accomplished at the full speed of the slower interface 

An jdentJcal set of registers is providal tor each imerface to syncrrFonsie transfers 
using the HyperChannel. Only one interface can initiate a uansfer and is therefore 
considered the owner or master of the HyperChannel, whtle the other mterface is 
considered the slave Either interface can be master, but ownership can onjy be 
relinquished by the current master, not pfeemptively seized by the slave tdentical 
sets of four sfngle-hit write registers and one read register exist in each interface 
to conirof the HyperChannel. The read registers include four bits indicating the 
state of each of the wrJte registers. The write roisters allow the assertion of the 
signals request [REQL acknowledge lACK}. error (ERR} and change master. The 
master asserts REQ, which in turn clears ACK and swings the buffers. The slave 
asserts ACK, whtch in tum clears REO. Figs i and 2 show the protocol for trans- 
ters between master and slave 

The PC can handle the emulation of devices either by 
waiting for an address match interrupt, as mentioned 
abovet or by polling the status of the 6803O's bus. The 
polling method allows the PC to emulate devices faster 
than an inrerrupt.-based method, but emulation software 
must be constantly polling the interface instead of waiting 
for an event. 

While the trapped address mechanism simplifies the PC 
software and initially eliminated the need to modify HP 
BASIC software, it has two msyor drawbacks. First, the 
rate of data transfer betw^een the PC and the measure- 
ment coprocessor is relatively slow. This often makes the 
transfer of large blocks of data the bottleneck in PC/mea- 
surement coprocessor performance. Second, no interrupts, 
even nonmaskable, can get through lo the 68030 when it 
is m the trapped address state. This makes interrupt-driv- 
en I/O without hardware handshaking unreliable at best, 
and impossible in some situations- 
Improved Interproces^or Communication 
To circumvent these drawbacks, the PC interface has a 
secondary^ communication channel called the HyperC'han- 
nel. This memory-based mechanism consists of two 
1024-byte buffers and three handshaking flags. When one 
of the buffers is accessible to the PC, the other is acces- 
sible to the 68030. and vice versa Whichever processor is 
designated the channel master controls the swapping of 
the buffers when both processors are ready. Since the 
buffers are being accessed simultaneously, the sustained 
data transfer rate is as fast as the slower of the two 
processors. In addition to the performance advantage, this 
protocol allows the measurement coprocessor and the PC 
to transact business while both processors remain com- 
pletely intermptible by other tasks. See "Measurement 
Coprocessor ASiC," page 1 12, for a detailed description of 
the bttffer protocol. 

A third commtmication mechanism has been added to 
make the interface even more flexible. This communica- 
tion path consists of two mailbox flags, one for the PC 
and one for the measurement coprocessor Both mailbox 

flags can be read by either processor, but only the 
mailbox flag owned by a processor can be set or cleared 
by it. When the measurement coprocessor sets its mail- 
box flag, an interrupt can be generated to the PC, The 
two processors can then synchronize operations by 
waiting for both mailbox flags to be set, clearing their 
mailbox flags, and waiting for both mailbox flags to clear. 
This protocol allows the measurement coprocessor to 
generate a PC interrupt without having to be frozen in 
the trapped address state. 

Software Arehitecture 

There are two types of software for the measurement 
coprocessor: software that runs on the measurement 
coprocessor itself, and software that runs on the host PC* 
Both groups of softw^are work cooperatively and concur- 
rently to exploit the capabilities of the measurement 
coprocessor architecture. 

The software that runs on the measurement coprocessor 
is HP's version of the BASIC language, w^hich has been 
prevalent in the instrument control world for many years. 
Because the hardware architecture is leveraged from the 
HP 90O0 Series 300 product line, existing HP BASIC 
programs can run on the measurement coprocessor, 
usually without modification. Also, the reference manuals 
are identical to those shipped with HP BASIC for 
workstations. Even the measurement coprocessor version 
of the HP BASIC system is compiled from the same 
source code that is used to generate the workstation 
version. (For the history of the development of HP BASIC 
for the PC, see "Measurement Coprocessor History/ page 

In addition to running the HP BASIC system, the mea- 
surement coprocessor emulates the system boot ROM in 
RAM, eliminating the requirement for ROMs on the 
measuremejtt coprocessor. To achieve ROM-less operation, 
the PC loads a small boot loader program into the 
measurement coprocessor's RAM. After testing system 
RAM, this boot loader program copies the boot ROM 
im^e from the PC to the bottom of system RAM, initial- 
izes the 68030's memory management unit to map logical 

April 1992 Hewlett-Packard Journal 113 

)Copr. 1949-1998 Hewlett-Packard Co. 

Measurement Coprocessor History 

In the early 1980s, the HP 900D Series ?0O computer was HP's premier instrument 
controller With HP's version at the BASIC lengtiage, the Series 200 made automat- 
ir>g pan or all of the test and measuremem task mych easier HP 8ASJC became e 
de facto standard tesi and measurement language. 

The early 1 980s also saw the introduction of the IBM personal computer IPC]. 
Within a few years, the IBM PC ar>d compatitile machines replaced ttie Series ZOO 
and 300 computers as instrument controllers for a large portion of the test and 
measurement market. However, there was no implemenlatinn of BASIC for the PC 
that offered the rich feature set HP BASJC customers had come to expect HP's 
answer ta this problem was the BASIC language processor — a pEug-in card forttie 
PC that temporarily turned the PC into an HP 9000 Series 200 instrument controller 

Two basic strategies for porting the HP BASIC environment to the PO platform 
were initially considered. One approach was to rewrite the HP BASEC software so 
that It would run directly in the DOS environment. Because HP BASIC was heavily 
optimized for the HP 90 DO hardware environment, this approach required the 
commitment of many resources and involved unknown risks. 

The other approach was to "port" enough of the HP 9000 hardware to the PC 
platform so that HP BASIC would run mdirectly m the DOS envifonmeni. In otiier 
words, HP BASIC programs would run on a coprocessor card, while the PC emu- 
lated HP 9D0O hardware that wasn't on the coprocessor card. While this approach 
eased the software effort, it required the customer to purchase additionai hard- 
ware for the PC- 
After weighing and considering the two approaches, HP chose the latter This 
approach eliminated many of the teclinicai liurdles involved in moving the HP 
BASIC programming environment to a completely different aperatmg system while 
retaining compatibility witti the original envtronmenL 

In the middle of 1987, the BAStC language processor was introduced. It featured 
an B-MHi 680DQ CPU. an HP- IB interface, tioot ROMs, half a megabyte of RAM, an 
HP 010 bus interface, and special circuitry to interface to the PC's backplane. The 
heart of the interface circuitry was a mechanism that allowed a program running 
on the PC to emulate hardware not present on the BASIC language processor. 
Daughter hoards were available to add mare RAM or ROM. Sister boards were 
available to provjde HP GPfO and HP SRM {shared resource manager) interfaces. 
The same HP BASIC software that ran on HP 9000 Series 200 computers ran un- 
modified on the BASiC language processor with an emulator program running on 
the PC. Even the boot ROMs were Series 200 boot ROMs, 

The emulator software that ran on the PC had three major functions. First,, it 
mapped the 1/0 resources of the PC onto Series 200 hardware. Second, the emula- 
tor software allowed HP BASiC programs to access the DOS operating system by 
sendmg data to and reading from an imaginary GPIO interface. Standard DOS 
comma r^ds, commercial applications software, and custom programs could all he 
invoked from the HP BASIC environment Third, the emulator software allowed a 
limited form of background operation. The emulator could be placed in the back- 
ground, allowing the BASIC language processor to execute the current HP BASIC 
program whHe a completely different application, suches an editor or spreadsheet 
program, ran on the PC 

Because of the hardware emulation scheme, most programs that ran on Senes 200 
computers could be run on the BASIC language processor with little or no modifi- 
cation. Even programs that directly accessed hardware (such as the graphics frame 
buffer} could run unmoddied However, this degree of compahbtlit^ had a price: 
severe performance degradation. Improving performance quickly became a priority. 

The next major revision of the software included four major architectural changes. 
Rrsi, the boot BDMs were rewritten to speed up the boot process by an order of 
magnitude. Second, a new HP BASIC binary program was written that implement- 
ed the DOS file system This provided a way for HP BASIC programs to access DOS 
hies directly, without the clumsy emulatfon scheme described above Third, inter- 
nal alpha, graphics, and DOS file system operations were reorganised on a trans- 
action basis rather than a hardware emulation basis. In other words, the HP BASIC 
binaries that implemented alpha and graphics video operations and the new DOS 
file system binary program generated transactions insiead of register-level ac- 
cesses. The emulator program on the PC was rewritten to service these transac- 
tions as well as its hardware emulation tasks, and the background mode of opera- 
tion was enhanced to allow DOS file system operations in the background, 
enabling an HP BASIC program to fog data to disk while another DOS application 
was running. Fourth, a mechanism for a background HP BASIC program to commu- 
nicate with a foreground DOS application {such as a spreadsheet) was added. 
Because of these expanded foreground/background capabilities, the BASIC lan- 
guage processor was renamed the measurement coprocessor It represented a 
great improvement in boot performance, graphics operations, and mass storage 
operations, and provided greater versatility in die DOS environment. 

However, while the new software emulator made significant improvements in 
some areas of performance, the remaining issues could only be addressed by 
upgrading the hardware. These issues included increased computation speed, 
HP-IB I/O throughput, and DMA capabilities. From this effort came the high-perfor- 
mance measurement coprocessor described tn the accompanyirig article. 

references to boot ROM address space to t)ie image in 
RAM, and transfers control to the RESET exception vector 
ill the boot ROM image. FVom that point on, the boot 
ROM and the IIP BASIC system operate as if a boot ROM 
were actually present. 

Host PC Software 

The software that runs on the host PC is grouped into 
four parts. The system software configuration part is 
handled by the CONE EXE program. The boot process 
and w^orkstation emulation parts are coordinated by the 
BASIC.EXE program. DOS/!IP BASIC communication is 
handled partly by the BASIC.EXE program and the 
HPBLRSYS device driver, and partly by the POP- 
COMX:OM program. 

The CONF.EXE program allows the user to alter the 
software configuration interactively so that the PC's 
keyboard, serial ports, and HPJB cards can be remapped 
as desired. It also allows the user to specify how to map 
the PC's disk drives to appear as emulated LIP (HP 
logical interchange format) disk drives. Configuration 

infonmatioii is stored in a file that is used by the emula- 
tion programs described below. 

Boot Process 

Tile BASIC.EXE program is the main control program for 
the boot and workstation emulation tasks* UTien BA- 
SIC EXE is run, it first checks to see if the measurement 
coprocessor has been booted. If it has not. It starts the 
boot process. The boot process is handled by two sepa- 
rate programs, both of which are run from BASiCEXE* 

The first program, BO. EXE, is responsible for starting the 
measurement coprocessor and loading the boot ROM 
image into it. The second program, B2.EXE, is responsible 
for managing the boot process, which is an emulation of 
the HP workstation boot process. Both programs request 
hardware configuration information from a device driver 
(HPBLHSYS), which is installed by CONFIG.SYS when 
DOS boots up. 

When BO. EXE begins execution, it requests the hardware 
configuration information for the measurement coproces- 
sor being booted from the HPBLRSYS device driver and 

114 April 1992 tJpwlett Patkard Journal 

)Copr. 1949-1998 Hewlett-Packard Co. 

verifies ihat there are no hardware configuration conflicts 
with DOS or other applications. It then resets the mea- 
surement coprocessor, which leaves the 68030 frozen in 
the trapped address state trving to fetch the si-ack pointer 
from address SOOOOOOOO. BO.EXE then copies a boot 
loader program to the HjperChannel buS^er, and emulates 
boot HOM accesses long enough to cause the 68030 to 
exchange buffers and run the pro^-am in the buffer. Once 
the boot loader program is running, BO. EXE copies the 
actual boot ROM image to the measurement coprocessor 
over the HyperChannel, 

ThB B2.EXE program handles the boot process for ^e 

measurement coprocessor. This program cooperates with 
the boot code loaded by the BO. EXE program to simulate 
the Series 300 boot process. Systems can be booted from 
a ^^ariety of sources, including the optional HP SRM 
interface or external HFS (HP hierarchical file system) 
disks. To the user, the PC behaves like an HP 9000 Model 
332 computer booting up. 

Workstatian Emulation 

After successfully booting the measurement coprocessor, 
the BASIC.EXE control program, in conjunction with the 
B3.EXE program and the IIPBLP.SYS de\ice diiver, 
emulates the portions of the workstation hardware not 
present on the measiuement coprocessor. The emulation 
services provided inckide the emulation of the worksta- 
tion's display, keyboard, beeper, and mouse, mapping of 
the PC HP-IB, serial, and printer ports to emulated 
workstation I/O cards, and mapping of PC disk drives to 
workstation LJF and DOS formatted disk drives. A mecha- 
nism for rurming DOS conunands from the measurement 
coprocessor is also provided. 

The workstation emulation task can be run either in the 
foreground or in the background. In foregroimd mode, the 
PC behaves as if it were an HP 9000 Model 332 computer 
running OP BASK*. In the background mode, the user 
runs DOS applications while the measurement coproces- 
sor concurrently runs an HP BASIC program without a 
visible display or keyboard. 

The BASIC.EXE program is responsible for emulation 
services common to both foreground and background 
modes. These services include access to the DOS file 
system, emulation of the timekeeping and beeper parts of 
the workstation keyboard controller, and the buffering of 
alpha video. When HP BASIC is placed in the background 
mode, BASIC.EXE remains resident in DOS memory wliile 
other DOS applications execute. 

The full workstation emulation is provided by the B3.EXE 
program, which is started by BASIC.EXE. B3.EXB pro- 
vides all emulation services not provided by BASIC.EXE, 
Communication between BASIC.EXE and BaEXE is 
facilitated by code and data resident in the HPBLPSYS 
device driver The common data includes state variables 
and procedure entry points, and the common code 
includes interrupt service routines* 

Becatise B3,EXE is not executing during background 
operation^ all processing on the measurement coprocessor 
stops when an HP BASIC program tries to access emu- 
lated services available only in foreground mode* Process- 

mg resumes when the measurement coprocessor is 
switched back into foregroimd mode. 

DOS/HP BASIC Communication 

Because the measurement coprocessor runs concurrently 
with the he^t PC, iliere is a potential for dividing the test 
and measurement task between the processors. To take 
advantage of this potential, the measurement coprocessor 
must be able to communicate with DOS and DOS s^pli ca- 
tions. The measurement coprocessor software supports 
this interprocessor comniuni cation with three basic 
meclianisms: shared file access, MultiCom^ and PopCom. 

When the measurement coprocessor is in the background 
mode, an HP B.ASIC program can write to or read from a 
DOS file, even if a foreground application is using the file 
system. While DOS is not a multitasking operating system, 
il is possible for a collection of interrupt service routines 
to give a background application access to the DOS fUe 
system when the foreground application is not using it. 
The background service routines in BASIC.EXE, in 
cory unction with the interrupt service routines in the 
HPBLPSYS device driver create this ilkision of concur- 
rent use of the DOS file system, which is the basis for 
this form of interprocessor communication. \^Tiiie this 
scheme can be used by any application that can access a 
DOS file, it is relatively slow. 

The MultiCom mechanism for DOS/HP BASIC communica- 
tion uses the existing I/O capabilities of DOS and HP 
BASIC compiled subroutine libraries to aOow IIP BASIC 
programs to send messages to and receive messages from 
DOS applications. With MultiCom, an HP BASIC program 
running in the background can generate keypresses to the 
DOS application running in the foreground by calling one 
of several compiled subroutines. Converse ly, a DOS 
application running in the foreground can send messages 
lo tlie HP BASIC program running in the background by 
writing to a measurement coprocessor device file (similar 
to the ,PRN file for a printer). To illustrate this mecha- 
nism, assume that the user wants to run a test, then 
integrate the data into a spreadsheet to generate a 
printed report. The user programs the measurement 
coprocessor to handle the setup, initiafion, and data 
gathering parts of the test, using MultiCom to receive 
parameters from and send data to the spreadsheet pro- 
gram. The user programs the spreadsheet program to 
start the test on the measurement coprocessor, receive 
the data, and graph the results on a form. The user uses 
HP BASIC for the test task and the spreadsheet program 
for the presentation task instead of trying to do both 
tasks in one environment or the other. 

Another use of the MultiCom mechanism is to support 
multiple measurement coprocessor configurations. With 
MultiCom, a DOS application can communicate with up to 
three measurenvent coprocessors in a PC. In addition, one 
measurement coprocessor can conununicate with another 
independently of the DOS application running in the 
foreground. In this manner, powerful multiprocessing test 
systems can be configured and controlled in one host PC. 

Finallyj a user may simply want to start a test mnnlng on 
the measurement coprocessor, then go do something else 

Aprli 1 992 Hewlett-Packard JotimaJ 115 

)Copr. 1949-1998 Hewlett-Packard Co. 

in DOS, such as reading electronic mail or writing a 
document. However, if the user wants to be notified when 
the test finishes, or just wants to see how far along it is, 
it would be annoying to have to stop working, start up 
HP BASIC, type a couple of commands, exit HP BASIC, 
and restart the DOS apphcation. The PopCom mechanism 
supports a kind of "pop-up" interface to HP BASIC 
running in the background. With PopCom installed, an HP 
BASIC program in the background can cause a dialog 
window to pop up over the foreground DOS application, 
temporarily taking control of the PC. After the user 
enters a response^ the pop-up window disappears, and the 
foreground application continues execution. This type of 
pop-up interface is already popular with PC users, and 
fits naturally into the DOS environment. 


The original HP 9000 Model a32 CPU board design was 
done by Mark Anderson of the former Fort Collins 
Systems Division. Cari Thomsen did the ASIC design 
before transferring to the Vancouver Division before the 
end of the project. Greg Parets joined the project tow^ard 
the end and was instnimental in the final stages of 
development and release to manufacturing. The software 
development ream for the HP 82324As predecessor, the 
IIP 82300A basic language processor, was managed by 
Andy Rood and included Terry Leepcr (project leader), 
Everett Kaser, Leon Nelson, Roberto Orozco, and Tony 
Yokoyama. Roberto also took over as project manager 
from Andy during the second major revision of the BLP 
software. David Kepler managed the hardware design and 
softw^are Q.4 of both tlie HP B2300A and the HP 82a24A. 
Support from the RMBAV^S team at MSO was invaluable. 


DICK OOLAN f 9 7L0' 

C?) 3 ^7^6*^ 

lia^BpipORJI? JliS^^^'^^^^ 


2 03R 


April 1S92 Votume 43« Number 2 

Technical InformmJon from the Lab oratories of 
Hewlett-Packard Company 

Henvlsti- Packard Campanf, P.O flax 51B27 
Palo Alio, Eslifarnfca. i43C3-D724 U.S.A. 

Yokogjw&-Hewleu-Pscl(srtt Ltd.. SugiTiamr-KLi Toltyo IBB Japan 

Hewlett-Pspksrd iCsnadaf Ltd. 
577 Gorewav Drive, Msssisseuga, Ortarjo UV IIWB C&naji 




)Copr. 1949-1998 Hewlett-Packard Co.