P7001

From TekWiki
Revision as of 01:13, 17 November 2019 by Luebben (talk | contribs) (Added a little description of the A/D converters desgin flaw and some links to Tek magazines.)
Jump to navigation Jump to search
Manuals – Specifications – Links – Pictures


The Tektronix P7001 is a digitizer, processor, and memory for the 7704A oscilloscope. The P7001 can also be connected to an external computer which then is able to process the digitized signals. The complete system was called "Digital Processing Oscilloscope" or "DPO" for short and was presented to the public on 26 March 1973 at the IEEE Intercon in New York City.

The design of the P7001 assumes it will be part of a 7704A system, and that the 7704A will be displaying a steady trace. The vertical and horizontal plug-ins control the beam as they would in any 7000-series scope.

The P7001 periodically samples the horizontal and vertical signals simultaneously as they pass from the plug-ins to the vertical and horizontal amplifiers. This allows it to fill its memory with data points represented as coordinate pairs, (x1,y1), (x2,y2), (x3,y3), etc. It is not necessary that x2 be greater than x1, i.e. the samples can be taken out-of-order with respect to their equivalent time in the waveform.

Key Specifications

Bandwidth 175 MHz
Resolution 10 bit (V), 9 bit (H)
Memory four waveforms, 512 samples each (4K × 10 bit core, or multiple 1k × 10 bit or 2k × 10 bit RAM boards)
Sampling rate 150 kHz ±30 kHz
Single shot performance 500 μs/Div
External interface 16 bit parallel, proprietary "CP bus" (dual 37-pin Sub-D connectors) interfacing with Tektronix CP-1100 or CP-4100 series controllers

Internals

The signal coming from the acquisition unit enters a fast four-diode sample and hold circuit where it is sampled at 150 ksamples/sec. Each sample is digitized using a successive-approximation scheme. The analog to digital converter is made of several chips: a digital to analog converter, a comparator, and control logic.

The P7001 has its own power supply built into it, independent of the power supply in the acquisition unit of the 7704A.

The Acquisition Unit of the 7704A, the P7001 Processor, and the Display Unit of the 7704A are connected by the Acquisition-Processor-Display (APD) Interface.

Asynchronus Bus

To provide maximum flexibility all P7001 circuit cards are connected over an 16 bit asynchronous bus with 13 address lines. The bus is mostly implemented as etched lines on the Main Interface Board. Only some High speed signals are sent through coaxial cables that connect to the cards using Peltola connectors. A serially connected line, or daisy chain, in the bus establishes device priority. This signal is called "Data Channel Grant Line". Each card has a specific location in the DPO. The position determines the priority that each card has in the use of the address and data buses. Unused slots must be fitted with a jumper card to close the daisy chain.

Front Panel & Z-Axis boards

The Front Panel board contains coding and debouncing logic for the 28 pushbuttons and driver logic for the 15 status indicators. The Z-Axis/Front panel card contains circuits for system control and the P7001 status latches. Bus termination, Z-Axis switching circuits and Z Axis Valid sensing are also located on this card. Eighteen of the front-panel buttons are used to communicate with the computer. The SEND and RECEIVE buttons direct the computer to transfer waveforms. The 16 Program call buttons on the right side of the front panel are used to execute user-definable programs on the computer.

Memory

Several types of memory configurations were available: 1k, 2k, 3k or 4k semiconductor memory and also 4k non-volatile core memory. All configurations were available through the whole lifecycle of the P7001. The memory serves to store the acquired waveforms and their associated scale factors. It also stores the computer output for display. Depending on the configuration the following storing capabilities are available:

Configuration Waveforms Readout
Scale factors
Messages
1k with readout 1 1 3
1k no readout(*) 2 0 0
2k with readout 2 2 4
2k no readout(*) 4 0 0
3k 4 1 4
4k 4 4 12

* Removing the Readout-Interface card doubles the space for storing waveforms but eliminates the capability of displaying text information.

Readout Interface

There are two readout devices in the DPO. One is the readout board in the acquisition unit of the 7704A and the other is the readout interface card in the P7001. In the modes "PLUG-INS" or "STORE" all readout information displayed on the CRT come directly from the plugins. In "STORE" mode the readout interface digitizes these informations, converts them to ASCII-data and stores it in memory. In the modes "BOTH" or "MEMORY" the readout interface converts the ASCII data back to readout information and displays them on the CRT.

Display Generator

