Note: Descriptions are shown in the official language in which they were submitted.
11~758~
This lnvention relates -to decompression calculators
and more particularly to digital decompression calculators for
calculating and displaying dive related information.
The direction of advancing technology encompasses both
aerospace and inner space with the latter being notably conspic-
uous because of curren-t interest in undersea activities. In this
regard, reference is made to undersea research projec-ts which
include the search for and development of natural resources to
sustain the needs of industry. Of lesser importance, but with
substantial commercial significance is an increasing interes-t in
sports diving. The pursuit of such interests requires perform-
ance of underwater tasks and a successful adaptation to an under-
water environment which, even at moderate depths, can prove haz-
ardous to a diver. It is through the foregoing considerations
that a continuing interest in -the effects of compression and de-
compression on a human body has been maintained and has led to
apparatus and means to overcome the attendant hazards.
Decompression sickness, popularly known as the "bends",
occurs when inert gases dissolved in the blood and various tis-
sues of a human body are released as discrete bubbles in order toachieve a state of equilibrium with a diver's supply of breathable
air mixture. At sea level, the pressure of the diver's air supply
is approximately one atmosphere (760 mm llg) pressure. As the div-
er descends, the air pressure is increased by one atmosphere for
every increase in sea water depth of 33 feet. When returning to
the surface, a corresponding decrease in air pressure occurs. At
equilibrium, the partial pressure of inert gases dissolved in the
blood and body tissues equals the partial pressure of the inert
gas in the diver's air supply. Thus, as the diver descends, the
increasing air pressure requires a correspondingly higher partial
pressure to maintaln equilibrium. An increase in the amount of
.: ' , . ', ' :
1~1758~4
inert gases dissolved in the blood and body tissues provides -the
required higher partial pressure.
When ascending to the surface, the inert gases are
slowly released to maintain the state of equilibrium and, under
ideal conditions, the rate of ascent is controlled to achieve a
release of inert gases sufficient to continually maintain the
equilibrium state. Decompression sickness occurs when the rate
of ascent exceeds the rate at which the body is able to dispel
the released gases. And, at a certain value of supersaturation
of the dissolved gases in the body, nucleation of gas bubbles
occurs. The bubbles are entrained within the body and induce
symptoms that occur as pain in joints and limbs, frequently pro-
ducing a contorted body position which gives rise to the popular
name. In severe cases, paralysis, unconsciousness, and even
death may result.
The adverse efEects of decompression sickness are of
a sufficiently serious character that considerable effort has
been expended to overcome the attendant problems. Attempts have
been made to use various mixtures of oxygen and inert gases,
notably helium, in order to permit diving to ~reater depths and
to shorten decompression times for shallower dives. The problem
of decompression sickness still remains, and prevention of the
sickness is achieved by controlling the rate of ascent to provide
a consequential control of gas release to maintain equilibrium
without bubble nucleation.
Historically, decompression was controlled by referring
to tables prepared from empirical data to ascertain recommended
rates of ascent from various depths. This technique is still
used but its application is limited to simple dives with ex-
cursions to a single depth using a simple gas mixture. Themethod is not suitable where excursion depths and times vary and
where various gas mixtures are used for the reason that tabled
data is generally not available for a random set of conditions.
-- 2
~75~
Approximations are therefore required. This leads -to conserv-
ative estimates and greater decompression times to ensure diver
safety with a concomitan-t increase in expense due to the fact
that operating equipment is used for longer periods in the course
of a dive.
Analog decompression meters and calculators are known
and range from a single tissue, pressure operated decompression
meter to a multi-tissue, electronic calculator. The calculator
has a plurality of tissue compartments that are responsive to
the pressure of breathable gas from a diver's air supply and
provides an indication of inert gas uptake and release to each
compartment irrespective of dive characteristics and breathable
gas mixtures. A drawback of a decompression meter comprising
a single variable volume chamber that represents an analog of
a general body tissue is that it is suitable only for shallow
dives and short diving profiles. The multi-tissue calculator
is not restricted by such shortcomings. But, as is typical of
an analog device, optimum accuracy is only available in mid re-
gions of its operating range, the high end, which is the most
critical as regards decompression sickness, providing a readout
having poor resolution. Furthermore, a drawback common to all
analog devices is a need for frequent calibration to maintain ac-
curacy.
It is known in the art that the uptake and release of
inert gases for various tissue systems can be described very
well by a mathematical model. Past work in this respect has
evolved a mathematical model known as the "Kidd-Stubbs" model.
The response of a human organism to hyperbaric exposure is sim-
ulated by the model via a serially connected set of four tissue
compartments, each representing a tissue system, wherein the
first compartment is driven by the diver's source of air. A
.. . .
. . . - .
31 ~75~
corresponding analysis has been described in a publication,
Weaver and Stubbs: DCIEM Repor-t No.68~, (Sept., 1968). The
mathematical model is expressed as a set of four non-linear,
first order differential equations which may be solved using a
technique known as the "Runge-Kutta method". A disadvantage of
the technique, however, is that a large number of calculations
are required, resulting in long computation times.
According to the present invention means are pro-
vided to calculate safe decompression for random-depth and
repetitive dive profiles in accordance with a mathematically de-
fined decompression model.
The means of the invention also provide that the de-
-; compression model is not time-limited within its working range.
The means of the invention include a digital micro-
computer that is operable in an accelerated time mode for dive
planning and in a real time mode for on-line dive monitoring.
The invention further provides improved accuracy and
resolution at its low and high operating limits.
Still another provision of the invention is a reduced
need for calibxation and maintenance checks as a result of
employing a digital system.
The aforenoted limitations and drawbacks of the prior
art decompression calculators may be substantially overcome and
the provisions of the present invention achieved by recourse to
the invention as disclosed and claimed herein.
One aspect of the invention relates to a digital de-
compression calculator and real-time monitor apparatus, including
display means, for calculating and displaying dive related in-
formation. The apparatus includes addressable memory means for
storing a plurality of instruction and dive related data words
at respective addresses and processor means coupled to the memory
_ ~ _
. . . :
~075~
means and operatiny in a time-division mode for retrieving and
sequentially executing the instruction words and performing
logical operations on the data words for calculating the re-
quired information in response to an operational command in-
struction. The apparatus further includes a firs-t output port
having a plurality of outputs and a plurality of inputs coupled
to the processor means, the inputs being adapted to be loaded
from the processor means with a predetermined binary digital
signal array of ones and zeros. The outputs of the output port
are conducted along corresponding signal paths to respective
ones of inputs in a matrix means. The matrix means also in-
cludes a plurality of outputs having substantially fewer signal
paths which are adapted to couple selected ones of the digital
signals to the processor means as encoded command instructions
and data words.
A second aspect of the invention relates toa method of
operating a digital decompression calculator and real-time mon-
itor apparatus for calculating and displaying dive related in-
formation in a time-division mode where the apparatus includes
addressable memory means storing a plurality of instruction and
dive related words at respective addresses, processor means hav-
ing a plurality of registers coupled to the memory means for
normally retrieving and executing the instruction words and per-
forming logical operations on data words in response thereto,
a first output port having a plurality of inputs coupled to
the processor means and a plurality of corresponding outputs,
and matrix means having a plurality of inputs conducted along
corresponding signal paths to selected ones of the port
outputs and a plurality of matrix outputs having substan-
tially fewer signal paths adapted to couple selected ones
'
. ~ :
~)75~
of the digital signals to the processor means. The method
comprises the steps of:
initiallizing -the proc~ssor means to clear all
regis-ters by loading each register with a binary ~igital
signal array of zeros;
addressing the memory means with an address portion
of the array and retrieving a plurality o~ predetermined
instruction and data words in response thereto;
sequentially exec~lting the predetermined instruction
and data words and generating in response thereto a binary
digital signal array of ones and zeros that are coupled to the
output port; and
selecting at least one matrix output and coupling
the signal therefrom along said fewer signal paths to an in-
struction register of the processor means as an encoded oper-
ational command instruction.
The invention will now be more particularly described
with reference toembodiments thereof shown, by way of example,
in the accompanying drawings wherein:
Fig. 1 is a perspective view of a decompression
calculator in accordance with the present invention and shows
a general layout of all operating controls;
Fig. 2 is a block diagram showing the flow of in-
formation through a decompression model employed in the cal-
culator of Fig. l;
Figs. 3, 4, and 5 are block diagrams of a computer
~" circuit employed in the calculator of Fig. l;
Fig. 6 is a schemtaic diagram of an I/O circuit used
in the computer circuit of Figs. 3, 4, and 5; and
FigO 7 is a flow chart indicating the overall logic
:
~ ~ 6 -
. ~.
~, . . .
~07~ 4
of the computer circuit shown .in Figs. 3, 4, and 5.
Referring now to Fig. 1, there will be seen a per-
spective view of a digital decompression ealeulator lO showing
a layout of various controls and visual indieators. The
ealeulator 10 is provided with two keyboards, a numerie key-
board ll for data entry and a eontrol keyboard 12 for exeeu-
ting various operational command instructions to which the
ealeulator is responsive. Data may also be entered via a
rear-eonneeting analog input (not shown).
- 6a -
A ::
~L07~
Output information is supplied to an operator by a plurality of
indicator lights 13, 18, 19, 20 and 21, a seven diglt alpha-
numeric LED display 1~1 and two rear-connecting analog outputs
(not shown). Additional operator controls are positioned on an
upper deck o~ the calculator 10 and include a key-controlled
power on/off switch 15, a push-button switch 16 to interrupt or
halt a calculation and a slide switch 17 for selecting either a
Real or Calculate mode of operation. The indicator lights 18 and
19 illuminate to indicate the current mode. The Kidd-Stubbs
multi-tissue model having four tissue compartments is employed
in both modes of operation.
The Calculate mode is used for accelerated time, dive
planning or model study calculations. In this mode the basic
inputs of time and depth are entered through the keyboards. At
the end of a calculation, the operator can interrogate the cal-
culator 10 by means of the keyboard 12 for the currant status of
its dive or model parameters, or continue with the dive sequence.
The operator may also initiate a safe decompression ascent where
the safe depth is constantly displayed and updated as a function
of time.
The Real mode of operation may be used for on-line
monitoring of an actual dive situation. Real time information is
generated in this mode by an internal, crystal controlled clock
and the model is updated at 0.1 minute intervals. Depth infor-
mation can be entered either through the keyboard 11 or via a
rear-connecting analog voltage from a pressure transducer (not
shown). The Real mode ls set up by placing the switch 17 in the
Real position, and inputtingan operational command instruction
via the keyboard 12 to switch the data input of the calculator
10 to the rear-connecting analog input if required.
During the course of a dive, any of the dive or model
~o~s~
parameters can be monitored ei-ther by the display or through the
analog outputs. At any time, the operator can address, -through
the keyboard 12, a number oE dive parameters including actual
depth, total time of dive, safe depth before decompression, ascent
time on an optimum decompression curve, and stage time which is
the time required to wait before an ascent of one stage depth
(ten Eeet). If at any time during the dive the actual depth is
less than the safe depth, a ha~ard light 13 is illuminated. In
addition, a look ahead calculation, giving the minimum ascent or
stage time can be undertaken without disturbing the ongoing up-
date of the model.
Two gas mixtures, 80~ ~elium/20% Oxygen (Gas #l) and
80% Nitrogen/20% Oxygen (Gas #2), are addressed by the model,
depending on input command instructions, and the selected mixture
is indicated by one of the liyhts 20 and 21. It will be under-
stood that the calculator 10 is not restricted to these gas
mixtures and that the model flow constants can be changed through
the keyboards 11 and 12 to accommodate virtually any gas compos-
ition.
The calculator 10 is controlled by a set of instruc-
tions which are input as operational command instruction words
and which are identified by a two digit operation code. The
commonly used instructions are assigned separate keys for their
easy execution and together make up the keyboard 12. Instruction
input via the keyboard 12 is referred to as a Direct Method. The
calculator 10 is responsive to a set of forty-eight instructions
of which twelve may be executed by the keyboard 12. The remaining
instructions are input via an Indirect Method using the keyboard
11 to execute the appropriate -two digit operation code. In this
way a multiplicity of dive and model parameters may be displayed,
altered or routed through the analog outputs by an appropriate
-- 8 --
~75~
manipulation of the keyboards 11 and 12.
Commonly used instructions are assigned to separate
keys and appear in coded form on the keyboard 12. The direct
key operations are:
KEY N~YE DESCRIPTION
ED Enter Depth The decompression model is caused to ascend
or descend to the depth indicated in a data
register of the calculator 10 at a rate
controlled by an internal ascent rate or
descent rate register. The depth is input
to the data register via the keyboard 11
Following completion of the calculation,
the actual depth will be shown on the dis-
play 14.
ET Enter Time The depth is held constant and the decom-
pression model is advanced by a time inter-
val given in the data register where the
time interval is input via the keyboard 11.
On completion of the calculation, the total
time will be displayed in the data register.
A Ascend The decompression model ascends to the
depth indicated in the data register. The
ascent is carried out on an optimum safe
ascent profile. On completion of the cal-
culation, the actual depth to which the
model ascends will be displayed.
ADActual Depth The contents of an actual depth register
are displayed on the display 14.
TTTotal Time The total time since initialization of the
calculator 10 is displayed in the data reg-
ister and appears on the display 14.
; SDSafe Depth The Calculator 10 displays the depth to
which safe ascent is possible. Negative
numbers refer to a "depth" above the sur-
face and can be translated into altitude
for divers requiring air transport after
hyperbaric operations.
CL Clear The operation code and the data register
are cleared.
ATAscent Time The calculator 10 determines the time re-
quired for a diver to ascend to the surface
under the optimum safe ascent profile. The
current status of the model is not changed
and ascent time is displayed when the cal-
culation is complete.
30 STStage Time The calculator 10 determines the time re-
quired for a diver to ascend from his
present position to one "Stage Depth." The
"Stage Depth" is an internally stored value
of ten feet which can be changed by the
operator using an indirect operation.
~758~fl~
Referring next to Fig. Z there is shown a diagram in-
dicating a basic flow of information through the Kid-Stubbs model.
Input information to the model consists of a diver ' 5 current time
and depth toge-ther with historical information contained in re-
spective tissue pressures of the four tissue system defined by
the model. The equations describing the Kid-Stubbs model are
given by
dPl/dt = AlFl AoF2
dP2/dt = A2F2 ~ AoF3
dP3/dt = A3F3 AoF4
dP4/dt = A4F4 AoF5
where:
P = absolute pressure of respective compartments in
the model
A = flow constants for gases between the compartments
F = a function given by
A 1 ) ( A 1 )
.~ F2 = (B + Pl + P2) ( 1 2 -.
3 ( 2 3)( 23)
4 ( P3 + P4)(P3 P4)
. ~ .
where:
B = an additional flow constant
PA = the diver's ambient pressure.
For the standard Kid-Stubbs decompression model, all the
A constants are ldentical. For experimental purposes, it is
desirable to allow Ao through A4 to be different. Although the
calculator 10 initializes these constants the same, they can be
individually set by the operator to any desired value by appro-
priately instructing the calculator via the keyboards 11 and 12.
The solution of each compartment pressure is computed
- 10 -
in reduced time by following a program that defin0s an algorithm
based on an improved version of the Euler formula (Heun Formula)
Yn~l Yn + Yn + f(xn+ h,yn+ hyn') h/2
where:
Yn' = f(x ,y ).
After calculation, the updated tissue pressures are
used to compute a safe ascent depth based on the criteria that
the maximum tissue pressure, when modified by a suitable super-
saturation ratio, determines the minimum safe pressure to whichthe diver can be exposed without decompression problems. Thus,
Di Xi i (Yi Psurface)
where:
Di = minimum safe depth
Pi = tissue pressure
P = surface pressure
surf ace
Xi = . 72202
Yi 9-9
i= 1,2,3,4
20 It will be noted that the X and Y constants are shown as being
the same for each tissue compartment of the model. They can,
however, be set by the operator to predetermined values as noted
above.
The equations describing the Kidd-Stubbs model have no
analytical solution and therefore require a numerical computer
solution for which the apparatus of the present invention is pro-
grammed. When solved on a real time basis, a diver will have
access tocontinuous decompression data. The basic inputs of the
problem are simply the diver's instantaneous ambient pressure
30 (i . e. depth) as a function of time and the values of the flow
constants. The algorithm of the invention continually calculates
~1~7~
an updated set of compartment pressures using the compartment
pressures from the previous calculations together with fresh
ambient pressure information.
The circui-try of the calculator 10 comprises a micro-
computer system employing LSI single chip components which are
arranged and programmed to provide a digital decompression cal-
culator and real-time monitor apparatus in accordance with the
present invention. Block diagrams illustrating the intercon-
nections of the LSI chips, including control signal and da-ta bit
paths, may be seen in Figs. 3, 4 and 5. Data bit paths are shown
in double line form whereas the control signal paths are shown
as single lines. The concept of a microcomputer system was fol-
lowed in view of the fact that the decompression model is very
complex and requires a flexible computer system that can be
programmed to manipulate the model in a number of convenient
ways to provide the user with as much information as possible.
The microcomputer system of the apparatus 10 was dev-
eloped around a single chip MOS eight bit parallel central pro-
cessor unit. The hardware was designed as a generalized com-
puter in order to obtain the flexibility required through soft-
ware manipulation. The basic hardware components include the
central processor unit which is shown generally in Fig.3 as a
processor 25. The processor 25 inter~aces with peripheral cir-
cuits that include a RAM memory 26 having a capa-city of lK eight
bit bytes, a PROM memory 27 with a capacity of up to 5K eight
bit bytes, the keyboards 11 and 12 and associated circuitry, the
visual display 14 and associated circuitry, two eight bit dig-
ital-to-analog converters 30 and 31 providing outputs for cor-
responding analog recorders and a ten bit analog-to-digital con-
verter 32 to input an analog signal to the computer system.
Operational command instructions and data are input to
- 12 -
~75~
the calculator 10 through either the keyboards 11 ~nd 12 or an
analog input 38 of the converter 32. Command instructions are
executed by -the operator and appear as three parallel binary
signal outputs on a keyboard ou-tput 33. The output 33 is shown
in Fig. 4 as input to an input port 34 having an output 34' that
is coupled to an eight bit data and address bus 35 which is bidirectional.
Data in the form of an analog signal applied to the
input 38 of the converter 32 is converted and appears a-t the
output of the converter 32 as a ten bit binary signal. Two bits
of the signal are input to the input port 34 and are output there-
from to the data bus 35. Eight parallel bits from the converter
32 are input to a second input port 36 and are output therefrom
to the data bus 35. It will be understood that the ten bitbinary
output of the converter 32 is strobed in~o the processor 25 in
two parts. The eigh-t most significant bits are taken via the
input port 36 and the two least significant bits are input via
the input port 34.
An instruction from the keyboards 11 and 12 to the
input port 34 is used to clear an A/D ready flag on the third
bit of the input port 34. The first, second and third bits of
the input port 34 are employed by the keyboards 11 and 12 to in~
put command instructions and data. The fourth and fifth bits of
the input port 34 are used by the switch 16 which, when activated,
stops a calculation at the end of an incremental calculation.
The processor 25 communicates with its peripheral cir-
cuits over the bus 35 as may be seen in Figs. 3 and 4. The bus
35 is time multiplexed under the control of a crystal controlled
two-phase clock pulse generator 40 which is coupled to a timing
and control unit 41 of the processor 25. An Interrupt input and
four outputs S0, Sl, S2 and Sync of the unit 41 provide necessary
control. Time multiplexing thus allows control information,
- 13 -
,. ",~
~075~
addresses., and data to be transmitted between the processor 25
and the peripheral circuits alony a sinyle bus.
Included in the processor 25 are six, eiyht bit data
reyisters and an eiyht bit accumulator which ~orm a scratch pad
memory 42. An eiyht bit parallel binary arithme-tic loyic unit
43 implements addition, subtraction, and loyical operations on
instruction and data words, and an instruction reyister 44 tem-
porarily stores instructions input to the processor 25. Program
and subroutine addresses are stored internally in an address
stack 45.
The control functions of the processor 25 permit normal
program flow to be interrupted throuyh the Interrupt input which
is driven by an interrupt logic circuit 54 under the control of
a control logic circuit 53. This permits serviciny slow I/O per-
ipheral devices like the keyboards 11 and 12 while also executing
the main proyram stored in the memory 27. ~ -
A11 communication within the processor 25 occurs via
an internal data bus 29 whereas communication with the peripheral.
circuits occurs alony the bus 35 which is shown coupled to the
bus 29. Communication occurs in the form of eiyht bit bytes of
address instruction or data. The processor 25 controls the use
of the bus 35 and determines whether it will be sendiny or re-
ceiving data. State outputs S0, Sl and S2, toyether with Sync,
indicate the state of the processor 25 at any time in an instruc-
tion cycle and inform the peripheral circuitry accordinyly.
The timiny of the processor 25 results in a machine
cycle consistiny of five states. Duriny the first and second
states, an address is sent to memories 26 and 27. Duriny the
third state instructions or data are fetched or retrieved from
the memories. The cycle is completed with the fourth and fifth
states during which an instruction is executed. A Wait state
is en-tered when the memories are no-t available for either read-
ing or writing data.
Long instructions input to the processor 25 may require
from one to three machine cycles for complete execution. In
this event, the first cycle is always an instruction fetch cycle
and the second and third cycles are for data reading, data writ-
ing or I/O operations. The cycle types are coded with two bits
and appear on the bus 35 only during the second state when ad-
dress information is output to the memories 26 and 27.
Another source of information for the processor 25
is the memory 27 which stores programmed instruction and data
words including arithmetic formula statementsthat define the Kidd-
Stubbs decompression model together with related data words ofconst-
ant and variable parameters. In addition, the memory 27 stores
a series of instructions defininganalgorithm based on the im-
proved version of the Euler formula ~Heun Formula) for com-
puting the tissue pressures of individual olles of the four tissue
systems defined by the model. A plurality of subroutines are
likewise stored to perform the various housekeeping duties as-
sociated with the aforenoted instructions. The memory 27 out-
puts data, together with the memory 26, to a memory bus 46 which
is coupled through a memory buffer 47 to the bus 35.
Reference to Fig. 3 shows that the bus 35 is also in-
put to a data bus buffer 48~ An eight bit output from the buffer
48 is coupled to the memory 26 and also to latches 49 and 50.
The output of the latch 49 together with a portion of the out-
put from the latch 50 are coupled to the memory 26 and provide
address information. A location in the memory 26 which is ad-
dressed by the outputs of latches 49 and 50 is output to the
memory bus 46 or input to the memory 26 from the buffer 48 de-
pending on the state of an enabling Read/Write control signal
i81~
from the control logic circui-t 53. The circuit 53 in turn is
conditioned by the state control coding of the timing and control
unit 41. As shown in Fig. 3, enabling outputs from the circuit
53 are coupled to the memory 26, a:nd to the latches 49 and 50.
The memory 26 is thus enabled duri:ng the first and second states
of the machine cycle by means of a Read/Write signal on an out-
put 53l.
A six bit output from the latch 50 is coupled to decod-
ers 51 and 52, two bits being input to the decoder 51 and four
bits being input to the decoder 52. The output of the decoder 52
is expanded to sixteen bits and provides enabling signals for
each of the memories 26 and 27. The output of the decoder 51 is
expanded to four bits and provides control signals that co-
operate with corresponding signals from the output of the decoder
52 to provide signals for selecting predetermined ones of memory
chips in the memory 27.
Referring now to Figs. 3 and 5, it will be seen that
the output of the latch 49 is input to an output port latch 55
and to a shift register 56. The latch 55 receives eight bits
. 20 input and outputs the same number of bits in response to an en-
abling signal from an output decoder 59. All of the bits are
coupled to the inputs of a matrix formed by the keyboards 11 and
12. The shift register 56 receives the first four bits and out-
puts BCD data which is input to the display 14 to provide an
alpha-numeric readout. The same BCD data is also input to a
latch and decoder circuit 57 which is enabled by a control signal
from a demultiplexer driver 58 to provide output signals coupled
to the display 14 for indicating a minus sign and for locating
the decimal point in the readout.
. 30 In operation, the information to be displayed consists
of nine, four bit BCD characters. The first seven characters
- 16 -
, . .
represent seven digits to be output on the LED devices of the
display 14. The eighth character determines the sign and decimal
point position, and the ninth character is used for outputting
the status indicator lights which form a part of the general dis-
play 14. The nine BCD characters are output in sequenee and are
locally stored in the shift register 56 until required. The
register 56 is thereafter rotated and the output characters are
multiplexed to the display 14 by control signals from a read/
rotate logic circuit 60.
The output bus from the latch 49 of Fig. 3 is shown in
Fig. 4 as input to output ports 61 and 62. In response to a
control signal appearing on an output 75 of the decoder 59,
the output port 61 produces an eight bit output that is coupled
to the converter 30 which,in turn, generates a first analog
signal at an output 63. The output port 62 is responsive to a
seeond control signal appearing on an output 76 of the decoder 59
and similarly produces an eight bit output coupled to the con-
verter 31 which likewise generates a seeond analog signal at an
output 64. It will be noted in Fig. 5 that the output deeoder 59
20 reeeives as inputs three bits from the lateh 50 and an I/O OUT
eontrol signal from the logic eireuit 53.
The converter 32 operates on a six second duty cycle
which is determined by a divider 65 driven by a 2 MHz eloek pulse
from the generator 40. The divider 65 also provides a multiplex
clock pulse output whieh is used in timing the logic circuit 60
of Fig. 5.
Input ports 34 and 36 of Fig. 4 are selected by an I/O
IN signal obtained from the control logic circuit 53. An input
port deeoder 66 is shown with an input eoupled to the first and
seeond bits of the lateh 50 output. These two bits seleetively
enable the input ports 34 and 36 during input multiplexing
- 17 -
~75~4
operations. Coded instructions and data words inpuk to the input
port 34 from the keyboards are thereby strobed into the processor
25.
Operational command instructions are input to the pro-
cessor 25 via an I/O arrangement comprising the keyboards 11 and
12 arranged in a matrix having an eight line input and a three
line output. As shown in Fig. 6, the eight inputs connect to
respective ones of the latch 49 outputs which are indicated as
LA~ through LA7. Each latch 49 output is coupled to a flip~flop
10 70 of the latch 55 which in turn is coupled through a correspond-
ing buffer amplifier 71 to the input side of the matrix. The
matrix output is the keyboard output 33 of Fig. 5 and is coupled
to the input port 34 from which it is output to the data bus 35.
The respective lines of the output 33 are connected in parallel
with corresponding bit outputs of the input port 36.
The operation of any selector switch in the keyboards
11 and 12, as well as the slide switch 17, produces a coded sig-
nal on predetermined ones of the three lines of the output 33.
Command instructions and data from the keyboards are therefore
input to the input port 34 e ~,h time the latch 55 is enabled by
a device select signal which is coupled to a terminal 72 from
the decoder 59. In this way, both operational command instruc-
tions and data words are communicated from the keyboards to the
; processor 25 using only three lines of the bus 35. The remaining
five lines of the bus 35 are used for communicating input data
from the converter 32.
In response to a first input command instruction, the
processor 25 addresses the memory 27 with an address portion of
the instruction and sequentially retrieves a plurality of pre-
determined instruction and data words. The retrieved instructionand data words are sequentially executed, resulting in a binary
- 18 -
., . ~ ,. .. . . . . . .
, ~ .
... . .
~)75~
digital signal array of ones and zeros that are coupled to the
bus 35 and through the buffer 48 to the input of the la-tch 49.
From the output of the latch 49, the array is coupled to the
input of the matrix via the latch 55. The signal array is cleared
and is substituted with zeros by merely depressing the Clear key
CL. A second operational command instruction may then be exec-
uted by selecting at least one matrix output and coupling the
signal therefrom to the instruction register 44. It will be
noted that the Clear key CL is operated before each command in-
struction in order to clear the registers.
The complete operation of the calculator lO is definedby its software and key identification, debounce, and verifica-
tion is done under software control. A flow chart is shown in
Fig. 7 and illustrates the overall logic of the computer system
employed in the calculator 10.
The calculate mode of operation is used for dive plan-
- ning and decompression studies. In this mode the basic inputs to
the Kidd-Stubbs model, namely time and depth, are entered through
the keyboards 11 and 12. After power is applied to the calculator
10, all compartments are set to the surface pressure in accord-
ance with instructions stored in the memory 27. To simulate a
dive, numerical depth data is entered via the keyboard 11. Pres-
sing the Enter Depth key ED, the calculator will update the model
to descend to the depth set at a rate of sixty feet per minute
under the control of a subroutine in the memory 27. During the
descent, the display 14 provides a readout in decrements of six
feet per 0.1 minutes. The calculation stops at the depth set
and no further changes occur until a second command instruction
is entered.
Time information is entered in a similar way by firstly
entering the numerical data on the keyboard ll and thereafter
-- 19 --
, ~ ~
~s~
depressing the Enter Time key ET. This action will cause the
model to be advanced in time by one minute intervals until the
to-tal time is increased by the time set. The total dive time is
shown on the display 14 at the end of the calculation.
At the end of a calculation, the operator can instruct
the calculator 10 to read out the current status of its internal
registers. This communication is executed through the keyboard
12. For example, by pressing the Actual Depth key AD, the pro-
cessor 25 responds by addressing the memory 26 with an address
portion of the command instruction in order to read out the
diver's current depth from the memory 26 and to input the stored
data to the display 14. In similar fashion, other dive re-
lated information can be extracted through an appropriate manip-
ulation of the keyboard 12.
The Real mode of operation is used to monitor an actual
dive situation. In this mode, the time information is generated
for the model in 0.1 intervals by the 2 ~IZ clock pulse from the gener-
ator 40. The only information that is input to the calculator 10
in the Real mode is depth information which is entered either as
an analog voltage via the converter 32 or as a digital input ex-
ecuted through the keyboards 11 and 12.
The calculator 10 is placed into the Real time mode by
throwing the switch 17 to the Real position. The Real indicator
light 18 is then illuminated to inform the operator that the mode
is active. Once placed in the Real mode, the calculator 10 can
only be returned to the Calculate mode by entering a command in-
struction through the keyboards.
When the calculator 10 is initiallized, the depth in-
formation for the Real mode is set up to come from the keyboards
11 and 12. However, if an analog voltage representing the diver's
actual depth is to be input directly into the calculator 10
- 20 -
'.
~5~
through the connector 38, the calculator 10 must be instructed to
go to the External mode by a command instruc-tion -to which the
processor 25 responds by retrievin~ from -the memory 27 an appro
priate subroutine and execu-tin~ same. The ex-ternal indicator
light 19 is then illuminated to indica-te the External operating
mode. In order to return to the Calculate mode, a further command
instruction is required. Once the calculator 10 is set in the
External mode, it will continue to function but will ignore all
input instructions and data except the analog data that is input
to the converter 32 and a coded instruction to return to the
Calculate mode.
'
.~ .
- 21 -