HEWLETT-PACKARD JOURNAL - DOWNLOAD NICE PDF WITH GRAPHICS!
by Peter D. Dickinson
HEWLETT-PACKARD JOURNAL - DOWNLOAD NICE PDF WITH GRAPHICS!
Copr. 1949-1998 Hewlett-Packard Co.
Versatile Low-Cost Graphics Terminal Is Designed for Ease of Use
HP's newest computer CRT terminal combines sophisticated graphics and alphanumeric capabilities with easy-to-use, system independent, automatic plotting.
by Peter D. Dickinson
HIGH-PERFORMANCE GRAPHICS capabilities are made available at
relatively low cost by Hewlett-Packard's new system oriented,
generalpurpose, interactive graphics display terminal, Model 2648A
Graphics Terminal (Fig. 1). Through its microprocessor-based
architecture and raster scan technology, the 2648A Graphics Terminal
provides a powerful combination of graphics and alphanumeric
capabilities. By offering many off-line and system independent
features, it helps take the burden off both the user and the host
computer to make graphics applications more efficient and productive.
The primary purpose of a graphics terminal is to help the user process
and display graphical informa tion. Since the display is the user's
primary interface to the product, the quality of the display is
particu larly important. The 2648A uses the same high-
resolution raster scan monitor that has been used in the entire 2640A family,1 resulting in a bright, highcontrast, easy-to-read display. Other features made possible by the use of raster scan technology include area shading, selective erase, interface to external monitors, and matrix hardcopy compatibility. The 2648A's keyboard is the same as that of other members of the 2640 family except that the numeric keypad of other 2640 terminals is replaced by a graphics control group that controls the graphics cur sor and display (see Fig. 2). Next to this group is the usual display control group that controls the al phanumeric cursor and display. Pictures can be generated manually from the keyboard, read from optional cartridge tape units, or transmitted to the 2648A from the host computer. Information is communicated using ASCII charac-
Fig. 1. Model 2648 A Graphics Terminal has both graphics and alphanumeric capabilities. Raster scan technology provides such features as area shading, selec tive erase, and compatibility with matrix printers. A comprehensive self test verifies operation and helps identify the defective mod ule or component.
Printed in US A
Hewlett-Packard Company, 1978
Fig. 2. Graphics control group replaces the numeric keypad of other 2640 terminals. Each graphics key has two functions. The function on the front of the key is accessed by pressing the SHIFT key and the graphics key simultaneously. The keys at right control the alphanumeric display.
Cover: Model 2648A Graphics Terminal has both graphics and alphanumeric capabilities. Its AUTOPLOT feature makes it easy to turn columns of data into graphic displays like the one shown.
ters, and vectors are specified by their endpoints using either decimal or binary format. Vector generation is accomplished digitally by special hardware under microprocessor control. A rubber band line (Fig. 3) can be used to facilitate manual picture gener ation. In addition to conventional alphanumeric labeling , a special graphics text feature allows charac-
In this Issue:
Versatile Low-Cost Graphics Terminal Is Designed for Ease of Use,
by Peter D. D i c k i n s o n p a g e Raster Scan Graphics with Zoom
and Pan, by Otakar Blazek and Michael B. R a y n h a m p a g e
Firmware Control of a MicroprocessorBased Graphics Terminal, by John
J. M o y e r p a g e 2
Add-On Digital Signal Processing Enhances the Performance of Network and Spectrum Analyzers, by Mark D. Roos, Jacob H. Egbert, Roger P. Oblad, and John T. Barr page 17
ters to be loaded directly into the graphics image memory. Pictures and graphs can be labeled using graphics text in a variety of character sizes and orientations. Two of the most interesting features of the 2648A are zoom and pan. These features are implemented in the terminal's hardware and are particularly useful for close examination and editing of very highdensity displays, which are common in applications like integrated circuit design. With a single keystroke the display can be instantly magnified in integer steps up to 16x (see Fig. 4). Once magnified, the display window can be moved using the graphics cursor keys to allow close scrutiny of the entire graphics image. If appropriate scaling is used, accurate measurements in user units can be made directly from the display. A comprehensive self-test feature allows the user to determine whether the terminal is fully operational. If a failure is detected by the self test, the test assists a service person in isolating the defective module. In many cases the self test will actually identify the defective component. The features of the A Graphics Terminal are a superset of those of the 2645A Display Station. In the past, many graphics applications required two terminals, one for program preparation and one for graphics output. The 2648A is the first graphics terminal to provide sophisticated alphanumeric capabilities like editing, forms mode, user-definable keys, and local mass storage. To allow maximum use of all these features, the graphics image memory is totally independent of the alphanumeric memory. The contents of both memories can be viewed simultaneously or separately. In a typical application the user's dialog with the host computer goes into the alphanumeric memory and the graphics output into from the memory. A dot directly above another on the screen will be offset by 720 bits, or one scan line, in the memory. Note that moving upward on the screen corresponds to a negative displacement. Since the raster sweeps top to bottom, the raster origin is taken to be the upper left hand corner of the screen, with increasing Y pointing downward. Because the conventional graphics origin is the lower left hand corner of the screen, the graphics screen coordinates X, Y are converted to a memory bit address by the relation: Bit Address = (359-Y) x 720 + X The Y value is subtracted from 359 to compensate for the shifted origin.
Fig. 1. The image memory contains one bit for every point on the
display. It is organized as a linear list of 16,200 16-bit words.
The basic hardware functions of the 2648A are de scribed by the flow chart in Fig. 3. When the power is first turned on, the microprocessor clears the cursor, zoom, and vector flags on the GCM. The GCM then waits for a new frame to start by looping on the vertical retrace signal sent by the display circuitry. Since the screen dots are stored in a linear array, displaying one horizontal line requires reading 45 words, each 16 bits wide, out of the image memory and converting them to a serial stream directed to the display monitor. The GCM has two buffers, A and B, each containing sixteen 12-bit words. The B buffer can be loaded by the microprocessor via the 2648A terminal bus. When displaying a frame, the GCM maintains three variables in the A buffer: the read address, the word count, and the line count. The read address is an absolute word memory address, 14 bits long and stored in two locations, pointing to a word to be displayed. Since there are 16,200 words covering the whole screen, address zero points to the first 16 bits in the upper left corner and address 16,199 corresponds to the last 16 bits in the lower right corner of the
Step 5. Increment LC-LC + 1. If LC = 360 then the frame is finished. If LCX360, set WC=0 and go to step 2.
Fig. 3. Flow chart showing the basic graphics hardware functions of the 2648A.
screen. The word count counts the words displayed in one line. When a count of 45 is reached, the line is complete. Similarly, when the line count reaches 360, the frame is complete. The process of displaying a frame then consists of the following: Step 1. While the GCM waits for the raster to begin a new frame, it initializes the read address RA, the word count WC, and the line count LC to zero. Step 2. Wait for a new line to start. Step 3. Read a word at RA and serialize it. Increment RA <- RA + 1. Step 4. Increment WC^WC + 1. If WC = 45 then proceed to step 5; otherwise go to step 3 and read another word.
The zoom feature displays image memory bits for a given magnification, M, in the form of (M-l) x (M-l) dots, followed by one blank row and one blank column, as shown in Fig. 4. Repeating a dot horizon tally on the screen is achieved by dividing the shifting frequency of the parallel-to-serial converter by M. Vertical repetition is achieved by reading the same line M-l times. In the zoom mode, only a portion of the image memory, as specified by the zoom starting address, is read and displayed. Changing the zoom starting address causes the magnified portion of the image memory to pan across the display. Since only a portion of the image memory is being read, all mem ory rows must be refreshed during the blank horizon tal line between magnified dots. In the zoom mode the microprocessor outputs the zoom starting address ZASTR, the magnification M, and the word count per line K into the GCM's B buffer. The GCM maintains the zoom start address, the cur rent zoom address pointing to the word being dis played, the line zoom address indicating the first displayable word of the current line, and the repeat count that keeps track of how many times a line has been displayed. The word and line counts keep track of words per line and lines per frame. In the zoom mode a frame is displayed as follows: Step 1. While waiting for the raster to begin a new frame, the GCM sets the current zoom ad dress ZA and the line zoom address ZAL to the zoom start address (ZA = ZAL = ZASTR), and initializes the line count LC=0. Step 2. Initialize the repeat count RC=0. Step 3. Initialize the word count WC=0 and wait for raster to begin line. Step 4. Read a memory word at the current zoom address ZA. Increment ZA < ZA + 1 and WC < WC + 1. Serialize the memory word. Step 5. Wait until the serial conversion is complete. Step 6. If the word count WC is less than K, the speci-
Zoom Example: Magnification = 4 MA MA+1 Bits in Memory O O O O O O
O On the Screen Visible Dot Blank Dot
Fig. 4. In zoom mode each memory bit is displaced as a square of (M -1 ) x(M-1) dots, where M is the magnification. Blank lines and columns separate the squares.
fied word count per line, then go to step 4 and read another word. If WC=K then pro ceed to step 7. Step 7. Increment the line count LC< LC + 1. If LC = 360 then the frame is complete. If LC<360, proceed to step 8. Step8. Increment the repeat count RC< RC+1. If RC<M-1 (magnification- 1), then set ZA ZAL and go to step 3 to repeat the line. If RC = M-1 then draw one blank line, update ZAL < ZAL + 45, and set ZA <- ZAL. Then go to step 2.
The following description of the algorithm as sumes a vector
between the points (XSTART, YSTART) and (XFINISH, YFINISH) with
absolute slope less than 45 degrees. For vectors of absolute slope
greater than 45 degrees, AX and AY are interchanged. Step 1. Compute
the initial parameters and transfer them to the graphics controller
module: AX = XFINISH - XSTART AY = YFINISH - YSTART Initial memory
address MA = 720 x (359-YSTART)+XSTART Look up the memory
displacements Ml, M2 in a table using the octant determined by
Vectors are generated by computing the memory addresses of the points on the screen that most closely approximate the line between the specified endpoints. An iterative algorithm is used.1'2 The memory address for a given point is computed by adding a memory displacement to the address of the previous point. For a vector in a given octant, there are only two possible displacements to choose from (see Fig. 5), and the sign of a discriminant determines which of the two to use at each point. After the initial values have been computed, the algorithm uses only addi tion and subtraction. The initial values for the algorithm are computed by the microprocessor. These values include the ini tial starting point converted from X, Y coordinates to an 18-bit memory address, the two memory dis placements, the initial discriminant value, two dis criminant increments, and the number of dots to be drawn. These values are transferred to registers on the graphics controller module, which then executes the iterative algorithm (steps 2, 3, and 4).
Designing with 16K RAMs
The 2648A is the first HP product to use the new industry standard 1 6K RAM chips.1 The key characteristics of 1 6K RAMs that are important in this application include: high packing density, allowing the entire image memory and associated control circuitry to fit on a single plug-in printed circuit board; random access, for maximum vector drawing speed; low cost per bit because of wide industry use and multiple sourcing. The most important design objective for the image memory subsystem was high reliability. Another important consideration was that the design be compatible with the minor differences in specifications among the many vendors of the 16K RAM. Since the image memory printed circuit assembly contains high-frequency Schottky logic operating at 21 MHz in addition to the actual memory array, the first requirement was to isolate the two sections as much as possible. This was accomplished by using a memory output buffer having low input current and hysteresis to interface the memory array and display register logic. The noise generated within the memory section was minimized by using a four-layer printed circuit board with inter nal power and ground planes. Both standard tantalum and distributed ceramic capacitors are used to provide local charge storage for the memory array. All memory input lines are series terminated, since unterminated lines result in overshoot that tends to increase the error rate and can be damaging to the memory chips. The system was designed to use any 250-ns RAMs that could be qualified using HP's standard test techniques.2 One limita tion on the memory system design was that the total power dissipation had to be kept low for reliable operation at 55C ambient temperature, as called for in HP class B environmental specifications. This is normally accomplished in memory sys tem design by having the memory in low-power standby mode most of the time. This was not possible in the 2648A, because the memory is in read mode nearly all the time for the purpose of refreshing the display, so special care had to be taken to minimize the memory system power dissipation through the use of low-power logic components in all portions of the system where speed was not critical. References
1 J.E. Coeand W C. Oldham. "Enter the 16, 384-Bit RAM,"
Electronics. February 19, 1976. 2. R.J. Minicomputer
"All-Semiconductor Memory Selected for New Minicomputer
Series." Hewlett-Packard Journal, October 1974.
Fig. 5. Vectors are generated by computing the memory ad dresses of the points on the screen that most closely approxi mate the line between the specified endpoints. At any given raster point, there are only two possible choices for the next raster point. If the slope of the vector is between 0 and 45, for example, the two choices, as shown here, are 1) over one unit, a memory displacement of +1 bit, and 2) over one unit and up one unit, a memory displacement of -719. The sign of a discriminant determines which to use at each point.
2648A Bus Data Sign Carry Address Blank Line
Fig. 6. display 2648A Graphics Terminal's graphics hardware consists of the graphics display module is and the graphics controller module (GCM), the latter shown here. The GCM is a microprogrammed machine that determines the contents of the image memory, a separate memory from the alphanumeric memory.
AX and AY as a key Initial discriminant D = AX + 2 AY Discriminant increment Dl = 2 AY Discriminant increment D2 = 2 AY | - AX | Dot count DC = | AX +1 Step 2. Write the bit at memory address MA. Step 3. Set DC = DC - 1. If the dot count is 0, then stop, the vector is finished. Step 4. If the discriminant D is negative, Set D = D + Dl (update the discriminant) Set MA = MA + Ml (update the memory address) Go to step 2. If the discriminant D is positive, Set D = D + D2 (update the discriminant) Set MA = MA + M2 (update the memory address) Go to step 2. Communication between the microprocessor and the GCM is via a flag. When the flag is reset the microprocessor loads the B buffer and sets the flag, indicating that all the vector parameters have been specified. After the vector is completed the GCM clears the flag. Memory bits can be modified only when the beam is in horizontal retrace, which lasts ten microseconds, long enough for the graphics hardware to modify four dots.
Graphics Hardware Organization
The graphics controller module (GCM) is designed as a microprogrammed machine (see Fig. 6). Its ar chitecture includes eight instruction types and 256 words of control store, 20 bits wide. The instruction types include four load, one store, one flag, one condi tional jump, and one NOP instruction. The load in structions load the B hold register with either the contents of a B buffer location or a ROM constant, and load the A hold register with an A buffer location. This allows adding an A buffer location and a B buffer location, or an A buffer location and a ROM constant. The store instruction returns the result of the addition back to the specified location in the A buffer, or it can optionally load it into the address and/orbit registers. The address and bit registers hold the image memory address during line display and vector generation. The address counter, which is driven by a 10.5MHz clock, addresses a word in the read-only mem ory. The control word read out of ROM is loaded into the ROM output register and decoded by the instruc tion decoder. To allow branching within the code a conditional jump is provided. The possible jump conditions, as determined by the condition selector, are unconditional jump, jump on carry, sign, vertical retrace, or jump on the state of one of six hardware flags. To save hardware, testing for zero is not done. Instead, the appropriate variables are loaded as nega-
Otakar Blazek Oty Blazek was project leader for the 2648A. Born in
Pilsen, Czechoslovakia, he received the equivalent of an MSEE degree
in from the Techn cal Un ivers ity of Pilsen. After several years as a
production engineer in Czecho slovakia, Germany, and the U.S.A., he
earned another MSEE degree, from the University of ^California at
Berkeley, in 1971. With HP since 1972, he's contrib uted to the design
of the HP 3000 I/O system, designed the n keyboard for the 2640
family, and designed 2648A graphics hardware. Several U.S. patent
appli cations came out of the 2648A project. Oty is single and lives
in Sunnyvale, California. He speaks five languages and enjoys tennis
Firmware Control of a MicroprocessorBased Graphics Terminal
by John J. Moyer I HE 2648A is a microprocessor-based graphics terminal whose operation is completely con
trolled by microcode stored in read-only memory (ROM). This firmware is based to a large extent on
code written for the 2645A Display Station. The 2645A was designed in a modular fashion to simplify extensions for future products. For example, impor tant sections of the 2645A firmware were imple mented using tables. These tables were merely ex panded to include the new functions of the 2648A. Redefining the numeric keypad of the 5 A as graphics function keys required changes to only one discrete keyboard module. The firmware for the 2645A requires 22K bytes of ROM. Graphics exten sions for the 2648A add 18K bytes. The following paragraphs illustrate how the mi croprocessor was used in implementing several of the graphics features. In some cases, a task is partitioned between firmware and hardware, while in others the microprocessor interacts with the user to make the terminal easier to use.
as well as the ability to draw either white on a black background or black on a white background. To draw dotted and dashed vectors, the microprocessor can load and enable an eight-bit pattern memory on the graphics display module. Instead of drawing every dot in the vector, bits can be written or skipped over, according to the pattern (Fig. 1). The pattern can be stretched up to 16 x by a prescaler.
The user causes the terminal to draw a vector by specifying a single endpoint. The terminal calculates the raster points that most closely approximate the straight line between the new endpoint and the pre vious endpoint. The microprocessor converts the endpoint from ASCII characters (suchas 500,250) ora more efficient packed format (which reduces the endpoint 500,250 to the characters /4':) to binary. If either endpoint of the vector is off-screen, the coordi nates of the portion of the vector that is on-screen are computed and substituted as new endpoints. The parameters required by the graphics controller mod ule (GCM), described in the article on page 6, are then computed. Next the microprocessor tests a flag on the GCM to determine whether it has finished drawing the previous vector. When the GCM is idle, the mi croprocessor transfers the vector parameters and sets a flag that tells the GCM that a new vector is ready. The microprocessor can begin processing the next endpoint while the GCM is drawing the vector. The microprocessor can set the mode in which a vector is drawn. The bits that make up a vector can be written by setting, clearing, or complementing the image memory. This gives selective erase capability,
The graphics cursor is drawn in the image memory as intersecting horizontal and vertical vectors. The microprocessor scans the graphics cursor keys to de termine where the cursor should be drawn. The start ing addresses for the two vectors are computed so the center of the cursor is in the specified position. If any part of the cursor would go off-screen, a shorter length for the appropriate vector is computed. The micro processor then loads the GCM with the two addresses and two vector lengths, and sets a flag indicating that
Graphics Self Test
Self test is an important feature in all HP terminals. It is de
signed to answer the basic question, "Does it work?" Self
test also provides valuable diagnostic information. Since the com
plexity of the new graphics hardware is comparable to the entire
digital portion of HP's first terminal, the 2640A, the addition of a
comprehensive graphics self test was particularly important. The 2648A
graphics self test consists of three tests. "Marching
Vector" Memory Test This is analogous to a "marching
1's" and "marching O's" memory test. However, unlike a
normal diagnostic, its operation can be viewed on the CRT in addition
to being tested by the graphics controller. It verifies that the
graphics vector generator operates in all four quadrants and that the
graphics memory contains 259,200 uniquely addressable bits that can be
set to a 1 or a 0. If any memory errors are discovered, they are
reported on the display. The location of the failed memory pack is
also indicated, allowing simple replacement of the socket-mounted
part. Display Test This is a visual test only, since the processor
does not have access to the 21 MHz video bit stream. First ZOOM is
tested by displaying a succession of numbers corresponding to
different zoom factors. The numbers are written in sizes that are com
plementary to the zoom factors used, and consequently should all
appear the same size on the screen. PAN is then tested by moving a
checkerboard pattern across the center of the screen past the
crosshair graphics cursor. If the pattern traverses the screen
smoothly, then virtually all the zoom and pan hardware must be
operating correctly. Alphanumeric Self Test Since the 2648A features
are a superset of the 2645A Display Terminal's features, the remainder
of the 2648A self test is identical to the 2645A self test.
Firmware-implemented graphics features are also tested here, since
part of the test checks all of the ROMs to ensure that their stored
bit patterns are intact.
Resultant Vector Scale Factor = 1 Pattern Byte
Scale Factor = 2
Fig. 1. The 2648 A Graphics Terminal uses an eight-bit pattern byte to specify dotted and dashed lines. A scale factor can be applied to stretch the pattern up to 16 x.
memory. To erase it, the identical bits are com plemented again.
Complementing a bit twice restores it to its original state.
Complementing also insures that the cursor will always be visible,
regardless of the background. However, as seen in Fig. 2, gaps will
appear in vectors intersecting the cursor when the cursor is drawn. To
remedy this, the cursor is recom plemented every frame. The resulting
cursor appears half-bright because it is only visible every other
frame, but it does not cause gaps when placed on top of other vectors.
Fig. 2. The 2648 A's graphics cursor is drawn by complement ing bits in the image memory and is erased by recomplementing the bits (bottom drawing). This avoids the problem shown in the top drawing, where erasing the cursor leaves a gap in any line that intersects it. However, drawing the cursor by complementing, as shown in the bottom drawing, leaves a gap atan intersection with another line. To remedy this the cursor is recomplemented every frame.
a cursor is to be generated. The GCM draws the cursor during vertical retrace, while the display is blanked. When the cursor is moved, the cursor at the old position is erased before a cursor is drawn at the new position. As Fig. 2 illustrates, if a line is erased by clearing bits in the image memory, gaps will be left in any line it intersects. If the cursor were erased this way, large parts of the display would be erased as the cursor moved across the screen. Consequently, the cursor is drawn by complementing bits in the image
Zoom allows the user to select a subset of the image memory and magnify it to fill the entire display. The center of the area to be zoomed is selected with the graphics cursor. The microprocessor uses the cursor coordinates and the desired magnification to deter mine the memory address of the first bit that will be displayed in the upper-left hand corner of the zoomed area. If this address is not on an image memory word boundary, the number of bits in the first word read that are not to be displayed is determined. The number of words to be read from the image memory, which decreases as the magnification increases, is also computed. The microprocessor loads these parameters into the proper buffer locations on the GCM, and sets a flag indicating that zoom mode is to be turned on. The GCM changes into or out of zoom mode only during vertical retrace.
To provide different text sizes and orientations, the microprocessor can draw dot matrix characters di rectly into the image memory. The smallest character is defined in a cell seven dots wide by ten dots high. It is generated by drawing ten vectors, each seven dots long. Before a vector is drawn, an appropriate pattern
Pattern Vector 10 Pattern V e c t o r 9 Pattern V e c t o r 8
Pattern V e c t o r 7 Pattern V e c t o r 6 Pattern V e c t o r 5
Pattern V e c t o r 4 Pattern V e c t o r s Pattern V e c t o r 2 P a
t t e r n V e c t o r 1
Fig. 3. Graphics characters are drawn as a series of adjacent vec tors, using a different dot-dash pattern for each vector. The small est character cell consists of ten vectors, each seven dots long. Characters are rotated or slanted by changing the direction of the vectors.
byte specifying the dot-dash line pattern is read by the microprocessor from a table stored in ROM. To draw characters at different angles, the direction in which the vectors are drawn is changed (Fig. 3). Larger characters are generated by increasing the size of each dot in the dot matrix representation. For example, multiplying the vector length and pattern prescale by three and repeating each pattern three times will draw each point in the matrix as a three-dot-bythree-dot square. The microprocessor can also left justify, right justify, and center strings of graphics text.
reset to 0. Only the relative position in the data stream is used to determine which data column a number belongs in, not the physical position on the screen. Con-
Autoplot allows plots to be made directly from tabular data. The user enters simple parameters about the data into a menu. These menu entries tell the terminal how many columns of data there are, which column is to be used for X data and which for Y, and what the minimum and maximum values are. If tick marks are desired, the spacing between them must be given also. Using this information, the microproces sor will draw the axes and tick marks, with labels and a grid if desired, select the proper data values, scale them, and plot them. Axis generation is straightforward. The micro processor reads the values stored in the menu, checks them for possible errors, then uses them to determine where the axes and tick marks should be drawn. When generating tick mark labels, the format of the menu entry is used to determine the format of the label. If the spacing given in the menu entry has no decimal point, the tick labels are written as integers. If the menu entry contains a decimal point, the tick label is rounded to the same number of places after the decimal. When autoplot mode is turned on, the micro processor scans all incoming data one character at a time, reconstructs complete numerical values from appropriate ASCII characters, and determines which of the numbers it has built should be used for X and Y data points. The flow chart in Fig. 4 illustrates the process. The scanner starts building a number when a numeric character (0-9, +, -, or.) is detected. Suc ceeding numeric characters are concatenated onto the value being built. When a non-numeric character ar rives, the string being built is terminated. A column counter is then incremented to determine which data column the string is in. The column count is com pared with the menu fields for the X and Y data columns, and if a match is found, the string is con verted from ASCII to a floating-point representation and stored. When both X and Y values have been received, they are scaled using the values in the MIN and MAX menu fields, and plotted. When the column count exceeds the value in the NO. OF COLS, field, it is
Stop Building Number Column Count-* Column Count +1
Fig. 4. A flow chart illustrating how the autoplot scanning routine picks out selected columns from tabular data.
sequently, data formatted for 132-column line print ers, which will be split across two of the 2648A's 80 character lines, is correctly scanned. Intervening text or blank lines are ignored. By entering twice the number of data columns in the menu, every other point can be plotted. The source of the plot data can be selected as either the data communications module, the cartridge tapes, or the data being displayed on the screen, which is available to the microprocessor from the terminal's display memory.
I would like to express my appreciation to Ed Tang, Warren Leong, George Hunt, and Rick Palm for their help in interfacing to the existing 2645 firmware; to Pete Showman for his inputs on graphics; to Mike Ramsay and Myron Tuttle for their Q.A. efforts; and to Greg Garland and Bill Woo for their datacom exper tise. OS
John J. Moyer John Moyer received his BA de gree in computer science from the University of California at Berkeley in 1975, then joined HP to work on the graphics firmware for the 2648A. He's named as an inventor on several patent applications re lated to the 2648A. Born in Syra cuse, New York, John is single and now lives in Cupertino, California. For recreation, he likes covering distance, either in the air he's a private pilot or on the ground, with a pack on his back.
HP Model 2648A Graphics Terminal
SCREEN SIZE: 127 mm (5 inches) x 254 mm (10 in). SCREEN CAPACITY: 24 NnesxSO columns (alphanumeric); 720 dotsx360 raws (graphics). CHARACTER GENERATION: 7x9 enhanced (alphanumeric); 9 x 15 dot character cell; non-interlaced raster scan. CHARACTER SIZE: 2.46 mm (.097 in) x 3.175 mm (.125 h) (alphanumeric); 5 x 7 dot character cell (graphics). CHARACTER SET: 128 character (alphanumeric) CURSOR: Blinking-Underline (alphanumeric); Blinking-Crosshair (graphics). DISPLAY MODES: White on black; black on white (inverse video). Optional halfbright, underline and blinking. REFRESH RATE: 60 Hz (50 Hz optional). TUBE PHOSPHOR: P4. IMPLOSION PROTECTION: Bonded implosion panel. MEMORY ALPHANUMERIC: 37 lines of 80 characters (less enhancements). GRAPHICS: 720 dots by 360 rows of displayable points. OPTION SLOTS: 4 available. KEYBOARD: Detachable, bit pairing; user-defined soft keys, control and editing keys; 1.2-m pad; cursor pad; auto-repeat, n-key rollover; 1.2-m (4-foot) cable. CARTRIDGE TAPE (option): Two mechanisms READ/WRITE SPEED: 10 ips SEARCH/REWIND SPEED: 60 ips RECORDING: 800 bpi MINI CARTRIDGE: 110-kilobyte capacity (maximum per cartridge) DATA COMMUNICATIONS DATA RATE: 110, 150, 300. 1200, 2400, 4800, 9600 baud, and external. Switch selectable (selects two stop bits). Operation above 2400 baud may require nulls requires handshake protocol to insure data integrity. External clocking requires a TTL signal 16x bps. VECTOR screen. TIME (9600 baud, typical): 7 ms half screen; 10 ms full screen. STANDARD ASYNCHRONOUS COMMUNICATIONS INTERFACE: EIA standard RS232C; fully compatible with Bell 103A modems; compatible with Bell 202C/D/S/T modems. Choice of main channel or reverse channel line turn-around for half duplex operation. OPTIONAL COMMUNICATIONS INTERFACES (consult 3260A/B/C/D Com munications data sheet for details) : Current loop, split speed, custom baud rates Asynchronous Multipoint Communications Synchronous Multipoint Communications-Bisync TRANSMISSION MODES: Full or half duplex, asynchronous. OPERATING MODES: On-line; off-line; character, block. PARITY: Switch selectable; even, odd, none. ENVIRONMENTAL CONDITIONS TEMPERATURE, FREE SPACE AMBIENT: Non-Operating: -40 to +75C (-40 to + 167F) Operating: 0 to 55C (+32 to + 13TF) TEMPERATURE, FREE SPACE AMBIENT (TAPE): Non-Operating: -10 to 60C (-15 to + 140F) Operating: 5 to 40C (+41 to +104F) HUMIDITY: 5 to 95% (non-condensing) HUMIDITY (Tape): 20 to 80% (non-condensing) ALTITUDE: Non-Operating: Sea level to 7620 metres (25,000 ft) Operating: Sea level to 4572 metres (15,000 ft) VIBRATION AND SHOCK (Type tested to qualify for normal shipping and handling in original shipping carton): Vibration:.37 mm (0.015") pp, 10 to 55 Hz, 3 axis Shock: 30 g, 11 ms, 1/2 sine PHYSICAL SPECIFICATIONS DISPLAY MONITOR WEIGHT: 19.6 kg (43 pounds) KEYBOARD WEIGHT: 3.2 kg (7 pounds) DISPLAY MONITOR DIMENSIONS: 444 mm W x 457 mm D x 324 mm H (17.5 in W x 18 in D x 13.5 in H). 648 mm D (25.5 in D) including keyboard. KEYBOARD DIMENSIONS: 444 mm W x 216 mm D x 90 mm H (17.5 in W x 8.5 n D x 3.5 in H) POWER REQUIREMENTS INPUT VOLTAGE: 115 ( + 10%-23%) at 50/60 Hz (0.2%) 230 ( + 10%-23%) at 50 Hz (0.2%) POWER CONSUMPTION: 115 W to 150 W max. PRICE $7100. U.S.A.: 2648A, $5500. 2648A with cartridge tape units, $7100. MANUFACTURING DIVISION: DATA TERMINALS DIVISION 19400 Homestead Road Cupertino, California 95014 U.S.A.
16 Copr. 1949-1998 Hewlett-Packard Co.
Add-On Digital Signal Processing Enhances the Performance of Network and Spectrum Analyzers
Digitizing and storing the outputs of network and spectrum analyzers enables flicker-free display of slowly swept measurements, corrections for system errors, and direct comparisons of device performance. Additions to the basic storage circuits achieve improved signal-to-noise ratios and increased resolution.
by Mark D. Roos, Jacob H. Egbert, Roger P. Oblad, and John T. Barr
THE CONTINUING EVOLUTION of digital signal-processing techniques now allows the instrument designer to add powerful capabilities that were previously not practical because of cost. Storage of CRT displays is a case in point. Digital storage allows the user to make swept-frequency measurements at a slow rate, and then display the acquired data repetitively at a fast enough rate to enable viewing the entire sweep without annoying flicker. Another advantage of digital signal processing and storage is the capability for applying scalar correction factors. Commonly called normalization, the applica tion of correction factors removes frequency-response errors that often mask the true response when swept measurements are made with less-than-perfect mi crowave test fixtures (Fig. 1). Normalization has been done with computers in automatic test systems, but with the newer, more powerful, low-cost digital cir cuits that are presently available, this capability can now be designed into instruments used on the bench. A third useful capability provided by digital stor age is the retention of measurement data for compari
son with data taken later (Fig. 2). This is useful for matching devices, or for examining characteristics by observing changes in performance while one of the measurement parameters is varied. For example, changes in amplifier gain compression can be moni tored as the input signal level is varied.
An Add-on Capability
These and other capabilities have now been de signed into two new accessory instruments for use primarily with network and spectrum analyzers. The first of these, Model 8750A Storage-Normalizer (Fig. 3), accepts the X-Y outputs from a network or spectrum analyzer, samples the X-Y outputs during a single swept-frequency measurement, converts the samples to digital words, stores the words, and reads them out repetitively into a digital-to-analog con verter. The measurement data is reproduced repeti tively at a rate of 167 sweeps per second for flickerfree presentation on the analyzer's CRT. A line generator connects the data points on the display so a smooth, continuous trace is obtained. Model 8750A can store the data input of two chan-
Hewlett-Packard's implementation of IEEE Standard 488-1975.
Fig. of Model A Storage-Normalizer retains the results of dual-channel swept-frequency or other-type measurements for flicker-free display, normalization, and comparison. It works with suitably equipped frequency response sets and spectrum analyzers in HP 180-series mainframes and with the 8407 A and8410A/B Network Analyzers. It can work with spec trum analyzers in HP 140-series mainframes with the addition of a display monitor or oscilloscope. It also works with other types of instrumentation.
Fig. 4. Model 8501A StorageNormalizer is optimized tor use with the Model 8505A Network Analyzer. Among other functions, it enables flicker-free display of slow-sweep measurements, nor malizes measurements to remove frequency-response errors, and averages repetitive measure ments to improve signal-to-noise ratios.
time needed for multiple-frequency go/no-go mea surements in a production environment. Model 8501A can also store processed data from an HP-IB system controller and convert the stored information to analog form for display on the network analyzer's CRT. The system is thus able to acquire data in one form and reformat it for display in another form. For example, a swept measurement of reflection coeffi cient can be reformatted and displayed as input im pedance magnitude and phase angle. Model 8501 A has line generators on both the X and Y axes, giving it full graphics capability. Under con trol of an HP-IB system's desktop controller, the line generators can be used to trace vectors between any two pairs of X-Y coordinates on the network analyzer's CRT, enabling limit lines or complete graticules to be overlaid on measured data. The sys tem controller can aid the operator further by notify ing him by an audio or visual message when and where measurement data exceeds limits. The 8501A also has a built-in character generator that can be used to annotate the displays (serial num bers, dates, etc.) and to present messages to the operator on the network analyzer's CRT (Fig. 6). Up to 22 lines of text can be written using the English and Greek alphabets, numbers, and a complete set of mathematical symbols. Since the controller can also
use the 850lA's graphics capability to generate dia grams of test connections, it is unnecessary to provide written test procedures. Programs for long, involved test procedures can be stored on tape cartridges and entered into the controller as required. An option enables the new Model 8501A Storage Normalizer to respond to the control settings of a suitably equipped Model 8505A Network Analyzer and, using the built-in character generator, format this information into labels that are displayed on the analyzer's CRT along with the reproduced measure ment data. The analyzer's operating parameters may thus be included with the measurement data on CRT photos, an extremely helpful feature for documenta tion purposes.
Organization of the 8501 A
The basic concept of Model 8501 A is similar to that of the 8750A but the 8501A has additional blocks for display annotation and the HP-IB interface. Also, be cause of the need to process a variety of display for mats, including polar data, the full graphics capabil ity was implemented.
The information that must be handled and dis played by the 8501A Storage Normalizer comes in three forms from the 8505A Network Analyzer: rectangular data, polar data, and display annotation information. The display annotation basically con tains the front-panel and marker information from the 8505A and is coded in binary form. It is brought to the 8501A over separate signal lines. The 8501A block diagram is shown in Fig. 9. The rectangular or polar data from the 8505A Network Analyzer is sampled and digitized by the analog-todigital converter block. The data is then processed by the algorithmic state machine (ASM) and stored in memory. The display section reads the data from memory, formats it, and transfers it to the line generators for display on the CRT. To process data, the ASM controller detects the sweep start and sets the sweep D-to-A converter out put to zero volts. When the sweep input exceeds the
Display Annotation O I/O in Host Instrument (8505A) HP-IB I/O
Fig. 32-bit machine diagram of Model 8501 A Storage-Normalizer. A 32-bit algorithmic state machine (ASM carried was designed to do all the data processing carried out by Model 8501 A.
two steps. The first step decodes 8505A front-panel settings and converts them to a string of words and symbols coded in ASCII form. The position informa tion for the letters is also included in this string. The second step takes the ASCII codes and actually draws the characters. Rather than require that each line segment needed to construct a character be put in the display memory, a special ROM was programmed with all the strokes (short vectors) necessary to implement a 190-symbol
Jacob H. Egbert Graduating from the University of Oklahoma with a BSEE degree in 1969, Jake Egbert completed course work for an MSEE degree before leaving to join a computer firm where he designed bus sys tems. He joined Hewlett-Packard in 1971, initially working on the 8500A System Console and re lated systems, then the 8501 A. Jake enjoys all outdoor sports, playing in the Santa Rosa city bas ketball and Softball leagues, and enjoying golf and skiing. He has a wife and three daughters, ages 8,6, and 3. Roger P. Oblad A native of Salt Lake City, Utah, Roger Oblad obtained a BSEE degree from the University of Utah in 1972 and then joined HewlettPackard. At first he worked on the IF detectors in the 8505A Network Analyzer and then moved on to the 8501 A project. In the meantime, he earned an MSEE degree from Stanford University in the HP Hon ors Co-op program. Married, and with four children ages 1 to 6, Roger enjoys camping with the family and swimming.
HP Model 8501 A Storage Normallzer Display
RECTANGULAR DISPLAYS HORIZONTAL MEMORY RESOLUTION: Two display Channels, 500 pants per channel (0.2% of full scale). VERTICAL MEMORY RESOLUTION 500 points displayed lull scale (0.2% of full scale) plus 50% overrange (250 points) both above and betow full screen. POLAR DISPLAYS RESOLUTION: Two display channels. 250 points per polar display. NORMALIZATION: Two traces can be stored in memory (one lor each channel). DISPLAY MAGNIFIER: When used, display is magnified by (actor of 1, 2, 5 or giving a display resolution of 500. 250. or 50 points m Y (rectangular) and in X and Y (Polar). HORIZONTAL INPUT SWEEP TIMES: 100 s max/10 ms mm. CONVERSION TIME: 10 ms max lor 500 =2 data points. DISPLAY REFRESH TIME: Nominally 20 ms depending upon information dis played.
POWER: Selection of 100, 120. 220. or 240 V +-5% -10%. 50 to 60 Hz and -T140 VA (<140 watts). DIMENSIONS: 90 mm high, 426 m w i d e , 4 m m d e e p ( 3 V i x ! < x I n. ). WEIGHT: 12.25 kg (27 ID). INCLUDES: HP-IB cable and processor interconnect cable. PRICES IN U.S.A.: 8501A Storage Normahzer, $5300 MANUFACTURING DIVISION: SANTA ROSA DIVISION 1400 Fountain Grove Parkway Santa Rosa. California 95404
Hewlett-Packard Company, 1501 Page Mill Road, Palo Alto, California 94304
JANUARY 1978 Volume 29. Number 5
Technical information from the Laboratories of Hewlett-Packard Company Hewlett-Packard Central Mailing Depar~ Van Heuven Goedhartlaan 121 Netherlands Yokogawa-Hewlett-Packard Ltd
Bulk Rate U.S. Postage Paid Hewlett-Packard Company
Editorial Director. Howard L. Roberts Managing Editor Richard P. Dolan Art Director, Photographer Arvid A. Danielson Illustrator Susan E. Wright Administrative Services, Typography Anne S. LoPresti European Production Manager Dick Leeksma
/"* I delete A mailing I please peels off) I A I f~\ f~) r^ O O. o Chan9e yur address or delete your name from our mailing list please send us your old address label (it peels off) W FI r\ I 1501 Palo California 60 I f~\ LJ LJ ll IZO O Send changes to Hewlett-Packard Journal, 1501 Page Mill Road, Palo Alto, California 94304 U.S.A. Allow 60 days. Copr. 1949-1998 Hewlett-Packard Co.