The Display Generator card generates the CRT display of either real-time computer output (XY mode) or data stored in the processors memory (XT mode). Any combination of the stored and acquired waveforms may be displayed simultaneously. Also, since the display generator operates independent of other devices, changing data may be viewed during a store operation. The Display Generator card has a set of jumpers which switch the CRT output between vector and dot display.

Sample & Hold

The functionality of the Sample & Hold card can be divided into 3 areas: Display switching, sampling and multiplexing. The display switching section determines which waveform (real time or stored) is sent to the CRT and is designed around two Tek-made analog multiplexer chips 155-0022-00. A fast four-diode sample and hold circuit is the heart of the sampling circuit. Regardless of sweep speed, the sample & Hold card takes a sample every 6.5us. At first the vertical axis is sampled, 95 nanoseconds later the horizontal axis and the blanking. In the last stage the sampled signals are time-multiplexed to provide one output to the A/D converter. The complete timing of the sample & hold circuits is controlled by the A/D Converter card.

A/D Converter

The A/D Converter uses a successive approximation technique to digitize the vertical and horizontal samples. The vertical resolution is 10 bits, the horizontal resolution 9 bits. It is worth mentioning that the vertical part of the signal is digitized in a range of 10 divisions. As a result, even signal components that are slightly above or below the screen edge are captured. A two bit memory location code (A, B, C or D) is added to the converted horizontal data. The result is the direct memory address at which the vertical data is stored to. For sweeps slower or equal to 500 μs/Div all 512 waveform points are digitized in one sweep. For faster sweep speeds the samples will be taken out-of-order with respect to their equivalent time in the waveform. In this case subsequent sweeps are needed complete the digitized data. The computer has direct access to the register of the A/D converter and may at any time read the last vertical sample. This makes it possible to create arrays with more than 512 elements.

Design Flaw of the A/D Converter

The dynamic range of the sampled waveform is greater than the converted output of the A/D converter. Any sampled point which is left to the crt viewing area will be added to memory location 0 and any point which is right to the crt viewing area will be added to memory location 511. The end points (0 and 511) of the acquired waveform data should be considered invalid for measurement purposes. ServiceTekNotes Issue 25, Sep 1982 describes the problem and shows a possible solution.

Hardware Signal Averager

For DPOs which are connected via the fast CP bus, it is no problem to transfer several data sets over the interface and then have the computer calculate the averaged waveform. But with the relatively slow interfaces like GPIB this procedure is impractical. The optional HSA card solves this problem by locally computing the averaged waveform of up to 4096 single waveforms. The HSA card also has the ability to calculate the histogram of a waveform. The histogram will be displayed horizontally at the lower third of the CRT.

External Interfaces

The external interface card provides a bilateral link between the P7001 and an external controller. The controller has full access to all programmable functions in the Processor, and the P7001, in turn, may interrupt the controller at any time. During the production time of the P7001, the following interfaces were gradually developed:

Description Part Number Manual
DPO to Data General Nova 021-0113-00 070-1776-00.pdf
DPO to APD (CP Bus) 021-0116-00 070-1654-00.pdf
DPO to CP1100 (CP Bus) 021-0117-00 070-1654-01.pdf
DPO to TEK31 calculator 021-0127-00 070-1777-00.pdf
DPO to CAMAC 021-0146-00
DPO to 4010 Family 021-0175-00 070-1936-00.pdf
DPO to GPIB 021-0206-00 070-2623-00.pdf

Power Supply

The power supply in the P7001 is a reduced version of the power supply in the 7704A. Both power supplies are connected together using a relay in a master-slave configuration.

Pictures

Internal

Keyboard overlay cards

External Interfaces (optional)

Sample and Hold Card

Core Memory (optional)

Semiconductor memory (optional)

ADC and Display

Hardware signal Averager (HSA)

Schematics

Configurations

Workflow with connected Controller

X/Y Mode for external Controller

Design Team
Notable Members of the Design Team were Hiro Moriyasu, Bruce Hamilton, Luis Navarro, Bob Shand and Jack Gilmore.

Development

Programming Examples

Various ways of data access

The following examples might help to understand the programming differences between 16 and 10 bit data access and high level information access. All three examples write the word "HELLO" to the Location D in Message Field 2 and instruct the Readout Interface to show this Message on the CRT. Descriptions of the Readout Interface Status Register and data format can be seen in the images above. There is also an overview of the P7001 Address Map.

