LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 510.84 Cop. Z The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN ;'•>■■ V ?> L161 — O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/digitalradioaids633facc f UIUCDCS-R-74-633 )U-6>33 /tyaX4 *? DIGITAL RADIO AIDS FOR A FLIGHT SIMULATOR RADIO MEMORIES - DISPLAY - CODE KEYER by Lucien Isidore Facchin May, 19 J k IH£ LIBRARY OF TH£ DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS UIUCDCS-R-7^-633 DIGITAL RADIO AIDS FOR A FLIGHT SIMULATOR RADIO MEMORIES - DISPLAY - CODE KEYER by Lucien Isidore Facchin Ingenieur E. S. I. E. E. , Paris (France), 1972 May, 197U Department of Computer Science University of Illinois Urbana, Illinois 6l801 This work was supported in part by the Institute of Aviation and was submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering, May, 197*+ • Ill ACKNOWLEDGEMENTS The author wishes to express his sincerest gratitude to his advisor, Professor W. J. Kubitz for his guidance, timely suggestions and continuing interest. The author also wishes to thank Mr. Lynn Staples, from the Institute of Aviation, who suggested the digital Radio Aids. Further, the author wishes to thank Ms. Evelyn Huxhold, who typed the final version of the paper. IV ABSTRACT The research described here is part of a joint study between the Department of Computer Science and the Institute of Aviation of the University of Illinois. This study is a result of the need to consider alternatives to using general purpose digital computers for the solution of the entire aircraft simulation problem. The software costs of such systems have sky-rocketed in recent years while hardware costs continue to fall. Thus, serious consideration must be given to direct functional mechanization through the use of special purpose computers. The use of small dedicated computers may greatly simplify interfacing to the central control computer in addition to reducing the amount of software required by difusing the processing throughout the simulator. This document presents an implementation of some of the functions of such a system, the Radio Aids System. TABLE OF CONTENTS Page 1. INTRODUCTION 1 1.1. Definition of the Basic Simulator ----------- l 1.2. Present Systems -------------------- 2 1.3. Problems Appearing in the Present Systems and a Possible Way to Decrease Some of Them -------------- 2 1.3.1. Software Cost 2 1.3.2. Wiring from Cockpit to Interfaces ------- 1+ 1.3.3. Proposed Solution to These Problems (Special Purpose Computer or Direct Functional Mechani- zation). -------------------- k 1.3-H. The Radio Aids and a System Using CORDIC 6 1.3.5. Radio Memories, Display and Code Keyer ----- 8 2. THE RADIO MEMORIES 9 2.1. Radio Memories --------------------- 9 2.2. Memory Elements -------------------- 9 2.3- Scanning Device --------------- •_---- io 2.3.1. A First Approach 10 2.3-2. A Second Approach 15 2.3.2.1. First Solution 15 2.3.2.2. Second Solution IT 2.3-3. A Third Approach 22 3. THE DISPLAY 25 3.1. Conversion to BCD 25 3-1.1. Conversion Using Counting -----------25 3.1.2. Conversion Using Combinatorial Logic ------ 27 Page 3.1.3. Conversion Using BCD Adders 29 3.1.^. Conversion Using ROMs and a Counter -------29 3.2. Solution Implemented ------------------32 3.2.1. The Conversion Circuits -------------33 3.2.2. The Control Logic 36 k. THE CODE KEYER ' 39 k.l. Definition of the Problem - • 39 k.2. First Solution kO k.3. Second Solution U2 k.k. Multiplexing and Morse Decoder ------------- k6 It. 5- Code Keyer Card ---------------------1+6 k.6. Code Keyer Circuits -------------------52 k.6.1. Clear Device 52 k.6. 2. The 1 kHz and 10 Hz Clocks 5^ U.6.3. Shift Register - Data Enable Flag - Clock Inhibit Flag 5U h.6.h. End of Character, End of Code Detectors - Letter Counter ----------------- 56 U.6.5. Multiplexer Address Selector ----------58 h.6.6. Jump if No I 58 U.6.T- Sequence Device ----------------- 60 5. CONCLUSION 62 LIST OF REFERENCES 63 VI 1 LIST OF FIGURES Figure Page 1. Block Diagram of a Typical Flight Simulator -------- 3 2. System Under Study 5 3. Block Diagram of the Radio Aids -------------- 7 k. Memories Configuration ------------------ n 5. Functional Diagrams of Radios ---------------12 6. First Approach of the Scanning -------------- il+ 7. Case of Stations Using the Same Frequency --------- lU 8. First Solution l6 9- Second Solution (First Scheme) -------------- 18 10. Second Solution (Second Scheme) --------------21 11. A Third Approach 23 12. Block Diagram of the Display --------------- 26 13. Conversion to BCD Using Counting (Basic Operation) - - - - 26 lU. Conversion to BCD Using Counting (Extended Operations) - - 28 15. Conversion Using Combinatorial Logic ----------- 28 16. Conversion Using BCD Adders -----------.-----30 17. Conversion Using ROMs and a Counter ------------31 18. Converter Used for Multipurpose Conversions -------- 32 19- Block Diagram of the Display --------------- 3U 20. Conversion Circuits --------------------35 21. Control of the Display 37 22. First Solution Ul 23. Block Diagram of the Code Keyer (Solution l) 1+3 2k. Block Diagram of Solution 2 - - 1+5 Vlll Figure Page 25. Block Diagram of the Letter Select and Morse Decoder - - - - kf 26. Card CK1: Implementation of the Letter Select and Morse Decoder -------------------------- U8 27. Block Diagram of the Code Keyer ' 1+9 28. Circuit Diagram of the Code Keyer -------------51 29. Clear Device 53 30. 1 Khz and 10 Hz Clocks ■ 53 31. Shift Register-Data Enable and Clock Inhibit Flags ----- 55 32. End of Character Detector-End of Code Detector- Letter Counter --------------------------57 33. Multiplexer Address Selector ----------------59 3U. Jump if no I 59 35 • Sequence Device ---------------------- 6l 1. INTRODUCTION 1.1. Definition of the Basic Simulator Since the thirties, when general aviation underwent a large expan- sion, it has been suggested that simulators he used in order to ease the flight instruction process, at least in the initial stage. One of the first trainers was the Link Trainer. This trainer is a relatively simple device. It is composed of a series of pneumatic pumps and pushrods that can turn and bank a plywood box, whose inside is made to look like an aircraft cockpit. The pilot sits in the box and moves it around using appropriate stick or control wheel movements. The pilot learns the basic means for making the aircraft respond by using the control system, as well the rate with which an aircraft will respond to the pilot's commands. A trainer gives a pilot a good idea of how the instruments on the aircraft panel react to each movement of the control wheel. The pilot quickly learns how the speed and altitude of the aircraft are affected by different power settings and control wheel move- ments. The pilot learns which instrument to watch for precise monitoring of the behavior of the aircraft. With this knowledge, a pilot is better able to fly the first time he pilots an aircraft. In addition, there is the distinct advantage of being able to make mistakes in the Link Trainer during initial attempts without worrying about damaging the air- craft. In some cases, flight simulation is the only possible way to teach flying; for example, the landing on the moon or the training for air-to- air combat. 1.2. Present Systems Since the first Link Trainer, aircraft have become more complex as have the simulators, which rely heavily on computers. Figure 1 shows a block diagram of a typical flight simulator system. It represents a cock- pit which contains the aircraft instruments delivering analog signals. In order to he processed by a computer, these signals must be converted to digital form through an analog to digital interface (commonly called a linkage in the jargon of the flight simulator specialist). The data is then processed in a computer which contains data and programs; in fact, in several cases we need more than a single computer since aircraft have become more and more sophisticated. Associated with the computer is a console for the instructor who gives orders, decides changes of data in the simulated flight and checks the reactions of the trainee. The data coming from the computer is fed back to the cockpit through a digital to analog interface. 1.3. Problems Appearing in the Present Systems and a Possible Way to Decrease Some of Them . Several problems have arisen in current flight simulators; two of them will be discussed here. 1.3.1. Software Cost Flight simulators typically need several computers. Each time these computers change, the software must be rewritten, usually at great cost. During the past two decades, hardware and software have exchanged roles. At the beginning of the '60s, the hardware costs accounted for more than 50 per cent of the total computer system costs. Now the situation is reversing in favor of hardware, which currently accounts for less than 50 COCKPIT ,** * r 3 A/D INT. 5 COMPUTER 71 3 D/A INI INSTRUCTOR K> CONSOLE Figure 1. Block Diagram of a Typical Flight Simulator, per cent of the total computer system costs. In future years, it seems that the share of costs due to hardware will continue to decrease. Due to the low cost of LSI hardware, more and more complex functions, usually performed "by software, are "being implemented in hardware form. Another argument for direct hardware implementation is reducing the time needed to perform the required computation. 1.3.2. Wiring from Cockpit to Interfaces Due to the large number of airplane instruments, the amount of wiring connecting the cockpit to the interfaces is very large. In addi- tion, the distance between them may reach several tens of yards making the cost very high. 1.3.3. Proposed Solution to These Problems (Special Purpose Computer or Direct Functional Mechanization) Among the other functions to be simulated, the Radio Aids, which are the main navigation instruments, may be implemented without going through a classical computer but by using a special purpose computer as shown in Figure 2. The data coming from the radio instruments are directly coded in binary form, thus eliminating any analog to digital and digital to analog interfaces. This is made possible by using an algorithm called CORDIC which implements trigonometric functions (sin, cos, arctg,... log) using only a small amount of hardware. The idea of CORDIC was origi- nally proposed for realizing the transformation (X, Y) +- (R, 0) to compute the range of the plane. The use of Read Only Memories allows one to imple- ment several functions using the same basic elements (adders, shift regis- ters) without duplication, by writing new codes in those ROMs. ANM.06 COCKPIT Kr j^A/D INI GENERAL PURPOSE COMPU- TER (REDUCED) ~7V 3f a INT SPEC AT PURPOSE COMPUTER J- '_^L \/ INSTRUCTOR CONSOLE Figure 2. System Under Study. I.3.U. The Radio Aids and a System Using CORDIC Radio navigation is now the most common form of navigation. In addition to weather information, radios help the pilot to determine his position from specific radio stations. In the cockpit, the pilot has available a set of radios which are used for different purposes. One class of radios are those used for the airway system and are themselves divided into two groups: the VOR (Visual Omni-Range) which informs the pilot on which radial he is flying, and the Low Frequency Radio Beacon (Distance Measurement Equipment) which determines the distance by computing the time required for a pulse of radio energy to travel from the plane to a ground station and return. For landing, the radio instruments used are the ILS (instrument Landing System) which provide the information a pilot needs for landing in poor visibility conditions. A very simplified block diagram of the radio aids simulator is given in Figure 3. The system monitors the radios in the cockpit. At the request of the pilot, the Radio Aids simulator must provide to the cockpit the information that. the pilot would receive if he were in a real flight (such as Morse code, range, ...). The system has a set of Radio Memories (PROMs) which can be pro- grammed and which contain the data characterizing the stations within range of the aircraft. These memories are scanned so as to find all sta- tions receivable by the radios. The Cordic Unit uses data from the memories in conjunction with the aircraft position coordinates to perform several calculations such as the range computation. A particular function of the Radio Aids is the Code Keyer which must provide the identifying code for each radio station which is received. ~1 RADIOS =Fh I I CONSOLE COCKPIT -| |. DISPLAY 3 SCAN- NING 3 ~i M EMORI ES AlflCRAFT POSITION 3 CORDIC UNIT RA.NGE . > i^i: CODE KEYER BUS J Figure 3. Block Diagram of the Radio Aids. 8 1.3-5. Radio Memories, Display and Code Keyer The following pages present solutions which have "been proposed and the implementation of one of them for the following functions: a) Radio Memories b) Display c) Code Keyer. 2. THE RADIO MEMORIES Introduction In the introduction, a system using the Cordic algorithm was discussed in its general configuration. One of its functions will be considered here and a design is proposed for the Radio Memories system. This is described in the following pages. 2.1. Radio Memories A flight simulator is a completely self-contained device, having no communication with its environment. Therefore, we must store the radio stations parameters in some way. By radio station parameters, we mean: its X, Y coordinates (latitude and longitude), its altitude, the type of station, the magnetic variation, the power of emission, and the morse code letters which there are three. In this system we can differentiate two functions: the PROMs which are the memories themselves, and the scanning device which selects one address of the memories in order to load or check its contents. 2.2. Memory Elements The first factor to consider for the memories is the number of words they should contain (a word corresponds to one station). This is determined by the autonomy of the plane used. In the case of small planes, a radius of 300 miles has been considered adequate. An investigation of the number of radio stations within a 300 mile radius has been done and it indicates a number on the order of 200. Therefore a possible configuration is to use 256 word memories (e.g. INTEL 1T02A). The data to be stored are: X: the first coordinate of the station with respect to a given origin; X is either positive or negative, coded in two's complement . 10 Y: second corrdinate of the radio station. It has exactly the same format as X. Z: altitude in feet and essentially a positive number, magnetic variation which indicates the difference between the geographic and magnetic longitudes. radiated power type (VOR, radar, DME, ...) Morse code letters which are three five bit words. X and Y are the variables which require the largest number of bits {2h) and thus require 3 PROMs. Therefore, the use of a 2k line bus has been considered. For the altitude Z (l6 bits) and the magnetic variation (8 bits), the data is spread from the first to the 2^th lines. A set of con- trol lines provide signals which enable the PROMs containing the desired data. See Figure k. 2.3. Scanning Device A radio is an element which has two aspects (see Figure 5)- One is the tuning system. When a frequency is selected a binary number is generated and placed on the bus in order to select corresponding data in the PROMs. The other aspect of a radio is the visual display which dif- fers with the type of radio. This visual information is obtained after processing of the data contained in the PROMs for that radio. The analysis of the scanning device has progressed through several stages and in the following pages , several approaches will be presented. 2.3.1. A First Approach A first approach considers a limited number of radios (up to 8) and supposes that each frequency corresponds to only one radio station. 11 2 4 2 4 16 8 3 5 MV POWER MORSE TYPE CODE I c £ ■ i i CE CE ! \ t H • • - ' , DATA BUS CONTROL ' BUS Figure h. Memories Configuration. RADIO I I VISUAL OR audio IT LINING INFORMATION DATA IN fftCQUENCy BUS i i * 12 FREQUENCY RADIO Setecl- BUS RADIO 2 fi Seled Figure 5. Functional Diagrams of Radios, 13 In addition we do not consider the interaction with the computing element (CORDIC unit). Each frequency may he represented "by 8 hits. Refer to Figure 6. We have a set of radios each delivering an 8 hit number. Each radio must he considered individually as it addresses the memory. This is implemented "by using eight 8 hit multiplexers. Each multiplexer selects one hit among 8 which belong to all radios. A clock drives a 3 hit binary counter which sequences the multiplexers selecting the radio frequencies individually and consecutively. This is a very simple approach to the system which must be modi- fied for the following reason. Since the number of radio stations is much greater than the number of frequencies available, there exist frequencies used by more than one radio station. Since we are addressing the PROMs by the radio frequency, the preceeding system must be modified. Figure 7 indicates, in an X, Y plane, the position of the aircraft and two stations noted 1 and 2 which are using the same frequency f . When a frequency is set on one of the radios, we are to determine which of the stations is the one we are receiving (in simulation). In addition, we suppose that the plane cannot receive the signals emitted by more than one station having the same frequency. The selection of the right station is realized as indicated. First, the distance dl from the plane to the first station found in the PROM (let it be station l) for the given frequency is determined. Then, distance d2 from the plane to the next station with same frequency (let station 2) is computed. If they are the only stations using that frequency, we compare dl and d2 and the station having the smallest distance is the right one (for dl < d2 it is station l). lU AADIO I RADIO 2 up to 8 M P X 1 M P X 8 clock output -^counter 1 PROM address Figure 6. First Approach of the Scanning. station 2'* station 1 > X d'l < d2 Figure 7. Cane of Stations Using the Same Frequency. 15 2.3.2. A Second Approach At this point, we will use the above constraint. We still sup- pose that there are only 8 bit frequencies, and as before we do not con- sider the interaction with the computing unit. Several solutions have been proposed which will be roughly sketched. 2.3.2.1. First Solution This solution uses one additional ROM which contains the frequen- cies of the stations. Figure 8b shows this PROM which contains the frequencies. For a frequency fl, we have two stations and therefore the frequency fl will appear twice in the PROM (addresses 8 and 91 for example). When the PROMs are selected at these addresses, the data corresponding to these stations are available on the data bus. The system works in the following manner: one radio is selected using multiplexers and its frequency enters a comparator. During this time, an 8 bit counter scans the entire radio memory in order to test the frequency which is contained in each word. This frequency is the second input of the comparator. When both frequencies are identical, the comparator generates a signal A = B indicating that we have found a sta- tion having the same frequency as the one corresponding to the radio con- sidered. At this time we can use the data presently on the data bus. The counter scans all the addresses. When the last address has been selected, we again start the cycle and a signal is generated in order to select the next radio (this is implemented by incrementing a 3 bit counter which add- resses the multiplexers). The same procedure as indicated above is repeated for the new radio and so on. See Figure 8a. An analysis of this system shows a great advantage to this method of scanning: any station data (frequency and parameters) can be placed 16 PROM ADDRESS PROM (frequency) Id. DATA PROMS >A= B data bus ci- (4) tens (4) hundreds (4) thousands (4) ten (4) . thousands Figure l6. Conversion Using BCD Adders, 2* serja out 1__ binary shift register .clock clock KD- start flag [ _ clear -J c o u n t e r n word s el ecj. c'l 31 2" serial in ri d r ^ s ROM outp uts r-=CL bed adder 82 S 83 turn ouT ock, :Li — ! carry 1 inpiirt •£ accumulator 74 29S BCD TO DISPLAY Figure IT. Conversion Using ROMs and a Counter. 32 block select 2 5 down \ / > :> z / / -^_ 7^~z : :zzzzzzzz^z: ^i P fl O M ■ 1st block 2nd block Figure 18. Converter Used for Multipurpose Conversions, 33 great advantage of being useful for binary numbers which are negative and coded in 2's complement. For this case, a 1 appears in the 2Uth "bit. Figure IT indicates an Exclusive OR circuit whose inputs are the outputs of a latch containing the 1 of the 2Uth bit and the current bit out of the shift register. In the ROMs, we use 25 words instead of 2k and the last one contains a one. When the 25th word of the ROMs is addressed, if the number is positive, is added to the accumulator; if negative, the 25th word is added. Another interesting aspect of such a circuit, is the fact that it can be used for the conversion to feet or the angular representa- tion as indicated above. The angular representation is as follows: 180° = -180° which corresponds in binary to 100... 0; 90° is obtained by shifting right: 010... and so on. Therefore when 100... appears, we have to display 180.00 (using two decimal digits for greater accuracy). 3.2. Solution Implemented Figure 19 shows a block diagram of the solution which has been implemented. It is a hybrid system, consisting of a set of binary and BCD counters for most of the conversions and of three T^ 185 ROMs when it is desired to simultaneously display the three Morse code letters (the ROMs are used in order to avoid additional logic). The system consists of two parts, the conversion circuits and the control logic. 3.2.1. The Conversion Circuits (Figure 20) The circuits for the Morse code letters consist of a set of latches: 2 hex latches (SN 7 1 +17 1 and one quadruple latch (SN 7^ 175). They store the data coming from the data bus. The outputs of the latches are in groups of five and energize the 7^ 185 ROMs used for the binary to BCD conversion. 3k MSB clock IE up_ fountt control logic input" Cortt-rols ITT i , Speci L - EI HI 33 3Q4J — [TI L 3Q2[ - bin. bed i decoder (4) MPX2 _J h MPX1 (4) (4) EB bed 7segment decoder display Figure 19. Block Diagram of the Display. 35 up down SN 2*193 data bus SN 74193 load I clear binary counter bed counter down 17 I SN 74192 I SN 74192 2' I SN 74193 SN latchels ^74 decoders K SN '174 SN "185 LI Q lQ. SN '185 Li Ji 157 Ul ii 157 47A 47A SN 74192 u '157 47 A multiplexers bcd/7 segment decoders SN '175 '185 display TIL 302 Figure 20. Conversion Circuits. 36 The circuits used for all the other conversions consists of a set of binary counters (SN 7^ 193) and a set of BCD counters (7U 192). Quadruple 2 line to 1 line multiplexers (SN T^ 157) choose either the data coming from the BCD counters, or that coming from the binary to BCD ROMs. The multiplexers outputs are fed into BCD to 7 seg- ments decoders and drivers (SN "jh ^-7A). The decoder outputs drive the final stage, the 7 segment numeric display (type TIL 302). An additional circuit, the TIL 30^4 is used in order to indicate the sign. It uses a buffer driver. 3.2.2. The Control Logic (Figure 21 ) . When data are to be displayed, the instruction (a pulse on a given line) is decoded in order to perform particular functions which are of two types depending on whether the counters or the ROMs are to be used. If we use the counters, three control lines are needed: - counter start : this pulse loads the data into the binary counter, while clearing the BCD counters. Then it enables either the up or down line for the binary counter (for the BCD counter, only the down line is used). The carry and borrow lines of the binary counter are used to determine when it is empty. When this is detected, a pulse is produced which clears the flag and therefore disables the counting. - special clock : this line is used when the data to be displayed requires a special conversion for angles or conversion of distance to feet). The flag is reset to zero when the binary counter is empty. 37 Courier start Jl O flag II clock clear Special ClocK JL flag V Rale seled- A flag k Morse letter line JL © *-flag TL ® flag Gear Display "*" (5 MSB up/ down clock i binary 3 counter i_ load r— CZP G down carry ,borrow single shot | BCD counter clear J* JL rSZe — nnultipl ier|— ' -— i multiplexer ratel rate2 u morse latches '"multiplexers ■»j DISPLAY Figure 21. Control of the Display. 38 - rate select line : this line determines which rate must be set into the rate multiplier. The selection between rate 1 and rate 2 is done through 2 to 1 line data selectors. The flag is cleared when the binary counter is empty. If the Morse code letter circuits are used, one line is required: - Morse letter line : this line feeds the clock input of the latches and sets a flag which maintains the select line of the multiplexers which transmit either the outputs from the BCD counters or the outputs of the ROMs at 1. A fifth line is used for turning off the display by clearing a flag whose output is fed into the Bl/RBO line of the 7 segment display circuits. 39 k. THE CODE KEYER U .1. , Definition of the Problem Each radio station has an identifying code consisting of three letters (for Champaign it is CMl) which is transmitted using the Morse code. Using the same example, CMI is coded: C MI For the Morse code, the unit time used will he 1/10 second. The dash is coded 3/10 of a second and the dot as 1/10 of second. Within one letter, there is a blank of 1/10 of a second after each dash or dot. A blank sep- arates two consecutive letters and lasts 3/10 of a second. Finally, bet- ween each complete station code, we have to provide a blank of approxima- tively k seconds. Example: 3/10 1/10 3/10 1/10 In addition, we must take into account that this three letter Morse code presents an additional letter, I, which is the same for all stations and which preceeds the 3 letter code (ICMI). The letter I appears when the pilot is approaching the runway. The code is generated by a narrow beam antenna which covers the runway. The problem, then, is to generate an audio signal corresponding to the Morse code for a given station when the pilot tunes to its frequency. Since several stations use the same frequency (there are 200 of them avail- able for radio stations at the present time), the C0RDIC unit must deter- mine which address in the PROMs corresponds to the most probable station which is emitting the signal we are receiving. Having done this, it will generate a signal indicating that we must load the code from the PROMs. ko A major consideration for the Code Keyer is the choice of the code used to represent the Morse code. We know that the longest letter is Q which requires 13/10 of a second. k.2. First Solution A possible way of coding is the following: 00 for 01 for - 10 for end of a letter 11 for end of the whole code In addition to this, if after a dot or dash we find either 00 or 01 we automatically create a 1/10 of a second "blank. Now, we have to look for the longest possible word which contains h letters, the first of which is I and the others with a maximum number of h dashes or dots: bits 1st letter I 2 blank 2 2nd letter 2 x k blank 2 3rd letter 2 x k blank 2 Uth letter 2 x k end of code 2 Therefore, we need 10 + 2k = 3*+ bits or 5 PROMs. (h 1/2). The system would appear as indicated in the Figure 22 for the first solution. This coding seems to be the one which requires the least amount of memory if we want to load the complete code in only one time, without using any other kind of memory such as a ROM. Ill scan r "V ; \* S From CORDIC A i __ HI =p W>- sequence device I • tnJ»'< jumpif no I ^ Figure 28. Circuit Diagram of the Code Keyer. 52 address the one letter select multiplexers. Another function is to inform the 'jump if no I" circuit when the next letter to be loaded is 00 or the first bit of the PROMs. If this bit is zero, meaning that there is no I, the letter counter will be set at 01 in order to be ready to address the next letter (first letter in this case since there is no I). One pecularity of the repetition of the identification Morse code for a station is the following. If there is an I, we generate the code in a continuous manner. If there is no I, we send the code four times followed by a blank whose time length is the same as the code itself. All these required sequences are determined by the "sequence device" which uses the data from the first bit of the PROMs, the "jump if no I" circuit and the outputs of the letter counter. In addition to this, a circuit (end of code) disables the loading during k seconds, after a complete code has been generated. In the following, the different devices which constitute the Code Keyer are discussed. k. 6. Code Keyer Circuits U. 6.1. Clear Device (Figure 29) When the radio has been tuned, the signal "key on" is set at zero. At this time a narrow pulse is generated which resets the flipflop devices. The element cleared at this time are: - letter counter - end of code detector - clock inhibit flag - data enable flag The circuit used is anSN 7^ 123 monostable multivibrator with clear, an external resistor, a diode and a capacitor. 53 1Ka. .-° 1 ' F m SN 74123 Key on 1 if £=D .5 v« r Clear Figure 29 . Clear Device Vcc i 05^>f '05^ H 6^ C-.54^F Vcc '05 J74l67 e „ CUck output- 74I67 CI«cK Yo-t>«r lOHa Figure 30. 1 Khz and 10 Hz Clocks. 5* U.6.2. The 1 kHz and 10 Hz Clocks (Figure 30) Each code keyer card is equipped with its own clock. This must he a low frequency, 10 Hz . Since we need an audio signal of 1 kHz to modulate the signal coming out of the shift register, we design a 1 kHz clock and obtain the 10 Hz by frequency division. The circuit used to generate the 1 kHz is the one indicated on Figure 30. It uses three cas- caded open collector inverters connected together to form a loop. The signal obtained is such that the off to on time ratio is 5/6 and the fre- quency is given by: 1 1 f = t l +t 2 V 1+6 /5) V - V - V t - PR T..f CC BE ° ESat ^ t - CR^ In( ) CC BE t ' t 2 = C Rl ln( y Vt _V CE -. a v } CC BE t This circuit has the drawback of being dependent on the source voltage V . For a capacitor C = . 5yF we obtain the desired frequency. In order to im- prove the shape of the output signal, an additional open collector inverter is used. This yields very short transition times. To obtain the 10 Hz clock, we divide this frequency two consecutive times by 10. The circuits used are two SN "jh 167 synchronous and program- mable counters which are easily cascaded by connecting the enable output to the enable and strobe inputs of the next stage. k.6.3. Shift Register - Data Enable Flag - Clock Inhibit Flag (Figure 31 ) The data coming from the Morse ROMs are connected to the parallel inputs of two serial shift registers. Loading is controlled by the load/ shift input of the shift register. 55 from ROMs DATA ENABLE FLAG CLOCK INHIBIT FLAG Clear Figure 31. Shift Register-Data Enable and Clock Inhibit Flags 56 When a radio is tuned, the clear device sends a negative pulse which clears flipflop 1 making the Q output 0. When "data ready" is present (meaning that the code corresponding to our radio is available at the outputs of the PROMs), a positive pulse, whose length is the same as "data ready," appears at the output of the three input NOR gate 2. This pulse, through an inverter, holds the load/shift line of the shift regis- ters to zero for a period equal to the length of the pulse, causing the data at the parallel inputs to be loaded in. The falling edge of this same positive pulse, sets the output of flipflip 1 to 1, disabling the load line prior to the next "data ready pulse." At the same time (falling edge), the output of flipflop 2 changes state and enables the shift register clock, making it start. Flipflop 2 is initially cleared, disabling the shift register clock. It is also cleared when the end of character signal is one, indicating that the data in the shift registers has been unloaded and that shifting should stop to prepare for another load. Similarly, the loading is enabled by the falling edge of the end of character signal or by the end of code signal which occurs after an entire Morse code has been generated. h.6.h. End of Character, End of Code Detectors - Letter Counter The "end of character detector" detects when the end of the data contained in the shift register occurs. Since the data is either 111 or 1 or a single 0, end of data occurs when two consecutive zeros follow a one. Figure 32 shows this logic. It consists of three cascaded flipflops whose common clock is the 10 Hz one. The input is the serial output of the shift register. In order to determine the sequence 100 we enter the Q input of the first two flipflops and the complemented Q of the third one into a NOR gate which generates a positive pulse when the desired sequence occurs. 57 letter counter J Q '111 c K Q from Clear shift register -jq J O '111 ic K O JL J O '111 c K O J 27 JL end of character -H K O Hz end of character detector HJ o- '111 c '00 ~L 1 1 end of code end of code detector J O '111 c K O t-'-Qj Pi 00 Figure 32. End of Character Detector-End of Code Detector-Letter Counter. 58 The falling edge of this pulse triggers a two hit counter which memorizes the next letter taken from the Morse code. When the outputs Ql and Q2 are one (indicating that the letter on the way is the last one) and when the end of character signal is one (meaning the code is completed) a falling edge triggers a 20 ns single shot (monostable mult ivi Drat or) . The falling edge of this short pulse triggers another single shot which has a pulse length of k seconds which is the blank required between two consecutive codes. This pulse, called the "end of code," disables the "data enable" circuit for h seconds, as well as the clock inhibit. k.6.5. Multiplexer Address Selector (Figure 33) As indicated by its name, this circuit provides the selection of the address of the desired letter to be loaded into the shift registers. This address consists of two bits which are 1 when one or more radios are not set. The selector uses open collector components so that the address select for all radios are wire ORed. The following signals are required to load the letter address onto the bus : - a "data ready" pulse corresponding to the desired radio, - "key on" set, indicating that this radio is used. The result, when these two conditions are met, is to transfer to card CK1 the values which are at the outputs of the letter counter. The two inver- ters used to complement the outputs of the NOR gates are open collector type. If either "data ready" or "key on" or both are 1, the outputs are 1. h.6.6. Jump if No I (Figure 3*0 When the letter counter is at 00, we are ready to load the first letter of the Morse code (I or no I). When the signals "data ready" and "key on" are set, we check the first letter: 59 , CARD CK1 Daha ra»4y Key on Figure 33. Multiplexer Address Selector. Q,~ b -- IT 30 r jump if nol Figure 3^. Jump if no I. 6o - if it is (no I) we set the letter counter to 01 in order to load the next letter (therefore, only Ql is changed). - if it is 1 (there is an I), no particular action is done and we load it as any other letter. U.6.T. Sequence Device (Figure 35) The purpose of this circuit is to transmit the Morse code in a continuous manner if there is an I. If there is no I, the code is trans- mitted four times followed by a blank which lasts the same time as the code itself. In order to realize this function, we use the output of the logic noted "jump if no I"' which generates a negative pulse when no I is found. The circuit is shown in Figure 35. The flipflop shown is initially cleared. Its Q output is fed back to the clock input together with the jump if no I pulse. When this pulse arrives, its rising edge changes the output of flip- flop 1 and, due to the feedback, this output will stay at one as long as we do not change the frequency of the radio. When the outputs of the letter counter go to 00, the NOR gate output changes to 1. When Ql goes to 1, the output of the NOR gate falls to and this transition increments an SN 7^+93 three bit counter. When its Q Q~ 0_ outputs are 100 (meaning that the Morse code has been sent four times), a NOR gate which has these sig- nals as inputs disables the output of the shift register and a blank is generated. After detection of the 100 output, this counter is reset to 000. 6i SEQUENCE DEVICE Figure 35- Sequence Device. 62 5. CONCLUSION Some operations of the Radio Aids Simulator have been discussed in the preceding pages. A prototype Code Keyer system was fabricated and proved operational. The implementation of the system presents several unique features. The main one is the large use of ROMs, not only for storing data, "but also for reducing the amount of combinatorial logic in the control systems. This is made possible by the constant decrease in the price of integrated circuits, while they are simultaneously becoming faster and smaller. In addition, each year new integrated circuits become available which imple- ment even more complex functions. For each function of the Radio Aids discussed in this paper, several solutions using digital circuits have been presented. This estab- lishes that the Radio Aids can be implemented in digital form using a special purpose computer, and provides a partial solution to one of the major problems in flight simulation, the need for large digital computers. 63 LIST OF REFERENCES 1. Texas Instruments Incorporated, "The TTL Data Book for Design Engineers," hy the Engineering Staff of T. I. 2. Kohavi , "Switching and Finite Automata Theory," McGraw Hill Computer Science Series, 1970. 3. Poppelbaum, W. J. , "Computer Hardware Theory," Macmillan, 1972. h. Institute of Aviation - University of Illinois, "Fundamentals of Aviation and Space Technology," Institute of Aviation of the University of Illinois, 1971- 5. D. A. Hodges, "Semiconductors Memories," IEEE Computer Society, 1972. 6. Millman and Tauh, "Pulse, Digital and Switching Waveforms", McGraw Hill, 1965. IOGRAPHIC DATA T 1. Report No. UIUCDCS-R-7U-633 3. Recipient's Accession No. C DIGITAL RADIO AIDS FOR A FLIGHT SIMULATOR RADIO MEMORIES - DISPLAY - CODE KEYER 5. Report Date May 197 ^ hor(s) Lucien Isidore Facchin 8. Performing Organization Rept. No - UIUCDCS-R-7U-633 funning Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 10. Project/1 ask/Work Unit No. 11. Contract /Grant No. insonng Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 13. Type of Report & Period Covered technical 14. jblcmemary Notes The research described here is part of a joint study between the Department of mter Science and the Institute of Aviation of the University of Illinois. This Ly is a result of the need to consider alternatives to using general purpose digital niters for the solution of the entire aircraft simulation problem. The software .s of such systems have sky-rocketed in recent years while hardware costs continue 'all. Thus, serious consideration must be given to direct functional mechanization >ugh the use of special purpose computers. The use of small dedicated computers may itly simplify interfacing to the central control computer in addition to reducing amount of software required by difusing the processing throughout the simulator. ; document presents an implementation of some of the functions of such a system, the .0 Aids System. y Words and Document Analysis. 17a. Descriptors .tal radio ;ht simulation .o aids lojititier.s 'Open-Kndcd Terms <*A I ' |-i,-|d/(.r,.i 111 i lilt; Statement unlimited distribution 'tlV IS ( 10- 70) 19. Security ( lass (This Report ) UNCI.ASSIHKD 20. Security (lass (Thi Page UN( LASSIFIED 21. No. ot Page ges 12 22. Pric USCOMM-OC 40329-^7 1 to JVS* M*