Ada027530 PDF
Ada027530 PDF
Ada027530 PDF
DEPARTMENT OF COMMERCE
National Technical Information Service
AD-A027 530
4 MARCI' 1976
.I
m Il n Ul n " m3
At~L4~ -C~ 4 NO, ;46
1C
4 March 1976
ulJ
L
I r
D
AEROSPACE INSTRUMENTATION DIVISION PROJECT 7659
AIR FORCE GEOPHYSICS LABORATORY
HA.WOO APO, MASSACHUSETTS 0-731
L C ohcf Scientist
AFGL-TR-76-0044 7 0
4. TITLE jandSubtIlllo) S. TYPE b)F REPORT & PERIOD COVERED
Unclassified
IS* OECL ASSI ICATION, OOWN GRAOING
SCHEDULE
17. DISTRIBUtION STATEMENT (of the abetraet entered In Slock 20.If dlfferent
fto Report)
on fevers*
It. KEY WORDS (Co-tlnu. sideIt noeeo..ry and Idolnilly by block ntmber)
..............
....
Contents
1. INTRODUCTION 7
4. ROM LOADER 38
4.1 Operation 39
4.2 ROM Loader Electronics 42
4.3 Subroutines 42
4.3.1 Subroutine RECV (ACO. AC1) 42
4.3.2 Subroutine WORD. (AC0. AC1) 48
4.3. 3 Subroutine XMIT (ACO) 49
4.3.4 Subroutine WORDS (ACI) 49
D D C;A
Preceding page blank r f
AUG 2 1976
LU
DU J
Contents
Illustrations
4
Illusirations
I5
i
'II
1. INTRODUCTION
High altitude sounding roekets have always presented a problem to small test
ranges such as WSMR because of rocket dispersion. This report presents a strap-on
dispersion control system employing a 16-bit microprocessor as its brains, that
requires only software changes to accommodate different sounding rocket vehicles.
The Paiute-Tomahawk sounding rocket was chosen as the first test vehicle for
this system because It is the most difficult to control. Figure 1 shows the payload
as it was hung by ropes from the launcher during TM checks at WSMR. The
actuator is a pneumatic position, proportional canard control manufactured by
Chandler Evans Inc. A 6000 psi helium gas bottle, visible in the illustration, pro-
vides the energy to move the fins. An exercise port is available on the actuator
for connection of an external helium source, providing a means of exercising the fins
without firing a pyrotechnic which opens the helium gas bottle valve. Figure 2
shows the rack in the control section. A modified MIDAS platform (Gyro) manu-
factured by the Space Vector Corporation provided the error signals for the control
system. Notethatthe removable eyelets at the topof the rack allowed for. e,' inser-
tion and removal from the control housing section. Figure 3 shows the control sys -
tem electronics mounted on four wire wrap boards with the 16-bit microprocessor
mounted on the wall of the electronics box for heat sinking purposes. The wire
8
,ACCELEROMETERS
CAPCIIVDSCARGE UiT
DIGITA TIMEAI
(TEST FLIGH-1"1
DISPERSION CONTRO
ELECTRONICS
POWRSLE
281VOLT ATR
1 9
|/ ' ) BOARD NO. 3
At rocket liftoff a G-switch activates the Interrupt Start which delivers a clock
pulse approximately every 10 ms to the TDY-52B interrupt line. Every 10 ms the
TDY-52B will increment a memory location, that is, the TDY-52B will also be the
system clock. Five sec after liftoff the TDY-52B will pulse the Initiate Actuator
signal releasing gas into the chamber of the pneumatic actuator. Until 17 sec after
liftoff when the Lock Fins signal is pulsed the TDY-52B will sample the Gyro out-
puts every 10 ms and provide an output to the canards via the Pitch & Yaw Command
A&B signals. At 20 sec the 2nd State Initiate line will be pulsed and the TDY-52B
will halt.
Those blocks which require detailed explanation are discussed in the following
sections.
The Gyro Resolver transforms the gyro roll, pitch and yaw encoder outputs
into positional information.
Figure 5 is the basic circuit used to transform the gyro encoder outputs, sig-
nals A and B, into positional information, Up/Down Binary counter outputs.
10
I"
ilwo
LO 4
U PUIWWO LPW
X c
o
s"Oemllo0
0
>.
cc0
w ic > c
liols E0
ajndw a.
h2o00
$919
7i
7-
SR.
LL.'
big1
0)
CC
CC)
CTU
Fn
IM
Io jI-r,
ICUIl
0 t
k12
There are three such circuits used by the Gyro Resolver, one each for Roll, Pitch
and Yaw. Signals A and B. Figure 6, indicate each. 08789 degree change in gyro
position and the direction of change, positive or negative from the previous position.
Thus each change of state between A and B is a change in gyro position of . 08789
degrees and the knowledge of the previous A and B state immediately following a
change of state indicates whether the gyro moved in a positive or negative direction.
- 08789
Positive -
"
AI
02 LV1h
01 LfLE i
'~--- Negative
The truth table in Figure 7 indicates all possible input states to the 1 of 16 decoder
and the resultant outputs to the binary counters. The truth table is read from top
to bottom for each direw-tion positive or negative. To change direction jump between
identical input stable states and continue to read down.
Ignore for the time being the OR gate and D Flip Plop in Figure 5. The 8 Jlsec
delays allow the trans1tion states to exist long enough to provide a clock pulse, CP,
whose positive going edge will increment or decrement the binary counters as
determined by the Up/down, U/D, signal. The I lsec delay insures the stability
of the U/D signal before the CP signal reaches the counters. oynchroni7ation of
the Gyro resolver with the TDY-52B is accomplished by the D Flip Flop which is
clocked by 045, a clock signal generated by the TDY-52B. Presetting of the
binary counters is accomplished serially through the OR gate using the Bias Input.
13
C040ITION INPUT OUTPUT
BBAA U/A CP
Stab r 1 0 1 0 0 1
raition 1 0 1 1 0 0
Stgble 1 0 01 0 0
Tr nsition 1 1 a1 0 1 Decrement (Neg ptive)
Stable 0 1 0 1 0 0 Counters
Transition 0 1 0 0 0 1
Stable 0 1 1 0 0 0
Transition 0 0 1 0 0 1
Stable 1 0 1 0 0 0
Tramnsitlo 1 1 1 0 1 1
Stable 0 1 1 0 0 0
Transtio, 0 1 1 1 1 1
Stable 0 1 0 1 0 0 Counters
Transition 0 0 0 1 1 1
Stable 1 0 0 1 0 0
Transition 1 0 0 0 1 1
Stable 1 0 1 0 0 0
1..
Input/Output and 16 bit data - memory input port
Cozstrol 16 bit data - periphearal input port
[j#"
---- <: I CONDITIONAL/
LEE _RATOJ JUMP
MODULE MULTIPLEXER
PINS MODULE
PN
MODULE
FINS FLAGS
-- ---
-- I CLOCK >
~GENERATOR
. ~ADDRESS 1
LATCHES
15
CROM DATA
INPUT/OUTPUT
(16 BITS)
4 IS RALU 4BT
CONTROL
US 4 BITS) 4BIS4
IT
The Clock Generator in Figure 8 provides the CPU and external circuits to the
TDY 52B with the required timirg sigials. There are eight time phases to each
execution of an instruction resident in the CROM. Coile--tively the eight time phases
are called one microcycle ano" a number of microcycles is required to execute each
instruction resident in the external memory. Figure 10 shows the timing relation-
ships. Time phase 4 (T4) may be extended during reading/writing operations when
external memory requires slower access times than 525 ns. The use of external
circuitry is required to extend T4 greater than two time phases. For more de-
tailed information contact Teledyne Systems Company, Northridge, CA 91324.
Figure 11 is a flowchart of the TDY-52B operation starting with application of
power. When power is firs+ applied all RALU registers, flags and the LIFO stack
are cleared to ilero. The microprogram then enters an initialization sequence,
in which the Progr,,- Counter (PC) is set to a starting value of FFFE 16 ' that is,
the next-to-last location in the memory which is the first executed instruction.
16
t
I
1
C23 I
0
G~rator C45
(externally0
I available) i1uI 7
C67
;, Holdout
Fop
1
Dats Input/Output0 rtP-tln
1 Microcycle (1.4 s)
At system power turn on Reset is held momentarily low while Interrupt and
Computer Start are held high. The TDY-52B will execute its first instruction
from location FFFE 16 of the memory when Cornpute.r Start is momentarily
grounded. To reset the TDY-52B while payload power is on momentarily ground
Reset while momentarily turning OFF the TDY-52B minus 12 volt supply.
Interrapt Start is momentarily grounded during rocket liftoff enabling the in-
terrupt clock. C45 in Figure 13 synchronizes the Interrupt Clock with the TDY-
52B. Syrchronization is required to prevent a positive transition during Time
Phase 2 (T2. Figure 10). Interrupt Enable UINTEN) in Figure 13 is set by the TDY-
52B under software control and cleared automatically upon the TDY-52B's recog-
nition of a positive Interrt:pt Clock transition. Upon recognition of a positive In-
terrupt Clock transition the TDY-52B will halt and not execute the instruction from
memory location 000116 until the Interrupt Clock is zero, hence the use of the last
D Flip-Flop in Figure 13.
17
INITIALIZATION
YES
Y<E ,-' ,ONTROL
'-ONTROL YES
YES GO TO
INTERRUPT PAN E
PANEL CONTROL PANEL
INTERRUPT
INTERR>
SUBRO17INE
t NO . NOLPT
FEEXECCIUTE INSTRUC' ION
INLOCATION
INSTRUCTION RECEIVED
FROM MEMORY
MCMCRY
REFERENCE YES
INSTRUCTION
18
DsILOyIii
JJP co*Ir $tfI |ritit and Inte)wrUpt
I Ch.
JurmpiflogIl
Ohl'
-Address
The Memory Interface circuit provides the necessary timing and control sig-
nals for interfacing of the memory with the TDY-52B. Figures 14 and 15 make up
the Memory Interface Circult while Figure 16 was used in place of Figure 14 during
softwa-e development of the dispersion control system. See Figure 17 for circuit
timing.
The Timing Interface Circuit of Figure 15 extends T4 to allow adequate access
time tothe CMOS RAM's. During a read microcycle, address information is sent out
at T4 and the TDY-54B expects data back at T7 of the same microcycle. During a write
microcycle data is sent to the memory during T4 of the next microcycle. The TDY-52B
employs latches on its address lines eliminating the need to store address informa-
tion externally. TDY-52B output signal Holdout triggers the Holdin signal high
causing T4 to extend for 7.0 time phases. Holdout is generated only during a
read/write (R/W) microcycle.
19
-J
L
cc
a.
00
ICA 1
200
l
Io I
wU w nx
NN
leIo - Ilef
Ag
.3
.4.
0~4
>4
cc Q
.... 1
,.-
E-4
'
cc . U.
tU 0
214
21
A i
U Uo
u
6
IL Lu LuoL
a.
0
41-
L.$
Cc>,
[-44
22,
I--
(0z
IIF
23
The circuits of Figures 14 and 15 provide their respective memories with
Chip Enable (CE) and Read/Write (R/W) signals. Because of the large capacitive
loading created by the CMOS RAM's, the TDY-52B address lines take approxi-
mately 500 ns to reach a stable state, the CE signal is delayed for 612.5 ns after
the start of T4. The RAM Enable line in Figures 14 and 16 is used in conjunction
with the ROM Loader, where a logic zero enables access to the memories.
Eq. (1) is the autopilot filter 1 chosen to control the Paiute-Tomahawk Rocket.
The dispersion control system uses two of these auto pilots, that is, control in
pitch plane and control in yaw plane. 8c is a positional command in degrees to the
cannards in either the pitch or yaw plane and 0c is the error signal generated in
the pitch or yaw planes.
2
Eq. (2) is written by matching zeros and poles in the z-domain with those of
Eq. (1) in the s-domain. The constant K 1 is determined by equating the final value
of Eq. (1) with Eq. (2) in Eq. (3). Expanding Eq. (2) as shown in Eq. (4), the
autopilot difference equation, Eq. (5) falls out.
Since fixed point arithmetic will be used by the software, Eq. (5) must be
scaled. The maximum absolute allowable error signal is a 22. 50 - .087890 step
where 18cI 210. 11. The scale factor 256 will be used as shown in Eq. (6). The
factor . 8 is absci-bed by K 2 to save a software multiplication step when converting
the autopilot fixed point output for use by the D/A converters.
Eqs. (7) and (8) are the equations used by the software.
8c(s) K(1)
c (s+w)
24
6c(z) K1 (2)
c (z-e
K1 (3)
- _WT as z 1(
w (1-e
ew 12
1
K [
whereK
8cn = 2e
-
wT 8cn1 - e - 2 wT 8cn-2 + K 1 Ocn-2 , (5)
8cn]
L256]J-r
2 A [6cn - B + K25 [ ,cn-2 (6)
A e
B =B e 2- 2wT
W
[0 cn-2] = Integer quantity of. 087890 steps which is
presently divided by 256. Note that
[(cn-2] 4 Ocn-2.
K2
ADY = 2 * A * ADY1 -B 4 ADY2 + 256 PSIG2. (8)
25
?I Initialization
Yes
-T! T"N
- + 001016
lot F8
Set INTEN
U3t N
No COUT- TN
Set
Y~Yes
No NZTLL
Ye
NoaltNo
as
Sot F13 Ya
Pulse F13
YYes Pus
Set F15
Halt stet
<6N
~BLOCK C
S Pulse F12 . Read Pitch &Yaw
26
coordinates while Block C will calculate the difference equations. Note that Flags
F8 and F12 and user jump input condition U3 were used to synchronize the TDY-52B
with the AFCRL EAI 8900 during ground testing.
3.3 lock A
Comments
ACO - FF00 113 +100 Fin Co.nmand
CALL FDELAY (ACO) for 5 Sec
ACO - C000 16 450 Fin command
ADPL2 -000016
THETA - 000016
THET.A1 - 000016
THETA2 -000016
ADYH - 000016
ADYL - 000016
ADYH1 000016
ADYL1 -000016
ADYL2 -000016
AOYIL2 " 0000
16
PSIG - 000016
P$1G1 - 000016
PSIG2 - 000016
~SEGADD - 00516
! REFPH - 3EA916
REFPL - C1A6 1 6
27
~I.
3.4 Block B
Block B calculates the effect of Gyro roll position phi, 9, on the pitch and yaw
commands (see Figure 20).
Gyro roll position phi is loaded hi ACO using the format of Figure 21. ACO is
right justified by shifting ACO 5 times. AC2 is equated to ACO and shifted twice to
the right. The value in AC2 will be used as an address to select the correct I sino I
and I cos 1I from Figure 22 while bits of 0 and 1 of ACO determine the correct
quadrant. The first If statement of Block B determines which of two pairs of quad-
rants, 1&3 or 2&4, is phi presently located. If phi is located in quadrants &3,
AC2 is the address of I sinol while 002016 - AC2 is the address of I cos 0 1. If phi
is located in quadrants 2&4. 004016 - AC2 is the address of I sin 0 1 while AC2
002016 is the address of Icos 0j. The last two If statements of Block B determine
the signs of I sin 1 and cos 90. Finally the roll transformation equations re
calculated and pitch & yaw commands sent.
3.5 Block C
Block C calculates the pitch & yaw error signals and uses subroutine CALC
(AC3) to calculate the pitch & yaw difference equations. Figure 23 is a flow chart
of Block C.
Gyro pitch 0g, and yaw, ip , position is placed in ACO using the format of Fig-
ure 24. Notice that this format has a scale :actor of 512 instead of 256 which is
used by the Auto pilot difference equations. Before subroutinte CALC (AC3) is
called the pitch & yaw error signals are multiplied by 2.
Pitch & yaw error signals are calculated by subtracting the gyro input position
from the desired reference position. Gravity turn affects the pitch reference.
Figure 25, while the yaw reference is a constant 400016. The pitch reference is
calculated by successive summations rather than time consuming multiplications
as shown in Eqs. (9) and (10).
where a = slope
t - time
b = intercept.
where REFPN = b + a t
nn
tn = time line segment n, Figure 25, begins n = 1. 2, or 3
ANTH = a n * T
a n = slope of line segment n
T = 10 ms sampling rate
28
comments
ACe-00C01 6
AC2-AT2 .0Sg ~ oe
006P1 l OATAI - 4 A
Ace~AC
16
-DOATA1+0006F ACI JeotO1
ACI
- OATA(
15) SIC3AC A grw
+
Call MUIAO At AFCc2
AA
00201 OS
- CI IC2c+ AC YIIIOJew
#] CO
~
of ~ ~ ACO.A
Cl AOIJTifNo 36
Ao AC IIfN I&<t 2
ClULldAI AMFIO
ACI AC
Ac - ADYN
Cll MULACO. ACI ADH o 0
(C2ACOcI AOAi ADHOCDiIS
ACt- SNP
A1.1)
CallMULIACO, Y aw Canas,r
CelAUTACO.ulAtFCcICrwI
Sa P12 toePth m"r
FAgCr 20 Block
29;SIP
AC0 BITS
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
, 0 0 , 0 0, 0 0 0
0 0 00 Sin 0 Sin 16 Cos 9 0 Cot 270 Sin 180 Sin 360 Cos 90 , Cos 270 0 0 0 0
0001 0647
0002 0 C8 B
0003 12C8
0004 18F8
0005 1 F19
0 00e 2528
0007 281 F
0008 2 r FB
0009 i I 36 BA
000A 3C56
000B 4 1CE
000C 471C
0000 4 C3 F
000E 15133
000 F 55 F5
0,
0 0 1 0 Sin450 , Sin 225 0 Cos450 , Cos 225 0 Sin 135 Sin 315 0 Cos 135 0 Cot 3150 5 A 8 2
0011 5 ED7
0012 T 62F2
0013 66CF
0014 6 A6 D
0015 6 DCA
0016 70E2
0017 7385
0018 7641
0019 7884
001 A. 7ATD
S0010 0 0 16 7 C 2 9
7C29
0 01 DC
0 001 7 E 9 A
70D8 D
S001 E 7 F6 2
001 F 7 FD8
S, 900, Sin 270 Cos 0 , Cos 180 Sin 900 , Sin 270o
0
0 0 2 0 Cos lo . Cos 3600 7 F F F
30
AC3 000016 j Comments
YsACO = ACO - T
3i
ACO BITS
15 14 13 12 11 10 9 8 7 6 5 -. 3 2 0
0 *4n0 00 00 0
N.1No. 2 INo. 3
S22.00
21.6"
6 tgl 10 t52 is 17
t93
Tlme(WC) -
3.6 Subroutines
3.6.! SUBROUTINE MUL (ACO, ACI)
Subroutine MUL (ACO. ACi) calculates one-half the signed product of ACCO and
ACI. The 32 bit result is placed in ACO and ACI with the Most Significant Part,
MSP. in ACO (see Figure 26).
32
No 016
Comments
Y" YH
yes.Ye
! !ed--nAC-32ob-tcesult coc,
A+C I-NE
ACO =m-Ae ACO>00and Aoi
F-,
- - %C1
AC- ACO -C
I
tAC0t+C m 1/2SCPAC e
NOTE: O y poit, e 10v-s
mAaiAC1 - -AC0AC1n may I mu!tiplied
Return3
Max Execution time 260.05pwle
Subroutine AOUT (AC0, ACt) wir, convert the fin command in AC0 to n a.ch
the format of the D/A converter (see Figure 27).
The first IF statement tests the sign bit of AC0 and sets AC3 accordingly. A
test is then made of the fin command magnitude to determine if it exceeds the 10*
~maximum. If greater than 100, AC0 is set to 100 and if less AC0 is multiplied by
33
128 removing in effect the scale factor used during its calculation. Remember that
the factor. 8 was biried in K2 of the difference equation, Eq. (6), so that only a 7
bit left shift is required at this point saving valuable time. The final IF statement
determines the correct sign bit for ACO.
Comments
NNo
Return I77
Max Execution Time 134.82 Isec
Subroutine CALC (AC3) calculates the Auto Pilot Difference Equation, (see Fig-
ure 28). AC3 is used by the main program to tell the subroutine if the pitch or yaw
difference equation is to be calculated.
34
-i
Connnts
ACO - DATA (3+000116) ACO-THETA2orPSIG2
ACI - K
Call MUL(ACO. ACI)
AC2 , 00016
Stack 2 - AC21
Flag - Stack 2 Link bit L - I for ACO<0000 1 6
ACO -ACOI2 Rotate right, L+ bitl15&bit 0*L
Divide (ACO+AC1) ACI - ACMI Rotate rIit, L~bit 15 & bit 0+ L
yes
AC3 - Stack 1
Stack 1- ACO
Stack 2 -AC I
}Sawaaboversl
Can MYB(AOACI
No
ACD>0000I
1/2
BADP2
or
Y.,Set Eqs. (7) and (8)
35
SCP2 - ACO rmet
SCP3 - ACI 'met
ACO Stock 2
I -aA
[ACO+ACIJ - [ACO+AC1]- -1/2*BA0P2 + 1/512*TlETA2rK2
I
Stck DATA300
- 16 C OH1o D
ACO - DATA(3+0003 16 ) ACO - ADPL1 or ADYH1
AC11-
DTA(+0031
orDL
Cal MYACO.AC)
/AI-ADP1
/2A0
[A[ACO+AC1
-2[ACO+AC1I }e12AADP orDY
SePlogSCP3 A*ADY1.or1ADY2115PSGK
(ACODATA(I3- 207 6 IrPS~ THET+A
DCA3C0O )-A2 HTo SG
1 )
ADATA(30007 THETAI or PSIGI
36
3.6.4 SUBROUTINE MPYA (ACO, Aol)
Subroutine MPYA (ACO, Aol) calculates one-half the product of the 32 bit fixed
point number formed by ACO and AMl and the 32 bit fixed point number formed by
A and AL. The 32 bit result is placed in ACO and Ad. MSPis in ACO (see Fig-
ure 29).
Comments
POUT - ACO
YOUT - ACO
ACl - 000E 1 6
4. ROM LOADER
i The ROM Loader is designed to edit or debug a program stored in th~e CMOS
RAM. An ASR-33 and Figures 33 and 34 compr'ise the ROM Loaders hardware.
There are three functions which the ROM Loader performs; List memory contents.
Read a paper tape into the memory and Write into the memory from the teletype keyboard.
38
4.1 Operation
To use the ROM Loader switch Si of Figure 34 must be in position one before
starting the TDY-52B. When the TDY-52B is started the teletype will respond with
the message "COMMAND:" and wait for one of three commands typed on the key-
board L, R or -W:
L, AAAA, BBBB* typed on the teletype will produce a listing of the memory
contents at the four digit hexadecimal location AAAA through location BBBB. See
Figure 31 for sample output.
R typed on the teletype will start the paper tape reader. Figure 32 is the
required papertape format.
COWMANO: L,0020,0024
LOC DATA
F --- SPROCKET
DODDD DOD
00100 001 Exdmation mark trminates reading
of the paper tape.
39
--------------
r
XMIT
1N914B 4
610
112W
1N914B
-12V +5V
7404
F12y
+RECV
+S+
tat Rl1yN9144Rede
Sold
+5V
7440
10K'
AD02 A M0
AD03 A
ADO3 PROM
~Intel D4M0
0
3
AD07 -A 08 M0
- D9 v
*1V 10K
AD02 2 D -MD10
AD03 Intel M1
A3 PROM D04
1702A
M1
A4
AD05 D1
ADO6 6D7M1
70
25 S1RAM Enable
41
. . . .... .. 7 ... .
W, AAAA, BBBB* typed on the teletype will write the four digit hexadecimal
value BBBB in memory location AAAA.
After completing each command the message "COMMAND:" is once again sent
by the ROM Loader indicating it is ready for a new command. *Note commas in
the above commands are not necessary. Figure 35 is the ROM Loader Flow Chart.
The circuit diagrams in Figures 33 and 34 comprise the ROM Loader Elec-
tro v s. The two 256 word by 8 bit PROM's contain the ROM Loader software.
Switch Si of Figure 34 determines which memory the TDY-52B will fetch its first
instruction from, that is, position 1 will enable the ROM Loader while position 2
will enable the Dispersion Control memory. The RAM Enable of Figure 34 is
connected as shown in Figure 14, or when using the 4096 RAM in Figure 16. Ad-
dress lines AD00 through AD07 and AD15 of the TDY-52B are used to address the
ROM Loader memory (see Figure 34). Isolation between the ROM Loader Memory
and the Dispersion Control Memory is accomplished by means of Tri-State outputs,
which must be provided externally for the Intel PROM's, that is, the Hex Tri-State
Buffers DM8095. MDOO through MD15 are the memory data input lines of the TDY-
52B.
4.3 Srbroutines
4.3. 1 SUBROUTINE RECV (ACO, ACI)
Subroutine RECV (ACO, AC1) provides the necessary decoding of the 8 bit data
svords sent serially by the teletypes transmitter, (see Figure 36). The subroutine
will return from where it was chlled with ACO containing the decoded teletype data
and ACI containing the position of the teletype data in the look up table, Figure 38.
Upon recognition of a teletype start bit a 13. 5 ms delay is intiated to wait for
the middle of the first teletype data bit, (see Figure 37). After ACO has been
filled with the first seven data bits and the parity bit, bit 8, ignored, ACO is com-
pared against the look up table in Figure 38 to determine what alphanumeric
character the teletype sent. If there is no match the subroutine will return to its
beginning to wait for another teletype transmission. If ACO contains the alpha-
numeric characters 0-F it is decoded from seven bits to four bits, that is, the
four LSB's of ACO will contain the hexadecimal digits 0-F with all other bits zero.
42
r-1>004Check
Yes for legal command
16 ~See Figure 38
W received
Call WORDR (ACO, ACi) Wait for 4 digit memnory address in ACO
43
Comments
Yes ACi >000216 Identify Command
R received
Stack 1 - AC3
Call WORDR (ACO, AC1 j Wait for 4 digit data in ACO
AC3 - Stack I
. eeceived
No
AC1 >000416 Check for Hexadecimal digits
44
Co0mments
Yes
45
Commint
Ye.
I13.5
AC3 - 046FIS
me
delay
*~~N AC3-0000%6 1. m ea
yes
TTYse data
o ml t bi )
(U3 i-Inve
No
Fiur
36 Surutn EC(ACOD Ad)ac T itlcto
46-02 1
El AC3
}
-02F4 16
AM -ACII-
00116 10 m doly to &Now
L3O ~
NO AC
-0
00
W 6
!
1~ parit bit to pe
Yw~
ACIa 0014115 See Figure 38
AC2 wFF061 6 Starting address of Figure 36
Stoc 1
-ACOSave TTY data word
AC1AC10001
16 ACO - Stack 1 Restore TTY data word
3
OOF Save orily bits 0 -4
ACO-ACO "AND" 16
Fiura3
Se
AC1*
160A
NNo
Return
47
IStrt 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 I Stq7
003116 1 001316
003216 2 001216
003316 3 001116
003416 4 001016
003516 5 000FII,
003616 6 0001:16
003716 7 00OD 16
003816 8 000C 16 Figure 38. Subroutine RECV (ACO, AC)
00316 9 000B16 Look Up Table
004116 A 000A 16
004216 B 000916
004316 C 000816
004416 D 000716
004516 E 000616
004616 F 000516
002116 I 000416
004C 16 L 000316
006216 R 000216
005716 W 000116
Subroutine WORDR (ACO, A C) receives four data words from the teletype and
stores them as four hexadecimal digits of four bits each in ACO using subroutine
RECV (ACO, AC1), (see Figure 39 and Figure 40). ACl will contain the position
in the look up table, Figure 38, of the last data word received. If the teletype sends
an !, L. R or W the subroutine terminates early.
48
Comments
AC0 - 000016
AC2 - 000416 AC2 Digit Count
I
Stack 1 - AC2
ACO - ACO * 16 Shift AC04 bits left
Stack 2 - ACO
Cell RECV (ACO, AC) Wait for digit from TTY
AC3 - Stack 2
ACO - ACO + AC3 Store received digit in ACO
AC2 - Stack 1
Return
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSD
Subroutine XMIT (ACO) will transmit two 8 bit data words in ACO as two tele-
type data words, (see Figures 41 and 42). If only one data word is to be sent use
data word No. I and set data word No. 2 to zero in Figure 42.
Subroutine WORDS (ACi) in conjunction with subroutine XMIT (ACO) will trans-
mit to the teletype four hexadecimal digits in AMl using the format of Figure 40.
Figure 43 is the flow chart used by Subroutine WORDS (ACl).
49
Comments
9 ms delay
"No
AC2-000
168 bits sent
50
Pulse F12 Terminate Logic 0value bit to
AM3 - 02F416 TTY If being sent
9 ms delay
No AC3-0000 16
Yes
J
Yes24
1 Send two stop
AM 0r4,,bits
9 ms delay
AOO 0Test
Yes for 2nd 8 bit data word
in ACO
51
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Comments
Stack 1 - ACI
Stack 2 - AC2
Call XMIT (ACO) Tasi ii
Ta~ ii
AC2 - Stack 2
ACI - Stack 1
AC2 -AC2 -0001 16
AC2 -000016 N
yes
Rcvirn
52
TDY-52B Instruction Set
Execution Time
MNEMONIC INSTRUCTION NAME FUNCTION In Microseconds* Format
LOADPNo STORE_
tO ** LOAD (EA)- (AC,)JF INDIRECT (EA))-(ACr) 9.1,10.15 IF Ind. 2
SI * STORE (ACN)-(EA), IF INDIRECT(AC,)-((-)) 0.15;I4.35,IF Ind. 2
Lo LOAD BYTE (11/EA)-ACO LESSSIGNIFICANT BYTE) Right 21.0,Tef- 32.2 5
STS STOlE BYTE (ACOLESSSIGNIFICANT BYTF -11/2EA)
o-(sEu Right 29.05, Left
3.8 5
ARITHMETIC 38.85
ADD ADD (ACt) * (EA)- (AC,) OV. CY 9.1 2
SUl SUBTRACT (AC,) - (EA)- (ACr) OV. CY 9.1 2
MPY MULTIPLY (EA).(ACI)A(ACO, IAC,) L 0-SEL. 151.55 to 173.95 5
DIV DIVIDE (ACO),(ACI)I-(EA)-(AC0) OUOTIENT 178.15 to 225.75 5
6 -(SEL) OV,L "(ACI) REMAINDER
DADO OOUBLE
PRECISION
ADD IIACO). (ACIi. I(EA),
(EA.I)]I-IACO). (ACt)) 21.0 5
0-SEL) OV,CY
osu DOUBLEPRECISION
SU,,.ACT IACO) ;ACI))/(EA), (EA. ,))-I(Aco. (AC)) 21.0
0- (Sit) OV, Y
LOGICAL
AND AND (RO) AND-(EA)-(ROI) 9.1 3
OR OR (ROI) '0R' (EA)
- (ROIt) 9.1 3
MKP
ISZ INCREMENT
AND SKIPIFZERO (EA - I - (EA) 12.95 If Skip 14.35 4B
IF (EAI -0, (PC) . I -(PC)
DSZ AND SKIPIF ZERO
CECREMENI (A)T - -EA) 14.35 If Skip 15.75 4B
IF (EA)- 0, (PC) I -(PC)
SKG SKIPIF GREATER
THAN IF (AC,) -(EAT, (PC) I-(Pc 13.3 to 16.1 2
SVNE SKIP IF NOT EOUAL IF (AC.) d (EA),
(PCi I - (PCI 10.5 2
SKAZ SKIPIF "AND* IS ZERO IF IROI)
'AND" EA) .0, PC) I-(PC) 10.5 If Skip 11.9 3
SKSTF SKIPIF STATUSFLAGTRUE IF (STATUS
FLAG N) - 1, (PC) 1- (PC) 27.65 to 55.65 9
0 (SEL)
SKIll SKIPIF BITTRUE IF(ACO8IT N) 1,(PC) I - (PC) 27.65 to 55.65 9
0 (SEL)
SINGLE BIT
SETST SETSTATUSIT I-(STATUS FLAG N) 24.85 to 51.45 9
CLIST CLEARSTATUS
lT 0--(STATUS FLAG N) 24.85 to 51.1h5 9
SETSIT SET IT I- (ACO IT N 22.05 to 48.65 9
CtReIt CLEAR IT o--(ACO RIT
N) 22.05 to 148.65 9
CMPAIT COM'EMENT BIT (ACOBit N).-(ACO bT N) 22.05 to 18.65 9
IfANIFER
iMp ** JUMP EA-(PC). IF INDIRECTCIA)- (AC,) 5.25 If Ind. 9.1 14A
JSR JJUMPTO SUBROUTINE (PCI -(STK) 6.65, If Ind. 10.5 4A
1A -(PC). IF INDIRECT,EA)-(PC)
sOC BRANCH ON COIDITION IF CONDITION CC IS TRUE, 6.65, IF Branch 8.05
(PCI 0 -(PC)
RT FROMINTERRUPT
RETURN (SIK)- C,- (PC 8.05 8
I -(IEF)
RTS FROMSURROUTINE
RETURN ISTK)* C -(PCI 6.65 8
JSRI JUMPTO SUBROUTINE
IMPLIED (PC)-(IK) 6,65 8
*F FI16 *C-(PC)
55
Appendix B
TDY-5ZB Assembly Language
ADDRES R oU
58
AUTOPILOT L:STING
61
AUTOPILOT LISTING (cont'd)
63
AUTOPILOT LISTING (Cont'd)
64
AUTOPILOT LISTING (Cont'd)
65
AUTOPILOT LISTING (Cont'd)
66
* -- ---- h - -.... .'
67
|'
AUTOPILOT LISTING (Cont'd)
68
)I
69
AUTOPILOT LISTING (Cont'd)
70
ROM LOADER LISTING
73
ROM LOADER LISTING (Cont)
74
ROM LOADER LISTING (Cont)
75
OBJECT CODE STMT SOURCE STATEM4ENTS
LOC
76
5/
Appendix E
Definition of Terms
77
DATA (2+OOOF : Used by the flow charts to reference the memory contents at
16 the ,rnpmry locp.:ion computed by adding AC2 to 000F 1 6 .
F8 : TDY-52B general purpose output flag 8 which may be set at T2 or reset
at T6 under software control. There are 6 flags available.
INTEN : Interrupt Enable Flag when set under software control enables TDY-52B
internal interrupt structure.
INTRA : TDY-52B interrupt signal input which is sampled under hardware control
during T3 to detect an interrupt. If set the next instruction executed is
from memory location 000116.
K2 : K 2 of Eq. (6)
LIFO : Refers to the TDY-52B 16 word by 16 bit Last In/First Out Shift
register, that is, stack.
LSD : Least Significant Digit
LSP : Least Significant Part
MSD : Most Significant Digit
MSP : Most Significant Part
POUT : Address of Pitch Latch, a store instruction to this address will cause
bits 8 through 15 to be loaded in the Pitch Latch (see Figure 4).
0 : Gyro Roll position angle.
*g : Gyro Yaw position angle.
PSIG : Pg
PSIGI : PSIG one sampling period removed.
PSIG2 : PSIG two sampling periods removed, Eq. (8).
PULSE: Refers to the setting and resetting of a TDY-52B Flag during the same
microcycle.
REFPH: MSP of current Pitch Reference (see Figure 23).
REFPL: LSP of current Pitch Reference (see Figure 23).
REFPHI : MSP of starting value of Pitch Reference for line segment ending
at time tg I (see Figure 25).
REFPL1 LSP of starting value of Pitch Reference for line segment ending at
time tg I (see Figure 25).
SEGADD Address of TG1, TG2 or TG3 (see Figure 23).
SEL : TDY-52B Select Flag.
STACK I : Reference to location one of the LIFO.
0g : Gyro Pitch position Angle.
THETA: Og
THETA 1: THETA one samp'Aing period removed.
THETA2: THETA two sampling periods removed, Eq. (7).
TTY : Mnemonic for ASR-33 Teletype.
TF : Time to zero fins.
TF3 : TF + 100 ms, time to initiate lock fins pyrotechnic
TI Time to initiate actuator pyrotechnic
TI3 : TI+ 100 ms
78
TL Launch time - not used
T2 Second Stage ignition time
[ACO+ACl] Refers to 32 bit word formed by ACO, MSP, and AC1, LSP.
79