Example A: 16 bit Memory or Register Access
While the data bus of the P7001 is 16 bit wide, most of the stored data is only 10 bit wide. And much more important: bit 0 of the needed data word is not always aligned to bit 0 of the data bus. A very good example of this design is the data format of the Readout Interface. Bit 0 of the readout information starts at bit 5 on the data bus. To get or write the readout information we have to shift and crop or expand the data bits.

The ASCII code for the character "H" is 72. Converted to 16 bit binary and shifted 5 times to the left: 0000100100000000 or in octal notation: 004400. Our destination message field starts at memory location 3456 (octal: 6600). We can do the same calculations for the other readout characters. At the end we have to instruct the Readout Interface to display the message. For displaying Location D of Messagefield 2 we have to set the bits 6 and 14 of the Readout Interface Register.
In binary notation: 0100000001000000
In octal notation: 040100
The register is located at memory address 7296 (octal: 16200)

The final program might look like:

	SEND ("ADR 3456", "OCT 004400") // 'H' -> ASCII 72 -> 0000100100000000 -> 004400
	SEND ("ADR 3457", "OCT 004240") // 'E' -> ASCII 69 -> 0000100010100000 -> 004240
	SEND ("ADR 3458", "OCT 004600") // 'L' -> ASCII 76 -> 0000100110000000 -> 004600
	SEND ("ADR 3459", "OCT 004600") // 'L' -> ASCII 76 -> 0000100110000000 -> 004600
	SEND ("ADR 3460", "OCT 004740") // 'O' -> ASCII 79 -> 0000100111100000 -> 004740
	SEND ("ADR 7296", "OCT 040100") // Show Messagefield 2 / Location D on CRT

Example B: 10 bit Memory Access
Most of the time we're dealing with 10 bit data information. To make life easier Tektronix implemented the "WRD" instruction set on the controller. This instruction set handles the data conversion between the ASCII data and the 16 bit universe of the P7001. The command also implements an auto-increment for the address data.

The new program looks like:
	SEND ("ADR 3456" , "WRD 72") //'H'
	SEND ("WRD 69") //E  -> the destination address is auto-incremented
	SEND ("WRD 76") //L
	SEND ("WRD 76") //L
	SEND ("WRD 79") //O
	SEND ("ADR 7296", "OCT 040100") // Show Messagefield 2 / Location D on CRT

Example C: High Level Instruction Set
Finally there is a high-level command implemented which sends the readout data in one line:

	SEND ("ADR 3456", "SCL HELLO ") // The last space is needed as terminator character.
	SEND ("ADR 7296", "OCT 040100") // Show Messagefield 2 / Location D on CRT

X/Y Mode

A description of the Display Generators Status Register and Data Format can be seen in the images above. 

The Display Generator Status Register is located at memory location 7168 (octal: 16000)
To enable the software-controlled X-Y Display and waveform "D" we have to set bit 13 and 6 in this register.
In binary notation: 0010000001000000
In octal notation: 020100

To display a shape we have to continuously move the beam around from point to point. The X/Y coordinates for the lower left point on the CRT is 7680/0 (octal: 17000/0) and for the upper right point 8191/1023 (octal: 17777/1777). We can also control the beam intensity of each movement between 0 (disabled) and 3 (full brightness). The Y-value and brightness level are encoded into the Display Generators Data Format and the result is sent to the desired X-Address of the Display Generator. 


The resulting program in pseudo-code:


	SEND ("ADR 7168", "OCT 020100")			//enable X-Y Mode for Waveform "D"

	SEND ("ADR 7834", "OCT 063100")			//blank the beam and move it invisible to the start point of drawing

	Start loop					//write a T-shaped curve continuously in a loop at full intensity
		SEND ("ADR 8069", "OCT 063130")
		SEND ("ADR 8069", "OCT 054030")
		SEND ("ADR 7981", "OCT 054030")
		SEND ("ADR 7981", "OCT 014670")
		SEND ("ADR 7918", "OCT 014670")
		SEND ("ADR 7918", "OCT 054030")
		SEND ("ADR 7834", "OCT 054030")
		SEND ("ADR 7834", "OCT 063130")
	End loop

	SEND ("ADR 7168", "OCT 000100")			//disable X-Y Mode for Waveform "D"


Catalogs & Advertising

Appearance in Tektronix Magazines

Firmware (uploaded BIN files)

Links