a guide for the evaluation of thermoelectric effects in ......a guide for the evaluation of...
TRANSCRIPT
A Guide for the Evaluation of Thermoelectric Effects in Thermal Converters
Using KST003 Fast-Reversed DC Source
Hitoshi SASAKI* and Kunihiko TAKAHASHI**
*Electron Devices Devision, ETL**Japan Electric Meters Inspection Cooperation
-4
-3
-2
-1
0
1
0.1 1 10 100 1000
FR
DC
-DC
Diff
eren
ce (
ppm
)
Frequency (Hz)
TC: S10-28
2.5 mA
5 mA
10 mA
(Report# TR-96-22)
- 1 -
Table of Contents
About This Guide
<<< PART I >>>--- Description of KST003 FRDC Source ---
Section 1 Concepts of Fast-Reversed DC Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71. 1 Introduction .................................................................................. 7
1. 2 Basic Circuit Description ................................................................ 8
1. 3 Setting Waveform Parameters ......................................................... 9
Section 2 Basic Operation of the Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112. 1 Front/Rear Panels ........................................................................ 11
2. 2 Cable Connection ......................................................................... 13
2. 3 GP-IB Commands ........................................................................ 15
2.3.1 Voltage/Current Level ................................................................ 15
2.3.2 Voltage/Current Adjustment ....................................................... 16
2.3.3 Period (Switching Frequency) ..................................................... 17
2.3.4 Off-Time .................................................................................. 18
2.3.5 Dummy-Load Resistance ............................................................ 18
2.3.6 Waveform (Output Mode) ........................................................... 19
2.3.7 Enable/Disable Output ................................................................ 20
Section 3 System Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223. 1 Introduction ................................................................................. 22
3. 2 Sequence Control Unit .................................................................. 23
3.2.1 CPU/SCC Board ........................................................................ 23
3.2.2 Sequence Control Circuit ............................................................ 23
3.2.3 GP-IB Interface ......................................................................... 27
3. 3 Waveform Output Unit ................................................................. 28
3.3.1 Analog Circuit .......................................................................... 28
3.3.2 Digital Circuit ........................................................................... 29
3. 4 Power Supply .............................................................................. 30
3. 5 EPROM Software ......................................................................... 31
3.5.1 Command Input ......................................................................... 31
3.5.2 Command Execute ..................................................................... 32
- 2 -
Section 4 Service References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344. 1 Checking Procedures .................................................................... 34
4.1.1 Operation Check ......................................................................... 35
4.1.2 Isolation Check ........................................................................... 37
4. 2 Earth/Guard Configuration ........................................................... 39
<<< PART II >>>--- Measuring Thermoelectric Effects
using a KST003 FRDC Source ---
Section 5 Calibration of Thermal Convertor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.1 Thermoelectric Effects of TC ....................................................... 41
5.2 Thermal AC-DC Transfer Difference ............................................ 42
5.3 Thermoelectric Time Constant ...................................................... 45
Section 6 Basic Operation of the Program .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476. 1 Installation and Set-up .................................................................. 47
6.1.1 System requirement .................................................................... 47
6.1.2 Software Installation ................................................................... 48
6.1.3 Start/Quit program .................................................................... 48
6.1.4 User Interface ............................................................................ 49
6. 2 Manual Operation ........................................................................ 51
6.2.1 Change GP-IB address ................................................................ 51
6.2.2 Voltage/Current Level ................................................................ 52
6.2.3 Period/Off-Time ........................................................................ 53
6.2.4 Adjust Sources ........................................................................... 54
6.2.5 Adjust Dummy .......................................................................... 55
6.2.6 Sequencial Output ...................................................................... 56
6.2.7 Steady-State Output .................................................................... 57
Section 7 FRDC-DC Difference measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.1 Measurement Procedure ............................................................... 58
7.2 Start/Abort Measurement .............................................................. 60
7.3 Setting Measurement Conditions .................................................... 61
7.3.1 TC specification ......................................................................... 61
7.3.2 Measurement Parameters ............................................................ 62
7.3.3 Measurement Procedures ............................................................ 63
7.3.4 File to Save Data ........................................................................ 65
7.3.5 Measurement Options ................................................................. 65
- 3 -
Section 8 Analyzing Measurement Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678. 1 Data Format ................................................................................ 67
8. 2 Curve Fitting ............................................................................... 70
8.2.1 Thermoelectric Effects ............................................................... 70
8.2.2 Dielectric Loss/Absorption .......................................................... 71
Section 9 Measurement Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749. 1 Type-A Uncertainties .................................................................. 74
9.1.1 Instability of Source ................................................................... 74
9.1.2 Instability of Thermal Converter ................................................. 75
9.1.3 Resolution of Detector ............................................................... 76
9. 2 Type-B Uncertainties .................................................................... 77
9.2.1 Effect of Imperfect Switching ..................................................... 77
9.2.2 Higher Frequency Components .................................................... 77
9.2.3 Memory Effect of Analog Switches ............................................. 78
9.2.4 Interference Between the Sources ................................................ 78
9.2.5 Dielectric Loss/Absorption ......................................................... 79
9.2.6 Other Sources of Uncertainty ...................................................... 80
9. 3 Measurement Criteria ................................................................... 81
<<< Appendix >>>
Appendix A Biography
Appendix B Trouble Shooting
Appendix C Circuit Diagrams
Appendix D Components Layout
Appendix E Parts List
Appendix F EPROM Program Reference
Appendix G EPROM Program List
Appendix H Measurement Program List
- 4 -
About This Guide
Since the first development of a Fast-Reversed DC (FRDC) source at PTB in 1990,
the FRDC sources have successfully been used for the evaluation of the thermoelectric
effects in thermal converters. The KST003 FRDC source is the third version of FRDC
circuit developed at ETL during 1992 to 1994. The project was initiated by the
international cooperation between PTB (Physikalisch-Technische Bundesanstalt) and
ETL in 1992. During two month's stay of Dr. Manfred Klonz at ETL, he introduced the
idea of the FRDC-DC difference measurement for evaluating the thermoelectric effects
of the thermal converters. The FRDC sources are now adopted at PTB and CSIRO as a
basic reference in ac-dc transfer standard. The purpose of this guide is to help users of
the KST003 FRDC source perform FRDC-DC difference measurement on thermal
converters.
PART I: Description of KST003 FRDC Source. (Hardware Manual)
The part I of the guide mainly describes the construction of the KST003 FRDC
source. A brief introduction on the concepts of the FRDC source is given in section 1.
Section 2 provides the instruction on the basic operation of the source, including
description on the front and rear panels, a typical example of cable-connection, and the
explanation on the GP-IB commands.
Detailed descriptions on the KST003 FRDC source are given in section 3. The
functions of the circuits inside the two units, the Sequence Control Unit (SCU) and the
Waveform Output Unit (WOU), are described in detail. The functions of the EPROM-
program for controlling the digital part of the circuit are also described.
Important supplementary information on the source are described in section 4; a
checking procedure to confirm the proper operation of the source and the configuration
of the Earth/Guard system.
PART II: Measurement of Thermoelectric Effects using a KST003 FRDC Source.
(Software Manual)
The part II of the guide describes a software for controlling FRDC-DC
measurements using a KST003 FRDC source. The program for controlling the source
was originally developed for a system with a Macintosh as a controller. In this case, the
program was written by Future Basic. Afterward, the program was re-written by Visual
Basic for Windows 95 computers. Though this manual mainly treats the case of the
Windows 95 system, most of the functions of the program are identical for Macintosh
system.
- 5 -
The main function of the software is for controlling the KST003 FRDC source in an
automated FRDC-DC difference measurement. A brief introduction on the concept of
the FRDC-DC difference measurement is given in section 5.
All the parameters of the KST003 FRDC source can be set manually using the
control-program. In section 6, the basic manual operations, such as Output Mode,
Output Level, Switching Frequency, Off-time, Dummy Resistance, Output Sequence,
will be described. The system requirement and the installation of the software are also
described in section 6.
The procedure of the automated measurement of FRDC-DC Difference is described
in section 7. The procedures of specifying various measurement-options and
measurement-parameters are described in detail.
The thermal transfer difference and its time constant can be determined using the
data from the FRDC-DC difference measurement. The examples of curve-fitting of the
data by a theoretical formula will be described in section 8.
The measurement uncertainties in the FRDC-DC measurement using a KST003
FRDC source are discussed in Section 9. Important criteria for confirming the proper
operation of the measurement system are also described in this section.
AcknowledgmentsThe original concept of the "Fast-Reversed DC" is due to Dr. Manfred Klonz of PTB,
Germany. The analysis on the frequency characteristic of the FRDC source was mainly
performed by Dr. Barry D. Inglis of CSIRO/NML, Australia. Detailed designing of the
KST003 FRDC source was performed by Mr. Shinzo Honda of Yatollo-Electronics Co.,
Japan.
- 6 -
Important Information
CAUTION! ---- Check correct setting for the line-voltage before applying the acpower to the FRDC source.
CAUTION! ---- When connecting the TC/TVC to the measurement circuit,Input-Lo and Output-Lo of must have the same potential inorder to avoid electrostatic break-down of the TC/TVC.
CAUTION! --- At the voltage mode, output current of more than 20 mA mayresult in the damage of analog switches and dummy resistance.Check proper setting of dummy resistance to avoid the current-overload.
CAUTION! ---- Incorrect setting of the [Nominal Input] and [Input Resistance]in [TC specification] procedure may result in the overloading ofthe TC/TVC and the dummy resistors.
NOTE ---------- In the case of a multi-command as "V1:S1:X", the V1 commandis executed after the S1 command which automatically disablesoutput.
NOTE ---------- Even if the S1 command is executed, the output will not beapplied to the TC until the "STBY/EXEC" switch on the frontpanel of the SCU is turned on.
NOTE ---------- The early version of the program (before 7.4.0) accept changesin the GP-IB address only temporarily. After re-starting theprogram, the GP-IB address will be reset to the default.
NOTE ---------- Please note that the basic frequency (first harmonic) of theFRDC waveform is one-half of the switching frequency TSW.
List of parameters
δAC-DC ------ AC-DC transfer difference
δFRDC-DC --- FRDC-DC transfer difference
δTE --------- Thermoelectric transfer difference
τTE --------- Thermoelectric time constant
EAC -------- TC-output for AC input
EDC -------- TC-output for DC input
EFRDC ------ TC-output for FRDC input
EJoule ------ Joule-component of the TC-output
∆ETE ------ Contribution from thermoelectric effects
TSW ------- Switching period
Toff -------- Off-time
fSW ------- Switching frequency (1/fSW)
fb --------- Base frequency of FRDC waveform (fSW/2)
a+/a- ------- Positive/Negative Output levels of Source A
b+/b- ------- Positive/Negative Output levels of Source B
Rdummy ----- Dummy Resistance
--- Description of KST003 FRDC Source --- (Hardware Manual)
§1 Concepts of Fast-Reversed DC Source§2 Basic Operation of the Source§3 System Description§4 Service References
<<< PART I >>>
- 7 -
Section 1 - Concepts of Fast-Reversed DC
1. 1 Introduction
The fast-reversed dc source transforms a dc voltage to a rectangular-waveform ac voltage
by reversing the polarity of its output using high-speed analog switches. The original
waveform of the fast-reversed dc (FRDC) is shown in Fig. 101(a). The waveform has three
modes, namely DC+, DC− and FRDC modes. In the FRDC mode, the output is periodically
switched between "+" and "−" states. Theoretically, infinitely high-speed switching is
required at the FRDC mode in order to obtain an rms voltage exactly equal to the steady-state
dc voltage.
In the new waveform, the periodical switching is performed not only during the FRDC mode
but also during the DC+ and the DC- modes, as shown in Fig. 101(b). Instead of the steady-
state dc, switching is performed between "+" and "off" states in the DC+ mode and between
"-" and "off" states in the DC- mode. We hereafter specify this mode as "chopped" dc mode
or "CPDC" mode. In the modified fast-reversed dc mode, similar switching is performed
between "+", "-" and "off" states. Since the "off" states are equally distributed in "chopped"
DC and FRDC modes, the effect of finite switching-speed is compensated, and the equal rms-
voltage for CPDC and FRDC modes is realized with only moderate requirements for the
response-time of the circuit.
FR-DC modeDC(+) modeDC(-) mode
(a) Original Waveform
Waveform of Fast Reversed DC Source
FR-DC modeDC(+) modeDC(-) mode
(b) New Waveform
Fig. 101
- 8 -
1. 2 Basic Circuit Description
The diagram of the new switching scheme introduced to the new FRDC source is shown in
Fig. 102. The waveform are synthesized from two period; Period A and Period B. In the
period A, the source A toggles from "zero" state to "+" or "-" state and toggles back to "zero"
again, while the source B is disconnected from thermal converter. A similar procedure is
repeated with source A and source B exchanged. By the combination of the outputs of
sources A and B, the two FRDC modes and the two "chopped" dc modes are obtained. As
shown in the figure, the rms value of the two modified FRDC modes are exactly equal to the
rms value of the "chopped" DC+ and DC- mode if there is no interference between the two
sources.
AC[1]mode
DC[+]mode
DC[− ]mode
AC[2]mode
Switching Sequence for Mode AC(1) / DC(+) / DC(-) / AC(2)
Period ASource A -- OnSource B -- Off
Period BSource A -- OffSource B -- On
Period ASource A -- OnSource B -- Off
Period BSource A -- OffSource B -- On
Fig. 102
The schematic circuit diagram is shown in Fig. 103. The significance of the new
switching scheme is that the two critical switches at the output operate only at the zero
voltage states. Consequently, the charging or "memory" effect of analog switchs are
significantly reduced. (See section 9.2.3 for explanation of the "memory" effect.)
In order to avoid interference between the two current sources, sources A and B are
electrically isolated using optical fibers. The switching elements are high-speed CMOS
analog switches (IH5143) that have typical on(off)-time of 80 (50) ns.
- 9 -
OpticalLogic
Source A
IsolatorControl
OpticalLogicIsolator
Control
Source B
SequenceController
TC to beCalibrated
to DVM
Simplified Circuit-Diagram of the Four-Source Scheme.
Fig. 103
A separate very low current sense leads are provided in the voltage mode for feedback to
op-amps A1a and A3a (Fig. 306). This leads compensates for the "on" resistance (75Ω, typical)
of the switching elements.
(Programmers Note)
The sources A and B have programmable "dummy" resistances that impose similar loads
to the sources when they are disconnected from the thermal converter. It is necessary to set
the value of "dummy-load" resistance properly. It is recommended that the value should be
adjusted to the same value as the input resistance of the thermal converter within the
resolution of 0.1 kΩ. (See section 2.3.5)
- 10 -
1.3 Setting Waveform Parameters
The waveform of FRDC source is specified by the six parameters (Tsw, Toff, a+, a-, b+, b-)
as shown in Fig. 104. These parameters are specified by the controller using the GPIB bus.
Waveform Parameters
Period A Period B Period A Period B
Toff
Tswa+ b+
a− b− Ton
Fig. 104
The parameters a+, a-, b+, b- are further specified by a "main value" parameter α and
"adjustment" parameters β(A+), β(A-), β(B+), β(B-) as
a± = ±α 1+ β A±( ) 100 b± =±α 1+ β B±( ) 100
. (1.1)
The parameter α should be within a range from 0.00 (V/mA) to 10.23 (V/mA) and the
parameters β should be within ±2.047 (%).
(Programmers Note)
The parameter Tsw is specified by a "base-period" parameter Tbase and "scale-factor"
parameter m as
TSW = Tbase ×10m . (1.2)
The parameter Tbase should be within a range from 0.10 (ms) to 2.55 (ms) and at least 0.02
(ms) longer than the off-time parameter Toff . The scale factor m should be an integer from
0 to 4. (Refer section 2.3.3)
- 11-
Section 2 - Basic Operation
2. 1 Front/Rear Panels
Sequence Control Unit (SCU) - Front Panel
1. Power Switch.
2. Toggle-Switch for EXEC/STBY setting.
3. Dual LED indicator for output mode(Voltage/Current).
[Red - Voltage mode, Green - Current mode.]
4. Dual LED indicator for Source-A output status.
5. Dual LED indicator for Source-B output status.
[Red - positive output, Green - negative output.]
Sequence Control Unit (SCU) - Rear Panel
1. GPIB Address selector.
2. GPIB bus Connector.
3. Optical-Fiber connector for Source A.
4. ± 18V Power-Line connector for Source A.
5. Optical-Fiber connector for Source B.
6. ± 18V Power-Line connector or Source B.
7. AC Line selector.
8. AC Line connector with Fuse.
Waveform Output Unit (WOU) - Front Panel
1. Type-N connector for main output.
[Outer conductor -- output Lo, Inner conductor -- output Hi.]
2. Guard terminal. [Same potential as output Lo.]
3. GND terminal. [Chassis (safety) Ground. Same potential as SCU GND.]
Waveform Output Unit (WOU) - Rear Panel
1. BNC connector for monitoring of source A.
2. Optical-Fiber connector for Source A.
3. ± 18V Power-Line connector for Source A.
4. BNC connector for monitoring of source B.
5. Optical-Fiber connector for Source B.
6. ± 18V Power-Line connector for Source B.
- 12-
Rear Panel --- Waveform Output Unit 1.BNC connector for monitoring source A. 2.Optical-Fiber connector for Source A. 3.± 18V Power-Line connector for Source A. 4.BNC connector for monitoring source B. 5.Optical-Fiber connector for Source B. 6.± 18V Power-Line connector for Source B.
Source A
Monitor
Source B
Monitor
1 4
25
3 6
Fiber
Power
Fiber
Power
KST003 Fast-Reversed DC Source
OUTPUTGUARD GND
WAVEFORM OUTPUT UNITYATOLLO
1 2 3
Front Panel --- Waveform Output Unit 1.Type-N connector for main output. 2.Guard terminal. 3.GND terminal. (Chassis GND)
Fuse
To Source A To Source B
GP-IB BusAddress1 2
4 83 5
100 V - 230 V
Fiber
Power
Fiber
Power
6 7
Rear Panel --- Sequenc Control Unit 1.GPIB Address selector. 2.GPIB bus Connector. 3.Optical-Fiber connector for Source A. 4.± 18V Power-Line connector for Source A. 5.Optical-Fiber connector for Source B. 6.± 18V Power-Line connector for Source B. 7.AC Line Voltage Selector. 8.AC Power-Line connector with Fuse.
KST003 Fast-Reversed DC Source
SEQUENCE CONTROL UNIT
LINE
ON
STBY
EXECOUTPUT
R[+] / G[-]
STATUS
A B
OFF
MODE
V/I
(R/G)
YATOLLO
1 2 3 4 5
Front Panel --- Sequence Control Unit 1.Power Switch. 2.Toggle-Switch for EXEC/STBY setting. 3.Dual LED for output mode(Voltage/Current). 4.Dual LED for Source-A output status. 5.Dual LED for Source-B output status.
Fig. 201
- 13-
2. 2 Cable Connection
Cable-Connection between the two chassis.
[1] Optical Fiber --- Dual fiber with Connector. (Two requierd)
[2] Power Supply Cable --- JAE SRCN6A13-5P / 3 wire dual shield. (Two requierd)
GPIB Bus and AC Power Line
Where the electrical power system gives rise to problems, the following precautions for
GPIB-cable and AC power lines have been helpful.
[1] GPIB Bus --- (a) Controller / DVM
(b) Controller / KST003 FRDC Source
Use of optical-fiber isolation is recommended for desk-top
controller (Fig. 202). Lap-top computer with battery-operation
is better. Avoid use of a noisy printer.
[2] AC Power line --- Use of isolation transformer is recommended.
IMPORTANT ---- Check AC Voltage before connecting the
AC power cable.
IsolationTransformer
DesktopComputer
OpticalIsolator
GP-IB Cable
Optical Fiber
GP-IB Cable
OpticalIsolator
Nano-Voltmeter
KST001Fast-ReversedDC Source
Recommended Configuration for GP-IB and AC Power Line
Fig. 202
- 14-
Connection to Thermal Converter
[1] FRDC output / TC input --- 3D2V, RG58A/U or equivalent (less than 1m) with N-
type plug at both end. Direct coupling is recommended.
[2] FRDC GUARD / TC output Lo --- Connection by any type of wire.
[3] TC output / DVM input --- Low noise Triax cable. The outer shield (chassis GND
of DVM) should not be connected to the TC.
Example of connection is shown in Fig. 203.
____________________________________________________
IMPORTANT ---- Connect Input Lo and Output Lo of thermal
converter to avoid electrostatic break-down.
____________________________________________________
Source A
Connection To Thermal Convertor and Nano-Voltmeter
Guard (Input Lo)
Nano-VoltmeterThermal
Converter
Fast-Reversed DC Source
Source B
GuardTriax Cable
Coaxial Cable
Guard
GND
Hi
Lo
IMPORTANT ---- Input Lo and Output Lo of TC must have the same potential in order to avoid electrostatic break-down of TC.
Fig. 203
- 15-
2. 3 GPIB Commands
General Information on GPIB-Comands
Address: GPIB address of KST003 FRDC source is initially set to "8".
Separator: Command Separator [:] must be inserted for multiple command-input.
Execute: "X" is required for the execution of commands, e.g.,"C8.75 : A1 2.000 : X "
Space: The characters "space", "+", "/" are simply neglected(no effect).
Default: After power on, the system goes back to the default condition.
2. 3. 1 Voltage/Current Level
Description Set output amplitude.
Parameter (1) Voltage : 0.00 V - 10.23 V (0.01 V step).
(2) Current : 0.00 mA - 10.23 mA (0.01 mA step)
Display "OUTPUT" indicators (#2) shows the output mode (Voltage/ Current).
Default 0.00 (voltage mode)
GP-IB Operation
Format V nn.nn (voltage-output mode)
C nn.nn (current-output mode)
Notes Use "V" command to set the voltage value. This function
automatically sets the output to the voltage-output mode.
Use "C" command to set the current value. This function
automatically sets the output to the current-output mode.
These commands also set the output to the "Stand-By" condition.
Example OUTPUT 708; "V1.0 : X" ! 1.0 V output
OUTPUT 708; "C8.75 : X" ! 8.75 mA output
____________________________________________________
WARNING! ---- Output current of more than 20 mA in the
voltage mode may result in the damage of analog switches and
dummy resistance.
____________________________________________________
- 16-
2. 3. 2 Voltage/Current Adjustment
Description Adjust output amplitude.
Parameter Adjustment : -2.048 % to ±2.047 % (0.001% step)
Default -2.048 % (All sources)
GP-IB OperationFormat A0 ±n.nnn (adjust source A+)
A1 ±n.nnn (adjust source A− )
A2 ±n.nnn (adjust source B+)
A3 ±n.nnn (adjust source B−)
Notes The polarity Specifier "+" is optional.
This command does not affect STBY/EXEC.
Example OUTPUT 708; "A0 1.0 : X" ! 1.0 % adjustment for source A(+)
OUTPUT 708; "A3 0.001 : X" ! 10 ppm adjustment for source B(-)
- 17-
2. 3. 3 Period (Switching Frequency)
Description Set switching period (switching frequency).
Parameter Period (TSw) : 100 µs - 25.5 s (8-bit resolution)
Base Period (TBase) : 0.10 ms - 2.56 ms (0.01 ms step)
Scale Factor (m) : 0 - 4 (Integer)
TSW = Tbase ×10m
Default 1.00 ms
GP-IB Operation
Format Pm n.nn
P0 n.nn (period = n.nn ms)
P1 n.nn (period = nn. n ms)
P2 n.nn (period = nnn ms)
P3 n.nn (period = n.nn s)
P4 n.nn (period = nn. n s)
Notes The value "m" specifies the scale factor(0 to 4).
The values "n.nn" represents the base period (TBase) in ms, and has
the following conditions.
(1) 0.10 ≤TBase ≤ 2.55 (0.01ms resolution)
(2) TBase> Toff +20µs
("Toff" is explained in the next paragraph.)
This command is not accepted unless the above conditions are fulfilled.
Example OUTPUT 708; "P0.1E0 : X" ! 100 µs (10 kHz) operation
OUTPUT 708; "P 1.0E04 : X" ! 10 s (0.1 Hz) operation
- 18-
2. 3. 4 Off-Time
Description Set Off-Time.
Parameter Off-Time (Toff ) : 4 µs - 255 µs (1µs step)
Default 10 µs
GP-IB Operation
Format O nnn (nnn µs)
Notes The values "nnn" represents the Off-Time (Toff ) in µs, and has the
following conditions.
(1) 4 µs ≤Toff ≤ 255 µs
(2) Toff < TBase -20 µs
(See also the previous paragraph.)
This command is not accepted unless the above conditions are fulfilled.
Example OUTPUT 708; "O 10 : X" ! 10 µs Off-Time
OUTPUT 708; "P1.0E0 : O10 : X" ! 1 kHz with 10 µs Off-time
2. 3. 5 Dummy-Load Resistance
Description Adjust dummy-load resistances.
Parameter Dummy : 0 Ω - 1.6 kΩ (100 Ω step)
Default 500 Ω
GP-IB Operation
Format D n.n (n.n kΩ)
Notes This command is not accepted if the value is out of range.
The maximum execution time is approximately 10 ms.
Example OUTPUT 708; "D 0.2 : X" ! 200 Ω Dummy Load
OUTPUT 708; "D 1.5 : X" ! 1.5 kΩ Dummy Load
____________________________________________________
WARNING! ---- Improper setting of dummy resistance in the
voltage mode causes current-overload and may result in the
damage of analog switches and dummy resistance.
____________________________________________________
- 19-
2. 3. 6 Waveform (Output Mode)
Description Select output sequence.
Parameter None
Display "STATUS" indicators (#4) and (#5) shows the status of output-
sequence.
Default AC[1] mode.
GP-IB Operation
Format M0 ( AC[1] mode ---- Sequential output )
M1 ( DC[+] mode ---- Sequential output )
M2 ( DC[−] mode ---- Sequential output )
M3 ( AC[2] mode ---- Sequential output )
M4 ( A[+] mode ---- Steady-State output )
M5 ( A[−] mode ---- Steady-State output )
M6 ( B[+] mode ---- Steady-State output )
M7 ( B[−] mode ---- Steady-State output )
Notes None
Example OUTPUT 708; "M0 : X" ! Sequential output ---- AC(1) mode
OUTPUT 708; "M7 : X" ! Steady-State output ---- B[−] mode
- 20-
2. 3. 7 Enable/Disable Output
Description Enable/Disable output.
Parameter None
Display "STATUS" indicators (#4) and (#5) is turned off during Stand-By
mode.
Default Stand-By mode
GP-IB Operation
Format S 0 (Disable output / STBY mode)
S 1 (Enable output / EXEC mode)
Notes None
Example OUTPUT 708; "S0 : X" ! Disable output / STBY mode
____________________________________________________
NOTE ---- In the case of a multi-command as "V1:S1:X", the S
command is executed before the V command which
automatically disables output. In order to make the S command
effective, insert an X command between the two commands as
"V1:X:S1:X".
____________________________________________________
- 21-
Function Format Discription
Voltage Level V nn.nn
Current Level C nn. nn
Adjustment ofOutput Level
A0 ±n. nnn
A1 ±n. nnn
A2 ±n. nnn
A3 ±n. nnn
Period P0 n.nn
Off-Time
Dummy-Load
OutputSequence/Mode
Enable/DisableOutput
O nnn
M 0
M 1
M 2
M 3
M 4
M 5
M 6
M 7
S 0
S 1
D n.n
GPIB Commands Summary
Select Voltage-Mode & Set Output Level as "nn.nn V"
Select Currnt-Mode & Set Output Level as "nn.nn mA"
Adjust Output Level of Source A(+) as "±n.nnn %"
Set Switching Period as "n.nn ms"
Adjust Dummy-Load Resistance as "n.n kΩ"
Sequencial Output --- AC(1) Mode
Adjust Output Level of Source A(-) as "±n.nnn %"
Adjust Output Level of Source B(+) as "±n.nnn %"
Adjust Output Level of Source B(-) as "±n.nnn %"
Set Off-Time as "nnn µs"
Sequencial Output --- DC(+) Mode
Sequencial Output --- DC(-) Mode
Sequencial Output --- AC(2) Mode
Steady-State Output --- Source A(+)
Steady-State Output --- Source A(-)
Steady-State Output --- Source B(+)
Steady-State Output --- Source B(-)
Disable Voltage/Current Output
Enable Voltage/Current Output
P1 n.nn Set Switching Period as "nn. n ms"
P2 n.nn Set Switching Period as "nnn ms"
P3 n.nn Set Switching Period as "n.nn s"
P4 n.nn Set Switching Period as "nn. n s"
Execute X Execute Commands
Range
0 to 10.23 V
0 to 10.23 mA
0 to ±2.047 %
0.1ms to 25.5 s
4 µs to 255 µs
0 kΩ to 1.5 kΩ
Table 201
- 22 -
Section 3 - System Description
3. 1 Introduction
The KST003 FRDC Source consists of two separate units, i.e., Sequence Control Unit
(SCU) and Waveform Output Unit (WOU).
The SCU box contains (1) a CPU/SCC board which generate a control signal and timings,
(2) a GP-IB Interface board for remote control, (3) one +5Vand two ±18V DC power
supplies. The system is controlled by micro-processor (Z84C) using a program written in a
EPROM. The control program on the EPROM is explained in section 3.5 and section 5.6
The Sequence Control Unit are described in section 3.3.1.
The WOU box contains two identical circuit, namely the source A and the source B. The
two circuits are separately guarded by thick aluminum boxes in order to avoid possible
interference between the two circuit. The setting of the sources A and B are controlled by the
SCU unit using the two pairs of optical fiber lines. The Waveform Output Unit are described
in section 3.3.2.
The power supplies are described in section 3.4. The +5V is supplied to the digital circuits
in the SCU box. The two ±18 V DC voltage are supplied to the Sources A and B in
Waveform Output Unit.
An example of measurement program for the determination of the FRDC-DC difference is
given in section 3.6.
SequenceControllCircuit
GP-IBInterface
Power Supply (+5V)
GP-IBControl
Voltage/Current Source (B)
Micro-Processer
AC PowerLine
Fast Reversed DC Source Schematic Diagram
Sequence Control Unit
Waveform Output Unit
Voltage/Current Source (A)
GP-IB I/FBoard CPU/SCC Board
Power Supply (+/- 18V)
Power Supply (+/- 18V)
Output
Fig. 301
- 23 -
3. 2 Sequence Control Unit
3.2.1 CPU/SCC BoardThe CPU/SCC board consists of four circuit blocks, i.e., (1) Z84C CPU board, (2) GP-IB
handshake logic circuit, (3) the Sequence Control Circuit, and (4) Optical-fiber I/F circuit. A
simplified circuit diagram is shown in Fig. 302.
The Z84C CPU board is a single-board computer Model KBC-Z11 from Kyohritu Dennshi
Sangyo co., Japan. Toshiba TMPZ84C011AF micro-processor is used as a core unit of the
board. The micro-processor includes 6 MHz Z80CPU, five 8-bit programmable I/O port, and
four channel programmable timer/counter(CTC). The GP-IB handshake logic circuit and the
Sequence Control Circuit are controlled via the five I/O port of the micro-processor. The
CTC produces the basic period and timing for the Sequence Control Circuit. The setting for
the short-pin-type jumpers are; [JP1 - open, JP2 - open, JP3 - Lo.]. The setting for the SW1 is
not significant. For more detailed information on the KBC-Z11, please contact the
manufacturer [Kyohritu Dennshi Sangyo co., 4-2-15 Nihonbashi, Naniwa-ku, Osaka 556,
Japan. Tel. +81-6-644-4666, Fax. +81-6-644-0070.]
Controller: Schematic Diagram
SequenceControlCircuit
Z84C IO port(PA, PB)
Z84C CTC
GP-IBInterfaceCircuit
HandshakeLogic
Z84C CPU
Z84C IO port(PB, PC, PD, PE)
(CH0 - CH3)
OpticalFiber
Transmitter
Fig. 302
3.2.2 Sequence Control CircuitThe Sequence Control Circuit consists of four circuit blocks, i.e., (1) the Pulse Generator
circuit, (2) the Handshake Control circuit, (3) the A/B Selector circuit, and (4) the Parallel to
Serial Converter circuit. A simplified circuit diagram is shown in Fig. 303.
The Sequence Control Circuit has dual purposes, i.e., (1) produce timing signal for
switching between the sources A and B, and (2) transfer the control-data for setting DACs,
mode resistors, and relays for dummy resistance.
- 24 -
Simplified Circuit Diagram (Sequence Control Circuit)
PIO Port C
1 MHz
SystemClock
6 MHz÷ 6
200 kHz
÷ 5
Trig A
D
Q
Q
Q
Q
DRDY
RTRVTrig B
Z80 CTCCH 0
1/1, 1/100Scaler
1/1, 1/10, 1/100Scaler
CH 2CH 1
Off-TimeCounter
Base PeriodCounter
D
Trig B
PIO Port D
DD Q
Q
Q
Q
A ON
STBY
B ON
Trig A
A/B
74HC390
÷ 2 ÷ 10
Enable
S/L
Timing
A DataD D74HC166 Q
Q
Q
Q
D D74HC166 Q
Q
Q
Q
B DataS/L
Clock
ON-BON-A
PIO Port E
Pulse Generator
Handshake Control
Parallel to Serial Convertor
A/BSelector
Fig. 303
Channel Discription
CH0
CTC Discription
8 bit counter for "Off-Time" (Toff).
Mode
Counter
1/1, 1/10, 1/100 Scalar for repetition period.
CH1 Counter
CH2 Counter
CH3
8 bit counter for "basic" repetition period (Tbase).
Not Used
Edge
Negative
Negative
Negative
Table 301
- 25 -
Port Bit Discription
PA bit 0 - bit 7
PB
PIO Port Address
Data from GPIB Interface (UIO-488Z II)
IN/OUT
Input
bit 4 - bit 6 Output sequence control
PC
Output
bit 0 Input "Ready" from GPIB Interface (UIO-488Z II)
"OK" for GPIB Interface (UIO-488Z II) bit 1 Output
bit 0 Input
"Data Ready" for SCC circuit bit 1 Output
PD
PE
"Ready to Receive Data" from SCC circuit.
Output
Data/Address for Source A bit 0 - bit 7
Output bit 0 - bit 7
"1, 1, 1" --- Sequencial Output
"1, 0, 1" --- Steady State (A-ON, B-Off)
"0, 1, 1" --- Steady State (A-Off, B-ON)
"x, x, 0" --- Stand-By (A-Off, B-Off)
bit 0 - bit 3 --- A0 - A3bit 4 - bit 7 --- D0 - D3
Data/Address for Source B
bit 0 - bit 3 --- A0 - A3bit 4 - bit 7 --- D0 - D3
Extended Period (x100) ON/Off bit 2 Output
bit 2 Output
bit 3 Output
"A Polarity" Display Output.
bit 7 Output
"B Polarity" Display Output.
"I/V Mode" Display Output.
bit 4 - bit 6 Error Status. (Planned)Output
bit 3 Input
bit 7 Output
"STBY" switch status
Command Execution Status (Planned)
Table 302
Production of timing signal is mainly done by the Z80CTC circuit and Pulse Generator
circuit. The CTC#0 is used to set the "off-time" in one µs unit. The CTC#1 creates the "base
period" in 5 µs unit . The CTC#2 and the "1/100 Scalar" circuit determines the scale factor
"m" of the switching period. The configuration for the CTCs are summarized in Table 302.
The configuration for the five I/O port are summarized in Table 303.
- 26 -
Data Transfer for Source A/B
TimingPulse
(1 MHz)
4 pulse forSequence ControlTiming
Trigger Pulse
Sequence Control("1" for A ON)
A Data
8 bit Data for Source A(D3 - D0, A3 - A0)
Off Time
10 pulse for Data TransferTiming
MSB(bit7)
LSB (bit0)
Always "0"
Fig. 304
A3 A2 A1D3 - D0
0 0 0
1
DAC 1(a) bit 0-3
DAC 1(a) bit 4-7
DAC 1(a) bit 8-11
1
0
0
1
DAC 1(b) bit 0-3
DAC 1(b) bit 4-7
DAC 1(b) bit 8-11
1 0
0
1
DAC 2(a) bit 0-3
DAC 2(a) bit 4-7
DAC 2(a) bit 8-11
1
0
1
DAC 2(b) bit 0-3
DAC 2(b) bit 4-7
DAC 2(b) bit 8-11
D3 --- I/V Mode
Relays RL3 - RL0
Data Transfer Format (Port PD/PE)
D2 --- "UPD"
1
0
10
1
Description
DAC forMAIN(+)
DAC forAdjust(+)
DAC forMAIN(-)
DAC forAdjust(-)
Dummy Load
OutputControl
A0
00
1
1
1
1
0
0
0
1 1
1 1
0
0
0
0
0
0
1
D0 --- Polarity
Data for idling state --- "1111 1111"
Table 303
- 27 -
The Pulse Generator circuit combines the "off-time" and "base period", and makes the
"timing-pulse train" for transmission through the optical fiber, as shown in Fig. 304. The first
four pulses of the timing pulses are used to control the switching timing of the analog
switches in the source A/B circuit. The timing pulses, excluding the first two pulses, are also
used to synchronize "data-pulse train" which is used for the transmission of control-data for
the sources A and B.
The control-data for setting DACs, mode resistors, and relays on the sources A and B are
send from the CPU via the port PD and PE. The control-data consists of 4 bit address and 4
bit control data as summarized in table 303. The control-data is converted to serial data by
the Parallel to Serial Converter circuit, and transmitted as the "data-pulse train" through the
optical fiber lines.
The Handshake Control circuit controls the transmission of data through the optical fiber
lines. The data-transfer timing is controlled by bit 0 and bit 1 of the port PC.
The A/B Selector circuit control the switching of the output between the sources A and
B. The control data are transmitted to the sources A and B as the second bit of the "data-pulse
train".
3.2.3 GP-IB Interface The KST003 FRDC uses all-in one type commercial GP-IB interface unit Model UIO-
488Z from MCI engineering co. Japan. The UIO-488Z receives the GP-IB commands by
ASCII format and outputs the ASCII characters to the 8-bit parallel output buffer. The
"Handshake Logic" circuit interfaces the UIO-488Z to the Z84C CPU board. An detailed
circuit diagram of the handshake logic is shown in Fig. 305.
The DIP switches are initially preset as "LSB-00010100-MSB" (Address=8, addressable
mode). For more detailed information on the UIO-488Z, please contact the manufacturer
[MCI engineering co., Takahashi Bldg. 6F, 1-44-3 futa, chofu-shi, Tokyo 182, Japan. Tel.
+81-424-87-9564, Fax. +81-424-82-9138.]
GP-IB Handshake Logic
CK
QD
QLD CLK
OK
READY
READY
READYfor GP-IB Board
READYfor CPU PIO Port
OKfrom CPU PIO Port
LO CLKfrom GP-IB Board
Fig. 305
- 28 -
3. 3 Waveform Output Unit
The WOU consists of two identical circuits, sources A and B. The two circuits are
separately guarded by thick aluminum boxes. The sources A and B each consist of three PC
boards, i.e., (1) Output I board, (2) Output I-sub board, and (3) Output II board.
Output I board is a four layer PC board mainly for digital control circuit and analog
switches. Output I-sub board include all the analog circuit excluding the analog switches.
Output II board includes ±18 V to ±15 V and ±18 V to +5 V regulator circuit and "dummy"
resistors and latching relays. Detailed descriptions on the analog and digital parts of the
sources A and B are given in Sec 3.3.1 and 3.3.2.
3.3.1 Analog CircuitThe Analog circuit generate the FRDC waveform at switching frequency from 0.04 Hz to
10 kHz, with programmable voltage/current level between 0 V/mA to 10 V/mA. The
schematic diagram of the analog circuit is given in Fig. 306. The detailed circuit diagram is
given in the appendix A. Since the two sources A and B are identical, only one of the two
sources is explicitly shown in the figure.
Waveform Output Unit (1 --- Analog Circut)
+−
+−
+−
+−
+−
+−
+−
+−
+−
+−
+−
+−
+−
Monitor
Output
+−
DAC1a
Dummy
DAC1b
DAC2aDAC2b
VZ1
A2a
A4a
A2b
A2c
A2d
A4b
A4c
A4d
A3a
A3c
A3b
A1a
A1cA1b
Q1
Q2
Q3
Q4
SW7a,b
SW8a,b
SW2
SW1
SW4
SW5
SW10 SW6
SW9 SW3
Fig. 306
The zener voltage reference VZ1, combined with the OP amps A2a and A4a produces
stable reference voltage of ±10.00V. The rest of the analog circuit consists of two
symmetrical circuits. The upper part of the circuit is for the positive output, and the lower
circuit is for the negative output. DAC1a and DAC2a adjust the output level up to ±2 % with
10 ppm resolution. DAC1b and DAC2b set the output level within a range from 0 V to 10.23
V or from 0 mA to 10.23 mA with 0.01 V/mA resolution. The OP amp - FET combinations
- 29 -
A1a-Q1 and A3a-Q3 are voltage buffers for constant voltage output. Switches SW1/SW4 and
SW2/SW5 generate the FRDC waveform at voltage-output mode. The timing signal for SW4
and SW5 are 0.1 µs delayed from SW1 and SW2 so that they perform "make-before-break"
operation. The OP amp - FET combinations A1b/c-Q2 and A3b/c-Q4 are V-I converters for
constant current output. Switches SW7 and SW8 generate the FRDC waveform at current-
output mode. The timing signal for SW7b/SW8b is also 0.1 µs delayed from SW7a/SW8a for
"make-before-break" operation. Switches SW9 and SW10 exchange the output and the
"dummy", and SW3 connect the output to GND in order to avoid floating of the output. The
switch SW6 connects and disconnects the source from the TC. Since the output leads from
SW6 are regarded as part of the TC-input circuit, a small-size high-isolation Teflon PC board
is used in order to avoid the effect from the dielectric loss. (See Sec.9.2.6)
3.3.2 Digital CircuitThe Digital Control Circuit of the Waveform Output Unit has dual purposes, i.e., (1)
receive timing signal from SCU as the "timing-pulse train", and create the switching sequence
for the analog switches, and (2) receive control-data from SCU as the "data-pulse train", and
set DACs, mode resistors, and relays for dummy resistance.
DATA
Clock
Q2
On/Off
Exec
bit 4-7
TRIG
Q4
Q1
Q3
bit 0-3
CK
CK
CK
CK
CK
QDIN
QDQD
D
ON/Off
D0 - D3
A0 - A2
A3
A3
D
CK
4 bit DATA
Address
DAC1 Select
DACs control
Control Select
Relay Select
DAC2 Select
Control data
Relay Data
DAC's
Control Resistor
Relays
Waveform Output Unit (2--- Simplified Digital Circut)
U1 U12
U10(4/6)U13
(1/6)U13(1/6)U4
(4/6)U4
U2
U11
U9
U3
U2
U9
U9
Fig. 307
- 30 -
The 8 bit control-data, received from the SCU via the optical-fiber transmission line, are
then converted from serial data to parallel data by U10 and (1/6)U4. The 4-bit data are stored
at the buffers (4/6)U13, and the 4 bit address are buffered at U11, and are decomposed by the
ICs U11, U9, U3 and U2 to select DACs, mode control resistors, and relays for dummy
resistance.
The control data for connection or disconnection of the sources A and B are send by the
second bit of the "data-pulse train", and are stored in (1/6) U13. The switching sequence for
the analog switches are generated by (4/6)U4 and two NAND gate of U2 using the "timing-
pulse train".
3. 4 Power SupplyThe Power Supply circuit consist of two ±18 V, 200 mA power supplies for Sources A/B
and a +5 V, 1A power supply for all the circuit in the Sequence Control Unit. The schematic
diagram of the analog circuit is given in Fig. 307.
The power supplies use "R-core" transformer in order to reduce coupling of the power
supplies by leakage flux. The electrostatic shielding is inserted between the primary and the
secondary winding. The two ±18 V power supplies are enclosed in magnetic-shield boxes
separately.
±18VReguratedPower Source
Power Supply for Source AAC Line(100V / 200 V)
(5 V, 1A)
±18VReguratedPower Source
Power Supply for Source B
5VReguratedPower Source
Power Supply for SCU
To Source A (±18V, 0.2 A)
To Source B (±18V, 0.2 A)
To CPU/SCC,GP-IB, Display/KB board
Fig. 307
- 31 -
3. 5 EPROM SoftwareThe control program has two modes of operation, namely the command-input mode and
the command-execute mode. The simplified flow-chart is shown in Fig. 309. In the
command-input mode, the program receives the commands from the system-controller
through the GP-IB interface. The command are stored in a command-input buffer in the
ASCII format. Upon receiving the X-command, the program goes to the command-execution
mode.
EPROM Software Flow Chart
START
Initialize CTC, PIO, & Memory
"A" ?yes
Input Datafor "A0"- "A3"
Input Commands asAn, C, D, M, O, P, S, V
Read GPIB
yes"C" ?
Input Datafor "C"
"X" ?yes
Flag Setfor "S"?
yes
Execute"S" command
Execute Commands asS, M, V, C, An, D, P, O
Flag Setfor "M"?
yes
Execute"M" command
Flag Setfor "O"?
yes
Execute"O" commandNo
yes"V" ?
Input Datafor "V"
Fig. 309
3. 5. 1 Command Input
Explanation In the command-input mode, the program continuously watches the
"READY" flag from the GP-IB interface circuit. When the flag is
set, one character (8 bit) is received via PIO A using a handshake-
- 32 -
procedure. Upon receiving the X-command, the program goes to the
command-execution mode.
3. 5. 2 Command Execute
Explanation In the command-execute mode, the commands stored in the
command-buffer is executed one by one. The commands stored in the
ASCII formats are converted to four-digits BCD and then to 16-bit
binary numbers. Then the data are transferred through the optical
fiber lines using a handshake control from PIO port C. After
execution is completed, the program returns to the command-input
mode.
"V/C" command The numerical parameter (0.00 to 10.23) is converted to 10-bit binary
data (0 to 1023). The data are then multiplied by four to make use of
the 12-bit precision of the DACs. The 12-bit data (0 to 4092) are then
sent to DACs (CH1A and CH2A) through the optical fiber using the
PIO port D and port E. After sending all the data to the DACs, the
control bit "V/C" is sent to the "V mode / I mode" control-resistors of
the sources A and B, which automatically generate the update pulse to
the DACs.
"An" command The numerical parameter (0.000% to ±2.048%) is converted to 12-bit
binary data (0 to 2047 with sign). Then the offset of 2048 is added to
the data (0% adjustment is converted to 2048). The 12-bit data (0 to
4095) are then sent to DACs (CH1B and CH2B) through the optical
fiber using the PIO port D and port E. After sending all the data to the
DACs, "UPD" command is sent to the DACs to update the output of
the DACs.
"Pn" command The index (0 to 4) is stored in the command-P buffer in ASCII format.
The base period (0.10 ms to 2.55 ms) is converted to 8-bit binary data
(10 to 255) and is stored in the control resistor of the CTC#1. The
range-multiplying by the index are performed by the CTC#2 and by
the "÷ 100" circuit controlled by bit-2 of the PIO port B.
"O" command The numerical parameter (4 µs to 255 µs) is converted to 8-bit binary
data (4 to 255) and is stored in the control resistor of the CTC#0.
- 33 -
"D" command The numerical parameter (0.0 kΩ to 1.5 kΩ) is converted to 4-bit
binary data (0 to 15). The data are then sent to the relay-control
resistor of the sources A and B via the PIO port D and port E. After
updating the relay-control resistor on/off pulse are applied to the
latching relays (RL0 to RL3).
"M" command According to the numerical parameter (0 to 7), the control bits
"Polarity" and "Sequential / Steady-state" are sent to the control-
resistors of the sources A and B via the PIO port D and the PIO port
E.
"S" command Control line "STBY" (PIO port C) is enabled or disabled according to
the numerical parameter (0 or 1).
- 34 -
Section 4 - Service References
4. 1 Checking Procedures
The KST003 FRDC source does not require any periodical maintenance. The
following two checking procedure should be performed only when some defect in the circuit
is suspected. The construction of the SCU unit and WOU unit are shown in Fig. 401. To
remove the top cover of the units, take off the plastic flame and remove the self-tapping
screws.
GPIB I/FBoard
+5V Regulator Board
Isolated Power Supply for +/- 18V x 2
CPU/SCC Board
Sequence Cotrol Unit
Fig. 401(a)
Thick Al Box x 2(Shield for Analog Circuit)
Waveform Output Unit
Output Board I-sub
Output Board I
Output Board II
Fig. 401(b)
- 35 -
4. 1. 1 Operation Check
Tools (1) Seven-digit DMM.
(2) Dual-trace Oscilloscope. (>10 MHz BW)
(3) GP-IB controller.
(4) Metal-foil resistor. ( >1/8 W, <0.1% precision)
Checking procedure
[1] Disconnect all the cables.
(1) Check line-voltage setting. (Do not apply power until procedure [4]).
(2) Check GP-IB address. (Initially set to "8/addressable")
(3) Check leakage resistance between the shields of the ±18V power supplies
(pin#4) and chassis (pin#5) at the "Power" connector on the rear panel.
(4) Check connection between chassis (pin#5) at the "Power" connector on the
rear panel and the actual frame (chassis) of the SCU unit.
(5) Check connection between chassis (pin#5) at the "Power" connector on the
rear panel and the actual frame (chassis) of the WOU unit.
[2] Connect ±18V power lines between the rear-panels. Disconnect "Output Lo". and
"Guard" at the "GND" terminal on the two "Output Board I" PC board for the
sources A and B. ("GND" terminal on the board should be read as "Output Lo. :
refer circuit diagram in the appendix A.").
(1) Check leakage resistance between "Output Lo." and "Guard" for the sources A
and B. (>1MΩ)
[3] Resume connection between "Output Lo". and "Guard"
(1) Check connection between "Output Lo." and "Guard" for the sources A and B.
[4] Disconnect ±18V power lines again. Set "OPERATE/STBY" switch at "STBY"
position. Apply ac power.
(1) Check the LED display. (The "MODE" LED should change the color from
orange to red within a few second. The two "STATUS" LED should be off-
state. )
(2) Check output voltage of ±18V power sources at the "Power" connectors on the
rear panel of SCU. (pin#1/+18V : pin#2/CMN : pin#3/-18V)
[5] Turn-off power and resume(connect) ±18V power lines. Connect optical fibers
between the rear-panels. Apply ac power again.
(1) Measure the voltage of TP4's on the "Output I-sub" boards of the sources
A/B. Adjust the voltage as 10.00V by the trimmers. (T1)
(2) Measure the voltage of TP2's and TP3's of the "Output I-sub" boards of the
sources A/B. (TP2's should be +5V, TP3's should be -5V.) If not, check proper
- 36 -
connection of the optical-fiber lines. ( U26 - U6/A, U25 - U8/A, U24 - U6/B,
U23 - U8/B)
[6] Send GP-IB command "C0:M5:P0 0.1: O10:X:S1:X".
(1) Measure the "clock-A" pulses from the optical-fiber receiver U8/A (pin#3 of
U3/A) on the "Output Board I" while taking the trigger signal from the TP3 on
the "CPU/SCC" board. Check the "margin" of the power-level of the optical-
fiber lines by temporally changing the resistance(220Ω) of the SCU board R3 -
R6 to 150Ω and 330Ω.
(2) Repeat the same procedure for "data-A" pulses. (U6/A : pin#1 of U3/A)
(3) Repeat the same procedure for "clock-B" pulses. (U8/B : pin#3 of U3/B)
(4) Repeat the same procedure for "data-B" pulses. (U6/B : pin#1 of U3/B)
[7] Reset the source by power on-off cycle. Connect the 1kΩ resistance at the output.
(1) Check the voltage of TP2's and TP3's on the "Output I-sub" boards of the
sources A/B once more. (TP2's should be +5V, TP3's should be -5V.)
(2) Send GP-IB command "C1:M1:X:S1:X" . --- The output voltage should be
within the range from 0.99 to 1.01 V.
[8] Connect the DVM to the "Monitor" terminal of the source A. Send GP-IB
command "M5:X".
(1) Send GP-IB command "D0.0:X". --- Check the voltage. (≈ 0.05V)
(2) Send GP-IB command "D0.1:X". --- Check the voltage. (≈ 0.15V)
(3) Send GP-IB command "D0.2:X". --- Check the voltage. (≈ 0.25V)
(4) Send GP-IB command "D0.4:X". --- Check the voltage. (≈ 0.45V)
(5) Send GP-IB command "D0.8:X". --- Check the voltage. (≈ 0.85V)
[9] Connect the DVM to the "Monitor" terminal of the source B. Send GP-IB
command "M7:X". Repeat the procedure (1) to (5).
[10] Connect the leads of the DVM across the 1kΩ resistor. Send GP-IB command
"D1:X:V10:X:S1:X".
(1) Send GP-IB command "M4:X". --- Adjust the voltage as 10.00V by the
trimmer(T1/A) of the source A. Check the short-term stability of the output
voltage. (< a few ppm)
(2) Send GP-IB command "M5:X". --- Check the voltage. (10.00 ± 0.01V)
Check the short-term stability of the output voltage.
(3) Send GP-IB command "M6:X". --- Adjust the voltage as 10.00V by the
trimmer(T1/B) of the source B. Check the short-term stability of the output
voltage.
(4) Send GP-IB command "M7:X". --- Check the voltage. (10.00 ± 0.01V)
Check the short-term stability of the output voltage.
[11] Disconnect the DVM. Connect the leads of the oscilloscope across the 1kΩresistor. Send GP-IB command "P0 1:O10:X".
- 37 -
(1) Send GP-IB command "M0:X". --- Check the output-waveform of the
FRDC(*) mode.
(2) Send GP-IB command "M1:X". --- Check for the CPDC(+) mode.
(3) Send GP-IB command "M2:X". --- Check for the CPDC(-) mode.
(4) Send GP-IB command "M3:X". --- Check for the FRDC(/) mode.
[12] Send GP-IB command "C10:X:S1:X". (Current-mode) Repeat the procedure (1)
to (4).
4. 1. 2 Isolation Check
Purpose
To got the equal RMS power for DC and FRDC modes, it is essential that there is no
interference between the sources A and B. (Refer to Section 1.2 and 9.2.5 for detailed
information.) In this section, a method to evaluate the isolation between the sources is
described.
Measurement System
The measurement system consists from a high-resolution DVM, a GP-IB controller with
a GPIB interface, a FRDC source to be checked, and a "Source A/B Selector" as shown in
Fig. 402. The "Source A/B Selector" de-compose the combined waveform from the
FRDC source and distribute only the output from source A or source B to the TC. In
order to avoid the effect from the on-resistance of the analog switch, the measurement
should be done at current mode.
Checking procedure
[1] Replace U4 and U10 (HC74's) with the add-on type "A/B drive circuit" which
produce timing signal for A/B switching .
[2] Check battery inside the "Source A/B Selector".
(1) Connect FRDC output to the input-terminal of the "Source A/B Selector".
(2) Connect an SJTC to the output-terminal "A".
(3) Connect a dummy-resistor to the output-terminal "B".
[3] Measure the RMS of waveform A+ or A- at current mode. The EMF from the
SJTC should not change when the polarity from the source B is changed from B+
to B-.
[4] Set "Normal/Reverse" switch to "Reverse" position. This will effectively
exchange the sources A and B. Then measure the RMS of waveform B+ or B-.
The EMF from the SJTC should not change when the polarity from the source A
is changed from A+ to A-.
Selection of Modes
- 38 -
[1] For measuring the output of A+ while changing the output B+/B-, compare the
output of the modes between "DC+" and "FRDC(1)".
[2] For measuring the output of A- while changing the output B+/B-, compare the
output of the modes between "DC-" and "FRDC(2)".
[3] For measuring the output of B+ while changing the output A+/A-, compare the
output of the modes between "DC+" and "FRDC(2)".
[4] For measuring the output of B- while changing the output A+/A-, compare the
output of the modes between "DC-" and "FRDC(1)".
Source A
TC Source B
A+
B-
A+
CPU/SCC
Add-onCircuit
A/B control signal
Source A/B Selector
Circuit diagram for "de-composing" the waveform.
12
AD7510DI
16
1415
A/B Selector Circuit
13
FRDC IN
A out
B out
3µs delay
HP2231
From"Add-on" circuit
A/B control signal
QD
Q
2
3
5
9
QD
Q
QD
Q
5
QD
Q
QD
Q
2
3
5
9
QD
Q
5 V
14
To A/B Selector
12
11
Replace withU4
Replace withU10
"Add-on" circuit to CPU/SCC board
HC74
HC74/HC74(piggyback)
A/B control signal
Fig. 402
- 39 -
An example of the result for isolation-check measurement is shown in Table 401. In this
case, the uncirtainty due to the possible interfarence between the sources A/B are evaluated as
less than 0.3 ppm.
Date : 95/JUN/14ID : JEMIC-1Current : 9.5 mATC : ETL T08
0.10 ±0.230.02 ±0.20
-0.05 ±0.19
0.08 ±0.26
-0.11 ±0.23
* The uncertainty represents one standard deviation for ten measurements.
0.02 ±0.18
Check Interference Between the Sources A & B
0.13 ±0.20
0.00 ±0.24Source A+
Source A-
1 kHz100 Hz
Source B+
Source B-
DC(+) / FRDC(1)
FRDC(2) / DC(-)
DC(+) / FRDC(2)
FRDC(1) / DC(-)
Compare
in ppm
Table 401
4. 2 Earth/Guard Configuration
KST003 FRDC source uses dual guard/shield system as shown in Fig. 403.
Chassis Ground [GND].
Potential of the two chassis, i.e., SCU and WOU unit. The two chassis are connected by
the outer shield of the ±18 V power cable. The Chassis ground is internally connected to
the safety ground of the ac-power line.
Output Lo / Guard [GUARD].
Potential of the inner shield which surround the circuits inside the SCU and WOU unit.
The guard inside the two chassis are connected by the inner shield of the ±18 V power
cable. The Source-A circuits and the Source-B circuits are independently guarded in order
to obtain sufficient isolation between the two circuits, and are only connected at the output
connector. The "Output Lo" (earth-potential of the Source A/B circuits) is internally
connected to the GUARD potential.
- 40 -
Signal Lo, Guard, Ground Configuration
OUTPUT(Coax. Hi/Lo)
Output Lo/GUARD
Chassis GND
I/V Source(A)
I/V Source(B)
Sequence Control Unit Waveform Output Unit
Fig. 403
--- Measuring Thermoelectric Effects using KST003 FRDC Source --- (Software Manual)
§5 - Calibration of Thermal Convertor§6 - Basic Operation of the Program§7 - FRDC-DC Difference measurement§8 - Analyzing Measurement Results§9 - Measurement Uncertainty
<<< PART II >>>
- 41 -
Section 5 - Calibration of Thermal Converter
5. 1 Thermoelectric Effects of TC
The ac-dc transfer difference of a Single-junction TC(SJTC) is caused by threeindependent effects, i.e., (1) low-frequency effect δLF due to thermal ripple at the heater, (2)
high-frequency effect δHF due to stray capacitance and series inductance, and the
thermoelectric effect δTE due to Thomson and Peltier effects.
In the audio frequency range between 100 Hz and 10 kHz, the effect of δLF and δHF is less
than 1 ppm for most SJTCs. While the thermoelectric effect δTE gives a contribution of the
order of a few ppm to the ac-dc transfer difference of a SJTC in this frequency range.The thermoelectric effect δTE can be determined experimentally with the FRDC source.
When a TC is connected to the output of a FRDC source and the source is set to the DC
mode, dc current is passed through the heater of TC. Then, in addition to the joule heating
components, non-negligible amount of energy is created due to Thomson and Peltier effects.
The energy generated by the Thomson and Peltier effects changes their polarity when the
current is reversed, and modifies the temperature distribution, as illustrated in Fig. 501.
While in the case of Fast-switching mode, the reversal of the current is fast enough so that
thermoelectric effects do not have enough time to develop during the half cycle of the
waveform. Therefore the contribution from the thermoelectric effects becomes negligible.
The thermoelectric effects can be determined experimentally by comparing the output EMF
of a TC for dc and FRDC modes.
Thermal Response of TC for square wave input.
Joulecomponent
Peltiercomponent
Temp Temp Temp Temp
DC[+] DC[−]Slow
SwitchingFast
Switching
Fig. 501
- 42 -
5. 2 Thermal AC-DC Transfer Difference
The FRDC-DC difference of a thermal converter is calculated from the output EMF of the
TC by use of a measuring sequence [FRDC(1), DC+, DC-, FRDC(2)] as
δFRDC− DC
≅ −E
FRDC− E
DC
nEDC
(5. 1)
where,
EFRDC
≡E
FRDC(1) + E
FRDC(2)
2, E
DC≡
EDC + + E
DC−
2(5. 2)
The FRDC-DC difference δFRDC-DC can be recognized as the ac-dc transfer difference of
TC's in the case of square-wave input. While in most of the cases, the ac-dc difference is
defined using sinusoidal waveform as,
δAC −DC
≅ −E
AC− E
DC
nEDC
(5. 3)
where, EDC is defined in the same way as (5.2), and EACis defined as the EMF output for
sinusoidal input having same r.m.s. as dc.
When sinusoidal input is applied to a SJTC, the EMF output of the TC (EAC) is described
as,
EAC
≡ EJoule + ∆ELF ( f ) +∆EHF( f ) (5. 4)
where, EJoule is the ideal EMF output of the TC due to Joule heating. ∆ELF represents for the
low-frequency effect due to thermal ripple at the heater, and ∆EHF represents the high-
frequency effect due to stray capacitance and series inductance.In the dc mode, the EMF output (EDC) depends on the direction of the current due to
Thomson and Peltier effects.
EDC+ = EJoule +∆ ETE (1st ) +∆ETE(2 nd )
EDC− = EJoule − ∆ETE(1st ) + ∆ETE (2 nd )
(5. 5)
Where, ETE(1st) and ETE(2nd) are the first term and second term of combined Thomson and
Peltier effects. Higher order terms have been neglected. Combining eqs. (5.3) and (5.5), the
ac-dc difference for sinusoidal input is given by,
- 43 -
δAC −DC
≅ −1
nEDC
∆ELF( f ) −∆ ETE(2 nd) + ∆EHF ( f)( ) = δ
LF( f ) +δ
TE+ δ
HF( f )
(5. 6)
This formula explains the frequency dependence of the ac-dc transfer difference of TC's as
described in the previous section. This result is illustrated in Fig. 502.
0
δTE
f
δLFδHF(f) (f)
δ AC
-DC
Typical dependence of AC-DC differenceδAC-DC on test frequency f.
Fig. 502
Since the quantity δTE results from the dc mode, it has nothing to do with the input ac
waveform. In the case of square-wave input (FRDC mode), the EMF output of the TC(EFRDC) is described as,
EFRDC ≡ E Joule + ∆EHFFRDC( fSW ) (5. 7)
Since the FRDC mode produces a constant power at the heater of TC, there is no effect
from the thermal ripple at lower frequency. Also, the contribution from the Thomson and
Peltier effects becomes negligible if the switching period is short compared to the
thermoelectric time constant of the TC.
Combining eqs. (5.1), (5.5) and (5.7), the transfer difference for FRDC waveform is
given by,
δFRDC− DC ≅ − 1nEDC
−∆ETE (2 nd ) +∆EHFFRDC( f )
=δTE + δHF' ( f)
(5. 8)
- 44 -
This formula explains the dependence of the FRDC-DC difference of TC's on theswitching frequency as illustrated in Fig. 503. The high-frequency effect δHF due to stray
capacitance and series inductance will be discussed in more detail in section 9.2.2.
0
f
δTE
Typical dependence of FRDC-DC differenceδFRDC-DC on switcing frequency fSW.
SW
δHF
(f)'
δ FRD
C-D
C
Fig. 503
From the eq.(5.6) and (5.8), following important conclusions are deduced.
_________________________________________________________________
[1] The "thermoelectric transfer difference" of a TC can be evaluated by the
FRDC method if the effect of higher-harmonics is negligible or calculable at
some switching frequency.
[2] The "thermoelectric transfer difference" of a TC evaluated by the FRDC method is
equivalent to the frequency-independent or "intrinsic" ac-dc transfer difference
defined by sinusoidal waveform.
_________________________________________________________________
- 45 -
5. 3 Thermoelectric Time Constant
The thermoelectric effects are also present in the case of sinusoidal waveform. However,
double-frequency thermal ripple is produced at lower frequency as the heater temperature
bigins to follow the instantaneous current instead of the rms value, and the effect of the
thermal ripple smears out the relatively small thermoelectric effects. By the use of fast-
reversed dc waveform which produces constant joule heating, it is possible to detect the time
constant of the thermoelectric effect.
We assume that the thermoelectric effect build up exponentially with a characteristic time
constant τSW for a step change of the input current i0(t), as shown in Fig. 504(b). An
equivalent circuit for the thermoelectric effect is shown in Fig. 504(a). The thermoelectric
effect is represented by an additional current source which produces an excess current iTE(t).
The response function for iTE(t) is described by,
iTE( t) = I0δTE 1− e−( t −t0 ) τ SW( ) (for 0 ≤ t < TSW ) . (5.10)
R
E(t)
iTE
0t
+δTE
− TSW + TSW-δTE
i TE t( ) I0
i o iTC
(a)
(b)
Fig. 504
- 46 -
From the boundary condition that iTE(T) = - iTE(0), where TSW is the period of switching,
we obtain
t0 = τTE log2
1 +e− TSW τTE
. (5.11)
Then, the "effective" power P which is dissipated at the heater of the TC is
P ≡1
2R iTC (t)
rms
2=
1
2R
1
TSW
iTC(t) 2
0
TSW
∫ dt
=1
2RI0
2 1
TSW
1+δTE 1− e− (t− t 0 ) τ SW( ) 2
0
TSW
∫ dt
(5.12)
Since δΤΕ<<1, we can expand eq.(5.12) to the first order of δΤΕ, and obtain
P ≅1
2RI0
2 1
TSW
1 +2δTE 1− e− (t −t 0) τ SW( ) 0
TSW
∫ dt
=1
2RI0
2 1 +2δTE 1− (2τ SW
TSW
)tanhTSW
2τ SW
. (5.13)
The FRDC-DC difference is calculated using eq.(5.1) as
δFRDC− DC = δTE (2τSW
TSW
)tanhTSW
2τ SW
= δTE(4τSW fb )tanh 1 4τ SW fb( )[ ] . (5.14)
The period TSW is the inverse of the reversing frequency and one-half of the inverse of basic
frequency fb of the FRDC waveform. This formula explains the dependence of the FRDC-DC
difference of TC's on the switching frequency as illustrated in Fig. 504. Two parameters δΤΕ
and τSW can be calculated by the least-square curve-fitting of the data to the formula (5.14).
Dependence of δFRDC-DC on TSW.
-0.5
0
0.5
1
1.5
0.001 0.01 0.1 1 10 100 1000
δFR
DC
-DC
× 1τ TE
1TSW
×δTE( )
Fig. 505
- 47 -
Section 6 - Basic Operation of the Program
6. 1 Installation and Setup
6. 1. 1 System Requirements
In the case of a Windows system, the measurement system consists of an IBM-PC
compatible, a GPIB interface card (HP82335B or NI488), a nano-voltmeter (Keithley 182 or
HP34420A), and a thermal converter to be evaluated. The schematic diagram of the system
is shown in Fig. 601. Optical isolation of the GP-IB bus is recommended for measurement in
electrically noisy environments.
Since thermal converters can easily be damaged by overloading, it is recommended to use
a dummy resistance instead of the thermal converter for the initial checking of the system.
In the case of a Macintosh system, the measurement system consists of a Macintosh, an
RS232C/GPIB interface (Keithley 500S), a nano-voltmeter (Keithley 182 or HP34420A), and
a thermal converter to be evaluated. A modem cable should be used between the serial port
of Macintosh and the Keithley 500S. A Power-Book is recommended as the controller, since
the LCD display produces less noise than the CRTs, and it can be temporarily disconnected
from the ac-power line to check the noise through the ac-power line.
Source A
Guard (Input Lo)
DVM/nV Meter
Thermal Converter
Fast-Reversed DC Source
Source B
Guard
Triax Cableor
Twisted Pair w/t Shield
Coaxial Cable
Guard
GND
Hi
Lo
IMPORTANT ---- Input Lo and Output Lo of TC must have the same potential in order to avoid electrostatic break-down of TC.
IBM-PC/MacintoshwithGP-IB I/F
GP-IB Cable
Fig. 601
- 48 -
6. 1. 2 Software Installation
The control-software is supplied as a stand-alone application using a 3.5 inch floppy
disk. Make a new folder in the hard disk and copy all the contents in the floppy disk. In the
case of PowerBook or Laptop, energy-saving function such as CPU-cycling or auto-sleep
must be disabled.
6. 1. 3 Start/Quit Program
The main program for Windows-95 system is in the file "FRDC/VB 7.x.x". As soon as the
control program starts, the message window (Fig. 602) appears in the middle of the screen.
initialization
Keep Voltage/Current
Cancel OK
Fig. 602
Select [Cancel] button if power to the DVM and the FRDC source is not ON. In this case,
the system must be initialized later using the [Initialization] command from the [Direct
Operation] menu.
Select [OK] to initialize the system. To maintain the output of the FRDC source, leave the
check-mark in the [Keep Voltage/Current] option button. If the check is removed, the
output of the source will be reset to zero.
Watch the display of the DVM during the initialization. The message "KST003 FRDC"
will be displayed. If the message does not appear on the display, there is a problem in the
GP-IB interface.
If the [Keep Voltage/Current] option is selected, the caution alert (Fig. 603) will be
displayed.
KST003 FRDC Source
CAUTION!Voltage/current applied at the output. --- continue?
OK
!
Cancel
Fig. 603
Select [OK] button to apply the output to the load. Please note that even if the [OK] button
is selected, the output will not be applied to the TC until the "STBY/EXEC" switch on
the front panel of the FRDC source is turned on.
- 49 -
To exit from the program, choose [Quit] command from the [File] menu-bar (Fig. 604).
The status of the DVM and the FRDC source are left unchanged.
KST003 FRDC SOURCE / Control Software
Edit Direct Operation MeasurementFile
Save Data to... Ctrl+SPrint Data to...
Delete File... Ctrl+K
Quit Ctrl+Q
Fig. 604
6. 1. 4 User Interface
The operator can access any commands of the control-program from the main window
titled "KST003 FRDC SOURCE / Control Software" as shown in Fig. 605.
Operation/Status Report
KST003 FRDC SOURCE / Control Software
File Edit Direct Operation Measurement
Data Recorded to File
Summary of Measurement
I/O Monitor
Output to KST003 FRDC
Output to K182 DVM
Input from K182 DVM
*MENU*
Status report from the control program for checking the progress of the measurement.
Results from the FRDC-DC difference measurement in the same format as the data recorded to disk.
Summary of the results for each measurement procedures.
Fig. 605
- 50 -
Commands can be selected from the menu bars in this window. The menu bars have four
categories, i.e., [File], [Edit], [Direct Operation] and [Measurement]. The [Direct
Operation] menu gives the functions to set all the parameters of the FRDC source manually.
The [Measurement] menu enables the operator to set all the parameters in the FRDC-DC
difference measurement. See sections 3.3 and 3.4 for more details. The [Edit] commands are
not supported in the present version (v7.2.2).
There are four sub-windows in the main window, i.e., [Operation/Status Report], [Data
Recorded to File], [Summary of Measurement] and [I/O Monitor].
The [Operation/Status Report] window displays the status report of the control program.
In manual operation, the commands given to the source will be reported in this window so
that operator can follow the consequence of his commands. During the automated
measurement, the operator can check the progress of the measurement sequence.
The [Data Recorded to File] window displays the results from the FRDC-DC difference
measurement. The data are displayed using exactly the same format as the data recorded to a
file.
The [Summary of Measurement] window displays the summary of the results for each
measurement point (procedure). This window is also useful to monitor the over-all progress
of the measurement.
The [I/O Monitor] window displays all the commands and data transmitted through the
GP-IB interface. When the program is waiting for the next operation, a timer will be
displayed in this window.
- 51 -
6. 2 Manual Operation
6. 2. 1 Changing GP-IB address
Choose [GPIB address...] command from the [Direct Operation] menu as shown in
Fig. 606.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State OutputSequencial Output
Adjust Dummy...Adjust Sources...
Output WaveformOutput Mode/Level
Direct Operation
Fig. 606
The GP-IB address of the DVM and the FRDC source can be changed using a
window shown in Fig. 607. NOTE: The program does not resistor the changed GP-
IB address in the present version (7.2.2).
It is recommended that the GPIB address of the instruments are always set to;
"3" for FRDC
"7" for DVM.
Set GPIB Address
KST003 FRDC Source
Cancel OK
Keithley K182 DVM
703
707
Fig. 607
- 52 -
6. 2. 2 Voltage/Current Level
Choose [Output Mode/Level] command from the [Direct Operation] menu (Fig.
608). Then select either [Voltage Mode...] or [Current Mode...] command from the
sub-menu.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State OutputSequencial Output
Adjust Dummy...Adjust Sources...
Output Waveform
Direct Operation
Current Mode...
Voltage Mode...Output Mode/Level
Fig. 608
The output level of the source can be set manually using the window shown in Fig.
609. In the voltage mode, you can set the output voltage from 0.00 V to 10.23 V with
0.01 V resolution. In the current mode, you can set the output current from 0.00 mA to
10.23 mA with 0.01 mA resolution. WARNING! ---- Output current of more than
12 mA in the voltage mode may result in the damage of analog switches and
dummy resistance.
After selecting [OK] button, the caution alert will be displayed in order to confirm
that the output does not overload the thermal converter. Select [OK] button to apply
the output to the load. The color of the "OUTPUT" LED indicator on the front panel of
the SCU unit should change to;
Red : Voltage mode,
Green : Current mode.
Set Output Mode/Level
Voltage Output
Cancel OK
Current Output
Volt0.00
Fig. 609
- 53 -
6. 2. 3 Period / Off-Time
Choose [Output Waveform] command from the [Direct Operation] menu (Fig.
610). Then select either [Switching Period...] or [Off Time...] command from the
sub-menu.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State OutputSequencial Output
Adjust Dummy...Adjust Sources...
Direct Operation
Off-Time...
SW Period...
Output Mode/Level
Output Waveform
Fig. 610
The two parameter of the FRDC waveform Tsw, Toff can be set manually using the
window shown in Fig. 611. Please note that the switching frequency is the inverse of
the period, while the basic frequency (first harmonic) of the FRDC waveform is
one-half of the switching frequency.
The switching period (TSW) can be set between 100 µs and 25.5 s with 8-bit
resolution. The off-time (Toff ) can be set between 4 µs and 255 µs with 1 µs
resolution.
Set Period/Off-Time
Period
Cancel OK
Off-Time
ms1.00E+0
µs10
Fig. 611
- 54 -
6. 2. 4 Adjust Sources
Choose [Adjust Sources...] command from the [Direct Operation] menu as shown in
Fig. 612.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State OutputSequencial Output
Adjust Dummy...
Direct Operation
Output Mode/Level
Output Waveform
Adjust Sources...
Fig. 612
The output level of the four sources, i.e., A[+], A[-], B[+], B[-], can be adjusted manually
using the window shown in Fig. 613. The adjustment level are specified by the four
parameters β(A+), β(A-), β(B+), β(B-) as described in section 1.2. The four parameters can
be set within a range between -2.047 (%) to +2.047 (%) with 0.001 (%) resolution.
Adjust Output Level
Source A[+]
Cancel OK
%0.000
Source A[-] %0.000
Source B[+] %0.000
Source B[-] %0.000
Fig. 613
- 55 -
6. 2. 5 Adjust Dummy
Choose [Adjust Dummy...] command from the [Direct Operation] menu as shown
in Fig. 614.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State OutputSequencial Output
Direct Operation
Output Mode/Level
Output Waveform
Adjust Sources...
Adjust Dummy...
Fig. 614
The dummy resistance can be set manually within a range between 0.0 kΩ ohm and 1.5
kΩ with 0.1 kΩ resolution using a window shown in Fig. 615. The actual dummy resistance
will be adjusted 50 Ω larger than the specified value due to "on" resistance of the switching
elements.
The setting of the dummy resistance must meet the voltage and current compliance. The
voltage compliance is 12V for constant current output, hence dummy resistance should not
exceed 1.2 kΩ for 10 mA measurement. In voltage-mode measurement, the current
compliance is 12 mA. For example, measurement of a TVC with 10 V must have a dummy
resistance no less than 0.9 kΩ. It is safe to set the value to the default (1 kΩ).
Set Dummy Resistance
Cancel OK
kΩ1.0
Fig. 615
WARNING! ---- Too small setting of dummy resistance in the voltage mode causes
current-overload and may result in the damage of analog switches and dummy
resistance.
- 56 -
6. 2. 6 Sequential Output
Choose [Sequential Output] command from the [Direct Operation] menu (Fig.
616). Then select either [Modified FRDC[1] ], [Chopped DC[+] ], [Chopped DC[-]
] or [Modified FRDC[2] ] from the sub-menu.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State Output
Adjust Dummy...Adjust Sources...
Direct Operation
Output Mode/Level
Output Waveform
Sequencial Output
Chopped DC[+]
Chopped DC[-]
Modefied FRDC[2]
Modefied FRDC[1]
Fig. 616
The color of the "STATUS" LED indicators [A/B] on the front panel are;
Red/Green : A[+]/B[-] : Modified FRDC[1],
Red/Red : A[+]/B[+] : Chopped DC[+],
Green/Green : A[-]/B[-] : Chopped DC[-],
Green/Red : A[-]/B[+] : Modified FRDC[2].
- 57 -
6. 2. 7 Steady-State Output
Choose [Steady-State Output] command from the [Direct Operation] menu (Fig.
617). Then select either [Source A[+] ], [Source A[-] ], [Source B[+] ] or [Source B[-
] ] from the sub-menu.
KST003 FRDC SOURCE / Control Software
Edit MeasurementFile
Initialize...
GPIB address...
Steady-State Output
Adjust Dummy...Adjust Sources...
Direct Operation
Output Mode/Level
Output Waveform
Sequencial Output
Chopped DC[+]
Chopped DC[-]
Modefied FRDC[2]
Modefied FRDC[1]
Fig. 617
The color of the "STATUS" LED indicators [A/B] on the front panel are;
Red/Off : A[+] continuous,
Green/Off : A[-] continuous,
Off/Red : B[+] continuous,
Off/Green : B[-] continuous.
- 58 -
Section 7 - FRDC-DC Difference Measurement
7. 1 Measurement Procedure
The measurement procedure of a FRDC-DC difference measurement is basically the same
as that for standard AC-DC difference measurements. The program uses the measurementsequence [ ∗ + − / / − + ∗ ], where the symbols represent;
[ ∗ ] : Modified FRDC(1) mode
[ + ] : Chopped DC(+) mode
[ − ] : Chopped DC(-) mode
[ / ] : Modified FRDC(2) mode
In each mode, the output EMF of the TC are measured by the DVM, and the data are
averaged for the specified number of readings. The FRDC-DC differences are calculated
using the formula (5.1) given in section 5.2.
The following two additional functions are also provided by the control program.
(1) Automatic adjustment of the "Dummy" resistor. This function is necessary in order
to avoid overloading the source or dummy resistor. The program sets the value of the
dummy resistance to the same value as the input resistance of the TC/TVC to be
measured with 100 Ω resolution. (See section 9.2.4)
(2) Automatic adjustment of the output level of the four sources [A±/B±]. The program
adjusts the relative output level with 10 ppm resolution. (See section 4.2.7 of the
Hardware Manual.)
A flow-chart of the main automated measurement routine is shown in Fig 701. After the
initialization, the program measures the normalized index "n" of the TC. The program also
monitors the drift of the output EMF, and the index-measurements are repeated until the drift
is stabilized within a specified value.
NOTE ----- After repeating the index-measurement 10 times, the program proceeds to
the next stage even if the drift is still too large.
In the next stage, the program tries to adjust the four sources so that output EMF from the
TC becomes equal for all the steady-state output modes. These adjustments are repeated until
the output EMFs are within 20 ppm. After completing the adjustment, the program goes to
the main measurement sequence.
- 59 -
NOTE ---- After repeating the adjustment five times, the program proceeds to the next
stage even if the adjustment is still not sufficient.
MeasurementBlock #1
MeasurementBlock #n
MeasurementBlock #N
Adjust DummyResistance
Start
END
MeasurementSequence #1
MeasurementSequence #m
FRDC [1] Mode
MeasurementSequence #M
Store Datato DISK
DC [+] Mode
DC [-] Mode
FRDC [2] Mode
FRDC [2] Mode
DC [+] Mode
DC [-] Mode
FRDC [1] Mode
Change Mode
Wait forStabilization
DVMReading
EndingProcedure
Initialize
Set Meas.Parameters
MeasureIndex "n"
Adjust FourSources (A±/B±)
Calc. δFRDC-DC
Re-adjustSources
Fig. 701
- 60 -
7. 2 Start/Abort Measurement
To initiate a FRDC-DC difference measurement, choose [Execute...] command from the
[Measurement] menu (Fig. 702). The program prompts various measurement conditions
using the following five user-interface windows
.
(1) TC specification
(2) Measurement Parameters
(3) Measurement Procedures
(4) File to Save Data
(5) Measurement Options
Detailed description of these stages will be given in sub-sections 7.3.1 to 7.3.5. After
completing these stages, the program starts the main automated measurement routine.
KST003 FRDC SOURCE / Control Software
EditFile
TC Specification...
Execute... Ctrl+G
Break Ctrl+B
Measurement Parameters...Measurement Procedures...
Direct Operation Measurement
Fig. 702
To abort the measurement, choose [Break] command from the same [Measurement]
menu-bar. This interruption is possible only during the measurement sequence. The program
will be terminated after completing one set of measurement sequence. Quit commands from
the system ([CTRL+Q]win or [CNTL+CMD+ESC]Mac) will terminate the program
immediately.
- 61 -
7. 3 Setting Measurement Conditions
7. 3. 1 TC Specification
As the first stage of setting measurement conditions, the [TC/TVC Specification]
window (Fig. 703) will be displayed on top of the main window .
TC/TVC Specification
TCname
Nominal Input mA10
TCC TVC
OKOpen CancelStore
Name
Specification
Description
Nominal Output mV7.7
Input Resistance Ω25
Fig. 703
Proceed the inputs as follows;
(1) Enter the name of the TC/TVC in the [Name] text box.
(2) Select the type of TC from the two option buttons: TCC (Thermal Current Converter)
or TVC (Thermal Voltage Converter).
(3) Specify the nominal input voltage/current in the [Nominal Input] box..
(4) Specify the nominal output EMF in the [Nominal Output] box..
(5) Specify the total input-resistance of the TC/TVC (heater resistance + range
resistance) in the [Input Resistance] text box..
(6) Supplementary description of the TC/TVC can be given by the [Description] text
box..
- 62 -
It is very important to use the correct value for [Nominal Input] and [Input
Resistance], while the values of [Nominal Output] can be left blank.
There is no problem measuring a TCC in Voltage mode or to measure a TVC in current
mode. Just neglect a caution-alert which informs the mismatching of the specified type of
TC/TVC and the measurement mode.
Warning ----- Incorrect setting of the [Nominal Input] and [Input Resistance] may
result in the overloading of the TC/TVC and the dummy resistors.
Select [Store] button to save the specification of the TC into a file. To load the
previously registered specification-data to the program, select the [Open] button and select
a correct file. Select [OK] button to proceed to the next stage.
It is also possible to pre-input the TC specification. Choose [TC Specification...]
command from the [Measurement] menu, proceed as before in [TC/TVC Specification]
dialog box.
7. 3. 2 Measurement Procedures
The [Measurement Procedures] window (Fig. 704) appears after completing the
[Measurement Parameters] stage. It is possible to program output-mode/level and switching
frequency for each measurement-block.
Measurement Procedure
Output Level V10.00
SW Priod ms1.00E+00
Voltage Output
Current Output
OKOpen CancelStore
Mes# 1/15
List > >><< <
Fig. 704
Use the controls to register the parameters up to 100 measurement-blocks.
(1) Select the output mode of each measurement blocks: [Voltage Output] or
[Current Output].
- 63 -
(2) Specify the output level of each measurement block. In the voltage mode, the output
can be set between 0.00 V and 10.23 V with 0.01 V resolution. In the current mode,
the output can be set between 0.00 mA and 10.23 mA with 0.01 mA resolution.
(3) Specify the switching period (TSW) of each measurement block.
(4) Use the [<<], [<], [>] and [>>] buttons to scroll the window.
(5) It is possible to overview all measurement procedures. Select [List] button for
[Measurement Procedure List] window, as shown in Fig. 705. Select [Redo]
button for further modification of the measurement procedures.
Select the [Store] to save the measurement procedures in a file. To load previously
registered measurement procedures, select [Open] and then select a file. Select [OK]
button to proceed.
It is possible to pre-input the measurement procedures. Choose [Measurement
procedures...] command from the [Measurement] menu.
Measurement Procedure List
Store Redo
MES# Level Period Frequency
001 10.00(V) 1.00E+00(ms) 1.00E+03(Hz)
OK
002 10.00(V) 1.00E+04(ms) 1.00E-01(Hz)
003 10.00(V) 1.00E+03(ms) 1.00E+00(Hz)
004 10.00(V) 1.00E+02(ms) 1.00E+01(Hz)005 10.00(V) 1.00E+01(ms) 1.00E+02(Hz)
006 10.00(V) 1.00E+00(ms) 1.00E+03(Hz)
007 10.00(V) 0.10E+00(ms) 1.00E+04(Hz)
008 10.00(mA) 1.00E+00(ms) 1.00E+03(Hz)009 10.00(mA) 1.00E+02(ms) 1.00E+01(Hz)
010 10.00(mA) 5.00E+01(ms) 2.00E+01(Hz)
011 10.00(mA) 2.00E+01(ms) 5.00E+01(Hz)
012 10.00(mA) 1.00E+01(ms) 1.00E+02(Hz)
013 10.00(mA) 5.00E+00(ms) 2.00E+02(Hz)014 10.00(mA) 2.00E+00(ms) 5.00E+02(Hz)
015 10.00(mA) 1.00E+00(ms) 1.00E+03(Hz)
016 4.00(V) 1.00E+00(ms) 1.00E+03(Hz)
017 6.00(V) 1.00E+00(ms) 1.00E+03(Hz)018 8.00(V) 1.00E+00(ms) 1.00E+03(Hz)
014 10.00(V) 1.00E+00(ms) 1.00E+03(Hz)
Fig. 705
- 64 -
7. 3. 3 Measurement Parameters
After selecting [OK] in [TC/TVC Specification] dialog box, the [Measurement
Parameters] dialog box(Fig. 706) will be displayed .
Measurement Parameters
Wait for Trigger s10
Wait for Stabilize s60
OKCancelRevert
Output Level readings83
Measurement/block meas.10
Fig. 706
Specify the measurement parameters as follows;
(1) Enter the [Wait for Trigger] period; the waiting time before the DVM starts
reading. The [Wait for Trigger] period should be at least five times the Joule time
constant of the TC. (Default is 10 seconds)
(2) Enter the [Wait for Stabilize] period; the idling time between the sets of
measurement. After a large change of the input level, a large drift in the output EMF
can occur. It may take minutes before the drift reduces to an allowable level.
(Default is 60 seconds)
(3) Enter the number of [DVM Integration]; the number of reading the DVM takes for
one set of input. The DVM performs about 2 readings per second. (Default: 83
reading / 40 s for Keithley 182)
(4) Enter the number of [Measurement/block]; the number of measurement (sequence)
per each measurement block. (Default is 10 sets of measurements)
Use [Revert] button to re-load the default values. Select [OK] to proceed. If the default
parameters are used, one set of measurements will take about 45 minutes.
It is also possible to pre-input the measurement parameters. Choose [Measurement
Parameters...] command from the [Measurement] menu.
- 65 -
7. 3. 4 File to Save Data
After selecting [OK] in [Measurement Parameters] dialog box, [File to save
Measurement Data] window will be displayed. This is a standard user-interface window
with which the filename and its directory are specified.
It is possible to preset the measurement parameters before selecting the [Execute]
command. Choose [Save Data to...] command from the [File] menu. (Fig. 604)
7. 3. 5 Measurement Options
The [Measurement Option] window (Fig. 707) will be displayed as the final input-
window before initiating the automated measurement sequence.
Measurement Option
OKCancel
Comment(s)
Drift Allowance
1 ppm/min (standard)
10 ppm/min (for test)
Sequence Option
Normal [*+-//-+*]
Special [*+-/*-+/]
Ending Option
Goto stand-by mode
Keep output level
Fig. 707
Proceed to register the measurement options and append comments to the data.
(1) Select [Sequence Option]: [Normal] or [Special]. Default measurement is
[Normal]. [Special] is for evaluation purposes only.
(2) Select [Drift Allowance] option: [1 ppm/min] or [10 ppm/min]. Default is [1
ppm/min]. [10 ppm/min] is for a quick and less precise measurement.
- 66 -
(3) Select [Ending Option]: [Goto stand-by mode] or [Keep output level]. Default is
[Goto stand-by mode]. [Keep output level] maintains the same voltage or current
until the next measurement.
(4) Input any measurement conditions or comments in the [Comment(s)] text-box.
Selecting the [OK] button initiates the automated measurement procedure, i.e.,
index measurement, adjustment of the sources, and repetition of the measurementsequence [ ∗ + − / / − + ∗ ].
- 67 -
Section 8 - Analyzing Measurement Results
8. 1 Data Format
The results from the FRDC-DC difference measurement are stored into the specified data-
file using the same format as displayed in the [Data Recorded to File] window.
The data-file consists of the following records.
(1) Title "Data from the KST003 FRDC source."
(2) Main header common to all measurement-blocks, including;
(2-1) Comment of the measurement,.
(2-2) Name and type of TC to be measured,
(2-3) Input resistance of TC and selected Dummy-resistance,
(2-4) Off-time,
(2-5) Number of repetition of Measurement blocks,
(2-6) Waiting time before the DVM integration,
(2-7) DVM Sampling number.
(3) Data for one set of measurements, consisting of;
(3-1) Measurement number,
(3-2) Date and Time of each measurement block,
(3-3) Measurement parameters for each block, i.e., Output Level/Mode,
Switching Period/Frequency,
(3-4) Result of TC Index measurement,
(3-5) Result of Source adjustment,
(3-6) Results of one measurement-sequence "∗+−//−+∗", consisting of;
(3-6-1) Mesurement block number,
(3-6-2) Time of each measurement-sequence,
(3-6-3) EMF outputs for each mode ("∗+−/"),
(3-6-4) Average standard deviation of EMF outputs in ppm,
(3-6-5) FRDC-DC difference for each sequence in ppm,
(3-6) Average FRDC-DC difference for each measurement-block and its type-A
uncertainty in ppm. The result of measurement #0 is not included in the
average.
(4) Summary of the measurement.
All the data are recorded in simple ASCII text formats using semicolons as data-
separators. An example of a data-file is listed below.
- 68 -
Data from the KST003 FRDC source
Comment; Calibrate 3V traveling TVC with 20 sec waiting time
TC name/type; 3V-TVC; TVC
TC description; Traveling TVC-STD of 3V
TC/Dummy Res.; 500; 500; ohm
Off-Time; 10;micro sec
Repeat No.; 10;times
Waiting Time; 20;s
Reading Number; 83;reading
Mes. No.= 1
Date/Time; 09/01/95; 12:37:24
Output Level; 10; mA
SW Period; 1; ms ; (1.000E+03Hz)
TC Index; 1.78
Adjust A+/-; 0; -.012
Adjust B+/-; .014; 4E-03
Rep#; Time; Vac*(mV); Vdc+(mV); Vdc-(mV); Vac/(mV); Vsd(ppm); FRDC-DC(ppm)
0; 12:47:36; 7.3786805E+06; 7.3776618E+06; 7.3796692E+06; 7.3786537E+06; 3.05; -0.12
1; 12:56:49; 7.3769022E+06; 7.3768869E+06; 7.3768917E+06; 7.3768780E+06; 2.81; -0.06
2; 13:06:02; 7.3761990E+06; 7.3761880E+06; 7.3761824E+06; 7.3761756E+06; 2.77; -0.16
3; 13:15:15; 7.3755612E+06; 7.3755557E+06; 7.3755388E+06; 7.3755377E+06; 2.76; -0.17
4; 13:24:28; 7.3749769E+06; 7.3749757E+06; 7.3749446E+06; 7.3749487E+06; 2.53; -0.20
5; 13:33:40; 7.3744500E+06; 7.3744573E+06; 7.3744100E+06; 7.3744222E+06; 2.87; -0.19
6; 13:42:54; 7.3739522E+06; 7.3739666E+06; 7.3739095E+06; 7.3739317E+06; 3.36; -0.30
7; 13:52:07; 7.3734842E+06; 7.3735029E+06; 7.3734372E+06; 7.3734630E+06; 2.83; -0.27
8; 14:01:20; 7.3730522E+06; 7.3730863E+06; 7.3730051E+06; 7.3730383E+06; 3.09; 0.03
9; 14:10:33; 7.3726652E+06; 7.3726998E+06; 7.3726169E+06; 7.3726554E+06; 3.36; -0.15
10; 14:19:47; 7.3722816E+06; 7.3723205E+06; 7.3722263E+06; 7.3722671E+06; 3.22; -0.07
FRDC-DC diff;(in ppm); -0.15; ±; 0.09;(sd) ;(ex. #0)
------- SKIPPED ------
Mes. No.= 17
Date/Time; 09/02/95; 21:04:02
Output Level; 10; mA
SW Period; .1; ms ; (1.000E+04Hz)
TC Index; 1.80
Adjust A+/-; 0; -.011
Adjust B+/-; .014; 7E-03
- 69 -
Rep#; Time; Vac*(mV); Vdc+(mV); Vdc-(mV); Vac/(mV); Vsd(ppm); FRDC-DC(ppm)
0; 21:14:14; 6.7428340E+06; 6.7324727E+06; 6.7531374E+06; 6.7427796E+06; 3.20; -0.14
1; 21:23:27; 6.7325774E+06; 6.7325503E+06; 6.7325436E+06; 6.7325142E+06; 3.82; 0.09
2; 21:32:40; 6.7326116E+06; 6.7325790E+06; 6.7325727E+06; 6.7325472E+06; 3.51; -0.30
3; 21:41:53; 6.7326208E+06; 6.7325936E+06; 6.7325825E+06; 6.7325520E+06; 2.94; 0.13
4; 21:51:06; 6.7326156E+06; 6.7325907E+06; 6.7325766E+06; 6.7325533E+06; 3.52; -0.06
5; 22:00:19; 6.7326180E+06; 6.7325867E+06; 6.7325724E+06; 6.7325414E+06; 3.34; -0.01
6; 22:09:32; 6.7326192E+06; 6.7325872E+06; 6.7325790E+06; 6.7325466E+06; 3.30; 0.02
7; 22:18:45; 6.7326258E+06; 6.7325958E+06; 6.7325792E+06; 6.7325567E+06; 3.11; -0.31
8; 22:27:58; 6.7326354E+06; 6.7326090E+06; 6.7325968E+06; 6.7325688E+06; 3.08; 0.06
9; 22:37:12; 6.7326399E+06; 6.7326120E+06; 6.7325992E+06; 6.7325718E+06; 1.92; -0.02
10; 22:46:25; 6.7326428E+06; 6.7326157E+06; 6.7325979E+06; 6.7325728E+06; 3.09; -0.08
FRDC-DC diff;(in ppm); -0.05; ±; 0.14;(sd) ;(ex. #0)
Mes#; Time; Level;; Frequency;; ACDC(ppm);; (sd)
1;14:19:54; 10.00;(mA ); 1.000E+03;(Hz); -0.15; ±; 0.09
2;17:00:01; 10.00;(mA ); 1.000E-01;(Hz); -0.00; ±; 0.14
3;18:58:26; 10.00;(mA ); 2.000E-01;(Hz); 0.19; ±; 0.14
4;20:56:49; 10.00;(mA ); 5.000E-01;(Hz); 0.16; ±; 0.17
5;22:55:12; 10.00;(mA ); 1.000E+00;(Hz); -0.00; ±; 0.15
6;00:53:36; 10.00;(mA ); 2.000E+00;(Hz); -0.07; ±; 0.14
7;02:51:58; 10.00;(mA ); 5.000E+00;(Hz); -0.19; ±; 0.13
8;04:50:21; 10.00;(mA ); 1.000E+01;(Hz); -0.27; ±; 0.13
9;06:48:43; 10.00;(mA ); 2.000E+01;(Hz); -0.23; ±; 0.14
10;08:47:05; 10.00;(mA ); 5.000E+01;(Hz); -0.31; ±; 0.08
11;10:45:27; 10.00;(mA ); 1.000E+02;(Hz); -0.26; ±; 0.17
12;12:43:49; 10.00;(mA ); 2.000E+02;(Hz); -0.27; ±; 0.11
13;14:42:13; 10.00;(mA ); 5.000E+02;(Hz); -0.18; ±; 0.06
14;16:40:35; 10.00;(mA ); 1.000E+03;(Hz); -0.15; ±; 0.09
15;18:38:58; 10.00;(mA ); 2.000E+03;(Hz); -0.13; ±; 0.14
16;20:42:44; 10.00;(mA ); 5.000E+03;(Hz); -0.11; ±; 0.07
17;22:46:33; 10.00;(mA ); 1.000E+04;(Hz); -0.05; ±; 0.14
- 70 -
8. 2 Curve Fitting
Thermoelectric transfer difference δΤΕ and the time constants τΤΕ are the most important
quantities to be evaluated by the FRDC-DC difference measurement of a TC. The parameterscan be evaluated by curve-fitting the data of δ FRDC− DC to a formula which determines the
frequency-dependence of δ FRDC− DC .
8. 2. 1 Thermoelectric Effects
A simple mathematical model of the thermoelectric effect in a thermal converter has been
introduced in section 5.3. In this model, the thermoelectric effect was represented by anexcess current iTE=δTEi0 which responds exponentially with a time-constant τΤΕ.. Using the
model, the frequency dependence of the FRDC-DC difference δ FRDC− DC at lower frequencies
were calculated as,
δFRDC − DC = δTE (2τ
TE
TSW
)tanhTSW
2τTE
. (5.14)
An example of curve fitting of the data to the formula (5.14) is shown in the Fig. 801.
-1
0
1
2
3
4
5
0.1 1 10 100 1000 104
SJTC S10-32
5 mA
10 mA
δ FR
DC
-DC
ppm
fSW (fb )Hz
(0.05) (0.5) (5) (50) (500) (5000)
Fig. 801
- 71 -
The SJTC "S10-32" is manufactured by Best Products, and has a 30 ohm evanohm heater
with normal 'flux' bead. It shows a simple frequency dependence which can be fitted to a
single time-constant of 0.023 s. Thermal ac-dc difference were measured to be +3.8 ppm at 5
mA and +4.6 at 10 mA.
Another example of curve fitting is shown in the Fig. 802. The SJTC "S12-57" is from
Vacuum Products. It has two time-constants of 0.05 s and 0.9 s with oppsite polarity in
FRDC-DC difference. Thermoelectric transfer difference were measured to be -2.7 ppm at 5
mA and -3.0 ppm at 10 mA.
-4
-3
-2
-1
0
1
2
0.1 1 10 100 1000 104
SJTC S12-57
5 mA
10 mA
δ FR
DC
-DC
ppm
fSW (fb )Hz
(0.05) (0.5) (5) (50) (500) (5000)
Fig. 802
8. 2. 2 Dielectric Loss/Absorption
When TCs are connected in series with range resistors and measured in current mode, the
effect of dielectric loss/absorption in the input circuit becomes significant. The equivalentcircuit diagram which describes this effect is given in Fig. 803. The input capacitance (Cd)
and the effective leakage resistance (Rd) are of the order of 0.1 pF and 1 GΩ respectively.
In this case, a proportional increase of the FRDC-DC difference vs the switchingfrequency is observed. The effect is also proportional to the input (load) resistance (Rr+Rtc).
δFRDC −DC
≅2Cd Rr + RTC( )
TSW
. (8.1)
- 72 -
The linear dependence of FRDC-DC difference to switching frequency is observed in the
case of multijunction thermal converters, probably due to the dielectric loss of the insulating
material of the heater.
R
R
r
Cd
TC
iiIN
Rd
TC
Fig. 803
Examples of curve fitting of the formula (8.1) are shown in Fig. 804. The MJTC
"PTB#73" shows a linear frequency dependence of -0.1 ppm/kHz at voltage mode (3 V). The
frequency dependence is much smaller in the current mode (10 mA). Thermal transfer
differences are evaluated to be less than 0.1 ppm at both current and voltage modes.
δ FR
DC
-DC
ppm
-2
-1.5
-1
-0.5
0
0.5
1
0.1 1 10 100 1000 104
MJTC PTB73
10 mA
3 V
fSW (fb )Hz
(0.05) (0.5) (5) (50) (500) (5000)
Fig. 804
- 73 -
The MJTC "GL32472" is from Guildline. It shows a linear frequency dependence of the
order of +0.1 ppm/kHz at both voltage mode (5 V) and current mode (10 mA). Thermal
transfer differences are evaluated to be less than 0.1 ppm at current mode and -2.0 ppm at
voltage mode.
δ FR
DC
-DC
ppm
-2.5
-2
-1.5
-1
-0.5
0
0.5
0.1 1 10 100 1000 104
MJTC GL3247210 mA
5 V
fSW (fb )Hz
(0.05) (0.5) (5) (50) (500) (5000)
Fig. 805
- 74 -
Section 9 - Measurement Uncertainty
9. 1 Type-A Uncertainties
The sources of uncertainty for category-A evaluation consists of three parts, i.e., (a)
instability of the output of the fast-reversed dc source, (b) instability of the output EMF of
the thermal converter to be measured, and (c) the resolution of the detector. All the sources
of Type-A uncertainty are to be evaluated at the time of measurement. Typical example of
reproducibility for the measured FRDC-DC difference is shown by fig. 901.
-1
-0.5
0
0.5
1
1.5
0 50 100 150 200 250 300
Var
iatio
n of
Out
put (
ppm
)
Time (s)
M4 mode(Steady-state DC)
[Voltage Mode] M1 mode("Chopped" DC [5µs/1ms])
Fig. 901
9.1.1 Instability of Source
There are two kinds of stability in the output, i.e., the short-term stability (noise) and the
long-term stability (drift). For example, jitters of the timing pulse due to transmission
through the optical fibers gives rise to random noise in the output. The change of temperature
causes a drift in the measurement system.
A result for an experimental evaluation for the output-stability is given in Fig. 902. In
this measurement, the output voltage was directly monitored by a high-precision DVM
(HP3458A). In the case of the chopped DC which has periodic glitches, a low-pass filter was
inserted at the output in order get average value.
In the measurement of the FRDC-DC difference, the output is integrated by the DVM
for about 10 seconds, and the short-term fluctuation within this period do not become the
- 75 -
source of uncertainty. On the other hand, the long-term drifts due to the change of
temperature are also largely compensated by the standard measurement sequence
[ ∗ + − / / − + ∗ ].
-1.0
-0.8
-0.6
-0.4
-0.2
0
0 10 20 30 40 50 60 70
FRD
C-D
C D
iffe
renc
e (p
pm)
Time (hour)
TVC(10V03) measured at 10V, 1 kHz
'94/SEP./03-05
average=-0.521±0.004 ppm
Fig. 902
9.1.2 Instability of Thermal Converter
In the case of a SJTC, the temperature coefficients of the output EMF are much larger
than that of the FRDC-source output . As a result, the drift in the output of the source is
mostly determined by change of temperature of the TC. Though this long-term drift is largely
compensated by the standard sequence, it can still cause an error of the order of a few ppm.
Hence thermal guarding is critically important for a precise measurement.
In addition to the drift due to temperature change, there is also Johnson noise of the
thermocouple of TC. In a standard-type SJTC with 10 Ω EMF output impedance, the
Johnson noise en is estimated as,
en(rms) ≅ 4 ×1.38 ×10− 23(J/ K) × 400(K) × 10(Ω)
≅ 0.5 nV / Hz. (9.1)
In this case, the thermal noise from the TC is as small as 0.04 ppm/√Hz with respect to
the total output EMF of 7 mV assuming a square-law response.
- 76 -
9.1.3 Noise of Detector
The noise of the detector often dominates the over-all resolution of the measurement
system. For example, if we use a Keithley K182 nano-voltmeter as a detector, it has typical
input-equivalent noise of around 14 nV/√Hz. This noise amounts to 1 ppm/Hz with respect to
the total output EMF of 7 mV, more than ten times larger than the Johnson noise of the
thermocouple.
- 77 -
9. 2 Type-B Uncertainties
9.2.1 Effect of Imperfect Switching
(a) Slew rate
In the case of original FRDC waveform, the slew rate had a large effect. For example, at a
switching frequency of 100 Hz, assuming that the leading edge rises or falls linearly with
time during 10 ns, the loss of power is,
∆P ≅ 2 3( ) × 10 ns 10 ms( ) ≅ 0.7 ppm .
This effect increases linearly as the SW frequency is increased.
With the modified waveform, the slew rate does not affect the measurement, because the
same slope is reproduced in both the FRDC and the "chopped" DC mode.
(b) Switching-transients
Switching transients were also a big problem in the case of original waveform. Actually, the
effect of transients were much larger than the effect from the slew rate, and sometimes it was
possible to adjust the transients to compensate for the effect from the slew rate.
With the modified waveform, the transients do not have any effect, as long as the same
transients are reproduced for the FRDC mode and the "chopped" DC mode.
9.2.2 Higher Frequency Components
The rectangular waveform of the FRDC mode contains a large number of higher-
frequency harmonics. The power of the higher-frequency components can be by-passed
through a shunt capacitance. The power-loss due to the by-passing becomes significant even
at switching frequencies as low as 100 Hz [7].
The calculated spectrum distribution of FRDC, CPDC and CPFR modes are shown in Fig.
903. The power spectrum of the original FRDC waveform is characterized by an envelope
(2/nπ). Since steady-state dc has no Fourier components, the difference between (2/nπ) and 0
give a measure of the harmonics in the FRDC waveform.
In the modified waveform, the harmonics of CPDC are represented by a periodic envelopewhich oscillates between (2/np) and 0 with a period ∆f=1/toff. The harmonics of the modified
FRDC has a similar periodic envelope, phase-shifted 180 degree (∆f/2) relative to that of
CPDC. When the off-time toff.is sufficiently larger than the characteristic time-constant of
the circuit, then the relative difference of total power for the "chopped" DC and the modified
FRDC is very close to zero. Thereby a large reduction of harmonics-effect takes place.
- 78 -
0
αn
f
2
Steady-State DC
FRDC Modified FRDC
Chopped DC
∆f = 1/toff
Fig. 903
9.2.3 Memory Effect of Analog Switches
At the early stage of development of the fast-reversed dc source, a linear dependence of
FRDC-DC difference with switching frequency was observed, even using the modified
waveform. This was traced to a "memory" effect of the analog switches.
When an analog switch changes from ON state to OFF state, some charge is trapped in the
conduction channel of FET switching device. The polarity of the trapped charge depends on
the polarity of the voltage across the analog switch. This charge is released and injected as
output current when the switch turns ON again. The amount of the stored charge was
estimated to be a few pC, in agreement with the specification-data of the analog switch.
The KST003 fast-reversed dc source uses two independent sources as described in Sec. 1.2
in order to cancel this effect. The analog switches, which connect the sources A/B to a TC,
change their state (ON/OFF) during a period when no voltage is applied. As a result, the
"memory" effect has been reduced within the resolution of the system.
9.2.4 Interference Between the Sources
To get equal RMS power for DC and FRDC modes, it is essential that there is no
interference between the sources A and B, as described in Sec. 1.2. In order to avoid the
possible interference between the two current sources, the sources A and B are electrically
isolated using optical fibers. The sources A and B are separately shielded by 6 mm-thick
aluminum boxes which reduces both thermal and electromagnetic coupling. The power
- 79 -
supply's for those sources use independent transformers isolated by magnetic shields. This
precaution eliminates for the possible interference of the two sources through the ac power
line.
It is possible to check the interference between the sources A and B experimentally. The
measurement scheme is described in Fig. 904. The "Source A/B Selector" de-composes the
combined waveform from the FRDC source and distributes only one of the output to the TC.
If there is no interference between the sources A and B, the EMF output of the TC should
stay unchanged when the polarity of the source B is changed from plus to minus.
Source A
TC Source B
Circuit diagram for "de-composing" the waveform.
A+ A+B- B-A+
B-
A+
CPU/SCC
A/B control signal
Source A/B Selector
Fig. 904
In order to avoid the effect from the on-resistance of the analog switch, the measurement
should be done at current mode. The actual checking procedure and detailed description of
the measurement system is given in Section 4.1.2.
9.2.5 Dielectric loss/absorption in the TC-input circuit.
When there is a dielectric loss or dielectric absorption in the TC-input circuit as discussed
in section 8.2.2, it can cause frequency-dependent errors in the FRDC-DC difference
measurement which is proportional to the input-resistance of TC. This effect may be
significant when the ambient humidity is more than 80% or the TC-input circuit is
contaminated by finger-prints or flux.
The precautions to avoid an error due to this effect are,
(1) Clean all the parts of connectors in the output (TC-input) circuit by an organic solvent
before the assembly.
(2) Cover the possible leakage path (surface connecting output Hi. and Lo. conductors) by
water-resistant adhesive.
(3) Keep the ambient humidity below 80%.
- 80 -
(4) Check this effect by measuring a TC in series with 1 kΩ range resistor. In the normal
condition, the change of FRDC-DC difference due to the additional 1 kΩ resistance
should be within 0.5 ppm at 10 kHz.
9.2.6 Other Source of Uncertainty
Other sources of uncertainty are,
(1) Too short "off-time"The period toff must be long enough for the switching transient to die out. Usually,
off-time of 10 µs is sufficient compared with 50 ns of the switching time. This effect
may be checked experimentally by changing the off-time.
(2) Too long "off-time"The period toff must be short enough compared with the switching period TSW. The
off time reduces effective power as (1-toff/TSW). If we choose an off-time of 10 µs, the
loss of power is 1% at 1 kHz and 10% at 10 kHz. The off-time must also be short
enough compared with the time constant of joule heating τjoule. Otherwise, thermal
ripple will be produced and may cause an error due to non-linearity of the system.
These effects may be checked experimentally by changing the off-time.
(3) Mismatching of rms power
As in the case of an ac-dc difference comparator, mismatching of rms power
between the FRDC mode and the DC mode can cause an error due to the nonlinear
output characteristic of the TC to be measured. It is recommended that all the four
sources (A±, B±) should be adjusted to better than 100 ppm before each measurement.
(4) Mismatching of load resistance
At the early stage of development of the source, we have observed an effect of
mismatching in the resistance's between the dummy and the TC. This error was traced
to an improper circuit design of the transconducting amplifier at the output circuit.
After improvement of the circuit, the effect was reduced within the resolution of the
system.
(5) Output impedance of the source
The output impedance of the current source is > 1MΩ, while that of the voltage
source is < 0.1 Ω. The effect from the finite output impedance may be neglected so
long as (1) input resistance of TC is from 10 Ω to 1 kΩ, and (2) the absolute value of
FRDC-DC difference is of the order of several ppm at most.
- 81 -
9. 3 Criteria for Proper Operation
The following items are guidelines for the reliable measurements.
(1) No correlation between source A and source B is observed (Section 9.2.4).
(2) Changing Toff does not affect the FRDC-DC difference.
(3) Mismatch in the load resistance does not affect the measurement value.
(4) The drift in the output EMF of TC stays smaller than 1 ppm/min. during the
measurement.
(5) The FRDC-DC difference approaches zero when switching frequency is reduced
below the characteristic frequency (1/τTE).
(6) The FRDC-DC difference stays at a constant value when the switching frequency
(1/τTE) is increased above the characteristic frequency.
(7) No long-term drift in the measured FRDC-DC difference is observed.
(8) Measured themoelectric transfer difference agrees with the theoretical evaluation.
Items (1) to (3) should be examined whenever the source is modified or repaired. The
criteria (4) to (6) should be examined at each measurement. The criterion (5) is useful to
check the equality of RMS for FRDC modes and DC modes, since there is no difference in
the response of TCs at switching frequency f<fTE. The criterion (6) is necessary because the
FRDC source cannot determine δΤE of a TC which has very small thermoelectric time
constant. The criteria (7) to (8) is useful to ensure the proper operation of the over-all
measurement system.
- 82 -
Appendix ABiographyAppendix BTrouble ShootingAppendix CCircuit DiagramsAppendix DComponents Layout Appendix EParts ListAppendix FEPROM Program ReferenceAppendix GEPROM Program List Appendix H Measurement Program List
<<< APPENDIX >>>
- A1 -
Appendix
Appendix (A) Biography
[1] M. Klonz, R. Zirpel and B. Stojanovic, "Improving speed and accuracy of ac-dc transfer
using a fast reversed dc," CPEM'90 Conference digest, pp. 68-69, 1990.
[2] M. Klonz, R. Zirpel and B. D. Inglis, "Chasing the ac-dc transfer difference between
single-junction and multijunction thermal converters," CPEM'92 Conference digest, pp.
54-55, 1992.
[3] H. Sasaki, K. Takahashi, M. Klonz and T. Endo, "High-Precision AC-DC Transfer
Standards at ETL", IEEE Trans. Instrum. & Meas., Vol. 42, No. 2, pp. 603-606, 1993.
[4] H. Sasaki, K. Takahashi, M. Klonz, "Development of a Fast-Reversed DC current
source", CPEM'94 Conference digest, pp. 386-387, 1994.
[5] M. Klonz, G. Hammond, B. D. Inglis, H. Sasaki, T. Spiegel, B. Stojanovic, K. Takahashi
and R. Zirpel , "Measuring thermoelectric effects in thermal converters with a fast
reversed dc," IEEE Trans. Instrum. & Meas., Vol. 44, 1995.
[6] M. Klonz, T. Spiegel, H. Sasaki, K. Takahashi and B. D. Inglis, "Fast Reversed DC:
Basic Reference for AC-DC transfer.", CPEM'96 Conference digest, pp. 501-502, 1996.
[7] H. Sasaki, B. D. Inglis, K. Takahashi and M. Klonz, "Determination of The Time
Constants of Thermoelectric Effects in Thermal Converters Using a Fast-Reversed DC",
CPEM'96 Conference digest, pp. 588-589, 1996.
- B1 -
Appendix (B) Trouble Shooting
Hang-up of GP-IB interface
In the case of Macintosh system, initialization of the GPIB interface sometime causes a
hang-up of the interface. In this case, power-on-reset of the Macintosh is required.
Instruments does not respond
The program does not register the change of the GP-IB address. After re-starting the
program, the GP-IB address of the FRDC source and theDVM will be reset to the defaults,
i.e., "3" and "7", respectively.
Measurement does not proceed
In the case of a lap-top controller, CPU cycling or CPU-sleeping may occur. It is
recommended to disselect the energy-saving function.
Timer does not count down
See "Measurement does not proceed".
No output from the FRDC source
Check the STBY/EXEC switch.
- C1 -
Appendix (C) Circuit Diagrams
Fig. C01: Circuit Diagram of Sequence Control Circuit.
Fig. C02: Timing Chart of Sequence Control Circuit(1).
Fig. C03: Circuit Diagram of WOU (Analog Circuit).
Fig. C04: Circuit Diagram of WOU (Control Logic).
Fig. C05: Timing Chart of Analog-SW Control Logic.
Fig. C06: Circuit Diagram of Power Supply.
CL
K(C
N1)
6 MHz
1 MHz
200 kHz
S/L
Tim
ing
DD
74H
C16
6
D
Q Q
Q Q
Q Q
RTRV
Tri
g A
&B
DD
74H
C16
6Q Q
Q Q
Tri
g B
A ON
STBY
B ON
A/B
74H
C39
0
Ena
ble
S/L
Clo
ck
74H
C19
3
A POL
B POL
V / I
I
ON
- S
TB
Y
V A+
A-
B+ B-
÷ 100
CTC2Trig
Tri
g B
DQ Q
A D
ata
B D
ata
Trig B
Trig A
PC (b0)
Reset(CN1)
PE (b0 - b7)PD (b0 - b7)
CTC2 Out
PC (b1)
41
DRDY
42
3
40(J1)
17 to 24
9 to 16
8
PB (b2)27
PC (b4)
DD
Q Q
Q Q
Q Q
D
7
PC (b5)
45
46
7CTC1 Out
CTC1Trig
4
6CTC0 Out
CTC0Trig
5
PC (b6)47
PC (b3)44
PC (b2)43
PC (b7)48
R G R G R G
4 6 8 10 12 14 2ST
BY
/ E
XE
C
PA (b0 - b7)33 to 40
12 to
5L
D1
- L
D8
1314
PB (b0)
PB (b1)
25
26
Vcc
LD
CL
K
RE
AD
Y
OK
Vcc
(C
N1)
GN
D
GN
D(C
N1)
1 2 3 4 1(J1
)
U26
21 21 21 21
U24 U25
U23
U22
413
215
314
116
12(J
1)
U15
13
8
13
11
1012
12
1312
U6
U10
151
109
7
1113
14
5 4
74H
C19
3
151
109
6
1113
14
5 4U
1
U14
U13
12
U15
34
9
13
11
10
12
U5
5
1
3
4
2
U5
5
1
3
4
2
U10
9
13
11
1012
U21
9
13
11
1012
U20
5
1
3
4
2
U21
5
1
3
42
U20
15
34
213
U8
U8
U19
89
10
U3
U2
17, 9 11,
133, 5U
133
U13
109
8
13 11
12
U15
U15
9
8
5
6
2
31
4
6
5
46
5
U13
U15
U11
U11
21
14
11
13122
34
715
513
U12
1
74H
C39
0
142
34
715
13 U7
1
12
U17
U17
U17
U17
1110
98
34
56
215
314
413
512
611
116
7
10
321
64 5
U6
U6
32 1
U9
6
45
1098
13
1112
U9
U9
U9
3
2 1
645
54
6
108
9
U19
U16
U16
U16
2
1
U17
U17
13
12
U19
126
9
13
11
10
12
1098
U11
U15
1110
13137 15 7 15
6 61
9
19
2,3,
4,5
10,1
1,12
,14
2,3,
4,5
10,1
1,12
,14
U11
9
810
U4
U18
220
Ω x
6R
P1
10 k
Ω
2
.7 k
Ω
U16
9
8
U6
321
11
12 13
11
PB (b3 - b7)28 to 32
21 to
17
TD
4 -
TD
8
28 STBY / EXEC
24 to
22
TD
1 -
TD
3
KST
003
Fas
t-R
ever
sed
DC
Sou
rce
Seq
uenc
e C
ontr
ol U
nit :
CP
U/S
CC
Boa
rd
Ver
.4.7
94
Dec
. 16
H. S
asak
i/ K
. Tak
ahas
hi/ S
. Hon
da
KB
C -
Z11
CPU
Boa
rd
UIO
-488
Z
Fron
t Pan
el
b0 b1 b2 b3 b4 b5 b6 b7
J2 33 34 35 36 37 38 39 40
12 11 10 9 8 7 6 5488Z
Z11
Por
t A
b0 b1 b2 b3 b4 b5 b6 b7
J2 9 10 11 12 13 14 15 16
2 3 4 5 10 11 12 14U5
Z11
Por
t D
b0 b1 b2 b3 b4 b5 b6 b7
J2 17 18 19 20 21 22 23 24
2 3 4 5 10 11 12 14U7
Z11
Por
t E
b3 b4 b5 b6 b7
J2 28 29 30 31 32
21
20
19
18 17
488Z
Z11
Por
t B
J3
J3
R2
R1
9
9
J4J4
1 3J5+
5V
2(J1
)
3(J1
)
4(J1
)
R6
R4
R5 R3
TP2
TP1
TP3
T4
T2 T3 T1
TP7
TP5
TP6
TP4
(One
-poi
nt e
arth
)
C22
Fig. C01
- C2 -
Tri
g A
/ (R
eset
)
Tri
g B
/ (S
et)
Clo
ck G
ate
(Loa
d / S
hift
)O
N/O
ff
Syst
em (
6 M
Hz)
CT
C 0
IN
PUT
1MH
z C
lock
CT
C 1
IN
PUT
Tim
ing
Clo
ck (
2 &
10
Puls
e)
Tim
ing
Cha
rt (
Sequ
ence
Con
trol
Cir
cuit
) #1
Tim
ing
Clo
ck1
21
23
45
67
89
10
Fig. C02(a)
- C3 -
Han
dsha
ke C
ontr
ol
Tri
g A
Ena
ble
Dat
a R
eady
Rea
dy to
Rec
eive
Tim
ing
Cha
rt (
Sequ
ence
Con
trol
Cir
cuit
) #2
Dat
a (P
D, P
E)
Loa
d D
ata
Dat
a-H
old
time
(3
µs m
in.)
Fig. C02(b)
- C4 -
KST
003
Fas
t Rev
erse
d D
C S
ourc
e --
- W
avef
orm
Out
put U
nit (
1 --
- A
nalo
g C
ircu
t)
(AD
581)
+−
+−
+−
+−10
k
10 k
Ver
.4.8
94
June
03
H. S
asak
i/ S
. Hon
da
50 Ω
200
Ω40
0 Ω
800
Ω
RL
0R
L1
RL
2R
L3
(Dum
my
Loa
d)
100
Ω
+−
10 k
+−
+−
+15
V
+15
V
All
OP
amp'
s ar
e L
T10
14
+18
V-1
5 V
+15
V
5 V
78L
05
79L
15
78L
15
- 18
V
10 k
10 k
10 k
9 k1
k
100
Ω
Boa
rd [
I ]
+−
10 k
10 k
10 k
+ −
+−
-15
V
-15
V
+− 10 k
10 k
10 k
9 k 1
k
100
Ω2SK
1061
2SJ1
67
SW7(
a)
SW4
SW5
SW8(
b)
SW1
SW2
SW7(
b)
SW8(
a)1
k
1 k
500
Ω
500
Ω
SW6
Mon
itor
Out
put
SW10
SW9
SW3
All
Ana
log
SW's
are
IH51
43(A
D75
49-b
)
Cha
nnel
1
Cha
nnel
2
12 3
89
10
12
13
14
15
16
17
18
76 5
7
12
312
1314
56
1098
10 k
200
19
20
DG
DG12
13
14
15
16
17
18
19
20
121314
12 3
7
56
47
33 p
47
33 p
47
33 p
47
33 p
89 10
7
4,16
523
1
A1
A2
A2
A2
A2
A4
A4
A4
1098
10 k
10 k
A4
A1
A1
A3
A3
3 2 1 6 5 7
A3
5,9
1
63 8 6
4,16 5,9
13 8 6
4,16 5,9
1
3 8 6
4,16 5,9
13 8 6
4,16 5,9
13 8 6
4,16 5,9
13 8 6
4,16 5,
9
13 8 6
4,16 5,9
13 8 6
4,16 5,9
13 8 6
D S
DS
109
48
67
51,
2
1117
1319
594161,
3
6,8
+15
V
Boa
rd [
II
]
Boa
rd [
I-S
UB
]
Boa
rd [
I ]
Boa
rd [
II
]
2SJ1
67
2SK
1061
DS
D
S
100
Ω
100
p
100
p
20 k
20 k
100
p
100
p
100
p
100
p
100
p
100
p
47
10 k
-10.
03 V
+10
.03
V
DG
*
*Dig
ital G
roun
d ar
e fo
r L
ogic
Cir
cuit,
DA
Cs
and
Ana
log
SWs.
**A
nalo
g G
roun
d sh
ould
onl
ybe
use
d fo
r V
olta
ge a
nd C
urre
ntSo
urce
cir
cuit.
AG
**
+15
V+
5 V
-15
VD
G*
AG
**
DG
*
27,2
94,
8,23
,25
-15
V+
15 V
12 1314
11
D3
D1
GN
D
GN
D
VZ
1
R4RP4
T1
0.1
µ
0.1
µ0.
1 µ
***±
18V
are
for
OP-
amps
A1,
A2,
A3
and
A4
only
.
TP5
TP4D
AC
1
(AD
7549
-a)
DA
C1
(AD
7549
-a)
DA
C2
(AD
7549
-b)
DA
C2
RP9
+−
+−
+−
200
k 39 k
200
k 39 k
R3
C10
R10
C21
TP3
TP2
RP5
RP2
RP3
RP1
RP1
0
RP7
RP8
RP6
R6
R7
R12
R13
R5
C11
R11
C22
TP6
TP1
R2
C5
R1
C6
R8
C17
R9
C16
Q2
Q1
Q3
Q4
R5
R6
C42
C41C40
C39
R4 R5
R3
J4
J5
J3
109
J3
+18
V
CO
M
-18V
48
67
51,
2
J3 J3
R7
R4
R3
R2
R1
2
1,3 4
C2
VR
2
VR
3
VR
1J2
C12
C1
C13
C45
C59
C60
C1
C2
C7
C3
C5
C6
C4
D2
D1
J1J2
J1 J2
J1
J2
6
4
6
4
6
4
6
4
Fig. C03
- C5 -
DA
TA
Clo
ck
Q2
SW7/
8
bit 4-7
D0
- D
3
Q4
Q1
Q3
A0
- A
2
bit 0-3
Q
QD
A
QD
QD
D1
ON
/Off
4/6
HC
174
1/6
HC
174
1/6
HC
174
4/6
HC
174
HC
175
HC
164
(20
µs)
(1 µ
s)
D0-
D3
A0-
A2
UPD
CS
D0-
D3
A0-
A2
Lat
chin
gR
elay
s
D0
- D
3
HC
175
Q(1
0 m
s)
A3
A3
D CK
(Selected for "0111")
QD1/
2 H
C74
V
QD
1/6
HC
174
QD1/2
HC
74
CK
1QD
1
D3
1Q
D0
SW
9/10
Q
Polarity
SW1/
2
SW7/
8
SW4/
5
I Mode Con
nect
Exe
c
Del
ay 5
0 ns
TR
IGQ
(1 µ
s)
Q
30,28,26
SW3
SW6
Del
ay 5
0 ns
D2
D3
D4
Cle
arCle
arD
2
WR
UPD
CS
WR
D0
- D
3
CS(
1)
CS(
2)
WR
UPD
DG
ND27
,29
CL
CL
DG
ND
6 8
DG
ND
2
51,2,3,4
U6
U8
CL
U4
U4
U13
CL
CL
CL
U1
U12
CLU
12B
BB
B
CL
CL
CL
U14
U14
4 3 2 1 4 3 2 1
U3
U1
U4
U7
U7
U7
1245
36
131211
U9
121
U5
2
4
1213
12
U3
U2
8
109
U5
U2
1356
U9
4 536
U3
U9
10 9
811
2 3
512 11
89
113
410
U13
U10
BAA
A
A
U11
U2
U2
U3
U3
U15
U15
U15
U15
U16
U16 U16
U16
1 23
12 1311
9108
546
12
131
2
4
11
103
1213
11
21 3
1011
9
8
U15
U15
56
89
15 10
10,1
5
10,1
5
10,1
5
10,1
5
10,1
5
15 13 12 11 10 6 7
14 (9)
Vou
t +/-
Exe
c
Pola
rity
Vou
t +/-
Exe
c-D
L
Out
put
Shor
t
Iout
+/-
Exe
c
Iout
+/-
Exe
c-D
L
Con
nect
4
3
2115
14
12
11
10
97
6
13
3
2115
14
5
11
10
97
6
U3
21
34
32
9
65
45
(9)
11
45
(9)
U5
CL
1
CL
1 2 8
U10
/10
,11,
12,1
3
U10
/ 3,4
,5,6
U11
/ 4,5
,12,
13
U13
/15,
12,1
0,2
U13
/14
,13,
11,3
(U7/
2,7
,10)
7 102
13C
L
9
9
9
14 15
9
1
ON
Off
HC
08 x
2
2Q 2Q 3Q 3Q 4Q 4Q
7
1
3 7 6 10 11 15 14
23
1
4 56
2
12 1311
3 4 5 6 7 8
2
1 23
9 108
4 56
12 1311
910
8
RL
0
RL
1
RL
2
RL
3
Ana
log
Switc
his
Boa
rd [
II]
Ver
. 4.2
'94
Jun
e 03
H. S
asak
i / S
. Hon
da
To
all H
C's
DA
C1
DA
C2
KST
003
Fas
t Rev
erse
d D
C S
ourc
e --
- W
avef
orm
Out
put U
nit (
2 --
- C
ontr
ol L
ogic
)
Boa
rd [
I-S
UB
]
A0
A1
A2
A3
D0
D1
D2
D3
U10 3 4 5 6 10 11 12 13
4/2
5/7
12/1
013
/15
14/
1513
/12
11/
103/
2
U11
Add
ress
Lin
e
Dat
a L
ine
U10
U13
J2[I
]30 28 26 24 22 20 18J2[I
]1 2 3 4
J1[I
]
C17
C28
C2
R1
C3
R2
C47
R8
34
R12
C56
D2
C8
18 17 16 15 14 13 12 11
9
U4
ZD
7
ZD
8
ZD
5
ZD
6
ZD
3
ZD
4
ZD
1
ZD
2
R9
C48
5V5V
5VU
1J1
J1
R10
C54 R
11
C55
24,22,20,18 16 14 12
10
Boa
rd [
I]
J2
Boa
rd [
I]
9J1
DG
ND
6 851,2,3,4 7
AD
7549
AD
7549
8,7,
6
4,3,
2,1 9 5 10
11
8,7,
6
4,3,
2,1 9 5 10
11
DA
C8 7 6
4 3 2 1
DA
C
U2
U2
U2
U2
U3
U3
U3
U3
J1 J2
4 5 12 13
D2
D3
D4
16 15
1 2
ON
Off
ON
Off
ON
Off
16 15
1 2
16 15
1 2
16 15
1 2
5 6
- C6 -Fig. C04
Tim
ing
Puls
e(1
MH
z)
A D
ata
A C
onne
ct
A E
xec
B D
ata
B C
onne
ct
B E
xec
4 pu
lse
for
Sequ
ence
Con
trol
8 pu
lse
for
Dat
a T
rans
fer
Star
t Bit
(Alw
ays
"1")
Sequ
ence
Con
trol
("1"
for
A O
N)
8 bi
t Dat
a fo
r So
urce
A
Tim
ing
Con
trol
Cha
rt fo
r F
RD
C S
ourc
e
100
µs -
1 m
s R
epet
ition
Per
iod
Off
Tim
e(4
µs
- 25
5 µs
)O
N T
ime
for
A(
100
µs -
100
00 m
s)
8 bi
t Dat
a fo
r So
urce
B
Sequ
ence
Con
trol
("0"
for
A O
ff)
Sequ
ence
Con
trol
("1"
for
B O
N)
Sequ
ence
Con
trol
("0"
for
B O
ff)
Star
t Bit
(Alw
ays
"1")
ON O
N
OFF
OFF
Fig. C05
- C7 -
AC
Lin
e
Fas
t R
ever
sed
DC
Sour
ce C
ontr
olle
r
(Pow
er S
our
ce)
Ver
.3.2
93
/07
/23
H. S
asa
ki
Pow
er S
uppl
y (+
/- 1
8V)
+18
V
CO
M
-18V
7918
7818
200
100 0
Pow
er S
uppl
y f
or S
ourc
e A
Pow
er S
uppl
y (+
/- 1
8V)
+18
V
CO
M
-18V
7918
7818
200
100 0
Pow
er S
uppl
y f
or S
ourc
e B
Filte
rU
nit
Pow
er S
uppl
yU
nit
(100
V /
200
V)
5 V
, 1A
Fig. C06
- C8 -
- D1 -
Appendix (D) Components Layout
Fig. D01: Internal Cable Connection (SCU).
Fig. D02: Internal Cable Connection (WOU).
Fig. D03: Optical Fiber Cable Connection.
Fig. D04: PC Board Layout (CPU/SCC Board)
Fig. D05: PC Board Layout (Output Board [I-main])
Fig. D06: PC Board Layout (Output Board [I-sub])
Fig. D07: PC Board Layout (Output Board [II])
Pow
er S
uppl
y f
or S
ourc
e A
Pow
er S
uppl
y f
or C
ontr
olle
r
AC
Lin
e(1
00V
/ 20
0 V
)
±18
VR
egur
ator
Pow
er S
uppl
y f
or S
ourc
e B
±18
VR
egur
ator
CPU
/ SC
C B
oard
Inte
rnal
Cab
le C
onne
ctio
n (
Con
trol
ler)
Ver
.3.2
94/
08/1
1H
. Sas
aki
5V Reg
urat
or
GP-
IB I
nter
face
Uni
t
5-pi
nC
onne
ctor
s
AC
Inle
t(F
ilter
) Vol
tage
Sele
ctor
(100
V/2
00 V
)
Pow
erSW
J3J5
J4
LE
D D
ispl
ay x
3T
oggl
e SW
x 1
Tra
nsm
itter
Fibe
rC
onne
ctor
sG
PIB
Con
nect
or
AB
AB
Fig. D01
- D2 -
Inte
rnal
Cab
le C
onne
ctio
n (
Wav
efor
m O
utpu
t Uni
t)
Ver
.3.2
94/
08/1
1H
. Sas
aki
3-Pi
nC
onne
ctor
Out
put B
oard
( I
)
Out
put B
oard
( I
I )
BN
CC
onne
ctor
3-Pi
nC
onne
ctor
Mon
itor
(A)
Mon
itor
(B)
Opt
ical
Fibe
r C
able
Pow
er S
uppl
y
Sour
ce (
B)
Sour
ce (
A)
Opt
ical
Fibe
r C
able
Pow
er S
uppl
y
Out
put
Hi/L
o
Out
put L
o/G
uard
GN
D
N-C
onne
ctor
J1
J1
J2
J3
J3
J2
Out
put B
oard
( I
)
J1
J2
J3
J3
J2
Out
put B
oard
( I
I )
BN
CC
onne
ctor
Fibe
rC
onne
ctor
Fibe
rC
onne
ctor
Fig. D02
- D3 -
Opt
ical
Fib
er C
onfi
gura
tion
Ver
.1.0
95/
10/1
6H
. Sas
aki
CPU
/ SC
C B
oard
Tra
nsm
itter
Fibe
rC
onne
ctor
sU23
U24
U25
U26
AB
Fibe
rC
onne
ctor
s
OU
TPU
T1
Boa
rd
[A]
A
U6
U8
OU
TPU
T1
Boa
rd
[B]
B
U6
U8
Sequ
ence
Con
trol
Uni
tW
avef
orm
Out
put U
nit
Rec
eive
rR
ecei
ver
Fig. D03
- D4 -
PC
Boa
rd L
ayou
t:
C
PU
/SC
C B
oard
Ver
.4.3
95/
11/0
6
CPU/SCC BOARD
J2
4950
12
HC1
66
U2
HC1
93
U1 H
C7
4
U5 H
C3
90
U7 H
C0
0
U9 H
C0
8
U1
1 HC0
0
U1
3 HC0
4
U1
5 HC0
4
U1
7 HC0
8
U1
9
HC7
4
U4 H
C0
0
U6 H
C1
0
U8 H
C7
4
U1
0 HC3
90
U1
2 HC1
93
U1
4 HC0
0
U1
6 20
03
U1
8
HC1
66
U3
HC7
4
U2
0
HC7
4
U2
1
20
03
U2
2
J1
21
5049
C5 C7 C9 C11 C13 C15 C17
C2 C6 C8 C10 C12 C14 C16 C18
C3
C4
C20
C21
C19
C1R1
R2
RP1
R3
R4
R5
R6
TP2
U2
3U
24
U2
5U
26
TP1
41
14
9
2J3
50
1
2
15
16
J4
1
J5
3
Fig. D04
- D5 -
PC
Boa
rd L
ayou
t: O
utpu
t Boa
rd (
1-m
ain)
Ver
.4.2
95/
11/0
6
C59C45
HC0
8
U1
6
C57
D1
D2
J31
2
9
10
J1
1
2
7
8
OU
TPU
T B
OA
RD I
R3
C2
R1
J2
2930
12
IH5
14
3
C3
1C3
2
C30
IH5
14
3
C2
0C2
1
C19
IH5
14
3
C9
C1
0
C8
IH5
14
3
C3
4C3
5
C33
IH5
14
3
C2
3C2
4
C22
IH5
14
3
C1
2C1
3
C11
IH5
14
3
C3
7C3
8
C36
(IH
51
43
)
C2
6C2
7
C25
IH5
14
3
C1
5C1
6
C14
IH5
14
3
C4
3C4
4
C58
HC1
4
U1
5
C53
SW1
SW2
SW3
SW4
SW5
SW6
SW7
SW8
SW9
SW1
0
HC0
0
U7
C18
HC0
4
U5
C7
HC0
4
U3
C6
HC1
0
U9
C29H
C1
75
U1
1
C51
HC7
4
U1
4
C52
HC1
74
U4
C5
HC0
0
U2
C4
HC1
64
U1
0
C49
HC1
74
U1
3
C50
HC1
23
U1
C1
HC1
23
C46
C60
C5
6
U6
U8
C3
R2
C17 C28
C4
7R8
U1
2C4
8
R9
C5
4
R10
C5
5
R11
R12
R7R6
D3
C4
1C4
0C3
9C4
2
R4R5
J5 GND
Tef
lon
PC
Fig. D05
- D6 -
PC
Boa
rd L
ayou
t: O
utpu
t Boa
rd I
-sub
Ver
.4.1
94/
08/2
9
AD
75
49
OUTPUT BOARD ISUB
J1
Q1
Q2
C5C4C3
C2C1
C6
R1
G
C7
G
R1
RP1
RP2
RP3
TP1
R5
R6R7
C8 C9
R4
C1
0
VZ1
RP4
RP5
T1
C1
1
LT1
01
4CN
A2
DA
C1
R3
A1
AD
75
49
Q3
Q4
C16C15C14
C17
R8
G
C1
8
G
R9
RP6
RP7
RP8TP6
R11
R12
R13
C19 C20
C2
1
RP9
RP1
0C2
2
LT1
01
4CN
A4
DA
C2
R10
A3
2930
12
C1
2
C13
LT1
01
4CN
LT1
01
4CN
GN
D
TP2
TP3
TP4
TP5
Fig. D06
- D7 -
PC
Boa
rd L
ayou
t: O
utpu
t Boa
rd (
2)
Ver
.4.1
94/
08/2
9
ZD1
HC0
8H
C0
8H
C1
75
ULN
-28
03
A
C2C1 C7
C8
J3 J2 J1
RL3
RL2
RL1
RL0
ZD2
ZD3ZD4
ZD5ZD6
ZD7ZD8
R1R2
R3R4
R5
U4
U3
U2
U1
C9
C10
C11
C4 C6
C3 C5V
R1
VR2
VR3
131
3
D1
D2
1
2
9
10
1
2
7
8
1
2
3
4
OU
TPU
T B
OA
RD II
Fig. D07
- D8 -
- E1 -
Appendix (E) Parts List
Sequence Control Unit Parts List
Main Parts ListID No. parts Description Qut./UnitChassis-1 Main Shassis ELMA Type33 1Chassis-2 Shield Box for Power Source YATOLLO-original 2Board-1 CPU/SCC Board ETL/YATOLLO-design 1Board-2 Z84 CPU Board KBC Z11 1Board-3 GP-IB Universal IF Board UIO 488 Z 1Board-4 Power Regurator Circuit (±18V) YATOLLO-design 2Board-5 Power Regurator Circuit (5V) YATOLLO-design 1ROM-1 EPROM(27256) Sup. by JEMIC 1Trans-1 100-230V Power Transformer "AC 18 V, 0.1A with Shield" 2Trans-2 100-230V Power Transformer "AC 5V, 1A with Shield" 1Panel-1 Power SW "250V, 1A" 2Panel-2 LED Dual (Red/Green) 3Panel-3 AC Inlet w/t Fuse & Noise-Filter 1Panel-4 100-230V Selector SW 1Panel-5 Output Connector for ±18V 5 pin (JAE-SRCN2A13-5P) 2Panel-6 Dual Optical-Fiber Connector 1Misc.-1 Wiring Terminal wiring for AC power line 1Misc.-2 Terminal Shield Box Input terminal 1Misc.-3 Feed-through Capacitor Shield Box Output (1000 PF) 6Cable-1 Optical Fiber between Chassis 2Cable-2 Optical Fiber cable (Internal) Transmitter - Rear panel 2Cable-3 Output cable for ±18V between Chassis 5-wire (double shielding) 2Cable-4 AC Inlet Cable 1Cable-5 "50wire, parallel cable" GP-IB IF to J3[CPU/SCC] 1Cable-6 Internal cable assembly Front Panel to J4[CPU/SCC] 1Cable-7 Internal cable assembly 5V circuit to J5[CPU/SCC] 1Cable-8 Internal cable assembly Power Trans. to ±18V circuit 2Cable-9 Internal cable assembly Power Trans. to 5V circuit 1Cable-10 3 wire --- Feed- C --- 4 wire --- ±18V circuit to Rear Panel 2Cable-11 Power-line cable assembly wiring for AC power line 1
CPU/SCC Circuit Board Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design
"J1,J2" 50 pin Board Connector JAE PS-50SD-D4TS1-1 2J3 50Pin Strait-Head Connector MIL 1J4 16Pin Strait-Head Connector MIL 1J5 3Pin Strait-Head Connector "3 pin, B3P-SHF-1AA" 1R1 Resistor 1/4W 2.7kΩ 1R2 Resistor 1/4W 10kΩ 1R3 - R6 Resistor 1/4W 220 Ω 4RP1 8 Element Resistor "220Ω x 8, 9 pin, 2.54 pitch" 1T1 - T4 Trimmer Pot. 500 Ω 4C1 Capacitor "47 µF, 25V" 1C2 - C21 Bypass Capacitor 0.1 µF (5 mm pitch) 1C1 Capacitor "10 µF, 16V" 1"U6,U9,U13,U16" HC-MOS Logic IC 74HC00 4"U15,U17" HC-MOS Logic IC 74HC04 2"U11,U19" HC-MOS Logic IC 74HC08 2U8 HC-MOS Logic IC 74HC10 1
- E2 -
"U4,U5,U10,U20,U21" HC-MOS Logic IC 74HC74 5"U2,U3" HC-MOS Logic IC 74HC166 2"U1,U14" HC-MOS Logic IC 74HC193 2"U7,U12" HC-MOS Logic IC 74HC390 2"U18,U22" Transistor Array ULN-2003A 2"U23,U24,U25,U26" Fiber Transmitter YHP HFBR 1521 4
±18V Regurator Board Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design
J1 Input Connector for Input "3 pin, B3P-SHF-1AA" 1"J2,J3" Connector for 7818/7918 "3 pin, B3B-EH-A" 2J4 Output Connector for ±18V "3 pin, B3P-SHF-1AA" 1BR1 Diode Bridge Toshiba 1B4B41 1"C1,C2" Capacitor "3300 µF, 25WV" 2"C3,C5" Capacitor 0.1 µF 1"C4, C6" Capacitor "1 µF, 50 WV" 1VR1 Voltage Regulator 7818 (Separated from PCB) 1VR2 Voltage Regulator 7918 (Separated from PCB) 1
5V Regurator Board Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design
J1 Input Connector for Input "3 pin, B3P-SHF-1AA" 1J2 Connector for 7805 "3 pin, B3B-EH-A" 1J3 Output Connector for 5V "2 pin, B2P-SHF-1AA" 1BR1 Diode Bridge Toshiba 1B4B41 1"C1,C2" Capacitor "3300 µF, 25WV" 2C3 Capacitor 0.1 µF 1C4 Capacitor "1 µF, 50 WV" 1VR1 Voltage Regulator 7805 (Separated from PCB) 1
Waveform Output Unit Parts List
Main Parts List
ID No. parts Description Qut./UnitChassis-1 Main Chassis ELMA Type33 1Chassis-2 Shield Case for Source A/B YATOLLO-original 2Board-1 Output Board (I-main) ETL/YATOLLO-design 2Board-2 Output Board (II) ETL/YATOLLO-design 2Board-3 Output Board (I-sub) ETL/YATOLLO-design 2Board-4 Teflon Output Board ETL/YATOLLO-design 2Panel-1 Type-N Connector N-R 1Panel-2 GND/GRD Terminal Standard type 2Panel-3 Input Connector for ±18V 5 pin (JAE-SRCN2A13-5P) 2Panel-4 Dual Optical-Fiber Connector 2Panel-5 BNC Connector A/B Monitor 2Misc.-1 Feed-through Capacitor Shield Case Input(1000 PF) 6Cable-1 Optical Fiber cable (Internal) Receiver - Rear panel 2Cable-2 open--RG58A/U--open with GND Teflon PC to Front Panel 2Cable-4 SMA--RG174--open Output-I[J5] to BNC (rear panel) 2Cable-5 3 wire --- Feed- C --- 3 wire --- Output-II[J2] to rear panel 2
- E3 -
Cable-6 8P cn --- 8 wire --- 8P cn Output-I[J1] to Output-II[J1] 2Cable-7 10P cn --- 8 wire --- 10P cn Output-I[J3] to Output-II[J3] 2
Output Board (I-main) Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design 1
J1 8 pin Connector JAE PS-8PLB-D4T1-FL1 1J2 30 pin Board Connector 416-93-264-41-008 1J3 10 Pin Connector JAE PS-10PLB-D4T1-FL1 1"J4,J5" SMA Connector for monitor 1J6 Screw-post Connector Ground Connection 1R1 Resistor 1/4W 22 kΩ 1"R2,R8" Resistor 1/4W 5kΩ 2"R9,R12" Resistor 1/4W 100 kΩ 2"R10,R11" Resistor 1/4W 330 Ω 2"R6,R7" Resistor 1/4W 500 Ω 2"R4,R5" Resistor 1/4W 1 kΩ 2R3 Resistor 1/4W 100 Ω 1C2 Capacitor 510 pF 1C3,C39-42,C47,C54-55 Capacitor 100 pF 8C48 Capacitor 0.22 µF 1C56 Capacitor 2.2 µF 1"C45,C59,C60" Capacitor "4.7 µF, 25V" 3C1 --- C58 Bypass Capacitor 0.1 µF (5 mm pitch) 46"D1,D2,D3" Diode 1S1588 3"U2,U7" HC-MOS Logic IC 74HC00 2U5 HC-MOS Logic IC 74HC04 1
U16 HC-MOS Logic IC 74HC08 1U9 HC-MOS Logic IC 74HC10 1"U3,U15" HC-MOS Logic IC 74HC14 2U14 HC-MOS Logic IC 74HC74 1"U1,U12" HC-MOS Logic IC 74HC123 2U10 HC-MOS Logic IC 74HC164 1"U4,U13" HC-MOS Logic IC 74HC174 2U11 HC-MOS Logic IC 74HC175 1"U6,U8" Fiber Receiver YHP HFBR 2521 2SW1 - SW10 Analog Switch IH5143CPE 10
Output Board (I-sub) Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design 1
J1 30 pin Board Connector 451-10-264-00-005 1"R3-5,R10-11" Resistor 1/4W 47 Ω 5"R6,R12" Resistor 1/4W 200 kΩ 2"R7,R13" Resistor 1/4W 39 kΩ 2"R1,R8" Resistor 1/4W 20 kΩ 2"R2,R9" Precision Resistor MBZ100R00Q 2"RP2-5,RP7-10" SLD1Y10K00AQ Precision matched pair 8"RP1,RP6" SLD2Y1K000/9K000AQ Precision matched pair 2T1 Trimmer Pot. 200 Ω 1"C10-11,C21-22" Capacitor 33 pF 4"C1-2,C12-13" Capacitor "10 µF, 25V" 4"C3-9,C14-20" Bypass Capacitor 0.1 µF (5 mm pitch) 14"DAC1,DAC2" 12 bit D/A converter AD7549 2A1 - A4 Quad. OP Amplifier LT1014CN 4
- E4 -
VZ1 10V Voltage Reference AD581 1"Q1,Q4" FET 2SK1061 2"Q2,Q3" FET 2SJ167 2
Output Board (II) Parts List
ID No. parts Description Qut./BoardPC Board YATOLLO-design 1
J1 8 pin Connector JAE PS-8PLB-D4T1-FL1 1J2 4 pin Connector JAE PS-4PLB-D4T1-FL1 1J3 10 Pin Connector JAE PS-10PLB-D4T1-FL1 1R1 Precision Resistor FLBX050R00D 1R2 Precision Resistor FLBX100R00D 2R3 Precision Resistor FLBX200R00D 2R4 Precision Resistor FLBX400R00D 2R5 Precision Resistor FLBX800R00D 2C8 Capacitor "100 µF, 16V" 1"C4,C6" Capacitor "4700 µF, 25V" 2"C1,C2,C7" Capacitor "1 µF, 50V" 3"C3,C5,C9-11" Bypass Capacitor 0.1 µF 2"D1,D2" Diode 10D1 2"ZD1,ZD2" Zener Diode RD6.8E 8"U2,U3" HC-MOS Logic IC 74HC08 2U1 HC-MOS Logic IC 74HC175 1U4 Transistor Array ULN-2803A 1VR1 Voltage Regulator 7805 (+ 5 V) 1VR2 Voltage Regulator 78L15 (15 V) 1VR3 Voltage Regulator 79L15 (- 15 V) 1
RL0-RL3 Latching Relay OMLON G6AK-234P 4
- F1 -
Appendix (F) EPROM Software Reference
Fig. F01 Flow Charts (main)
Fig. F02 Input Data Format
Fig. F03 Data Buffer Mapping
Fig. F04 Flow Charts(Input Commands)
Fig. F05 Control Resistors
Fig. F06 Command-M&S Reference
Fig. F07 Flow Charts(Execute Commands)
ST
AR
T
Get
Dat
a fr
omG
PIB
" "(
spac
e)?
yes
Rea
d G
PIB
Sub
rout
ine
"."(
perio
d)?
": "
(col
on)
?
Ret
urn
"0"
- "9
" ?
no
no
no
yes
yes
Set
Car
ry F
lag
Res
et C
arry
Fla
g
"/"(
slas
h) ?
yes
no no
MA
IN R
outin
e
ST
AR
T
Initi
aliz
e C
TC
,P
IO, &
Mem
ory
"A"
?ye
s
Inpu
t Dat
afo
r "A
0"-
"A3"
yes
yes
Inpu
t Com
man
ds a
sA
n, C
, D, M
, O, P
, S, V
, X
Rea
d G
PIB
"0 -
3"?
Rea
d G
PIB
"C"
?
Inpu
t Dat
afo
r "C
"
"X"
?
Exe
cute
Com
man
ds
ST
AR
T
Fla
g S
etfo
r "S
"?ye
s
Exe
cute
"S"
com
man
d
Com
man
d E
xecu
te S
ubro
utin
e
Ret
urnE
xecu
te C
omm
ands
as
S, M
, V, C
, An,
D, P
, O
Fla
g S
etfo
r "M
"?ye
s
Exe
cute
"M"
com
man
d
Fla
g S
etfo
r "O
"?ye
s
Exe
cute
"O"
com
man
d
"+"(
plus
) ?
yes
no
Fig. F01
- F2 -
O c
om
mand Input F
orm
at
∗1
Err
or
(Thr
ee D
igits
Inte
ger
---
Err
or o
n re
ceiv
ing
the
float
ing
poin
t)
∗1 ∗1 ∗1
∗10
∗10
∗10
Err
or
OK
(Ret
urn)
∗100
∗100
OK
(Ret
urn)
OK
(Ret
urn)
∗1
Err
or
(Abo
ve th
e flo
atin
g po
int)
V o
r C
com
man
d In
put F
orm
at
OK
(Pro
ceed
)
∗1 ∗1 ∗1 ∗1
∗10
∗10
∗10
Err
or
OK
(Ret
urn)
OK
(Pro
ceed
)
OK
(Pro
ceed
)
OK
(Ret
urn)
Err
or
OK
(Ret
urn)
OK
(Ret
urn)
OK
(Ret
urn)
∗.1
∗.1
∗.1
∗.01
∗.01
(Bel
ow th
e flo
atin
g po
int)
D c
om
mand I
nput
Form
at
Err
or
OK
(Ret
urn)
OK
(Ret
urn)
∗.1
∗.1
(Bel
ow th
e flo
atin
g po
int)
∗1
Err
or
(Abo
ve th
e flo
atin
g po
int) O
K(P
roce
ed)
∗1 ∗1E
rror
OK
(Ret
urn)
OK
(Pro
ceed
)
Pn c
om
mand I
nput
Form
at
Err
or
OK
(Ret
urn)
OK
(Ret
urn)
OK
(Ret
urn)
∗.1
∗.1
∗.1
∗.01
∗.01
(Bel
ow th
e flo
atin
g po
int)
∗1
Err
or
(Abo
ve th
e flo
atin
g po
int) O
K(P
roce
ed)
∗1 ∗1E
rror
OK
(Ret
urn)
OK
(Pro
ceed
)
An
co
mm
an
d I
np
ut
Fo
rma
t
Err
or
OK
(Ret
urn)
OK
(Ret
urn)
OK
(Ret
urn)
∗.1
∗.1
∗.01
OK
(Ret
urn)
∗.1
∗.01
∗.00
1
∗.1
∗.01
∗.00
1
(Bel
ow th
e flo
atin
g po
int)
∗1
Err
or
(Abo
ve th
e flo
atin
g po
int) O
K(P
roce
ed)
∗1 ∗1E
rro
r
OK
(Ret
urn)
OK
(Pro
ceed
)
M o
r S
co
mm
an
d I
np
ut
Fo
rma
t
(One
Dig
its In
tege
r --
- E
rror
on
rece
ivin
g th
e flo
atin
g po
int)
∗1
Err
or
∗1E
rro
r
OK
(Ret
urn)
No
t,
No
r
No
t
Fig. F02
- F3 -
A0
A1
A2
A3
C D M O P S V
Inde
x
0 -
± 2
.047
0 -
10.2
3
0 -
15
0 -
7
4 -
255
0.10
E0
-
2.5
5E4
0 -
1
0 -
10.2
3
Dat
a In
put B
uffe
r M
appi
ng
HL
HL
HL
HL
HL
HL
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
Fla
g
"A"
"A"
"A"
"A"
"C"
"D"
"M"
"O"
"P"
"S"
"V"
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(Sig
n)
(Sig
n)
(Sig
n)
(Sig
n)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
(00)
MMMMMM∗1
000
∗100
∗10
∗1
∗100
0∗1
00∗1
0∗1
∗100
0∗1
00∗1
0∗1
∗100
0∗1
00∗1
0∗1
∗100
0∗1
00∗1
0∗1
∗10
∗1 ∗1
∗100
∗10
∗1
∗100
∗10
∗1 ∗1
∗100
0∗1
00∗1
0∗1
AS
CII
Inpu
t Dat
a B
uffe
r
Top
Adr
ess
BC
D In
put B
uffe
rB
inar
y D
ata
Fla
g(S
ign)
(Ind
ex)
8010
H
8020
H
8030
H
8040
H
8050
H
8060
H
8070
H
8080
H
8090
H
80A
0H
80B
0H
Par
amet
er0
12
34
56
78
9A
BC
DE
F
HL
HLD D D
ID
Com
man
dsID
∗100
∗10
∗1
∗1
∗1
∗1∗1
0∗0
.1∗0
.01
∗1∗1
0∗0
.1∗0
.01
∗0.1
∗0.0
1
∗1∗0
.1 ∗1
0 -
± 2
.047
0 -
± 2
.047
0 -
± 2
.047
∗1∗0
.1∗0
.01
∗0.0
01
∗1∗0
.1∗0
.01
∗0.0
01
∗1∗0
.1∗0
.01
∗0.0
01
∗1∗0
.1∗0
.01
∗0.0
01
Fig. F03
- F4 -
yes
Ret
urn
ST
AR
T
V &
C C
omm
and
Inpu
t Sub
rout
ine
yes
Buf
fer
Cle
ar
Rea
d &
Con
vert
" . "
? noye
s
yes
" : "
?
"Err
or"
Set
Ret
urn
no
Sto
re to
Buf
fer
#1
Rea
d &
Con
vert
yes" . "
? noye
s
yes
" : "
?
Ret
urn
no
Mov
eB
uffe
r #1
to #
0
Rea
d &
Con
vert
Sto
re to
Buf
fer
#1
yes" . "
? noye
s
yes
" : "
?
Ret
urn
no
"Err
or"
Set
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#2
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#3
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
yes
Ret
urn
ST
AR
T
An
Com
man
d In
put S
ubro
utin
e
yes
Buf
fer
Cle
ar
Rea
d &
Con
vert
" . "
? noye
s
yes
" : "
?
"Err
or"
Set
Ret
urn
no
Sto
re to
Buf
fer
#0
Rea
d &
Con
vert
yes" . "
? noye
s
yes
" : "
?
Ret
urn
no
"Err
or"
Set
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? noS
tore
toB
uffe
r #2
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? noS
tore
toB
uffe
r #3
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#1
M &
S C
omm
and
Inpu
t Sub
rout
ine
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#0
ST
AR
T
"Err
or"
Set
Fig. F04(a)
- F5 -
ST
AR
T
D C
omm
and
Inpu
t Sub
rout
ine
yes
Buf
fer
Cle
ar
Rea
d &
Con
vert
" . "
? noye
s
yes
" : "
?
"Err
or"
Set
Ret
urn
no
Sto
re to
Buf
fer
#0
Rea
d &
Con
vert
yes" . "
? noye
s
yes
" : "
?
Ret
urn
no
"Err
or"
Set
Ret
urn
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#1
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
O C
omm
and
Inpu
t Sub
rout
ine
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? noS
tore
toB
uffe
r #1
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? noS
tore
toB
uffe
r #2
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#0
ST
AR
T
"Err
or"
Set
ST
AR
T
Pn
Com
man
d In
put S
ubro
utin
e(W
ith In
dex-
Inpu
t)
yes
Buf
fer
Cle
ar
Rea
d &
Con
vert
" . "
? noye
s
yes
" : "
?
"Err
or"
Set
Ret
urn
no
Sto
re to
Buf
fer
#0
Rea
d &
Con
vert
yes" . "
? noye
s
yes
" : "
?
Ret
urn
no
"Err
or"
Set
Ret
urn
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes
Rea
d &
Con
vert
" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#1
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Sto
re to
Buf
fer
#2
Rea
d &
Con
vert
yes
Ret
urn
"Err
or"
Set
Ret
urn
yes" . "
? no
yes
" : "
? no
Ret
urn
"Err
or"
Set
Rea
d &
Con
vert
Sto
re to
Inde
x B
uffe
r
yes
"Err
or"
Set
yes" . "
? no
yes
" : "
? no
Ret
urn
Fig. F04(b)
- F6 -
System Control/Status Resistors
RAM_PB
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Flag: OPE
Flag: ERR2
Flag: ERR1
Flag: ERR0
Flag: STBY
CNTL:÷100
GPIB:OK
GPIB:RDY
Flag:OPE --- Status flug for system operation0 : Commands executed.1 : Commands in the buffer to be executed.
Flag:ERR0 - ERR2 --- Error report for GP-IB0 : Normal operation.1 - 6 : Error was detected.
Flag:STBY --- Status flug for STBY/EXEC switch.0 : Switch at STBY position.1 : Switch at EXEC position.
CNTL:÷100 --- Control data for expanding period.0 : ÷100 disabled.1 : ÷100 enabled.
GPIB:OK/RDY --- Handshake-control line for data-input.
RAM_PC
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
LED: V/I
CNTL: STBY
HSK:RTRV
HSK:DRDY
LED:V/I --- LED display-control for "Voltage/Current" mode.
CNTL:STBY --- Control resistor for STBY/EXEC.0 : STBY mode.1 : EXEC mode.
CNTL:SQU1,SQU0 --- Status flug for STBY/EXEC switch.0, 1 : Steady-State output (A-on).
HSK:RTRV/DRDY --- Handshake-control line for sending data through optical fiber.
RAM_PE
CNTL:V/I --- Control resistor for output mode.0 : Current-output mode.1 : Voltage-output mode.
CNTL:UPD --- Control resistor for generating "UPD" pulse (always set to "0").0 : Enable UPD pulse.1 : Disable UPD pulse.
CNTL:POL --- Control resistor for output polarity.0 : Negative output.1 : Positive output.
A3 - A0 --- Address for the "V/I", "UPD" and "POL" resistor (always set to "1111").
LED: Bpol
LED: Apol
CNTL:SQU1
CNTL: SQU0
LED:Apol,Bpol --- LED display-control for the output-polarity of sources A and B.
1 : Red (Positive-output).0 : Green (Negative-output).
1 : Red (Voltage mode).0 : Green (Current mode).
1, 0 : Steady-State output (B-on).1, 1 : Sequential output.
RAM_PD
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
(For Source A)
(For Source B)
CNTL: V/I
CNTL: UPD
CNTL: POL
A3("1")
CNTL: V/I
CNTL: UPD
notused
CNTL: POL
A2("1")
A1("1")
A0("1")
A3("1")
A2("1")
A1("1")
A0("1")
notused
(Port B)
(Port C)
(Port D)
(Port E)
- F7 -
Fig. F05
M0
M1
M2
M3Com
man
d M
&S
Ref
eren
ce
Pol
arity
Seq
uenc
e C
ontr
olM
ode
AB
bit 6
ID
Com
man
ds
M4
M5
M6
M7
S0
S1
Seq
uenc
ial
FR
DC
[1]
Seq
uenc
ial
DC
+
Seq
uenc
ial
DC
-
Seq
uenc
ial
FR
DC
[1]
Ste
ady-
Sta
teA
+
Out
put
A -
B +
B -
ST
BY
EX
EC
Ste
ady-
Sta
te
Ste
ady-
Sta
te
Ste
ady-
Sta
te
Off
On
+−
++
−−
−+
+ −+ −
XX
XX
XX
XX
Por
t C (
RA
M_C
)
bit 4
Pol
arity
(LE
D)
bit 3
bit 2
Dat
aA
ddre
ss
bit 7
- 4
bit 3
- 0
Dat
aA
ddre
ss
bit 7
- 4
bit 3
- 0
bit 5
X X X X X X X X
X X
X X
0 1
X 0
0 1
X 0
0 1
X 0
0 0
X 0
0 0
X 0
0 1
X 0
0 0
X 0
0 0
X 0
0 0
X 0
0 0
X 0
0 1
X 0
0 0
X 0
0 1
X 0
0 0
X 0
0 0
X 0
0 1
X 0
0 0
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
X X
X X
11
01
11
11
11
00
11
10
10
(0)
1
10
0
01
1
01
0(0)
(0)
(0)
Por
t D (
RA
M_D
)P
ort E
(R
AM
_E)
- F8 -
Fig. F06
ST
AR
T
Com
man
d V
&C
Exe
cute
Sub
rout
ine
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Mul
tiply
by
4
Che
ck p
aram
eter
0-10
23
Set
Fla
g to
"2"
Set
ST
BY
mod
e
Sen
d D
AC
Dat
avi
a P
ort P
D/P
E
Set
LE
D (
V o
r I)
Dat
a on
Por
t PD
/PE
(C
omm
on)
Dat
a on
Por
t PC
0X
XX
XX
X
ST
BY
01
01
Dat
a H
#1
00
01
#2
01
10
#3
00
10
#4
01
00
#5
00
00
#6
Dat
a H
Dat
a M
Dat
a M
Dat
a L
Dat
a L
To
DA
C 1
a-H
To
DA
C 2
a-H
To
DA
C 1
a-M
To
DA
C 2
a-M
To
DA
C 1
a-L
To
DA
C 2
a-L
11
1
Dat
a on
Por
t PD
/PE
0
01 V o
r I
01
V o
r I
0X
1
UP
D
Sen
d C
ontr
ol D
ata
via
Por
t PD
/PE
ST
AR
T
Com
man
d A
n E
xecu
te S
ubro
utin
e
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Add
204
8
Che
ck p
aram
eter
0 to
204
7(+
/-)
Set
Fla
g to
"2"
Sen
d D
AC
Dat
avi
a P
ort P
D o
r P
E
Cas
e A
0, A
1 --
> v
ia P
ort P
D (
Sou
rce
A)
10
1D
ata
H#1 #2
11
0
#31
00
Dat
a M
Dat
a L
To
DA
C 1
b/2b
-H
To
DA
C 1
b/2b
-M
To
DA
C 1
b/2b
-L
11
1
Dat
a on
Por
t PD
/PE
00
X1
UP
D
Sen
d C
ontr
ol D
ata
via
Por
t PD
/PE
X
01
01
01
Cas
e A
2, A
3 --
> v
ia P
ort P
E (
Sou
rce
B)
"0"
for
A0,
A2
"1"
for
A1,
A3
Fig. F07(a)
- F9 -
ST
AR
T
Com
man
d D
n E
xecu
te S
ubro
utin
e
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Che
ck p
aram
eter
0 to
16
Set
Fla
g to
"2"
Sen
d R
elay
Dat
avi
a P
ort P
D/P
E1
11
Dat
a on
Por
t PD
/PE
0D
ata(
4bit)
ST
AR
T
Com
man
d M
Exe
cute
Sub
rout
ine
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Set
Fla
g to
"2"
11
1
Dat
a on
Por
t PD
/PE
00
1S
end
Con
trol
Dat
avi
a P
ort P
C/P
D/P
EX
01
Dat
a on
Por
t PC
XX
XX
Ref
er to
Tab
le
01
01
01
01
Ref
er to
Tab
le
Fig. F07(b)
- F10 -
ST
AR
T
Com
man
d P
Exe
cute
Sub
rout
ine
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Che
ck p
aram
eter
0.1E
0 to
2.5
5E4
Set
Fla
g to
"2"
Sto
re P
erio
d D
ata
to C
TC
#1
Set
CT
C#2
by In
dex-
data
Set
bit-
2 of
Por
t Bby
Inde
x-da
ta
0 1 2 3 4
CT
C#2
Inde
xP
Bbi
t-2
÷10
0
÷1
÷10
0
÷1
÷1
÷1
÷10
÷10
0÷
10÷
100
ST
AR
T
Com
man
d O
Exe
cute
Sub
rout
ine
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Che
ck p
aram
eter
4 to
255
Set
Fla
g to
"2"
ST
AR
T
Com
man
d S
Exe
cute
Sub
rout
ine
Ret
urn
BC
D to
Bin
ary
AS
CII
to B
CD
Che
ck p
aram
eter
0 to
1
Set
Fla
g to
"2"
Sto
re T
off D
ata
to C
TC
#0S
et b
it-6
of P
ort C
by S
TB
Y/E
XE
CS
TB
Y -
-- 0
EX
EC
---
1
Fig. F07(c)
- F11 -
- G1 -
Appendix (G) EPROM Program List
_MAIN
_INITIAL
_Adjust
_Voltage
_Current
_Dummy
_Period
_Off_T
_Mode
_Execute
_LA0
_LA1
_LA2
_LA3
__GET_GPIB
_READ_CHK
_EXE_S
_EXE_M
_EXE_V
_EXE_C
_EXE_A0
_EXE_A1
_EXE_A2
_EXE_A3
_EXE_D
_EXE_P
_EXE_O
_ASC_BCD
_BCD_BIN
_HS_F
_HS_R
_Standby
EPROM Subroutines
Fig. G01
- G2 -
;**************************************************
; FRDC SOURCE Control Program.; version 5 (FRDC_ET7); November 21, 1994
;**************************************************
;----------- Port Decision -------------------------
STACK EQU 0FFFFH
;------------ CTC decision --------------------------
CTC_0 EQU 10H ;Off Time CounterCTC_1 EQU 11H ;Base Period CounterCTC_2 EQU 12H ;Base Period scalar
;------------ PIO decision ---------------------------
PA_CTL EQU 54H ; A-Port Control ResistorPA_CTLD EQU 00H ; 0-7 : INPA_DAT EQU 50H ; GP-IB Data Port Address
PB_CTL EQU 55H ; B-Port Control ResistorPB_CTLD EQU 06H ; 0:IN / 1,2:OUTPB_DAT EQU 51H ; GP-IB Hand Shake / bit 0,1
; Freq. extend / bit 2PB_INI EQU 00000110B
PC_CTL EQU 56H ; C-Port Control ResistorPC_CTLD EQU 0FEH ; 0:IN / 1-7:OUTPC_DAT EQU 52H ; bit 0-1 :Synchronized Gate forPulse Train
; bit 2-3-7:LED Disp Data; 2 : A POL; 3 : B POL; 7 : V/I; bit 4-5 :1/1 Sequential Output; :1/0 A-on; :0/1 B-on; bit 6 :0 -> A-off,B-off; :1 -> Operate
PC_INI EQU 10110000B
PD_CTL EQU 34H ; D-Port Control ResistorPD_CTLD EQU 0FFH ; 0-7:OUTPD_DAT EQU 30H ; Source "A" Control Data
; bit 0-3:Address / bit 4-7:DataPD_INI EQU 0FH
; '1111' as an Address of V/I control resistor.
PE_CTL EQU 44H ; E-Port Control ResistorPE_CTLD EQU 0FFH ; 0-7:OUTPE_DAT EQU 40H ; Source "B" Control Data
; bit 0-3:Address / bit 4-7:DataPE_INI EQU 0FH
; '1111' as an Address of V/I control resistor.
;----------- Character Decision --------------
_A EQU 41H ;Adjust Level_C EQU 43H ;Current Mode_D EQU 44H ;Dummy Resistance_M EQU 4DH ;Mode of FR-DC_O EQU 4FH ;Off time_P EQU 50H ;Period_S EQU 53H ;Stand-by_V EQU 56H ;Voltage Mode_X EQU 58H ;Execute
E EQU 45H ;Index for numerical numberSpace EQU 20H ;Space always neglect.Slash EQU 2FH ;Slash always neglect.Colon EQU 3AH ;Separator ":"Ten EQU 2EH ;Period for numerical number "."Plus EQU 2BH ;Numerical sign "+"Minus EQU 2DH ;Numerical sign "-"
;---------- flag decision ----------------------
_Error EQU 0H ;Error in RAM ( +0FH) ---> '0'_Valid EQU 1H ;Valid in RAM ( +0FH) ---> '1'_Ready EQU 2H ;Ready in RAM ( +0FH) ---> '2'
;----------- Ram Working Area --------------
RAM_TMP EQU 8000H ;Temporary ResistorRAM_A0 EQU 8010H ;Adjust LevelRAM_A1 EQU 8020H ;Adjust LevelRAM_A2 EQU 8030H ;Adjust LevelRAM_A3 EQU 8040H ;Adjust LevelRAM_C EQU 8050H ;Current ModeRAM_D EQU 8060H ;Dummy ResistanceRAM_M EQU 8070H ;Mode of FR-DCRAM_O EQU 8080H ;Off timeRAM_P EQU 8090H ;PeriodRAM_S EQU 80A0H ;Stand-byRAM_V EQU 80B0H ;Voltage ModeRAM_X EQU 80C0H ;Execute
RAM_PA EQU 8100H ;RAM address for Port A dataRAM_PB EQU 8101H ;RAM address for Port B dataRAM_PC EQU 8102H ;RAM address for Port C dataRAM_PD EQU 8103H ;RAM address for Port D data
; Data in (RAM_PD) can be renewed; in subroutine "M" or "C/V"
RAM_PE EQU 8104H ;RAM address for Port E dataRAM_GP EQU 8105H ;Buffer for new data for GP-IB.
;****************************************************
ORG 0JP START
ORG 100HSTART: LD SP,STACK
CALL INITIALJP _MAIN
;****************** INITIAL **************************
INITIAL:NOP
LD A,0 ;Clear RAM(8000-8FFF)LD IX,8000HLD B,0FFH
_L_INIL: LD (IX),AINC IXDEC BJP NZ,_L_INIL
LD IX,8100HLD B,0FFH
_L_INIH: LD (IX),AINC IXDEC BJP NZ,_L_INIH
;CTC set as counterLD A,01000111B ;CTC -0-OUT (CTC_0),ALD A,01000111B ;CTC -1-OUT (CTC_1),ALD A,01000111B ;CTC -2-OUT (CTC_2),A
LD A,10 ;default: 10 µs OFF time.OUT (CTC_0),ALD A,100 ;default: 10*100 µs Base Period.OUT (CTC_1),ALD A,10 ;default: 10 times Scale.OUT (CTC_2),A
;Set Default Data in PIOLD A,PB_INIOUT (PB_DAT),ALD (RAM_PB),A
LD A,PC_INIOUT (PC_DAT),A
- G3 -
LD (RAM_PC),A
LD A,PD_INIOUT (PD_DAT),ALD (RAM_PD),A
LD A,PE_INIOUT (PE_DAT),ALD (RAM_PE),A
;Set PIO IN/OUTLD A,PA_CTLDOUT (PA_CTL),A
LD A,PB_CTLDOUT (PB_CTL),A
LD A,PC_CTLDOUT (PC_CTL),A
LD A,PD_CTLDOUT (PD_CTL),A
LD A,PE_CTLDOUT (PE_CTL),A
LD IX,RAM_A0LD A,_ALD (IX+7),A
LD IX,RAM_A1LD A,_ALD (IX+7),A
LD IX,RAM_A2LD A,_ALD (IX+7),A
LD IX,RAM_A3LD A,_ALD (IX+7),A
LD IX,RAM_CLD A,_CLD (IX+7),A
LD IX,RAM_DLD A,_DLD (IX+7),A
LD IX,RAM_MLD A,_MLD (IX+7),A
LD IX,RAM_OLD A,_OLD (IX+7),A
LD IX,RAM_PLD A,_PLD (IX+7),A
LD IX,RAM_SLD A,_SLD (IX+7),A
LD IX,RAM_VLD A,_VLD (IX+7),A
CALL _DELAY_INICALL _DELAY_INI
LD A,10000110B ;Initialize DAC for A0,A2CALL _HS_FOUT (PD_DAT),AOUT (PE_DAT),ACALL _HS_R
LD A,10001110B ;Initialize DAC for A1,A3CALL _HS_FOUT (PD_DAT),A
OUT (PE_DAT),ACALL _HS_R
CALL _HS_F ;up-dateLD A,(RAM_PD)OUT (PD_DAT),A
LD A,(RAM_PE)OUT (PE_DAT),ACALL _HS_R
RET
;****************** DELAY_INI***********************
_DELAY_INI:NOPLD C,0F0H
_DELAY_II:NOPCALL WAITLD B,10000000B ;Display Voltage LED.OR BOUT (PC_DAT),ACALL WAITCALL WAIT
LD B,01111111B ;Display Current LED.AND BOUT (PC_DAT),A
DEC CJP NZ,_DELAY_IIRET
;****************** MAIN ***************************
_MAIN: NOP_LOOP: NOP
CALL _GET_GPIB
;Case VoltageLD A,(RAM_GP) ;Set new data in Acc.CP _VCALL Z,_Voltage
;Case CurrentLD A,(RAM_GP) ;Set new data in Acc.CP _CCALL Z,_Current
;Case DummyLD A,(RAM_GP) ;Set new data in Acc.CP _DCALL Z,_Dummy
;Case AdjustLD A,(RAM_GP) ;Set new data in Acc.CP _ACALL Z,_Adjust
;Case PeriodLD A,(RAM_GP) ;Set new data in Acc.CP _PCALL Z,_Period
;Case Off TimeLD A,(RAM_GP) ;Set new data in Acc.CP _OCALL Z,_Off_T
;Case ModeLD A,(RAM_GP) ;Set new data in Acc.CP _MCALL Z,_Mode
;Case Stand-byLD A,(RAM_GP) ;Set new data in Acc.CP _SCALL Z,_Standby
;Case ExecuteLD A,(RAM_GP) ;Set new data in Acc.CP _X
- G4 -
CALL Z,_Execute
JP _LOOP
;**************************************************
_GET_GPIB: NOP ;Get Data from GP-IB Bus
;This routine returns the input data; through the RAM_GP buffer. The carry flag; is set for the data from "." to "9".
LD B,0 ;Clear B-resistor
D_READ: IN A,(PB_DAT)RRAJR NC,D_READ ;CHK LD-CLK of GP-IBIN A,(PA_DAT) ;Get GP-IB DATA
EX AF,AF'
LD A,(RAM_PB)LD B,11111101BAND BOUT (PB_DAT),A
LD A,(RAM_PB)LD B,00000010BOR BOUT (PB_DAT),AEX AF,AF'CP Plus ;Always neglect "Plus"JP Z,D_READCP Space ;Always neglect "Space"JP Z,D_READCP Slash ;Always neglect "Slash"JP Z,D_READ
;Carry Set, '.' to ':'.CP Ten ;Compare to ASC '.'.JP C,_L_R_E ;If Acc < '.' go out.CP 3BH ;Compare to ';'.CCF
_L_R_E: CCFLD (RAM_GP),A ;Store new data.RET
;**************************************************
_STR_ASC: NOP ;Store ASC-Data in RAM(HL)LD B,0 ;Clear B-resistor
_LASC: NOPCALL _GET_GPIBCP ColonJP Z,_LSCELD (HL),AINC LINC BJP _LASC
_LSCE: NOPLD (IX+0FH),BRET
;*****************************************************
_Voltage: NOP ;Data input for Voltage
;This sub-routine stores the voltage;data to the data input buffer "_RAM_V".
LD IX,RAM_V ;Set IX <- RAM_V
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),B
LD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).
CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_VCP Colon ;Escape to error routine.JP Z,_L_V_EELD (IX+1),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_VCP Colon ;Escape to END.JP Z,_L_V_E
LD B,(IX+1) ;Move (V+1) -> (V+0).LD (IX+0),BLD (IX+1),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_VCP Colon ;Escape to END.JP Z,_L_V_EJP _L_V_EE ;Escape to error routine.
_L_V: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_V_EECP Colon ;Escape to END.JP Z,_L_V_ELD (IX+2),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_V_EECP Colon ;Escape to END.JP Z,_L_V_ELD (IX+3),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_V_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_V_EECP Colon ;Escape to END.JP Z,_L_V_EJP _L_V_EE ;Escape to error routine.;--------------------------------------
_L_V_EE: NOP;Case error write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_V_F
_L_V_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_V_F
_L_V_F: NOPRET
;*****************************************************
- G5 -
_Current: NOP ;Data input for Current
;This sub-routine stores the current; data to the data input buffer "_RAM_C".
LD IX,RAM_C ;Set IX <- RAM_C
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_CCP Colon ;Escape to error routine.JP Z,_L_C_EELD (IX+1),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_CCP Colon ;Escape to END.JP Z,_L_C_ELD B,(IX+1) ;Move (V+1) -> (V+0).
LD (IX+0),BLD (IX+1),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_CCP Colon ;Escape to END.JP Z,_L_C_EJP _L_C_EE ;Escape to error routine.
_L_C: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_C_EECP Colon ;Escape to END.JP Z,_L_C_ELD (IX+2),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_C_EECP Colon ;Escape to END.JP Z,_L_C_ELD (IX+3),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_C_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_C_EECP Colon ;Escape to END.JP Z,_L_C_EJP _L_C_EE ;Escape to error routine.;--------------------------------------
_L_C_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_C_F
_L_C_E: NOP ;Case valid, write "Valid" in RAM(V+0FH).
LD B,_ValidLD (IX+0FH),BJP _L_C_F
_L_C_F: NOPRET
;*****************************************************
_Dummy: NOP ;Case Dummy Resistor
;This sub-routine stores the dummy-resistance; data to the data input buffer "_RAM_D".
LD IX,RAM_D ;Set IX <- RAM_D
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_D_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_DCP Colon ;Escape to error routine.JP Z,_L_D_EELD (IX+2),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_D_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_DCP Colon ;Escape to END.JP Z,_L_D_EJP _L_D_EE ;Escape to error routine.
_L_D: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_D_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_D_EECP Colon ;Escape to END.JP Z,_L_D_ELD (IX+3),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_D_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_D_EECP Colon ;Escape to END.JP Z,_L_D_EJP _L_D_EE ;Escape to error routine.;--------------------------------------
_L_D_EE: NOP;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_D_F
_L_D_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_Valid
- G6 -
LD (IX+0FH),BJP _L_D_F
_L_D_F: NOPRET
;*****************************************************
_LA0:NOP ;Data input for A0
;This sub-routine stores the adjustment; data to the input buffer "_RAM_A0".
LD IX,RAM_A0 ;Set IX <- RAM_A
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB Read & Check Input DataJP C,_L_A0_N
;Jump to _L_A0_N if '.',':' or '0-9'.CP Minus
;If '-', store sign '-' in RAM(A0+6).JP NZ,_L_A0_EELD (IX+6),ACALL _GET_GPIB ;Re-input DataJP NC,_L_A0_EE ;Escape to error routine.
_L_A0_N:CP Ten ;Jump to small data process.JP Z,_L_A0CP Colon ;Escape to error routine.JP Z,_L_A0_EELD (IX+0),A ;Store Data;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A0_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_A0CP Colon ;Escape to END.JP Z,_L_A0_EJP _L_A0_EE ;Escape to error routine.
_L_A0: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A0_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A0_EECP Colon ;Escape to END.JP Z,_L_A0_ELD (IX+1),A ;Store Data in RAM_(V+2) ;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A0_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A0_EECP Colon ;Escape to END.JP Z,_L_A0_ELD (IX+2),A ;Store Data in RAM_(V+3)
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A0_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A0_EECP Colon ;Escape to END.JP Z,_L_A0_ELD (IX+3),A ;Store Data in RAM_(V+3)
;--------------------------------------;New Data -> Acc & Flag(Carry).
CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A0_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A0_EECP Colon ;Escape to END.JP Z,_L_A0_EJP _L_A0_EE ;Escape to error routine.
;--------------------------------------_L_A0_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_A0_F
_L_A0_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_A0_F
_L_A0_F: NOPRET
;*****************************************************
_LA1:NOP ;Data input for A1
;This sub-routine stores the adjustment; data to the input buffer "_RAM_A1".
LD IX,RAM_A1 ;Set IX <- RAM_A
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input Data
JP C,_L_A1_N;Jump to _L_A0_N if '.',':' or '0-9'.
CP Minus;If '-', store sign '-' in RAM(A0+6).
JP NZ,_L_A1_EELD (IX+6),ACALL _GET_GPIB ;Re-input DataJP NC,_L_A1_EE ;Escape to error routine.
_L_A1_N:CP Ten ;Jump to small data process.JP Z,_L_A1CP Colon ;Escape to error routine.JP Z,_L_A1_EELD (IX+0),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A1_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_A1CP Colon ;Escape to END.JP Z,_L_A1_EJP _L_A1_EE ;Escape to error routine.
_L_A1: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A1_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A1_EECP Colon ;Escape to END.JP Z,_L_A1_ELD (IX+1),A ;Store Data
;--------------------------------------
- G7 -
;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A1_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A1_EECP Colon ;Escape to END.JP Z,_L_A1_ELD (IX+2),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A1_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A1_EECP Colon ;Escape to END.JP Z,_L_A1_ELD (IX+3),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A1_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A1_EECP Colon ;Escape to END.JP Z,_L_A1_EJP _L_A1_EE ;Escape to error routine.
;--------------------------------------_L_A1_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_A1_F
_L_A1_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_A1_F
_L_A1_F: NOPRET
;*****************************************************
_LA2:NOP ;Data input for A2;This sub-routine stores the adjustment; data to the input buffer "_RAM_A2".
LD IX,RAM_A2 ;Set IX <- RAM_A
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input Data
JP C,_L_A2_N;Jump to _L_A0_N if '.',':' or '0-9'.
CP Minus;If '-', store sign '-' in RAM(A0+6).
JP NZ,_L_A2_EELD (IX+6),ACALL _GET_GPIB ;Re-input DataJP NC,_L_A2_EE ;Escape to error routine.
_L_A2_N:CP Ten ;Jump to small data process.JP Z,_L_A2CP Colon ;Escape to error routine.JP Z,_L_A2_EELD (IX+0),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A2_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_A2CP Colon ;Escape to END.JP Z,_L_A2_EJP _L_A2_EE ;Escape to error routine.
_L_A2: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A2_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A2_EECP Colon ;Escape to END.JP Z,_L_A2_ELD (IX+1),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A2_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A2_EECP Colon ;Escape to END.JP Z,_L_A2_ELD (IX+2),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A2_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A2_EECP Colon ;Escape to END.JP Z,_L_A2_ELD (IX+3),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A2_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A2_EECP Colon ;Escape to END.JP Z,_L_A2_EJP _L_A2_EE ;Escape to error routine.
;--------------------------------------_L_A2_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_A2_F
_L_A2_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_A2_F
_L_A2_F: NOPRET
;*****************************************************
_LA3:NOP ;Data input for A3
;This sub-routine stores the adjustment; data to the input buffer "_RAM_A3".
LD IX,RAM_A3 ;Set IX <- RAM_A
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input Data
- G8 -
JP C,_L_A3_N;Jump to _L_A0_N if '.',':' or '0-9'.
CP Minus;If '-', store sign '-' in RAM(A0+6).
JP NZ,_L_A3_EELD (IX+6),ACALL _GET_GPIB ;Re-input DataJP NC,_L_A3_EE ;Escape to error routine.
_L_A3_N:CP Ten ;Jump to small data process.JP Z,_L_A3CP Colon ;Escape to error routine.JP Z,_L_A3_EELD (IX+0),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A3_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_A3CP Colon ;Escape to END.JP Z,_L_A3_EJP _L_A3_EE ;Escape to error routine.
_L_A3: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A3_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A3_EECP Colon ;Escape to END.JP Z,_L_A3_ELD (IX+1),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A3_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A3_EECP Colon ;Escape to END.JP Z,_L_A3_ELD (IX+2),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A3_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A3_EECP Colon ;Escape to END.JP Z,_L_A3_ELD (IX+3),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_A3_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_A3_EECP Colon ;Escape to END.JP Z,_L_A3_EJP _L_A3_EE ;Escape to error routine.
;--------------------------------------_L_A3_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_A3_F
_L_A3_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_A3_F
_L_A3_F: NOPRET
;*****************************************************
_Adjust: NOP ;Branch for A0,A1,A2,A3
CALL _GET_GPIB
LD A,(RAM_GP) ;Set new data in AccA.CP 30H ;Compare Data against "0"CALL Z,_LA0
LD A,(RAM_GP) ;Set new data in AccA.CP 31H ;Compare Data against "1"CALL Z,_LA1
LD A,(RAM_GP) ;Set new data in AccA.CP 32H ;Compare Data against "2"CALL Z,_LA2
LD A,(RAM_GP) ;Set new data in AccA.CP 33H ;Compare Data against "3"CALL Z,_LA3
RET
;**************************************************_Period: NOP ;Data input for Period
;This sub-routine stores the period; data to the input buffer "_RAM_P".
LD IX,RAM_P ;Set IX <- RAM_P
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;--------------------------------------;Index Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_P_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_P_EECP Colon ;Escape to error routine.JP Z,_L_P_EELD (IX+5),A ;Store Data
;--------------------------------------;Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_P_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_PCP Colon ;Escape to END.JP Z,_L_P_EELD (IX+1),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_P_EE ;Escape to error routine.
CP Ten ;Jump to small data process.JP Z,_L_PCP Colon ;Escape to END.JP Z,_L_P_EJP _L_P_EE ;Escape to error routine.
_L_P: NOP;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_P_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_P_EECP Colon ;Escape to END.JP Z,_L_P_ELD (IX+2),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input Data
- G9 -
JP NC,_L_P_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_P_EECP Colon ;Escape to END.JP Z,_L_P_ELD (IX+3),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_P_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_P_EECP Colon ;Escape to END.JP Z,_L_P_EJP _L_P_EE ;Escape to error routine.
;--------------------------------------_L_P_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_P_F
_L_P_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_P_F
_L_P_F: NOPRET
;**************************************************
_Off_T: NOP ;Data-input for Off Time
;This sub-routine stores the off-time; data to the input buffer "_RAM_O".
LD IX,RAM_O ;Set IX <- RAM_OLD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_O_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_O_EECP Colon ;Escape to END.JP Z,_L_O_EELD (IX+3),A ;Store Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_O_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_O_EECP Colon ;Escape to END.JP Z,_L_O_ELD B,(IX+3) ;Move (O+3) ---> (O+2)LD (IX+2),BLD (IX+3),A ;Store New Data
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_O_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_O_EECP Colon ;Escape to END.JP Z,_L_O_ELD B,(IX+2) ;Move (O+2) ---> (O+1)LD (IX+1),BLD B,(IX+3) ;Move (O+3) ---> (O+2)LD (IX+2),BLD (IX+3),A ;Store Data in RAM_(O+3).
;--------------------------------------;New Data -> Acc & Flag(Carry).
CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_O_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_O_EECP Colon ;Escape to END.JP Z,_L_O_EJP _L_O_EE ;Escape to error routine.
;--------------------------------------_L_O_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_O_F
_L_O_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_O_F
_L_O_F: NOPRET
;*****************************************************
_Mode: NOP ;Data-input for Mode
;This sub-routine stores the mode; data to the input buffer "_RAM_M".
LD IX,RAM_M ;Set IX <- RAM_M
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_M_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_M_EECP Colon ;Escape to END.JP Z,_L_M_EELD (IX+3),A ;Store Data in RAM_(M+3) ;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_M_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_M_EECP Colon ;Escape to END.JP Z,_L_M_EJP _L_M_EE ;Escape to error routine.
;--------------------------------------_L_M_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_M_F
_L_M_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_M_F
_L_M_F: NOPRET
;*****************************************************
_Standby: NOP ;Data-input for Stand-by
;This sub-routine stores the command; data to the input buffer "_RAM_S".
- G10 -
LD IX,RAM_S ;Set IX <- RAM_S
LD B,30H ;Buffer RAM Clear.LD (IX+0),BLD (IX+1),BLD (IX+2),BLD (IX+3),BLD (IX+4),BLD (IX+5),BLD (IX+6),B
;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_S_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_S_EECP Colon ;Escape to END.JP Z,_L_S_EELD (IX+3),A ;Store Data in RAM_(S+3)
;--------------------------------------;New Data -> Acc & Flag(Carry).CALL _GET_GPIB ;Read & Check Input DataJP NC,_L_S_EE ;Escape to error routine.CP Ten ;Escape to error routine.JP Z,_L_S_EECP Colon ;Escape to END.JP Z,_L_S_EJP _L_S_EE ;Escape to error routine.
;--------------------------------------_L_S_EE: NOP
;Case error, write "Error" in RAM(V+0FH).LD B,_ErrorLD (IX+0FH),BJP _L_S_F
_L_S_E: NOP;Case valid, write "Valid" in RAM(V+0FH).LD B,_ValidLD (IX+0FH),BJP _L_S_F
_L_S_F: NOPRET
;*****************************************************
_ASC_BCD: NOP ;Convert Asc to BCD.LD B,4
_L_ASC1: LD A,(IX)SUB 30HLD (IX+8),AINC IXDJNZ _L_ASC1LD A,0FFHLD (IX+8),ARET
;*****************************************************
_BCD_BIN: NOP ;Convert BCD to BIN.;(IX) <--- BIN data in (IX+D)-(IX+E);(IY) <--- BCD data in (IY+8)-(IY+B)
LD A,0 ;Clear result data area.LD (IX+0DH),ALD (IX+0EH),ALD B,4
LD HL,0 ;_L_B_B: ADD HL,HL
LD E,LLD D,HADD HL,HLADD HL,HLADD HL,DE
LD E,(IY+8) ;BCD data (IY+8) ---> ELD D,0 ; data 0 ---> DADD HL,DE ;(BCD)+(HL)INC IYDJNZ _L_B_B
LD (IX+0DH),HLD (IX+0EH),L
RET
;*****************************************************
_OFFSET_BIN: NOP ;Change Data StyleLD A,(IX+6)CP MinusJR Z,_Minus
;case PlusLD A,(IX+0DH)
LD B,00001000BOR BLD (IX+0DH),AJP _OFFSET_END
_Minus: NOP ;Case Data is MinusLD H,00001000BLD L,0LD B,(IX+0DH)LD C,(IX+0EH)OR A ;Reset Carry FlagSBC HL,BCLD (IX+0DH),HLD (IX+0EH),L
_OFFSET_END: RET
;*****************************************************
_EXE_A0: NOPLD IX,RAM_A0 ;Set IX <- RAM_A0CALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_A0 ;Set IX <- RAM_A0LD IY,RAM_A0 ;Set IY <- RAM_A0CALL _BCD_BIN ;DATA is in (IX)CALL _OFFSET_BIN ;Change Data Style
LD IX,RAM_A0 ;Set Flag ---> '_Ready'LD A,_ReadyLD (RAM_A0+0FH),A
;--------------------------------------LD IX,RAM_A0 ;Set data(H) in AccLD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00000110BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_A0 ;Set data(M) in AccLD A,(IX+0EH)LD B,0F0HAND BLD B,00000101BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.CALL _HS_R
;--------------------------------------
LD IX,RAM_A0 ;Set data(L) in AccLD A,(IX+0EH)LD B,0FHAND BSLA A
- G11 -
SLA ASLA ASLA ALD B,00000100BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.CALL _HS_R
;Up Date DAC.CALL _HS_F ;Hand shake front.LD A,(RAM_PD)OUT (PD_DAT),ACALL _HS_R ;Hand shake rear.
RET
;*****************************************************
_EXE_A1: NOPLD IX,RAM_A1 ;Set IX <- RAM_A1CALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_A1 ;Set IX <- RAM_A1LD IY,RAM_A1 ;Set IY <- RAM_A1CALL _BCD_BIN ;DATA is in (IX)CALL _OFFSET_BIN ;Change Data Style
LD IX,RAM_A1 ;Set Flag ---> '_Ready'LD A,_ReadyLD (RAM_A1+0FH),A
;--------------------------------------LD IX,RAM_A1 ;Set data(H) in AccLD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001110BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_A1 ;Set data(M) in AccLD A,(IX+0EH)LD B,0F0HAND BLD B,00001101BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.CALL _HS_R
;--------------------------------------
LD IX,RAM_A1 ;Set data(L) in AccLD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001100BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.CALL _HS_R
;Up Date DAC.CALL _HS_F ;Hand shake front.
LD A,(RAM_PD)OUT (PD_DAT),ACALL _HS_R ;Hand shake rear.
RET
;************************************************
_EXE_A2: NOPLD IX,RAM_A2 ;Set IX <- RAM_A2CALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_A2 ;Set IX <- RAM_A2LD IY,RAM_A2 ;Set IY <- RAM_A2CALL _BCD_BIN ;DATA is in (IX)CALL _OFFSET_BIN ;Change Data Style
LD IX,RAM_A2 ;Set Flag ---> '_Ready'LD A,_ReadyLD (RAM_A2+0FH),A
;--------------------------------------LD IX,RAM_A2 ;Set data(H) in AccLD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00000110BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(H) in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_A2 ;Set data(M) in AccLD A,(IX+0EH)LD B,0F0HAND BLD B,00000101BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(M) in Port D.CALL _HS_R
;--------------------------------------
LD IX,RAM_A2 ;Set data(L) in AccLD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00000100BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(L) in Port D.CALL _HS_R
;Up Date DAC.CALL _HS_F ;Hand shake front.LD A,(RAM_PE)OUT (PE_DAT),ACALL _HS_R ;Hand shake rear.
RET
;*****************************************************
_EXE_A3: NOPLD IX,RAM_A3 ;Set IX <- RAM_A3CALL _ASC_BCD ;Convert Asc to binary.
- G12 -
LD IX,RAM_A3 ;Set IX <- RAM_A3LD IY,RAM_A3 ;Set IY <- RAM_A3CALL _BCD_BIN ;DATA is in (IX)CALL _OFFSET_BIN ;Change Data Style
LD IX,RAM_A3 ;Set Flag ---> '_Ready'LD A,_ReadyLD (RAM_A3+0FH),A
;--------------------------------------LD IX,RAM_A3 ;Set data(H) in AccLD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001110BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(H) in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_A3 ;Set data(M) in AccLD A,(IX+0EH)LD B,0F0HAND BLD B,00001101BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(M) in Port D.CALL _HS_R
;--------------------------------------
LD IX,RAM_A3 ;Set data(L) in AccLD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001100BOR B
CALL _HS_FOUT (PE_DAT),A ;Output data(L) in Port D.CALL _HS_R
;Up Date DAC.CALL _HS_F ;Hand shake front.LD A,(RAM_PE)OUT (PE_DAT),ACALL _HS_R ;Hand shake rear.
RET
;*****************************************************
_EXE_C: NOPLD IX,RAM_C ;Set IX <- RAM_CCALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_C ;Set IX <- RAM_CLD IY,RAM_C ;Set IY <- RAM_CCALL _BCD_BIN ;DATA is in (IX)
;Multiply by '4' for Current level.SLA (IX+0EH)
;Shift one bit to the left with zero.RL (IX+0DH) ; - with CY.SLA (IX+0EH)RL (IX+0DH)
LD IX,RAM_CLD A,_Ready ;Set Flag --> '_Ready'
LD (IX+0FH),A
;--------------------------------------;Perform "Standby/Operate"->StandbyLD IX,RAM_SLD A,_Ready ;Set Flag --> '_Ready'LD (IX+0FH),ALD B,10111111B ;Prepare Stndby DataLD A,(RAM_PC)AND BOUT (PC_DAT),A ;Set Standby ModeLD (RAM_PC),A ;Replace to new data.
;--------------------------------------LD B,01111111B ;Display Current LED.AND BOUT (PC_DAT),ALD (RAM_PC),A ;Replace to new data.
;--------------------------------------LD IX,RAM_C ;Set data(H) of DAC(1)LD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00000010BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.OUT (PE_DAT),A ;Output data(H) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_C ;Set data(H) of DAC(2)LD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001010BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.OUT (PE_DAT),A ;Output data(H) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_C ;Set data(M) of DAC(1)LD A,(IX+0EH)LD B,0F0HAND BLD B,00000001BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.OUT (PE_DAT),A ;Output data(M) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_C ;Set data(M) of DAC(2)LD A,(IX+0EH)LD B,0F0HAND BLD B,00001001BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.OUT (PE_DAT),A ;Output data(M) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_C ;Set data(L) of DAC(1)LD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA A
- G13 -
SLA ALD B,00000000BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.OUT (PE_DAT),A ;Output data(L) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_C ;Set data(L) of DAC(2)LD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001000BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.OUT (PE_DAT),A ;Output data(L) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_PD ;Set Current Source Mode.LD A,(IX)LD B,01111111BAND BLD (RAM_PD),A
CALL _HS_FOUT (PD_DAT),A ;Output data in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_PELD A,(IX)LD B,01111111BAND BLD (RAM_PE),A
CALL _HS_FOUT (PE_DAT),A ;Output data in Port E.CALL _HS_R
RET
;*****************************************************
_EXE_D: NOP ;Adjust Dummy Resistor.LD IX,RAM_D ;Set Flag ---> '2'LD A,2LD (RAM_D+0FH),A
LD IX,RAM_D ;Set IX <- RAM_DCALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_D ;Set IX <- RAM_DLD IY,RAM_D ;Set IY <- RAM_DCALL _BCD_BIN ;DATA is in (IX)
LD IX,RAM_DLD A,(IX+0EH) ;Make PD_DAT & PE_DATSLA A ; as "xxxx 0111"SLA ASLA ASLA ALD B,00000111BOR BLD IX,RAM_TMPLD (IX),A
CALL _HS_FOUT (PD_DAT),AOUT (PE_DAT),ACALL _HS_R
RET
;*****************************************************
_EXE_M:NOPLD IX,RAM_M ;Set IX <- RAM_MCALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_M ;Set IX <- RAM_MLD IY,RAM_M ;Set IY <- RAM_MCALL _BCD_BIN ;DATA is in (IX)
LD IX,RAM_PC ;(IX) points RAM_PCLD B,11000011B ;Set bit pattern in B.LD A,(IX)AND BLD (IX),A
;Data (RAM_C) is (XX0000XX)
LD IY,RAM_PD ;(IY) points RAM_PDLD B,10000000B ;Set bit pattern in B.LD A,(IY)AND BLD (IY),A
;Data (RAM_D) is (X0000000)
LD IY,RAM_PE ;(IY) points RAM_PELD B,10000000B ;Set bit pattern in B.LD A,(IY)AND BLD (IY),A
;Data (RAM_E) is (X0000000)
LD IX,RAM_M ;(IX) points RAM_MLD A,(IX+0EH) ;Load Mode Data in Acc.
CP 0 ;Case Mode AC(1)JP Z,_L_EM0CP 1 ;Case Mode DC(+)JP Z,_L_EM1CP 2 ;Case Mode DC(-)JP Z,_L_EM2CP 3 ;Case Mode AC(2)JP Z,_L_EM3
CP 4 ;Case Channel A(+)JP Z,_L_EM4CP 5 ;Case Channel A(-)JP Z,_L_EM5CP 6 ;Case Channel B(+)JP Z,_L_EM6CP 7 ;Case Channel B(-)JP Z,_L_EM7
;--------------------------------------_L_EM0: NOP ;Case Mode AC(1)
LD IX,RAM_PC ;(IX) points RAM_PCLD A,00110100BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00011111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00001111BOR (IX)LD (IX),A
JP _L_EME ;--------------------------------------
_L_EM1: NOP ;Case Mode DC(+)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00111100BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00011111BOR (IX)LD (IX),A
- G14 -
LD IX,RAM_PE ;(IX) points RAM_PELD A,00011111BOR (IX)LD (IX),ANOPJP _L_EME
_L_EM2: NOP ;Case Mode DC(-)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00110000BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00001111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00001111BOR (IX)LD (IX),ANOPNOPJP _L_EME
_L_EM3: NOP ;Case Mode AC(2)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00111000BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00001111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00011111BOR (IX)LD (IX),ANOPJP _L_EME
_L_EM4: NOP ;Case Channel A(+)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00100100BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00011111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00001111BOR (IX)LD (IX),ANOPJP _L_EME
_L_EM5: NOP ;Case Channel A(-)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00100000BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00001111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00001111BOR (IX)LD (IX),ANOPJP _L_EME
_L_EM6: NOP ;Case Channel B(+)
LD IX,RAM_PC ;(IX) points RAM_PCLD A,00011000BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00001111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00011111BOR (IX)LD (IX),ANOPJP _L_EME
_L_EM7: NOP ;Case Channel B(-)LD IX,RAM_PC ;(IX) points RAM_PCLD A,00010000BOR (IX)LD (IX),A
LD IX,RAM_PD ;(IX) points RAM_PDLD A,00001111BOR (IX)LD (IX),A
LD IX,RAM_PE ;(IX) points RAM_PELD A,00001111BOR (IX)LD (IX),ANOPJP _L_EME
;--------------------------------------
_L_EME: NOPLD IX,RAM_M ;Set Flag ---> '2'LD A,2LD (RAM_M+0FH),A
CALL _HS_F ;Hand shake front.
LD A,(RAM_PC)OUT (PC_DAT),A
LD A,(RAM_PD)OUT (PD_DAT),A
LD A,(RAM_PE)OUT (PE_DAT),A
CALL _HS_R ;Hand shake rear.
RET
;*****************************************************
_EXE_O: NOP ;Set Off TimeLD A,01000111B ;CTC -0-OUT (CTC_0),A
LD IX,RAM_O ;Set IX <- RAM_OLD A,2 ;Set Flag --> '2'LD (IX+0FH),ACALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_O ;Set IX <- RAM_OLD IY,RAM_O ;Set IY <- RAM_OCALL _BCD_BIN ;DATA is in (IX)
LD IX,RAM_O ;Set IX <- RAM_OLD A,(IX+0EH)
;(RAM_O+0EH) -> Off Time Data in Binary.OUT (CTC_0),ARET
;*****************************************************
_EXE_P: NOPLD IX,RAM_P ;Set IX <- RAM_P
- G15 -
LD A,2 ;Set Flag --> '2'LD (IX+0FH),ACALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_P ;Set IX <- RAM_PLD IY,RAM_P ;Set IY <- RAM_PCALL _BCD_BIN ;DATA is in (IX)
LD A,01000111B ;CTC -1-OUT (CTC_1),ALD IX,RAM_P ;Set Period dataLD A,(IX+0EH)OUT (CTC_1),A
LD IX,RAM_P ;Set IX <- RAM_PLD A,(IX+5)
;(RAM_P+5) -> Index data in ASCII.LD B,30HSUB B
;Acc A <-- Index data in BIN.
CP 0JP Z,_L_EP0
CP 1JP Z,_L_EP1
CP 2JP Z,_L_EP2
CP 3JP Z,_L_EP3
CP 4JP Z,_L_EP4
_L_EP0: NOP ;Case Index=0LD A,(RAM_PB) ;Set Extend -> 0LD B,11111011BAND BOUT (PB_DAT),A ;Set Extend -> 0LD (RAM_PB),A
;Set revised data in (RAM_PB)LD A,01000111B ;CTC -2-OUT (CTC_2),ALD A,1 ;Set CTC_2 -> *1OUT (CTC_2),AJP _L_EPE
_L_EP1: NOP ;Case Index=1LD A,(RAM_PB) ;Set Extend -> 0LD B,11111011BAND BOUT (PB_DAT),A ;Set Extend -> 0LD (RAM_PB),A
;Set revised data in (RAM_PB)LD A,01000111B ;CTC -2-OUT (CTC_2),ALD A,10 ;Set CTC_2 -> *10OUT (CTC_2),AJP _L_EPE
_L_EP2: NOP ;Case Index=2LD A,(RAM_PB) ;Set Extend -> 0LD B,11111011BAND BOUT (PB_DAT),A ;Set Extend -> 0LD (RAM_PB),A
;Set revised data in (RAM_PB)LD A,01000111B ;CTC -2-OUT (CTC_2),ALD A,100 ;Set CTC_2 -> *100OUT (CTC_2),AJP _L_EPE
_L_EP3: NOP ;Case Index=3LD A,(RAM_PB) ;Set Extend -> 1LD B,00000100BOR BOUT (PB_DAT),A ;Set Extend -> 1LD (RAM_PB),A
;Set revised data in (RAM_PB)LD A,01000111B ;CTC -2-OUT (CTC_2),ALD A,10 ;Set CTC_2 -> *10OUT (CTC_2),AJP _L_EPE
_L_EP4: NOP ;Case Index=4LD A,(RAM_PB) ;Set Extend -> 1LD B,00000100BOR BOUT (PB_DAT),A ;Set Extend -> 1LD (RAM_PB),A
;Set revised data in (RAM_PB)LD A,01000111B ;CTC -2-OUT (CTC_2),ALD A,100 ;Set CTC_2 -> *100OUT (CTC_2),AJP _L_EPE
_L_EPE: NOPRET
;*****************************************************_EXE_S:NOP
LD IX,RAM_S ;Set IX <- RAM_SCALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_S ;Set IX <- RAM_SLD IY,RAM_S ;Set IY <- RAM_SCALL _BCD_BIN ;DATA is in (IX)
LD IX,RAM_SLD A,(IX+0EH)CP 1 ;(RAM_S+0EH) -> 1:Operate
; 0:StandbyJP Z,_L_OPEJP NZ,_L_STB
_L_OPE: NOPLD A,2 ;Set Flag --> '2'LD (IX+0FH),ALD B,01000000B ;Prepare OPEARATE DataLD A,(RAM_PC)OR BOUT (PC_DAT),A ;Set Operate ModeLD (RAM_PC),A ;Replace to new data.JP _L_SE
_L_STB: NOPLD A,2 ;Set Flag --> '2'LD (IX+0FH),ALD B,10111111B ;Prepare Stndby DataLD A,(RAM_PC)AND BOUT (PC_DAT),A ;Set Standby ModeLD (RAM_PC),A ;Replace to new data.JP _L_SE
_L_SERET
;*****************************************************
_EXE_V:NOPLD IX,RAM_V ;Set IX <- RAM_VCALL _ASC_BCD ;Convert Asc to binary.
LD IX,RAM_V ;Set IX <- RAM_VLD IY,RAM_V ;Set IY <- RAM_VCALL _BCD_BIN ;DATA is in (IX)
;Multiply by '4' for Voltage level.SLA (IX+0EH)
;Shift one bit to the left with zero.RL (IX+0DH) ; - with CY.SLA (IX+0EH)RL (IX+0DH)
LD IX,RAM_VLD A,_Ready ;Set Flag --> '_Ready'
- G16 -
LD (IX+0FH),A
;--------------------------------------;Perform "Standby/Operate"->StandbyLD IX,RAM_SLD A,_Ready ;Set Flag --> '_Ready'LD (IX+0FH),ALD B,10111111B ;Prepare Stndby DataLD A,(RAM_PC)AND BOUT (PC_DAT),A ;Set Standby ModeLD (RAM_PC),A ;Replace to new data.
;--------------------------------------LD B,10000000B ;Display Voltage LED.OR BOUT (PC_DAT),ALD (RAM_PC),A ;Replace to new data.
;--------------------------------------LD IX,RAM_V ;Set data(H) of DAC(1)LD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00000010BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.OUT (PE_DAT),A ;Output data(H) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_V ;Set data(H) of DAC(2)LD A,(IX+0DH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001010BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(H) in Port D.OUT (PE_DAT),A ;Output data(H) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_V ;Set data(M) of DAC(1)LD A,(IX+0EH)LD B,0F0HAND BLD B,00000001BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.OUT (PE_DAT),A ;Output data(M) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_V ;Set data(M) of DAC(2)LD A,(IX+0EH)LD B,0F0HAND BLD B,00001001BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(M) in Port D.OUT (PE_DAT),A ;Output data(M) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_V ;Set data(L) of DAC(1)LD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA A
SLA ALD B,00000000BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.OUT (PE_DAT),A ;Output data(L) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_V ;Set data(L) of DAC(2)LD A,(IX+0EH)LD B,0FHAND BSLA ASLA ASLA ASLA ALD B,00001000BOR B
CALL _HS_FOUT (PD_DAT),A ;Output data(L) in Port D.OUT (PE_DAT),A ;Output data(L) in Port E.CALL _HS_R
;--------------------------------------LD IX,RAM_PD ;Set(A) Voltage Mode.LD A,(IX)LD B,10000000BOR BLD (RAM_PD),A
CALL _HS_FOUT (PD_DAT),A ;Output data in Port D.CALL _HS_R
;--------------------------------------LD IX,RAM_PE ;Set(B) Voltage Mode.LD A,(IX)LD B,10000000BOR BLD (RAM_PE),A
CALL _HS_FOUT (PE_DAT),A ;Output data in Port E.CALL _HS_R
RET
;*****************************************************
_Execute: NOP ;Case Execute ;--------------------------------------
LD A,1 ;'1' as execute flagLD IX,RAM_S ;Check "Standby-Mode".CP (IX+0FH)CALL Z,_EXE_S
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_M ;Check "Output-Mode".CP (IX+0FH)CALL Z,_EXE_M
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_V ;Check "Voltage-Mode".CP (IX+0FH)CALL Z,_EXE_V
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_C ;Check "Current-Mode".CP (IX+0FH)CALL Z,_EXE_C
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_A0 ;Check "Adjust(0)-Mode".CP (IX+0FH)CALL Z,_EXE_A0
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_A1 ;Check "Adjust(1)-Mode".CP (IX+0FH)CALL Z,_EXE_A1
- G17 -
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_A2 ;Check "Adjust(2)-Mode".CP (IX+0FH)CALL Z,_EXE_A2
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_A3 ;Check "Adjust(3)-Mode".CP (IX+0FH)CALL Z,_EXE_A3
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_D ;Check "Dummy-Mode".CP (IX+0FH)CALL Z,_EXE_D
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_P ;Check "Period-Mode".CP (IX+0FH)CALL Z,_EXE_P
;--------------------------------------LD A,1 ;'1' as execute flagLD IX,RAM_O ;Check "Off Time-Mode".CP (IX+0FH)CALL Z,_EXE_O
RET
;*****************************************************
WAIT: NOPLD A,070H
_LWT1: DEC AJP NZ, _LWT1LD A,070H
_LWT2: DEC AJP NZ, _LWT2LD A,070H
_LWT3: DEC AJP NZ, _LWT3LD A,053H
_LWT4: DEC AJP NZ, _LWT4
RET
;*****************************************************
_HS_F: NOP ;Hand-Shake Front.;Acc data is conserved.;Acc B data is destroyed.
EX AF,AF' ;Acc data is hold._L_HS: IN A,(PC_DAT)
;If 'RTRV/Ready to Receive'=0LD B,00000001B ; then output new dataAND B
; via (RAM_C), (RAM_D) and (RAM_E).JP NZ,_L_HSEX AF,AF'RET
;*****************************************************
_HS_R: NOP ;Hand-Shake Rear.;
LD A,(RAM_PC);Output data Ready (PC) 0 -> 1
LD B,00000010BOR BOUT (PC_DAT),A
LD B,11111101B;Output data Ready (PC) 1 -> 0
AND BOUT (PC_DAT),A
RET
;*****************************************************
END
- H1 -
Appendix (H) Measurement Program List
In the case of Windows 95 system, the program was developped using Visual Basic. The
program consists of the following modules.
Form Modules
FRMADJ.FRM frmAdjust
FRMDMY.FRM frmDummySet
FRMGETPR.FRM frmLoadProc
FRMGETSP.FRM frmLoadTCspec
FRMGPIB.FRM frmGPIB
FRMINIT.FRM frmInit
FRMLEVEL.FRM frmLevelSet
FRMLIST.FRM frmPROClist
FRMMAIN.FRM frmMain
FRMOPTN.FRM frmOption
FRMPARA.FRM frmParameter
FRMPROC.FRM frmProcedure
FRMSAVE.FRM frmSaveData
FRMTCSPE.FRM frmTCspec
FRMWAVE1.FRM frmWaveSet1
FRMWAVE2.FRM frmWaveSet2
Code Modules
DIROPER.BAS
HPIB.BAS
MAIN01.BAS
MEASUREM.BAS
TOOLS1.BAS
The form modules control the user-interfaces using the windows. The code modules
control the measurement sequence and the I/O with the instruments. The measurement
sequence are controled by the code module "MEASURM.BAS". The complete list of the
program in the modules "MAIN01.BAS" and "MEASURM.BAS" are as follows:
- H2 -
'************************************************************
'Control Program for KST003 FRDC Source
'24/Jul./1996 ver.(7.2.1) by H.Sasaki (ETL,Japan)
'************************************************************
'Ver.(1.0) 03/Mar/'93 Original Version for Microsoft Basic(MS-DOS)
'Ver.(2.0) 17/Mar/'93 Transfered to HP Basic System
'Ver.(3.0) 01/May/'93 Modified for New P.G. circuit.
'Ver.(4.0) 10/Feb/'94 Modified for KST003 New FRDC Source(HP Basic).
'Ver.(5.0) 14/Apr/'94 Transfered to MACintosh Quick Basic.
'Ver.(6.0) 01/Oct/'94 Transfered to MACintosh Future Basic(1.02).
'Ver.(7.0) 10/Oct/'95 Transfered to Visual Basic for Windows(2.0).
'Ver.(7.1) 28/Feb/'96 Measurement Option for Reversal Error.
'Ver.(7.2) 07/Jul/'96 Goto-Stanby-After-Measurement Option.
Option Explicit
'GLOBAL Parameters ------------------------------------
Global Wscrn%, Hscrn% 'window width,height
Global PTRstatus$, FRDCadr&, FRDCoutput$, DVMadr& 'Instrument status parameter
Global ISC&, TimeVal#, maxLen% 'Instrument I/O identifier
Global TCname$, TCtype$, TCmax$, TCout$, TCres$, TCdesc$ 'TC specification parameter
Global Nproc$ 'measurement procedure
Global ProcLevel$(256), ProcPeriod$(256), ProcMode$(256) 'measurement procedure
Global MXdrift%, TrigDelay!, LGwait% 'measurement parameters
Global Nread%, Nrep%, Comment$, SeqNS$ 'measurement parameters
Global DataFile$, SpecFile$, ProcFile$ 'file specifications
Global volSpec%, volProc%, volData% 'file specifications
Global CVmode$, CVlevel!, Sadjust!(5) 'KST003 control parameter
Global Sequence%, SWperiod!, OFFtime%, Rdummy! 'KST003 control parameter
Global Reading#(301), average#, stdev# 'data from K182DVM
Global TCindex$ 'result of 'index' measurement
Global iproc$, ProcList$(256), MesHistory$(256) 'buffer
Global FlagGS$ 'status(OK/Cancel/STOP/Redo…)
Global BufferWD1$(256), DataPointer1% 'output buffer for window1
Global BufferWD2$(256), DataPointer2% 'output buffer for window2
Global BufferWD3$(256), DataPointer3% 'output buffer for window3
Global EndingOption$ '(new) measurement parameters
Sub Main ()
Call SetDefault
frmMain.Show 0 '---set up window/menu
frmInit.Show 1
If FlagGS$ = "OK" Then Call initInstrument
End Sub
'******************** Parameter Defaults **********************
'
- H3 -
Sub SetDefault ()
'--- Instrument address and parameter
PTRstatus$ = "Off"
ISC& = 7
FRDCadr& = ISC& * 100 + 3
FRDCoutput$ = "Keep" '"Keep"
DVMadr& = ISC& * 100 + 7
TimeVal# = 5 'timeout in 5 sec
maxLen% = 50 'max. of input data
'--- TC specification defaults
TCname$ = "TCname" 'name
TCtype$ = "TCC" 'type
TCmax$ = "10" 'nominal input
TCout$ = "7.7" 'nominal output
TCres$ = "25" 'load resistance
TCdesc$ = "" 'detailed discription
'---- KST003 defaults
CVmode$ = "V" '(V-voltage/C-current)
CVlevel! = 0!
Sequence% = 0 'AC[1] mode
SWperiod! = 1! '1 ms period(1kHz)
OFFtime% = 10 '10 micro sec.
Rdummy! = 1! 'Dummy 1 kohm
Sadjust!(0) = 0! 'Adjust A+:0%
Sadjust!(1) = 0! 'Adjust A-:0%
Sadjust!(2) = 0! 'Adjust B+:0%
Sadjust!(3) = 0! 'Adjust B_:0%
'---- Default measurement procedures
iproc$ = "1" 'pointer at #1
Nproc$ = "1" 'one measurement
ProcLevel$(1) = "0" 'zero output
ProcPeriod$(1) = "1" '1 ms period(1kHz)
ProcMode$(1) = "V" 'voltage mode
'---- Default measurement parameters
TrigDelay! = 10 'DVM Trigger-Delay(~time-constant*5)
LGwait% = 60 'Waiting time for full-step change(~time-constant*20)
Nread% = 83 'Number of DVM reading (83 is recommended for low frequency)
Nrep% = 10 'Number of measurement per block
Comment$ = "" 'No comments
'---- Default measurement option
MXdrift% = 1 'maximum allowable drift (in ppm/min)
SeqNS$ = "N" 'Normal measurement sequence
'---- Default file name
DataFile$ = "DATA[]"
SpecFile$ = "SPEC[]"
ProcFile$ = "PROC[]"
'---- initial pointer
DataPointer1% = 0
- H4 -
DataPointer2% = 0
DataPointer3% = 0
End Sub
Option Explicit
'******************** Automated Adjustment **********************
Sub AdjustAUTO ()
'local call call --- FRDCsend,K182receive,EFoutputWD1'local call call --- FRDCsend,K182receive,EFoutputWD2
'global parameters --- average#,FlagGS$,Sadjust!(),stdev#,TCindex$
'local parameters ---
Dim Achange$, CMD$, Imeas%, Irepeat%, Isource%
Dim Istatus%, itemHit%, MXrepeat%, Nsdev$, outputSTR$
Dim Adjust!, Smode$, SNratio!, work$, Deviation#, msg$
Static Vave#(9), Achg!(5)
outputSTR$ = "*** AUTOMATIC ADJUSTMENT STARTED***"
Call EFoutputWD1(outputSTR$, "LF")
Call FRDCsend("M4:X")
MXrepeat% = 5
For Irepeat% = 1 To MXrepeat%
'---adjust source A1 to A3 --- NOTE CHANGE OF SUFFIX(1-4 to 0-3)
For Isource% = 1 To 3
work$ = Format$(Sadjust!(Isource%), "0.000")
Sadjust!(Isource%) = Val(work$)
CMD$ = "A" + Str$(Isource%) + " " + work$ + ":X"
Call FRDCsend(CMD$)
Next Isource%
'---measure EMF output
For Imeas% = 1 To 8
If Imeas% = 1 Or Imeas% = 8 Then Istatus% = 0
If Imeas% = 2 Or Imeas% = 7 Then Istatus% = 1
If Imeas% = 3 Or Imeas% = 6 Then Istatus% = 2
If Imeas% = 4 Or Imeas% = 5 Then Istatus% = 3
Smode$ = Str$(Istatus% + 4)
CMD$ = "M" + Smode$ + ":X": Call FRDCsend(CMD$)
Call K182receive
Vave#(Imeas%) = average#
outputSTR$ = "DVM READING :" + Format$("0.0000000E+00")
outputSTR$ = outputSTR$ + " AT MODE:" + Smode$ + " LEVEL:" + Str$(Sadjust!(Istatus%))
Call EFoutputWD1(outputSTR$, "LF")
Next Imeas%
'---check st.dev and drift
Nsdev$ = Format$(stdev#, "0.00")
outputSTR$ = "St. dev=" + Nsdev$ + "(ppm)"
Call EFoutputWD1(outputSTR$, "LF")
'---calcurate adjustment
Vave#(0) = (Vave#(1) + Vave#(8)) / 2#
Vave#(1) = (Vave#(2) + Vave#(7)) / 2#
Vave#(2) = (Vave#(3) + Vave#(6)) / 2#
Vave#(3) = (Vave#(4) + Vave#(5)) / 2#
For Istatus% = 1 To 3
- H5 -
Deviation# = (Vave#(Istatus%) - Vave#(0)) / (Vave#(0) * Val(TCindex$)) * (-1)
Smode$ = Str$(Istatus% + 4)
Achg!(Istatus%) = 0!
SNratio! = Abs(Deviation# * 1000000!) / (stdev# / Val(TCindex$))
If SNratio! > 1 Then
Achg!(Istatus%) = Int(Deviation# * 100000) / 1000
Adjust! = Sadjust!(Istatus%) + Achg!(Istatus%)
work$ = Format(Adjust!, "0.000")
If Adjust! < -2.047 Or Adjust! > 2.047 Then
msg$ = "Adjust parameter out of range."
itemHit% = MsgBox(msg$, 16, "KST003 FRDC Source")
FlagGS$ = "Cancel": Exit Sub
Else
Sadjust!(Istatus%) = Val(work$) 'set global variable
End If
Else
Achange$ = "0"
End If
outputSTR$ = " CHANGE/SETTING FOR A" + Str$(Istatus%) + " =" + Str$(Achg!(Istatus%))
outputSTR$ = outputSTR$ + "/" + work$ + " SN=" + Format$(SNratio!, "0.0")
Call EFoutputWD1(outputSTR$, "LF")
Next Istatus%
If (Abs(Achg!(1)) < .002 And Abs(Achg!(2)) < .002 And Abs(Achg!(3)) < .002) Then Exit Sub
Next Irepeat%
outputSTR$ = "WARNING---Insufficient adjustment"
Call EFoutputWD1(outputSTR$, "LF"): Beep: Beep: Beep
End Sub
'******************** Check Parameters **********************
Sub CheckPARA ()
'global parameters --- FlagGS$,Nproc$,OFFtime%,ProcLevel$(),ProcPeriod$()
'global parameters --- ProcMode$(),SWperiod!,TCmax$,TCres$,TCtype$,
'local parameters ---
Dim Cabs!, Ccomp!, Cmax!, CVlevel!, id%, proc%
Dim itemHit%, outputSTR$, Pindex%, NRRdummy!, repID%
Dim TbaseCHR$, Vabs!, Vcomp!, Vmax!, msg$
Static FlagCHK$(14)
NRRdummy! = Val(TCres$) / 1000 'Rdummy Not Rounded in this call!
'---clear Flags
For id% = 0 To 13
FlagCHK$(id%) = ""
Next id%
FlagGS$ = "OK"
'---determine current/voltage maximum
Vabs! = 10.23 'maximal output voltage setting
Ccomp! = 20# 'output current complience
Cabs! = 10.23 'maximal output current setting
Vcomp! = 11# 'output voltage complience
Select Case TCtype$
Case "TVC"
Vmax! = Val(TCmax$) * 1.05
- H6 -
Cmax! = Vmax! / NRRdummy!
Case "TCC"
Cmax! = Val(TCmax$) * 1.05
Vmax! = Cmax! * NRRdummy!
Case Else
FlagCHK$(1) = "'TCtype' not specified."
End Select
'---check parameters
For proc% = 1 To Val(Nproc$)
CVlevel! = Val(ProcLevel$(proc%))
If CVlevel! < 1! Then FlagCHK$(12) = "Too small output."
Select Case ProcMode$(proc%)
Case "V"
If TCtype$ = "TCC" Then FlagCHK$(13) = "'TCtype'/'Mode' Mismatch."
If CVlevel! > Vmax! Then FlagCHK$(3) = "Voltage exceeds TC spec."
If CVlevel! > Vabs! Then FlagCHK$(5) = "Highest voltage is 10.23(V)."
If CVlevel! > (NRRdummy! * Ccomp!) Then FlagCHK$(7) = "Exceeds current complience (20mA)."
Case "C"
If TCtype$ = "TVC" Then FlagCHK$(13) = "'TCtype'/'Mode' Mismatch."
If CVlevel! > Cmax! Then FlagCHK$(4) = "Current exceeds TC spec."
If CVlevel! > Cabs! Then FlagCHK$(6) = "Current must be less than 10.23(mA)."
If CVlevel! > (Vcomp! / NRRdummy!) Then FlagCHK$(8) = "Exceeds voltage complience (11 Volt)."
Case Else
FlagCHK$(2) = "'ProcMode' not specified."
End Select
SWperiod! = Val(ProcPeriod$(proc%))
Call SelectPindex(SWperiod!, TbaseCHR$, Pindex%)
SWperiod! = Val(TbaseCHR$) * 10 ^ Pindex%
If SWperiod! < .095 Then FlagCHK$(9) = "Shortest Period is 0.10 ms."
If SWperiod! > 25500! Then FlagCHK$(10) = "Longest Period is 25500 ms."
If Val(TbaseCHR$) * 1000 < (OFFtime% + 20) Then FlagCHK$(11) = "parameter conflict(Period/OFFtime)."
Next proc%
'---report results
For repID% = 1 To 13
msg$ = FlagCHK$(repID%)
If outputSTR$ <> "" Then
Select Case repID%
Case 12
itemHit% = MsgBox(FlagCHK$(repID%), 65, "KST003 FRDC Source")
If itemHit% = 1 Then FlagGS$ = "Cancel"
Case 13
itemHit% = MsgBox(FlagCHK$(repID%), 129, "KST003 FRDC Source")
If itemHit% = 2 Then FlagGS$ = "Cancel"
Case Else
itemHit% = MsgBox(FlagCHK$(repID%), 16, "KST003 FRDC Source")
FlagGS$ = "Cancel"
End Select
End If
Next repID%
End Sub
'******************** Ending Procedure **********************
Sub endingProcedure ()
- H7 -
'local FN call --- FRDCsend,K182send,EFoutputWD1,printResult
'global parameters --- Sadjust!(),PTRstatus$
'local parameters ---
Dim Isource%, CMD$, proc%
Call EFoutputWD1("ending procedure started ---", "LF")
For Isource% = 0 To 3
CMD$ = "A" + Str$(Isource%) + Str$(Sadjust!(Isource%)) + ":X"
Call FRDCsend(CMD$)
Next Isource%
Call FRDCsend("P3 .1:O 10:X")
If EndingOption$ = "A" Then Call FRDCsend("S0:X")
Call K182send("R0F0X")
Call EFoutputWD1("OK", "")
'store MesHistory to disk
Open DataFile$ For Append As 1
Print #1, " "
Print #1, " "
Print #1, "Mes#; Time; Level;; Frequency;; ACDC(ppm);; (sd)"
For proc% = 1 To Val(iproc$)
Print #1, MesHistory$(proc%)
Next proc%
Close #1
'print MesHistry and exit
'If PTRstatus$ = "On" Then Call printResult
Beep: Beep: Beep
Call EFoutputWD1("*Measurement Complete.", "LF")
End Sub
'******************** Create Header **********************
Sub makeHedder ()
'local call call --- EFoutputWD2
'global parameters --- Comment$,DataFile$,Nread%,Nrep%,OFFtime%,Rdummy!,volData%
'global parameters --- TCname$,TCtype$,TCmax$,TCout$,TCres$,TCdesc$
'local parameters ---
Dim Ioutput%
Static Pdata$(12)
Pdata$(1) = "Data from the KST003 FRDC source"
Pdata$(2) = " "
Pdata$(3) = "Comment; " + Comment$
Pdata$(4) = "TC name/type; " + TCname$ + "; " + TCtype$
Pdata$(5) = "TC description; " + TCdesc$
Pdata$(6) = "TC/Dummy Res.; " + TCres$ + "; " + Str$(Rdummy! * 1000) + "Ohm"
Pdata$(7) = "Off-Time; " + Str$(OFFtime%) + "us"
Pdata$(8) = "Repeat No.; " + Str$(Nrep%) + "times"
Pdata$(9) = "Waiting Time; " + Str$(TrigDelay!) + "s"
Pdata$(10) = "Reading Number; " + Str$(Nread%) + "sampling"
Pdata$(11) = " "
Open DataFile$ For Output As 1
For Ioutput% = 1 To 11
- H8 -
Call EFoutputWD2(Pdata$(Ioutput%), "LF")
Print #1, Pdata$(Ioutput%)
Next Ioutput%
Close #1
End Sub
'******************** Index Measurement **********************
Sub MeasINDEX ()
'local call call --- Wtime,FRDCsend,K182receive,EFoutputWD1
'global parameters --- average#,LGwait%,MXdrift%,TCindex$,TrigDelay!
'local parameters ---
Dim CMD$, Dadjust!, Imeas%, Index!, Irepeat%, MXrepeat%
Dim outputSTR$, Rdrift!, twait!, stopTime!, startTime!
Static Vave#(4)
outputSTR$ = "*** INDEX MEASUREMENT STARTED ***"
Call EFoutputWD1(outputSTR$, "LF")
Call FRDCsend("M4:X")
MXrepeat% = 10 'repetition number
For Irepeat% = 1 To MXrepeat%
startTime! = Timer
twait! = LGwait%
Call Wtime(twait!)
For Imeas% = 1 To 3
If Imeas% = 1 Or Imeas% = 3 Then Dadjust! = -.1
If Imeas% = 2 Then Dadjust! = .1
CMD$ = "A0 " + Str$(Dadjust!) + ":M4:X"
Call FRDCsend(CMD$)
Call Wtime(TrigDelay!)
Call K182receive
Vave#(Imeas%) = average#
outputSTR$ = "DVM READING :" + Format$(Vave#(Imeas%), "0.0000000E+00")
outputSTR$ = outputSTR$ + " AT LEVEL:" + Str$(Dadjust!)
Call EFoutputWD1(outputSTR$, "LF")
Next Imeas%
Vave#(0) = (Vave#(1) + Vave#(3)) / 2!
Index! = ((Vave#(2) - Vave#(0)) / ((Vave#(2) + Vave#(0)) / 1000))
TCindex$ = Format$(Index!, "0.00") 'resistor 'TCindex' as global parameter
outputSTR$ = "Normalized Index is " + TCindex$
Call EFoutputWD1(outputSTR$, "LF")
'---calcurate drift
stopTime! = Timer
If startTime! > stopTime! Then stopTime! = stopTime! + 86400
Rdrift! = ((Vave#(3) - Vave#(1)) / (Vave#(0) * 2)) / ((stopTime! - startTime!) / 60!)
Rdrift! = Int(Rdrift! * 100000000# + .5) / 100
outputSTR$ = "Drift Rate is " + Str$(Rdrift!) + " (ppm)"
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = "A0 0:M4:X"
Call FRDCsend(CMD$)
If Abs(Rdrift!) < MXdrift% Then Exit Sub
Next Irepeat%
If Abs(Rdrift!) > MXdrift% Then
- H9 -
outputSTR$ = "WARNING---Too large drift"
Call EFoutputWD1(outputSTR$, "LF"): Beep: Beep: Beep
End If
End Sub
'******************** Execute Automated Measurement **********************
Sub MesExecute ()
'global parameters --- PTRstatus$,FRDCadr&,FRDCoutput$,DVMadr&
' TCname$,TCtype$,TCmax$,TCout$,TCres$,TCdesc$
' Nproc$,ProcLevel$(),ProcPeriod$(),ProcMode$()
' MXdrift%,TrigDelay!,LGwait%,Nread%,Nrep%,Comment$,SeqNS$
' DataFile$,volSpec%,volProc%,volData%
' CVmode$,CVlevel!,Sadjust!(),Sequence%,SWperiod!,OFFtime%,Rdummy!
' average#,stdev#,TCindex$
' iproc$,ProcList$(101),MesHistory$(101),FlagGS$
' EndingOption$
'local parameters ---
Dim CMD$, CVlevelSTR$, CVunit$, DmeanCHR$, DsdevCHR$, mark$, outputSTR$, msg$
Dim Pdata0$, Pdata1$, Pdata2$, Pdata3$, Pdata4$, Pdata5$, Pdata6$, Pdata7$
Dim Range$, RdummySTR$, Status$, SWfreq$, TbaseCHR$, twait!, Adjust!
Dim Dmean!, Dsdev!, LossFactor!, Nsdev!, SWfrequency!, Tbase!
Dim Dacdc#, Deviation#, Dssum#, Dsum#, Vac1#, Vac2#
Dim Var#, Vdcm#, Vdcp#, Vssum#, Vsum#, Irep%, Smode$
Dim Imeas%, Ioutput%, proc%, Istatus%, itemHit%, Nstatus%, Pindex%
'---define local arrays
Static SSmode$(4), Pdata$(12), Aadj!(5), AadjSTR$(5), Vave#(10), Achg!(5)
'---define mode characters
SSmode$(0) = "*"
SSmode$(1) = "+"
SSmode$(2) = "-"
SSmode$(3) = "/"
Call EFoutputWD1("Initial Set-up procedure started.", "LF")
'---prepare for measurement(1:Setting Dummy Temporary)
Call FRDCsend("S0:X") 'Temporary disable current/voltage output
Rdummy! = Val(TCres$) / 1000
RdummySTR$ = Format$(Rdummy!, "0.0")
Rdummy! = Val(RdummySTR$) 're-set global parameter
outputSTR$ = "Setting Dummy Resistance (" + RdummySTR$ + "kÍ) ---"
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = "D" + RdummySTR$ + ":X"
Call FRDCsend(CMD$)
Call EFoutputWD1("OK", "")
'---prepare for measurement(2:Setting Output)
CVlevelSTR$ = ProcLevel$(1)
If ProcMode$(1) = "V" Then CVunit$ = "V" Else CVunit$ = "mA "
outputSTR$ = "Setting Output (Mode:" + CVunit$ + " , Level:" + CVlevelSTR$ + ") ---"
- H10 -
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = ProcMode$(1) + CVlevelSTR$ + ":X:S1:X"
Call FRDCsend(CMD$)
'---prepare for measurement(3:Checking polarity)
Call EFoutputWD1("Checking polarity---", "LF")
Do
Call K182receive
If average# < 0 Then
msg$ = "Negative EMF voltage."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 1 Then FlagGS$ = "Redo" Else Exit Sub
End If
Loop Until FlagGS$ <> "Redo"
Call EFoutputWD1("OK", "")
'---prepare for measurement(4:Making Headder)
Call makeHedder
'---Measurement Loop for one procedure
For proc% = 1 To Val(Nproc$)
'---setting period (Tbase and Pindex)
SWperiod! = Val(ProcPeriod$(proc%))
Call SelectPindex(SWperiod!, TbaseCHR$, Pindex%)
Tbase! = SWperiod! / 10 ^ Pindex%
TbaseCHR$ = Format$(Tbase!, "0.00")
outputSTR$ = "Setting Tbase(" + TbaseCHR$ + ") and Pindex(" + Str$(Pindex%) + ") ---"
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = "P" + Str$(Pindex%) + " " + TbaseCHR$ + ":X"
Call FRDCsend(CMD$)
Call EFoutputWD1("OK", "")
'---level-adjustment for steady-state output
CVmode$ = ProcMode$(proc%)
CVlevel! = Val(ProcLevel$(proc%))
If CVmode$ = "V" Then CVunit$ = "V": Else CVunit$ = "mA "
LossFactor! = 1 - (OFFtime% / (SWperiod! * 1000))
CVlevel! = Val(ProcLevel$(proc%)) * Sqr(LossFactor!)
CVlevelSTR$ = Format$(CVlevel!, "0.00")
outputSTR$ = "output adjusted for steady-state mode(" + CVlevelSTR$ + ") ---"
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = CVmode$ + CVlevelSTR$ + ":X:S1:X:M4:X" '---set mode to "Source A+"
Call FRDCsend(CMD$)
Call EFoutputWD1("OK", "")
'---Fixing the range of K182
Call K182send("R0X") '--- 96/07/24
Call EFoutputWD1("Fixing the range of K182---", "LF")
twait! = LGwait% / 2!: Call Wtime(twait!)
Call K182receive
Range$ = "R1X"
If average# > 2900000! Then Range$ = "R2X"
If average# > 29000000# Then Range$ = "R3X"
If average# > 290000000# Then Range$ = "R4X"
Call K182send(Range$)
- H11 -
Call EFoutputWD1("OK", "")
'---measurement of index "N" (index!)
Call MeasINDEX
'---adjust the four sources
Call AdjustAUTO
For Istatus% = 0 To 3
Aadj!(Istatus%) = Sadjust!(Istatus%) 'store initial value
Next Istatus%
'---resume output level for sequencial modes
CVlevel! = Val(ProcLevel$(proc%))
CVlevelSTR$ = Format$(CVlevel!, "0.00")
outputSTR$ = "resume output level(" + CVlevelSTR$ + ") ---"
Call EFoutputWD1(outputSTR$, "LF")
CMD$ = CVmode$ + CVlevelSTR$ + ":X:S1:X:M0:X" 'set mode to "AC(1)"
Call FRDCsend(CMD$)
Call EFoutputWD1("OK", "")
'---output measurement parameters
iproc$ = Str$(proc%)
Call recordParameters
'---measurement sequence
Call EFoutputWD1("*** Measurement sequence started ***", "LF")
twait! = LGwait% / 2!: Call Wtime(twait!)
Dsum# = 0: Dssum# = 0
For Irep% = 0 To Nrep%
outputSTR$ = Time$ + " Meas#" + Str$(Irep%) + " Mode--- "
Call EFoutputWD1(outputSTR$, "LF")
Var# = 0
For Imeas% = 1 To 8
Vsum# = 0: Vssum# = 0
If SeqNS$ = "N" Then
If Imeas% = 1 Or Imeas% = 8 Then Smode$ = "0"
If Imeas% = 2 Or Imeas% = 7 Then Smode$ = "1"
If Imeas% = 3 Or Imeas% = 6 Then Smode$ = "2"
If Imeas% = 4 Or Imeas% = 5 Then Smode$ = "3"
Else
If Imeas% = 1 Or Imeas% = 5 Then Smode$ = "0"
If Imeas% = 2 Or Imeas% = 7 Then Smode$ = "1"
If Imeas% = 3 Or Imeas% = 6 Then Smode$ = "2"
If Imeas% = 4 Or Imeas% = 8 Then Smode$ = "3"
End If
mark$ = SSmode$(Val(Smode$)): Call EFoutputWD1(mark$, "")
CMD$ = "M" + Smode$ + ":X"
Call FRDCsend(CMD$)
Call K182receive
Vave#(Imeas%) = average#
Var# = Var# + stdev# ^ 2
Next Imeas%
'---calucurate frdc-dc difference
If SeqNS$ = "N" Then
Vac1# = (Vave#(1) + Vave#(8)) / 2
- H12 -
Vdcp# = (Vave#(2) + Vave#(7)) / 2
Vdcm# = (Vave#(3) + Vave#(6)) / 2
Vac2# = (Vave#(4) + Vave#(5)) / 2
Else
Vac1# = (Vave#(1) + Vave#(5)) / 2
Vdcp# = (Vave#(2) + Vave#(7)) / 2
Vdcm# = (Vave#(3) + Vave#(6)) / 2
Vac2# = (Vave#(4) + Vave#(8)) / 2
End If
Deviation# = (Vac1# + Vac2# - Vdcp# - Vdcm#) / 2
Dacdc# = (-Deviation# / (Vac1# * Val(TCindex$))) * 1000000!
Nsdev! = Sqr(Var# / 8)
'---accumrate result exept for Irep%=0
If Irep% > 0 Then
Dsum# = Dsum# + Dacdc#
Dssum# = Dssum# + Dacdc# ^ 2
End If
'---report result
Pdata1$ = Format(Irep%, "000")
Pdata2$ = Format(Vac1#, "0.0000000E+00")
Pdata3$ = Format(Vdcp#, "0.0000000E+00")
Pdata4$ = Format(Vdcm#, "0.0000000E+00")
Pdata5$ = Format(Vac2#, "0.0000000E+00")
Pdata6$ = Format(Nsdev!, "0.00")
Pdata7$ = Format(Dacdc#, "0.00")
Pdata0$ = Pdata1$ + "; " + Time$ + "; " + Pdata2$ + "; " + Pdata3$ + "; " + Pdata4$
Pdata0$ = Pdata0$ + "; " + Pdata5$ + "; " + Pdata6$ + "; " + Pdata7$
Call EFoutputWD2(Pdata0$, "LF")
Open DataFile$ For Append As 1
Print #1, Pdata0$
Close #1
'---re-adjustment of the sources
For Nstatus% = 1 To 3 Step 2
If Nstatus% = 1 Then Deviation# = (Vac1# + Vdcp# - Vdcm# - Vac2#) / (Vac1# * Val(TCindex$))
If Nstatus% = 3 Then Deviation# = (-Vac1# + Vdcp# - Vdcm# + Vac2#) / (Vac1# * Val(TCindex$))
Status$ = Str$(Nstatus%)
Achg!(Nstatus%) = Int(Deviation# * 100000) / 1000
Adjust! = Aadj!(Nstatus%) + Achg!(Nstatus%)
AadjSTR$(Nstatus%) = Format$(Adjust!, "+0.000")
Aadj!(Nstatus%) = Val(AadjSTR$(Nstatus%))
If Aadj!(Nstatus%) < -2.047 Or Aadj!(Nstatus%) > 2.047 Then
outputSTR$ = "Adjust parameter out of range."
itemHit% = MsgBox(outputSTR$, 16, "KST003 FRDC Source")
outputSTR$ = outputSTR$ + "(A" + Str$(Nstatus%) + ")=" + AadjSTR$(Nstatus%)
Call EFoutputWD1(outputSTR$, "LF")
Exit Sub
End If
CMD$ = "A" + Status$ + " " + AadjSTR$(Nstatus%) + ":X"
Call FRDCsend(CMD$)
Next Nstatus%
outputSTR$ = " change(A-/B-) :" + Str$(Achg!(1)) + " /" + Str$(Achg!(3))
Call EFoutputWD1(outputSTR$, "")
- H13 -
'---handle 'Break' command
outputSTR$ = " status:" + FlagGS$
Call EFoutputWD1(outputSTR$, "")
If FlagGS$ = "STOP" Then
outputSTR$ = "Measurement going to be aborted."
itemHit% = MsgBox(outputSTR$, 49, "KST003 FRDC Source")
If itemHit% = 1 Then FlagGS$ = "ABORT" Else FlagGS$ = "OK"
End If
Next Irep%
'---calcurate average for repetition(Nrep%)
Dmean! = Dsum# / Nrep%
Dsdev! = Sqr((Dssum# / Nrep%) - Dmean! ^ 2)
DmeanCHR$ = Format$(Dmean!, "0.00")
DsdevCHR$ = Format$(Dsdev!, "0.00")
'---output results to disk
Pdata$(2) = " FRDC-DC diff;(in ppm); " + DmeanCHR$ + "; +/- " + DsdevCHR$ + ";(sd) ;(ex. #0)"
Pdata$(1) = "": Pdata$(3) = "": Pdata$(4) = ""
Open DataFile$ For Append As 1
For Ioutput% = 1 To 4
Call EFoutputWD2(Pdata$(Ioutput%), "LF")
Print #1, Pdata$(Ioutput%)
Next Ioutput%
Close #1
'---output results to "history" window
SWfrequency! = 1000! / SWperiod!
SWfreq$ = Format$(SWfrequency!, "0.000E+00")
Pdata0$ = iproc$ + ";" + Time$ + "; " + CVlevelSTR$ + ";(" + CVunit$ + "); " + SWfreq$ + ";(Hz)"
MesHistory$(proc%) = Pdata0$ + "; " + DmeanCHR$ + "; +/- " + DsdevCHR$
Call DispHistory
'---handle 'abort' command
If FlagGS$ = "ABORT" Then
Call endingProcedure
Exit Sub
End If
Next proc%
'---ending procedure (print if neccesary)
Call endingProcedure
End Sub
'******************** Prerpare for Measurement **********************
Sub PrepExecute ()
'local FN call ---CheckPARA,MesExecute,EFoutputWD1
'local FN call ---SetTCspec,SetProcedure,SetParam,selectFile
'global parameters --- FlagGS$
'local parameters ---
Dim itemHit%, msg$, proc%
- H14 -
'---TC spec. input
Do
frmTCspec.Show 1
If FlagGS$ = "Cancel" Then
msg$ = "TC/TVC spec. not resistord."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 2 Then Exit Sub
End If
Loop Until FlagGS$ = "OK"
'---dialog for procedure input and check
Do
frmProcedure.Show 1
If FlagGS$ = "Cancel" Then
msg$ = "Procedure not determined."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 2 Then Exit Sub
Else
Call EFoutputWD1("Checking parameters---", "LF")
Call CheckPARA
If FlagGS$ = "Cancel" Then
msg$ = "Unallowable procedure."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 2 Then Exit Sub
Call EFoutputWD1("Cancelled", "")
Else
Call EFoutputWD1("Passed", "")
End If
End If
Loop Until FlagGS$ = "OK"
'---measurement parameter input
Do
frmParameter.Show 1
If FlagGS$ = "Cancel" Then
msg$ = "Parameter not determined."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 2 Then Exit Sub
End If
Loop Until FlagGS$ = "OK"
'---specify output file
Do
frmSaveData.Show 1
If FlagGS$ = "Cancel" Then
msg$ = "Filename not specified."
itemHit% = MsgBox(msg$, 17, "KST003 FRDC Source")
If itemHit% = 2 Then Exit Sub
End If
Loop Until FlagGS$ = "OK"
'---clear buffer
For proc% = 1 To 100
MesHistory$(proc%) = ""
Next proc%
- H15 -
'---execute measurement
frmOption.Show 1
If FlagGS$ = "Cancel" Then Exit Sub
frmMain.textFieldStatus.Caption = "Running"
frmMain.textFieldStatus.Refresh
frmMain.textFieldWait.Caption = ""
frmMain.textFieldWait.Refresh
Call MesExecute
End Sub
'******************** Save Measurement Data **********************
Sub recordParameters ()
'local call call --- EFoutputWD2
'global parameters --- CVlevel!,CVmode$,DataFile$,iproc$,Sadjust!()
'global parameters --- SWperiod!,TCindex!,volData%
'local parameters ---
Dim CVunit$, Ioutput%, proc%, SWfreq$, SWfrequency!
Static Pdata$(12)
proc% = Val(iproc$)
If CVmode$ = "V" Then CVunit$ = "V" Else CVunit$ = "mA"
SWfrequency! = 1000! / SWperiod!
SWfreq$ = Format$(SWfrequency!, "0.000E+00")
Pdata$(1) = "Mes. No.= " + iproc$
Pdata$(2) = "Date/Time; " + Date$ + "; " + Time$
Pdata$(3) = "Output Level; " + Str$(CVlevel!) + "; " + CVunit$
Pdata$(4) = "SW Period; " + Str$(SWperiod!) + "; ms ; (" + SWfreq$ + "Hz)"
Pdata$(5) = "TC Index; " + TCindex$
Pdata$(6) = "Adjust A+/-; " + Str$(Sadjust!(0)) + "; " + Str$(Sadjust!(1))
Pdata$(7) = "Adjust B+/-; " + Str$(Sadjust!(2)) + "; " + Str$(Sadjust!(3))
Pdata$(8) = "Rep#; Time; Vac*(nV); Vdc+(nV); Vdc-(nV); Vac/(nV); Vsd(ppm); FRDC-DC(ppm)"
Open DataFile$ For Append As 1
For Ioutput% = 1 To 8
Call EFoutputWD2(Pdata$(Ioutput%), "LF")
Print #1, Pdata$(Ioutput%)
Next Ioutput%
Close #1
End Sub