P7001: Difference between revisions

From TekWiki
Jump to navigation Jump to search
(Added a second programming example)
(Added 1978 advert for the HSA module)
 
(57 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Oscilloscope Sidebar|
{{Oscilloscope Sidebar
title=Tektronix P7001|
|manufacturer=Tektronix
image=P7001 front.jpg|
|series=7000-series scopes
caption=Tektronix P7001 front panel|
|model=P7001
introduced=1973 |
|image=P7001 front.jpg
discontinued=1981 |
|caption=Tektronix P7001 front panel
summary=Digitizer for the 7704A oscilloscope|
|introduced=1973
manuals=
|discontinued=1981
* [http://w140.com/p7001/DPO_Operators.pdf Tektronix P7001 Operators (PDF)]
|summary=Digitizer for the 7704A oscilloscope
* [http://w140.com/p7001/DPO_system_and_cal.pdf Tektronix P7001 Specs + Calibration (PDF)]
|designers=Hiro Moriyasu;Luis Navarro;Bruce Hamilton;Jack Gilmore;Bob Shand;Bruce Hamilton;Jack Robinson;Bill Lucas;Jack Grimes;Dennis Keldsen;Mohamed Saba;Dick Beatty;Wayne Eshelman;George Rhine;Bill Markwart;Marlow Butler;Carl Dalby;Colin Doward;Gale Byers
* [http://w140.com/p7001/MainInt.pdf Tektronix P7001 Main Interface (PDF)]
|manuals=
* [http://w140.com/p7001/Core_memory.pdf Tektronix P7001 Core Memory (PDF)]
* [[Media:070-1599-00.pdf                         | P7001 Operators Manual]]
* [http://w140.com/p7001/Semiconductor_memory.pdf Tektronix P7001 Semiconductor Memory (PDF)]
* [[Media:070-1600-00.pdf                         | P7001 Specs and Calibration]]
* [http://w140.com/p7001/Display_Gen.pdf Tektronix P7001 Display Generator (PDF)]
* [[Media:070-1604-00.pdf                         | P7001 Main Interface]]
* [http://w140.com/p7001/Readout.pdf Tektronix P7001 Readout Interface (PDF)]
* [[Media:070-1605-00.pdf                         | P7001 Core Memory]]
* [http://w140.com/p7001/Front_and_Z_axis.pdf Tektronix P7001 Front Panel / Z Axis (PDF)]
* [[Media:070-1606-00.pdf                         | P7001 Semiconductor Memory]]
* [[Media:070-1612-00.pdf|Tektronix P7001 Checkout Software Manual(PDF)]]  
* [[Media:070-1608-00.pdf                         | P7001 Display Generator]]
* [http://w140.com/p7001/CP_bus.pdf Tektronix P7001 CP Bus Interface (PDF)]
* [[Media:070-1609-00.pdf                         | P7001 Readout Interface]]
* [[Media:Tek p7001 670-2379-00 interim manual.pdf|Tektronix P7001 ADC Interim Manual (PDF)]]  
* [[Media:070-1610-00.pdf                         | P7001 Front Panel / Z Axis]]
* [http://w140.com/p7001/ADC.pdf Tektronix P7001 A-D Converter (PDF)]
* [[Media:070-1612-00.pdf                         | P7001 Checkout Software Manual]]
* [http://w140.com/p7001/Sample_and_Hold.pdf Tektronix P7001 Sample Hold (PDF)]
* [[Media:070-1654-01.pdf                         | P7001 CP Bus Interface 021-0116-00 & up]]
* [http://w140.com/p7001/Processor.pdf Tektronix P7001 Processor (PDF)]
* [[Media:Tek p7001 670-2379-00 interim manual.pdf | P7001 A/D Converter Interim Manual]]
* [http://w140.com/p7001/Power_Supply.pdf Tektronix P7001 Power Supply (PDF)]
* [[Media:070-1809-00.pdf                         | P7001 A/D Converter]]
* [http://w140.com/tek_p7001_gpib_service_070_2623_00_sm.pdf Tektronix P7001 IEEE 488 Interface (GPIB) (PDF)]
* [[Media:070-1810-00.pdf                         | P7001 Sample/Hold]]
* [[Media:070-2623-00.pdf|Tektronix P7001 IEEE 488 Interface Manual, 1986 Revision (OCR, PDF)]]  
* [[Media:070-1882-00.pdf                         | P7001 Processor]]
* [[Media:061-1344-00.pdf|needed: Hardware Signal Averager (HSA) Manual 061-1344-00]]  
* [[Media:070-1890-00.pdf                         | P7001 Power Supply]]
* [[Media:070-2846-00.pdf|needed: Hardware Signal Averager (HSA) Manual 070-2846-00]]
* [[Media:070-2623-00 1978.pdf                     | P7001 IEEE 488 (GPIB) Interface]] (1978)
[[Category:Manual needed]]
* [[Media:070-2623-00.pdf                         | P7001 IEEE 488 (GPIB) Interface]] (1986, OCR)
* [[Media:P7001 Calculator Aided Measurements.pdf  | P7001 / 31 Calculator Aided Measurements]]
* [[Media:070-1971-00.pdf|DPO Interface Concepts using the DPO/CP Bus Interface]]
''Missing, please upload:''
* [[Media:061-1344-00.pdf | Hardware Signal Averager (HSA) Manual 061-1344-00]]  
* [[Media:070-2846-00.pdf | Hardware Signal Averager (HSA) Manual 070-2846-00]]
 
 
 
{{ROM Images}}
'''[[021-0206-00]] GPIB Interface:'''
 
* U215: [[Media:160-0174-00.bin|160-0174-00]]
* U214: [[Media:160-0175-00.bin|160-0175-00]]
* U213: [[Media:160-0176-00.bin|160-0176-00]]
* U212: [[Media:160-0177-00.bin|160-0177-00]]
* U115: [[Media:160-0178-00.bin|160-0178-00]]
* U114: [[Media:160-0179-00.bin|160-0179-00]]
* U113: [[Media:160-0180-00.bin|160-0180-00]]
}}
}}
 
The '''Tektronix P7001''' is a digitizer, processor, and memory for the [[7704A]] oscilloscope. The P7001 can also be connected to an [[SPS|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 '''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 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 horizonal plug-ins control the beam as they would in any 7000-series scope.   
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  
The P7001 periodically samples the horizontal and vertical signals simultaneously as they pass from the plug-ins to the vertical and horizontal amplifiers.   
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.   
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.
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.


{{BeginSpecs}}
{{BeginSpecs}}
{{Spec | Bandwith | 175 MHz }}
{{Spec | Bandwidth              | 175 MHz }}
{{Spec | Resolution | 10 bit (V), 9 bit (H) }}
{{Spec | Resolution             | 10 bit (V), 9 bit (H) }}
{{Spec | Memory | four waveforms, 512 samples each (4K × 10 bit core, or multiple 1k × 10 bit or 2k × 10 bit RAM boards) }}
{{Spec | Memory                 | four waveforms, 512 samples each (4K × 10 bit core, or multiple 1k × 10 bit or 2k × 10 bit RAM boards) <br />plus 12 messages with 80 characters}}
{{Spec | Sampling rate | 150 kHz ±30 kHz }}
{{Spec | Sampling rate           | 150 kHz ±30 kHz }}
{{Spec | Single shot performance | 500 μs/Div }}
{{Spec | Single-shot performance | 500 μs/Div }}
{{Spec | External interface | 16 bit parallel, proprietary "[[CP bus]]" (dual 37-pin [[Sub-D connector]]s) interfacing with Tektronix CP-1100 or CP-4100 series controllers }}
{{Spec | External interface     | 16 bit parallel, proprietary "[[CP bus]]" (dual 37-pin [[Sub-D connector]]s) interfacing with Tektronix CP-1100 or CP-4100 series controllers; other interfaces available }}
{{Spec | Power                  | 115 V, 60 Hz; 7704A: 180 W, P7001: 120 W }}
{{Spec | Dimensions              | 12" (30.6 cm) W × 18.9" (47.5 cm) H × 22.7" (57.7 cm) D }}
{{Spec | Weight                  | 48 lbs (21.8 kg) without plugins }}
{{Spec | Temperature Range      | 0°C to +50°C operating }}
{{EndSpecs}}
{{EndSpecs}}
==Links==
* [https://vintagetek.org/p7001/ P7001 history] @ VintageTek.org
* [https://vintagetek.org/wp-content/uploads/2018/11/IEEENAB1973_TW_03231973.pdf Article about IEEE Intercon 1973] @ VintageTek.org
* [https://groups.io/g/TekScopes/topic/7654269 Thread on P7001 and interfaces]
* [https://aei.pitt.edu/83031/1/1974.11.pdf CAMAC bulletin, Nov 1974] with a description of the [[CAMAC]] interface for Tektronix digitizers
* [[Patent US 4225940A|United States Patent 4225940A Oscilloscope system for acquiring, processing, and displaying information]]
* [[Patent US 3824382A|United States Patent 3824382A Vector Generator]]
* [[WP1000]]
{{Documents|Link=P7001}}


==Internals==
==Internals==
Line 56: Line 86:
The P7001 has its own power supply built into it, independent of the power supply in the acquisition unit of the 7704A.   
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  
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.
Acquisition-Processor-Display (APD) Interface.


===Asynchronus Bus===
===Asynchronus Bus===
<gallery>
<gallery>
Tek_P7001_Buspriority.jpg
Tek_P7001_Buspriority.jpg|Interrupt priority om the internal bus.
</gallery>
</gallery>
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 connector]]s. 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.  
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. High speed signals are sent through coaxial cables that connect to the cards using [[Peltola connector]]s. 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. Most of the card-specific signals are routed over [[Harmonica connector|Harmonica connectors]]. This enables the possibility to be able to swap around cards or to change the order of signal processing. This was done, for example, to give the HSA card access to the lights in the front panel.


===Front Panel & Z-Axis boards===
===Front Panel & Z-Axis boards===
<gallery>
<gallery>
P7001 front.jpg
P7001 front.jpg|Front view of the p7001
P7001 frontpanel back.jpg
P7001 frontpanel back.jpg|Rear side of the front panel
P7001 z-axis front panel.jpg
P7001 z-axis front panel.jpg|Z Axis & Front panel board - with [[WP1000AF|Mod 515]]
</gallery>
</gallery>
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.
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.
Line 75: Line 104:
===Memory===
===Memory===
<gallery>
<gallery>
Tek_P7001_CoreMem_DataRegister.jpg
Tek_P7001_CoreMem_DataRegister.jpg|Core Memory - Data Register board
Tek_P7001_CoreMem_controller.jpg
Tek_P7001_CoreMem_controller.jpg|Core Memory - Controller board
P7001 CORE DETAIL01.JPG
P7001 CORE DETAIL01.JPG|High-Res picture of the magnetic-memory cores
P7001 2k memory.jpg
P7001 2k memory.jpg|Semiconductor memory, 2k variant
</gallery>
</gallery>
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 capabilites are available:
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:


{| class="wikitable"
{| class="wikitable"
Line 124: Line 153:
===Readout Interface===
===Readout Interface===
<gallery>
<gallery>
P7001 readout interface.jpg
P7001 readout interface.jpg|Readout Interface card
</gallery>
</gallery>
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 information, 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.
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===
===Display Generator===
<gallery>
<gallery>
P7001 display generator.jpg
P7001 display generator.jpg|Display Generator card
</gallery>
</gallery>
The Display Generator card generates the CRT display of either real-time computer output (XY mode) or data stored in the processsors 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.
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===
===Sample & Hold===
Line 139: Line 168:
===A/D Converter===
===A/D Converter===
<gallery>
<gallery>
P7001 adc.jpg
P7001 adc.jpg|AD-Converter card, front view
P7001 adc rear.jpg
P7001 adc rear.jpg|AD-Converter card, rear view
P7001 adc probe points.jpg
P7001 adc probe points.jpg|AD-Converter card, probe points details
</gallery>
</gallery>
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 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.
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.


===Hardware Signal Averager===
===Hardware Signal Averager===
<gallery>
<gallery>
P7001 HSA timing.jpg
P7001 HSA timing.jpg|Timing board of the HSA module
P7001 HSA memory.jpg
P7001 HSA memory.jpg|Memory board of the HSA module
Tek_p7001_hsa_lights.jpg|Front Panel Lights #13 & #14 are controlled by the HSA module
Electronics_1978_03_26_pag24_25.jpg|Advert from Electronics magazine with reference to the HSA module
</gallery>
</gallery>
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.  
 
 
The HSA card was introduced as an additional option to the GPIB interface in 1978. 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 waveforms. But with the relatively slow GPIB Interface 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. The lights of the PROGRAMM CALL buttons #13,#14 and #16 are normally connected to the external interface card of the P7001. During the installation procedure of the card, the backplane is reconfigured to allow the HSA card to control the lights #13 and #14. The HSA card comes with its own semiconductor Memory. This can lead to a configuration where a P7001 is equipped with both magnetic-core and semiconductor memory at the same time.


===External Interfaces===
===External Interfaces===
<gallery>
<gallery>
P7001 dpo controller board.jpg
P7001 dpo controller board.jpg|CP bus interface card
P7001 GPIB adaper left dismounted.jpg
P7001 GPIB adaper left dismounted.jpg|RAM portion & bus logic of the GPIB Interface
P7001 GPIB adaper right dismounted.jpg
P7001 GPIB adaper right dismounted.jpg|CPU portion of the GPIB Interface
</gallery>
</gallery>
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:
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:
Line 167: Line 200:
|-
|-
| DPO to Data General Nova
| DPO to Data General Nova
| 021-0113-00
| [[021-0113-00]]
| [[Media:070-1776-00.pdf|070-1776-00.pdf]]
| [[Media:070-1776-00.pdf|070-1776-00]]
|-
|-
| DPO to APD (CP Bus)
| DPO to APD ([[CP Bus]])
| 021-0116-00
| [[021-0116-00]]
| [[Media:070-1654-00.pdf|070-1654-00.pdf]]
| [[Media:070-1654-00.pdf|070-1654-00]]
|-
|-
| DPO to CP1100 (CP Bus)
| DPO to CP1100 ([[CP Bus]])
| 021-0117-00
| [[021-0117-00]]
| [http://w140.com/p7001/CP_bus.pdf 070-1654-01.pdf]
| [[Media:070-1654-01.pdf|070-1654-01]]
|-
|-
| DPO to TEK31 calculator
| DPO to [[31|TEK31]] calculator
| 021-0127-00
| [[021-0127-00]]
| [[Media:070-1777-00.pdf|070-1777-00.pdf]]
| [[Media:070-1777-00.pdf|070-1777-00]]
|-
|-
| DPO to CAMAC
| DPO to [[CAMAC]]
| 021-0146-00
| [[021-0146-00]]
|  
| ?
|-
|-
| DPO to 4010 Family
| DPO to [[4010|4010 Family]]
| 021-0175-00
| [[021-0175-00]]
| [[Media:070-1936-00.pdf|070-1936-00.pdf]]
| [[Media:070-1936-00.pdf|070-1936-00]]
|-
|-
| DPO to GPIB
| DPO to [[GPIB_interface|GPIB]]
| 021-0206-00
| [[021-0206-00]]
| [[Media:070-2623-00.pdf|070-2623-00.pdf]]  
| [[Media:070-2623-00.pdf|070-2623-00]]  
|}
|}


===Power Supply===
===Power Supply===
<gallery>
<gallery>
P7001 ps.jpg
P7001 ps.jpg|Power supply
</gallery>
</gallery>
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.
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.
Line 205: Line 238:
P7001 front.jpg|Front panel
P7001 front.jpg|Front panel
Tek 7704a p7001 vt.jpg|P7001 in [[7704A|7704A]]
Tek 7704a p7001 vt.jpg|P7001 in [[7704A|7704A]]
Tek 7704a p7001 2.jpg|P7001 in 7704A
Tek_P7001_B010101.JPG|First P7001 (B010101) running the pulse parameter analysis program
Tek 7704a p7001 nasa.jpg
Tek 7704a p7001 2.jpg|P7001 in 7704A. The Mainframe contains [[WP1000AF|Mod 515C]]
Tek 7704a p7001 nasa.jpg|P7001
Tek_p7001_purple.jpg|P7001 with purple decals
</gallery>
</gallery>
'''Internal'''
'''Internal'''
Line 229: Line 264:
P7001_program_overlay_cards.jpg|Two examples of original overlay cards
P7001_program_overlay_cards.jpg|Two examples of original overlay cards
P7001_program_overlay_card.jpg|Example of aftermarket overlay cards
P7001_program_overlay_card.jpg|Example of aftermarket overlay cards
Tek_P7001_ovlcard_all.jpg|All variants of the keyboard overlay cards
Tek_334-1918-00.jpg|[[334-1918-00]] - Blue variant of the overlay card
Tek_334-1918-01.jpg|[[334-1918-01]] - Yellow variant of the overlay card
Tek_334-1918-02.jpg|[[334-1918-02]] - Orange variant of the overlay card
Tek_334-1918-03.jpg|[[334-1918-03]] - Grey variant of the overlay card
Tek_P7001_ovl01.jpg|Example of aftermarket overlay cards
Tek_P7001_ovl02.jpg|Example of aftermarket overlay cards
Tek_P7001_ovl03.jpg|Example of aftermarket overlay cards
Tek_P7001_ovl04.jpg|Example of aftermarket overlay cards
</gallery>
</gallery>
'''External Interfaces (optional)'''
'''External Interfaces (optional)'''
<gallery>
<gallery>
P7001 dpo controller.jpg|CPBus interface mounted
P7001 dpo controller.jpg|[[CP Bus]] interface mounted
P7001 dpo controller board.jpg|CP Bus Interface front
P7001 dpo controller board.jpg|[[CP Bus]] Interface front
P7001 dpo controller back.jpg|CP Bus Interface rear
P7001 dpo controller back.jpg|[[CP Bus]] Interface rear
P7001 GPIB adaper left dismounted.jpg|GPIB Interface IO board
P7001_dpo_controller_connector.jpg|[[CP Bus]] Connector view
P7001 GPIB adaper left mounted.jpg|GPIB Interface IO board with shielding
P7001 GPIB adaper left dismounted.jpg|[[GPIB]] Interface IO board
P7001 GPIB adaper right dismounted.jpg|GPIB Interface CPU board
P7001 GPIB adaper left mounted.jpg|[[GPIB]] Interface IO board with shielding
P7001_GPIB_clone_Front.jpg|Modern clone of the P7001 GPIB interface
P7001 GPIB adaper right dismounted.jpg|[[GPIB]] Interface CPU board
P7001_GPIB_clone_Rear.jpg|Modern clone of the P7001 GPIB interface
P7001_GPIB_adaper_rearview.jpg|Rear view of the P7001 [[GPIB]] interface
P7001_GPIB_clone_Front.jpg|Modern clone of the P7001 [[GPIB]] interface
P7001_GPIB_clone_Rear.jpg|Modern clone of the P7001 [[GPIB]] interface
Tek_P7001_31_Interface.jpg|Interface to [[31|Tek31]] calculator
Tek_P7001_Camac_01.jpg|[[CAMAC]] Interface for P7001 and [[R7912]]
Tek_P7001_Camac_02.jpg|[[CAMAC]] Interface for P7001 and [[R7912]]
</gallery>
</gallery>
'''Sample and Hold Card'''
'''Sample and Hold Card'''
Line 260: Line 309:
Core20.jpg|Core closeup
Core20.jpg|Core closeup
Core17.jpg|Core closeup
Core17.jpg|Core closeup
P7001 CORE DETAIL01.JPG|High Resolution view of partial core module. For comparison: One core has a dimension of 20mil (0.02" / ~0.5mm)
P7001 CORE DETAIL01.JPG|High Resolution view of partial core module. One core has a diameter of 20 mil (0.02" or ~0.5 mm).
</gallery>
</gallery>
'''Semiconductor memory (optional)'''
'''Semiconductor memory (optional)'''
<gallery>
<gallery>
P7001 2k memory.jpg|2K semiconductor memory (aka "MOS")
Image needed.jpg|1K semiconductor memory [[670-2981-00]]
P7001 2k memory.jpg|2K semiconductor memory (aka "MOS") [[670-3035-00]]
</gallery>
</gallery>
'''ADC and Display'''
'''ADC and Display'''
Line 292: Line 342:
P7001 apd interconnect.jpg|APD Interconnect  
P7001 apd interconnect.jpg|APD Interconnect  
</gallery>
</gallery>
'''Cofigurations'''
'''Configurations'''
<gallery>
<gallery>
Tek_WP1100_1974.jpg|Example of Calculator based system (WP1100) in 1974
Tek_WP1100_1974.jpg|Example of Calculator based system ([[SPS|DPO3100]], later [[SPS|WP1100]]) in 1974
Tek_WP1100_1978.jpg|Example of Calculator based system (WP1100) in 1978
Tek_WP1100_1978.jpg|Example of Calculator based system ([[SPS|WP1100]]) in 1978
Tek_WP1200_1973.jpg|Example of Controller based system (WP1200) in 1973
Tek_WP1110_01.jpg|[[SPS|WP1110]] System
Tek_WP1200_1975.jpg|Example of Controller based system (WP1200) in 1975
Tek_WP1200_1973.jpg|Example of Controller based system ([[SPS|WP1200]]) in 1973
Tek_WP1200_1975.jpg|Example of Controller based system ([[SPS|WP1200]]) in 1975
</gallery>
</gallery>
'''Workflow with connected Controller'''
'''Workflow with connected Controller'''
<gallery>
<gallery>
Tek_P7001_workflow00.jpg|With pressing a program-call button on the P7001...
Tek_P7001_workflow00.jpg|With pressing a program-call button on the P7001...
Tek_P7001_workflow01.jpg|.. the displayed signal is digitized...
Tek_P7001_workflow01.jpg|... the displayed signal is digitized...
Tek_P7001_workflow02.png|...and transferred to the Controller...
Tek_P7001_workflow02.png|...and transferred to the Controller...
Tek_P7001_workflow03.png|...the Controller does some calculations...
Tek_P7001_workflow03.png|...the Controller does some calculations...
Line 310: Line 361:
<gallery>
<gallery>
Tek_P7001_Controller_XY_Mode.jpg|A connected computer has direct access to the Display Generator. This allows software-controlled live movements of the Beam.  
Tek_P7001_Controller_XY_Mode.jpg|A connected computer has direct access to the Display Generator. This allows software-controlled live movements of the Beam.  
Tek_P7001_Controller_XY_Mode2.jpg|Another example of software controlled X/Y mode. 124900 vectors are drawn within 1 second.
</gallery>
</gallery>


'''Design Team'''
'''Design Team'''
<br />Notable Members of the Design Team were [[Hiro Moriyasu]], [[Bruce Hamilton]], [[Luis Navarro]], [[Bob Shand]] and [[Jack Gilmore]].
[[File:Tek_P7001_Designteam.jpg|thumb|650px|right|Key design Team of the P7001 ''(click to enlarge)'']]
* Program Manager Computer Aided Measurement Group: [[Hiro Moriyasu]]
* Hardware and Analog Circuits Project Leader: [[Luis Navarro]]
* Logic Design Project Leader: [[Jack Gilmore]]
* Software Project Leader: [[Bruce Hamilton]]
* Mechanical Design Leader: [[Bob Shand]]
* Sample and Hold: [[Jack Robinson]], [[Bill Lucas]]
* A/D Converter: [[Jack Grimes]], [[Dennis Keldsen]], [[Mohamed Saba]]
* Memory: [[Dick Beatty]]
* Vector Generator: [[Wayne Eshelman]]
* Interface I/O: [[George Rhine]]
* Readout Interface: [[Bill Markwart]]
* Mechanical Design: [[Marlow Butler]], [[Carl Dalby]], [[Colin Doward]]
* Manufacturing Responsibility: [[Gale Byers]]


'''Development'''
<gallery>
<gallery>
Tek_P7001_Designteam.jpg|Key design Team of the P7001
Tek_P7001_service01.jpg|Image of P7001 during development or service. The GPIB Interface card is mounted to the front (Spare Slots J3+J4). Please note the quick fasteners of the front panel
</gallery>
</gallery>


==Programming Examples==
'''Scope-Mobile Carts'''


===X/Y Mode===
At least 3 different Scope-Mobile Carts were designed in order to be able to move the DPO with the attached minicomputer around. The [[202|202D]] and the 202R were introduced together with the P7001 in 1973 and the [[Model 7|Model 7 Rack Cart]] was officially released in 1977.
<gallery>
<gallery>
Tek_P7001_DisplayGenRegister.jpg
Tek_scopecart_202d.jpg|Scopecart [[202|202D]] with DPO and a DEC PDP-11/05 minicomputer
Tek_P7001_DisplayGenDataFormat.jpg
Tek_scopecart_202d_dim.jpg|Dimensions of Scopecart 202D
Tek_P7001_Controller_XY_Mode.jpg
TEK_202R_front.jpg|Scopecart 202R front side
TEK_202R_rear.jpg|Scopecart 202R back side
Tek_scopecart_model7.jpg|[[Model 7|Rack Cart Model 7]] with DPO and [[CP4165|DEC minicomputer]]
Tek_scopecart_model7_dim.jpg|Dimensions of Rack Cart Model 7
Tektronix_Model7_Cart.pdf|Introduction of Model 7 Rack Cart
</gallery>
</gallery>
<nowiki>
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)
'''Options'''
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
Not all options were available through the whole lifecycle of the DPO. As an Example: 4k Core Memory was the default configuration in early production years and became an option in later years. Other options like the CP bus Interface got an update and a new part number.
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 Formar and the
result is sent to the desired X-Adress of the Display Generator.  


{| class="wikitable sortable"
! style="text-align: left" | Option
!class="unsortable" | Description
!class="unsortable" | Kit- or Partnumber
!class="unsortable" | Price in 1981
|-
| 3
| Electromagnetic Interference (EMI) Shielding
| 040-0671-00
| +$185
|-
| 9
| Change line voltage to 230V/50Hz
| -
| No Charge
|-
| 18
| Change to 1k Semiconductor Memory
| 670-2981-00
| -$1045
|-
| 19
| Change to 2k Semiconductor Memory
| 670-3035-00
| -$760
|-
| 20
| Change to 4k Core Memory
| 672-0057-00
| +$315
|-
| 31
| Add IEEE 488 Bus Interface
| [[021-0206-00]]
| +$2000
|-
| 32
| Add CP Bus Interface
| [[021-0116-00]],<br />021-0116-01,<br />021-0116-02 or<br />021-0116-03
| +$475
|-
| ?
| Add Hardware Signal Average (HSA) Module
| 644-0092-00 or<br />672-0725-00
|
|-
|}


The resulting program in pseudo-code:
==Programming Examples==
 
 
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 startpoint 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"
</nowiki>


===Various ways of data access===
===Various ways of data access===
Line 369: Line 458:
Tek_P7001_Addressmap.jpg
Tek_P7001_Addressmap.jpg
</gallery>
</gallery>
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 dataformat can be seen in the images above. There is also an overview of the P7001 Address Map.


<nowiki>
The following examples might help to understand the programming differences between 16- and 10-bit data access and high level information access.
Example A: 16 bit Memory or Register 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.
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.
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. More importantly, 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:
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 Message field 2, we have to set the bits 6 and 14 of the Readout Interface Register.
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 binary notation: 0100000001000000
In octal notation: 040100
In octal notation: 040100
Line 383: Line 472:


The final program might look like:
The final program might look like:
 
<nowiki>
SEND ("ADR 3456", "OCT 004400") // 'H' -> ASCII 72 -> 0000100100000000 -> 004400
SEND ("ADR 3456", "OCT 004400") // 'H' -> ASCII 72 -> 0000100100000000 -> 004400
SEND ("ADR 3457", "OCT 004240") // 'E' -> ASCII 69 -> 0000100010100000 -> 004240
SEND ("ADR 3457", "OCT 004240") // 'E' -> ASCII 69 -> 0000100010100000 -> 004240
Line 389: Line 478:
SEND ("ADR 3459", "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 3460", "OCT 004740") // 'O' -> ASCII 79 -> 0000100111100000 -> 004740
SEND ("ADR 7296", "OCT 040100") // Show Messagefield 2 / Location D on CRT
SEND ("ADR 7296", "OCT 040100") // Show Message field 2 / Location D on CRT
</nowiki>
</nowiki>
<nowiki>
''Example B: 10 bit Memory Access''
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.
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:
The new program looks like:
<nowiki>
SEND ("ADR 3456" , "WRD 72") //'H'
SEND ("ADR 3456" , "WRD 72") //'H'
SEND ("WRD 69") //E  -> the destination adress is auto-incremented
SEND ("WRD 69") //E  -> the destination address is auto-incremented
SEND ("WRD 76") //L
SEND ("WRD 76") //L
SEND ("WRD 76") //L
SEND ("WRD 76") //L
Line 405: Line 494:
</nowiki>
</nowiki>


''Example C: High Level Instruction Set''
Finally, there is a high-level command implemented which sends the readout data in one line:
<nowiki>
SEND ("ADR 3456", "SCL HELLO ") // The last space is needed as terminator character.
SEND ("ADR 7296", "OCT 040100") // Show Message field 2 / Location D on CRT
</nowiki>
===X/Y Mode===
<gallery>
Tek_P7001_DisplayGenRegister.jpg
Tek_P7001_DisplayGenDataFormat.jpg
Tek_P7001_Controller_XY_Mode.jpg
</gallery>
A description of the Display Generator 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:
  <nowiki>
  <nowiki>
Example C: High Level Intruction Set
SEND ("ADR 7168", "OCT 020100") //enable X-Y Mode for Waveform "D"
Finally there is a high-level command implemented which sends the readout data in one line:
 
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 3456", "SCL HELLO ")
SEND ("ADR 7168", "OCT 000100") //disable X-Y Mode for Waveform "D"
SEND ("ADR 7296", "OCT 040100") // Show Messagefield 2 / Location D on CRT
</nowiki>
</nowiki>


==Bugs & Errors==
===Design Flaw of the A/D Converter===
<gallery>
Tek_P7001_ADC_designflaw01.jpg
Tek_P7001_ADC_bug.jpeg|Example of invalid start & end points
</gallery>
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.
[[Media:ServiceTekNotes 25 Sep 1982.pdf|ServiceTekNotes Issue 25, Sep 1982]] describes the problem and shows a possible solution.
===Firmware Bug in GPIB interface===
Affected Firmware versions: all


Due to an error in the firmware, pin 9 of U123 is always configured as an output pin. This pin is directly connected to an output of the line driver IC U321.
To prevent damage to the PIA chip, it is recommended to remove the line driver U321. Since U321 is only needed for internal testing, it can be removed without any problems.


==Catalogs & Advertising==
==Catalogs & Advertising==
* [[Media:Tek_P7001_Catalog_1973.pdf|P7001 Spec 1973]]
<gallery>
* [[Media:Tek_P7001_Catalog_1974.pdf|P7001 Spec 1974]]
Tek_P7001_Catalog_1973.pdf|P7001 Spec 1973
* [[Media:Tek_P7001_Catalog_1975.pdf|P7001 Spec 1975]]
Tek_P7001_Catalog_1974.pdf|P7001 Spec 1974
* [[Media:Tek_P7001_Catalog_1976.pdf|P7001 Spec 1976]]
Tek_P7001_Catalog_1975.pdf|P7001 Spec 1975
* [[Media:Tektronix_P7001_Catalog_1977.pdf|P7001 Spec 1977]]
Tek_P7001_Catalog_1976.pdf|P7001 Spec 1976
* [[Media:Tek_P7001_Catalog_1978.pdf|P7001 Spec 1978]]
Tektronix_P7001_Catalog_1977.pdf|P7001 Spec 1977
* [[Media:Tek_P7001_Catalog_1979.pdf|P7001 Spec 1979]]
Tek_P7001_Catalog_1978.pdf|P7001 Spec 1978
* [[Media:Tek_P7001_Catalog_1980.pdf|P7001 Spec 1980]]
Tek_P7001_Catalog_1979.pdf|P7001 Spec 1979
* [[Media:Tek_P7001_Catalog_1981.pdf|P7001 Spec 1981]]
Tek_P7001_Catalog_1980.pdf|P7001 Spec 1980
* [[Media:Tek_P7001_MPI_1986.pdf|Partial Master Publication Index with all DPO related pages]]
Tek_P7001_Catalog_1981.pdf|P7001 Spec 1981
* [[Media:Tek_P7001-1973-Advertising.pdf|Typical DPO advertising in 1973]]
Tek_P7001_MPI_1986.pdf|Partial Master Publication Index with all DPO related pages
* [[Media:Tek_P7001_advertising_1977.pdf|Typical DPO advertising in 1977]]
Tek_P7001-1973-Advertising.pdf|Typical DPO advertising in 1973
Tek_P7001_31_just_married.jpg|DPO+[[31]] Just Married advertising from 1973
Tek_P7001_Electronics_1973_08_16.pdf| PDO advertising in 'Electronics' magazine july 1973
Tek_P7001_advertising_1977.pdf|Typical DPO advertising in 1977
Tek_P7001_Electronics_1978_03_16_GPIB.jpg|1978 advert about the new options GPIB interface and hardware signal averager
</gallery>


===Firmware (uploaded BIN files) ===
===Introduction March 1973===
* [[File:P7001 U113 2708.BIN]]
<gallery>
* [[File:P7001 U114 2708.BIN]]
BillW_HiroM_DPO.jpg|[[Bill Walker]] and [[Hiro Moriyasu]] with the P7001 at the IEEE Intercon 1973 in New York
* [[File:P7001 U115 2708.BIN]]
IEEENAB1973_TW_03231973.pdf | Tekweek about new products at the 1973 IEEE Intercon in New York
* [[File:P7001 U212 2708.BIN]]
Electronics_1973-03-15.pdf | Electronis Magazine about the new DPO in 1973. Article written by [[Hiro Moriyasu]], [[Bruce Hamilton]], [[Luis Navarro]] and [[Wayne Eshelman]]
* [[File:P7001 U213 2708.BIN]]
</gallery>
* [[File:P7001 U214 2708.BIN]]
* [[File:P7001 U215 2708.BIN]]


==Links==
===Name change===
* [https://groups.io/g/TekScopes/topic/7654269 Thread on P7001 and interfaces]
Early units are named "Tektronix P7001 Processor" - later units (probably starting with B1XXXXX) are named "Tektronix P7001 Digitizer".
* [https://vintagetek.org/wp-content/uploads/2018/11/IEEENAB1973_TW_03231973.pdf (PDF) Article on vintagetek.org about the IEEE Intercon 1973]
<gallery>
* [https://aei.pitt.edu/83031/1/1974.11.pdf CAMAC bulletin Nov 1974 with description of the camac interface for Tektronix digitizers]
Tek_p7001_processor.jpg|Older name
Tek_p7001_digitizer.jpg|Newer name
</gallery>
 
===Field of Application===
<gallery>
RCA_Engineer_1979-08-09.pdf|Usage of the P7001 & [[7J20]] at RCA
RCA_Engineer_1980-04-05-06.pdf|Competitive Product Analysis with the P7001 at RCA
</gallery>
 
===Appearance in Tektronix Magazines===
* [[Media:ServiceTekNotes 25 Sep 1982.pdf|ServiceTekNotes Issue 25, Sep 1982 about the A/D converters design flaw]]
* [[Media:Tekscope 1973 V5 N2 Mar 1973.pdf  | TekScope Vol. 5 No. 2, Mar-Apr 1973 about the introduction of the P7001]]
 
==Components==
{{Parts|P7001}}


[[Category:7000 series scopes]]
[[Category:7000 series scopes]]
[[Category:7000 series non-storage mainframes]]
[[Category:Digital storage scopes]]
[[Category:Digital storage scopes]]
[[Category:GPIB interface]]
[[Category:GPIB interface]]
[[Category:Image needed]]

Latest revision as of 01:37, 7 July 2024

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)
plus 12 messages with 80 characters
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; other interfaces available
Power 115 V, 60 Hz; 7704A: 180 W, P7001: 120 W
Dimensions 12" (30.6 cm) W × 18.9" (47.5 cm) H × 22.7" (57.7 cm) D
Weight 48 lbs (21.8 kg) without plugins
Temperature Range 0°C to +50°C operating

Links

Documents Referencing P7001

Document Class Title Authors Year Links
7000 series brochure March 1973.pdf Brochure 7000 series brochure, March 1973 1973
Tekscope 1973 V5 N2 Mar 1973.pdf Article The Oscilloscope with Computing Power Hiro Moriyasu Luis Navarro Jack Gilmore Bruce Hamilton 1973

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. 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. Most of the card-specific signals are routed over Harmonica connectors. This enables the possibility to be able to swap around cards or to change the order of signal processing. This was done, for example, to give the HSA card access to the lights in the front panel.

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.

Hardware Signal Averager


The HSA card was introduced as an additional option to the GPIB interface in 1978. 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 waveforms. But with the relatively slow GPIB Interface 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. The lights of the PROGRAMM CALL buttons #13,#14 and #16 are normally connected to the external interface card of the P7001. During the installation procedure of the card, the backplane is reconfigured to allow the HSA card to control the lights #13 and #14. The HSA card comes with its own semiconductor Memory. This can lead to a configuration where a P7001 is equipped with both magnetic-core and semiconductor memory at the same time.

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
DPO to APD (CP Bus) 021-0116-00 070-1654-00
DPO to CP1100 (CP Bus) 021-0117-00 070-1654-01
DPO to TEK31 calculator 021-0127-00 070-1777-00
DPO to CAMAC 021-0146-00 ?
DPO to 4010 Family 021-0175-00 070-1936-00
DPO to GPIB 021-0206-00 070-2623-00

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

Key design Team of the P7001 (click to enlarge)

Development

Scope-Mobile Carts

At least 3 different Scope-Mobile Carts were designed in order to be able to move the DPO with the attached minicomputer around. The 202D and the 202R were introduced together with the P7001 in 1973 and the Model 7 Rack Cart was officially released in 1977.

Options

Not all options were available through the whole lifecycle of the DPO. As an Example: 4k Core Memory was the default configuration in early production years and became an option in later years. Other options like the CP bus Interface got an update and a new part number.

Option Description Kit- or Partnumber Price in 1981
3 Electromagnetic Interference (EMI) Shielding 040-0671-00 +$185
9 Change line voltage to 230V/50Hz - No Charge
18 Change to 1k Semiconductor Memory 670-2981-00 -$1045
19 Change to 2k Semiconductor Memory 670-3035-00 -$760
20 Change to 4k Core Memory 672-0057-00 +$315
31 Add IEEE 488 Bus Interface 021-0206-00 +$2000
32 Add CP Bus Interface 021-0116-00,
021-0116-01,
021-0116-02 or
021-0116-03
+$475
? Add Hardware Signal Average (HSA) Module 644-0092-00 or
672-0725-00

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. More importantly, 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 Message field 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 Message field 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 Message field 2 / Location D on CRT

X/Y Mode

A description of the Display Generator 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"

Bugs & Errors

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.

Firmware Bug in GPIB interface

Affected Firmware versions: all

Due to an error in the firmware, pin 9 of U123 is always configured as an output pin. This pin is directly connected to an output of the line driver IC U321. To prevent damage to the PIA chip, it is recommended to remove the line driver U321. Since U321 is only needed for internal testing, it can be removed without any problems.

Catalogs & Advertising

Introduction March 1973

Name change

Early units are named "Tektronix P7001 Processor" - later units (probably starting with B1XXXXX) are named "Tektronix P7001 Digitizer".

Field of Application

Appearance in Tektronix Magazines

Components

Some Parts Used in the P7001

Part Part Number(s) Class Description Used in
155-0014-01 155-0014-00 155-0014-01 Monolithic integrated circuit analog-to-decimal converter 7000 series readout system 7854 7934 7J20 7L5 P7001
155-0022-00 155-0022-00 155-0022-01 Monolithic integrated circuit analog multiplexer 147 148 149 335 468 1430 1441 1461 1900 1910 2220 2221 2230 5223 5403 5440 5441 5443 5444 5A38 7313 7403N 7503 7504 7514 7603 AN/USM-281C 7613 7623 7623A 7633 7704 R7704 7704A 7834 7844 7854 R7912 7912AD 7912HB 7904 R7903 7904A 7934 7A12 7A18 7A18A 7A18N 7B52 7B53N 7D10 7D11 7D12 NT-7000 P7001
155-0035-00 155-0035-00 155-0116-00 Monolithic integrated circuit quad op-amp 3110 3S7 3T7 492 492A 492AP 492P 494 494P 496 496P 4010 4011 4012 4013 7L5 7L12 7L13 7L14 7L18 7S11 7T11 7S12 S-6 1461 4602 P7001 613 653
155-0067-02 155-0067-00 155-0067-02 155-0067-03 Monolithic integrated circuit SMPS controller 7704A 7834 7844 7854 7904 R7903 7904 7904A 7934 R7912 7912AD 7912HB 7934 7104 R7103 308 434 485 690 P7001
Intel 2102 156-0291-00 Monolithic integrated circuit 1K×1 static RAM 833 DF1 DF2 P7001 Nicolet 526