WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Digital symbol generator with symbol error checking    

Get related patents on CD
United States Patent4413323   
Link to this pagehttp://www.wikipatents.com/4413323.html
Inventor(s)Muller; Hans R. (Kirkland, WA)
AbstractA digital symbol generator for developing analog deflection voltages to drive a cathode ray tube display forming a plurality of symbols from successive blanked and unblanked vectors rotatable about an arbitrary angle of rotation. Each vector is specified by a binary representation of its polar coordinates including vector angle and length, rotation being accomplished by digital addition of the vector angle and angle of rotation. A line length counter generates a pulse train the number of pulses of which is proportional to vector length and the frequency of which is greater for blanked vectors than for unblanked vectors so that blanked vectors are drawn at a faster rate. Symbol error checking is accomplished by a vector closure technique wherein the symbology end point is measured at the output of the symbol generator and compared with the independently calculated true end point.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 4413323
Digital symbol generator with symbol error checking - US Patent 4413323 Drawing
Digital symbol generator with symbol error checking
Inventor     Muller; Hans R. (Kirkland, WA)
Owner/Assignee     Sundstrand Data Control, Inc. (Redmond, WA)
Patent assignment
All assignments
Company News
Publication Date     November 1, 1983
Application Number     06/175,399
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 5, 1980
US Classification     345/469.1 345/16 345/17 345/443
Int'l Classification     G06F 003/153
Examiner     Smith; Jerry
Assistant Examiner    
Attorney/Law Firm     Wood, Dalton, Phillips, Mason & Rowe
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/521 364/718 364/719 364/721 358/103 340/727 340/730 340/739 340/740 340/742 340/747 340/791
Patent Tags     digital symbol generator symbol error checking
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
3510865



[0 after 0 votes]
3821729



[0 after 0 votes]
4247843
Miller
340/973
Jan,1981

[0 after 0 votes]
4228510
Johnson
345/18
Oct,1980

[0 after 0 votes]
4146925
Green
345/441
Mar,1979

[0 after 0 votes]
4115863
Brown
345/442
Sep,1978

[0 after 0 votes]
4056713
Quinn
345/621
Nov,1977

[0 after 0 votes]
4023027
Strathman
708/275
May,1977

[0 after 0 votes]
3952297
Stauffer
345/18
Apr,1976

[0 after 0 votes]
3921163
Giraud
345/22
Nov,1975

[0 after 0 votes]
3813528
Blanding
708/440
May,1974

[0 after 0 votes]
3786482
Puckett, Jr.
345/17
Jan,1974

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. In a digital symbol generator for developing analog deflection signals to drive a cathode ray tube display forming a symbology by tracing a plurality of blanked and unblanked symbols, an improved processing means operating on a constant program path having a plurality of program instructions upon execution of which said processing means provides selected input information to said symbol generator defining the position of each of said symbols and specifying those symbols to be traced unblanked, comprising:

means for executing each of said program instructions in a fixed sequence during each iteration of said symbol generator to develop input information for all symbols; and

means for conditionally loading selected input information corresponding to those symbols forming a symbology into an output register to be transmitted to said symbol generator.

2. In a digital symbol generator for developing analog deflection signals to drive a cathode ray tube display forming a plurality of symbols by tracing successive vectors, the starting point of a vector being equal to the end point of the previous vector traced, a symbol error checking device comprising:

means for measuring the symbology end point of the last vector generated from the analog deflection signal;

means for converting the symbology end point to a digital value;

processing means for calculating a true end point by digital vector addition of each successive vector generated;

means for comparing the digital value of the symbology end point with the digital sum representing the true end point; and

means for displaying an indication of error on said cathode ray tube display if the symbology end point is not equal to the true end point.

3. In a digital symbol generator for developing analog deflection signals to drive a cathode ray tube display for tracing a vector having specified angle and length information, said information combined in a digital integrator including a counter having a plurality of bits, the digital output of said counter being input to and converted by a digital to analog converter to develop the analog deflection signals, said converter having operating limits corresponding to the visible region of said display, an improved overrange means for warping the analog deflection signals corresponding to that portion of a vector outside the visible region of the display comprising:

means for comparing the contents of the most significant bits of said counter for determining whether the vector to be traced is within the visible region of said display; and

multiplexing means for setting the most significant bits of said input to the converter equal to the corresponding most significant bits of said counter if the vector is within the visible region and setting each of said most significant input bits equal to the value of the very most significant bit in said counter if said vector is not within the visible region.

4. The digital symbol generator of claim 3 wherein the overrange means includes blanking means to blank that portion of the vector having a warped analog deflection signal.

5. In a digital symbol generator for developing analog deflection signals to drive a cathode ray tube display forming a symbology including a plurality of symbols and connecting vectors, an improved means for generating and checking said symbology by tracing a plurality of successive vectors forming a symbol, upon completion of which, tracing a connecting vector having variable orientation and length to connect said symbol with the next successive symbol forming said symbology, comprising:

means for storing data defining each successive vector forming a symbol;

a source of digital input data defining each connecting vector;

vector generating means responsive to said stored vector data and to said connecting vector data for developing analog deflection signals;

sequencer means for sequentially loading vector data for each successive vector forming a symbol into said vector generating means from said storage means, the end point of one vector being the starting point of the next successive vector, and upon completion of the last vector forming said symbol, loading said connecting vector data from said source of digital input data into said vector generating means, the end point of said last vector forming said symbol being the starting point of said connecting vector and the end point of said connector vector being the starting point of the next successive symbol forming the symbology; and

symbol error checking means responsive to the analog deflection signal representing the end point of the last vector generated for determining the occurrence of an error in the generated symbology.

6. The digital symbol generator of claim 5 wherein said symbol error checking means includes:

means for converting the analog deflection signal representing the end point of the last vector generated into a digital value;

processing means for calculating a true end point by digital vector addition of each successive vector generated forming a symbol and each connecting vector; and

means for comparing the digital value of the symbology end point with the digital sum representing the true end point.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates to a digital symbol generator with symbol error checking for developing analog deflection voltages to drive a cathode ray tube display, forming a plurality of symbols from successive blanked and unblanked vectors rotatable about an arbitrary angle of rotation.

Digital symbol generators have been known in which the vectors forming the symbol may be rotated. The data specifying individual vectors has consisted of either polar coordinates, angle and length information or cartesian coordinates, starting and end point information. Where polar coordinates have been used, the angle destination has been a fixed binary code resulting in a limited number of angles at which the vectors can be drawn or about which the vectors may be rotated. Where cartesian coordinates have been used, rotation of a vector has been accomplished either by complex digital transformation of the cartesian coordinates or analog devices which rotate the entire symbology at the input to the display.

A computer typically supplies a digital symbol generator with the input data required to specify the length and orientation of the vectors forming a symbol. Where the computer supplies both starting point and end point data for each vector, the symbol generator is highly dependent upon the computer for input information. Other symbol generators include a memory for storing vector data. The memory is then incrementally addressed to sequentially read out the data required for each vector forming a symbol. This type of symbol generator is less dependent upon the computer, however, when changes in the symbology are required the memory must be reprogrammed which is very costly and time consuming.

Digital symbol generators further utilize constant speed stroke writing techniques to ensure uniform brightness of the displayed symbols. One such technique is to normalize the x and y axis displacements by means of shift registers. Since all vectors generated by this method are drawn at the same speed, effective drawing time is wasted where the vectors are not visible on the display.

One of the many symbol generator uses is in an aircraft to display flight guidance information on a pilot display unit. This requires extremely accurate symbology to ensure the safe operation of the aircraft. Symbol error checking has been accomplished in the past by analog error rate processors which are typically very costly.

SUMMARY OF THE INVENTION

In accordance with the present invention, the disadvantages of prior digital symbol generators as discussed above have been overcome. The digital symbol generator develops analog deflection voltages to drive a cathode ray tube display forming a symbology. The CRT beam is deflected to trace successive straight line segments or vectors, the beam being unblanked during the tracing of vectors forming the symbology and blanked during other vectors.

All vectors are specified in polar coordinates by binary values representing the vector angle .PHI. and the vector length l. This binary representation of the angle and length allows vectors to be drawn at any arbitrary angle or length not being limited by a fixed coded representation thereof.

Symbols may be either fixed or variable. For fixed symbols, the vector data words including the binary representation of angle and length for each vector of the symbol are sequentially stored in a symbology PROM. A computer transmits an initial symbol address to an address counter whereupon a sequencer increments the counter as each vector is drawn to sequentially read out data words from the PROM until the last vector of the symbol is detected. After the initial symbol address is transmitted to the symbol generator, no computer intervention is needed until the entire symbol has been completed. For variable symbols, the vector data words including angle and length information are supplied directly from the computer to the symbol generator so that the symbol generator is not limited by the fixed number of symbols stored in the symbology PROM. This combination of fixed and variable symbols increases the flexibility of the symbol generator while maintaining the dependency upon the computer at a minimum.

A line length counter receives length data from either the symbology PROM for fixed symbols or directly from the computer for variable symbols. The counter counts down under a clock control until a zero is reached thereby generating a series of pulses, the number of which is equal to the binary representation of length loaded into it. The rate of the clock input to the counter is greater for blanked vectors than for unblanked vectors so that blanked vectors may be drawn four times the normal speed. Increasing the drawing rate for blanked vectors minimizes the effective drawing time of the symbology. However, uniform brightness of the visible symbols is ensured since all visible vectors are drawn at a constant speed.

Rotation of the symbol is accomplished by digitally adding binary values representing the angle of rotation and the vector angle. The resulting sum represents the actual angle at which the vector is to be drawn and also forms the address of a sin/cosine converter. The output of the converter is a binary number corresponding to sin .PHI. and cos .PHI.. X and y integrators combine this angle information with the pulse train from the line length counter representing vector length to form composite digitial signals. These signals are then sent to digital to analog converters to develop the x and y deflection voltages which drive the CRT display.

The computer not only supplies control, data and address information to the symbol generator unit, but also makes possible a monitoring scheme of the system. The computer operates under the control of a constant program path wherein conditional load instructions are utilized in lieu of conditional branching. The computer functions to execute all of the programmed instructions every iteration, issuing to the symbol generator the same number and types of instructions regardless of the particular mode of operation. Those symbols which are not part of a particular symbology mode are drawn blanked or are replaced by blanked connecting vectors or dummy symbols to minimize the time required to complete the symbol sequence. The symbol generator includes segment counters which keep a running count of the number of blanked and unblanked vectors drawn. This count information is transmitted back to the computer to ensure that all of the vectors were generated.

Symbol error checking is also accomplished by a vector closure technique wherein each symbol is vectorally added to the previous symbol. The symbology end point is measured at the output of the digital to analog converters and is converted to a digital number while the true end point is calculated independently by the computer using vector addition. These two digital values are compared and if they are not equal, an indication of error is displayed.

Other objects and features of the invention will be apparent from the following description and from the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of generated symbols displayed on a headup display unit having the real world as a background;

FIG. 2 is a block diagram of the headup display showing the interconnection of the computer, symbol generator and display units;

FIG. 3 is a graphical representation of two generated vectors;

FIG. 4 is a graphical representation of the x and y axis analog deflection voltages;

FIG. 5A-B is an illustration of the blanked and unblanked vectors generated forming two symbols;

FIG. 6A-B is a block diagram of the symbol generator unit;

FIG. 7 is an illustration of a 16-bit data word specifying a vector;

FIG. 8 is a schematic of the line length counter;

FIG. 9 is a schematic of the segment counters;

FIG. 10 is a schematic of the blanking circuit and line dash generator;

FIG. 11 is a block diagram of the sine/cosine converter and rotate adder;

FIG. 12A-B is a graphical illustration of the sine and cosine waveforms;

FIG. 13 is a block diagram of the x axis integrator;

FIG. 14 is a timing diagram of the integrator;

FIG. 15 is a schematic of the overrange circuit;

FIG. 16 is a graphical illustration of a vector in the overrange area;

FIG. 17 is a schematic of the analog output circuit;

FIG. 18 is a timing diagram illustrating the operation of the symbol generator.

An example of the displayed symbols generated by the symbol generator of the present invention is shown in FIG. 1. The generated symbols are displayed on a headup display unit for an aircraft with the real world as a background. The headup display unit includes an acrylic block 30 which swings down into the pilot's field of view from an overhead mount, providing a display for the generated images that are projected onto the block from a CRT.

The symbols depicted are typical of those visible on the display for a Non-ILS (Instrument Landing System) approach. Other typical modes of operation may include an ILS approach for categories I, II and III, a take-off/go-around mode, and a take-off/roll mode. Further display modes may be utilized as desired. For each mode, appropriate symbols will be visible on the display. The symbol generator is not limited to any particular symbology or operating mode. The computer issues the same number and type of instructions to the symbol generator, for all modes of operation, during each iteration by means of a constant program path. However, only those symbols which form part of a particular display mode will be visible, the remaining symbols being blanked or replaced by blanked vectors or dummy signals.

The symbols shown in FIG. 1 include a pitch reference symbol 32 which is located in a fixed position 7.degree. above the center of the headup display. The pitch reference symbol 32 represents the fuselage reference line of the airplane and in relation to a horizon line symbol 34, gives an indication of pitch and roll attitude. The horizon line symbol 34 represents the horizontal plane perpendicular to the earth, radial through the airplane and at low altitudes, approximately overlays the true horizon 36. The vertical displacement of the horizon line 34 relative to the pitch reference symbol 32 represents aircraft pitch attitude, and angular displacement represents the aircraft roll attitude. An aircraft heading symbol 38 is positioned above and in the center of the horizon line 34 and when used in conjunction with a course reference symbol 40, it provides an indication of course error or heading error. The course reference symbol 40 consists of a vertical marker together with smaller tick marks 41 at 5.degree. intervals to the left and right and is positioned along the top of the horizon line 34. The position of the course reference symbol 40 is determined by the deviation between the selected course and actual aircraft heading.

An aircraft symbol 42 indicates the airplane's position, flight path or trend relative to the "real world" depending upon the mode of operation. For example, in the approach mode as shown, the airplane symbol 42 represents a selected flight path relative to the horizon. The airplane symbol 42 is off-set from the horizon line symbol 34 by an amount equivalent to the selected flight path angle. Thus, if the pilot selects a 3.degree. flight path, the airplane symbol will drop 3.degree. below the horizon line. The wings 43 of the aircraft symbol 44 are not roll stabilized, thus indicating roll angle with respect to the horizon line 34. A fast/slow symbol 44 appears as a bar perpendicular to the lefthand wing of the airplane symbol 42 and indicates whether air speed is too fast or too slow with respect to a reference speed computed by a digital flight guidance computer. When air speed is too fast, symbol 44 appears above the airplane symbol 42, and when too slow, below the airplane symbol. The length of the fast/slow symbol 44 varies depending upon the magnitude of the speed deviation. A pitch ladder symbol 46 provides a quantitative measure of pitch attitude, marked at a 5.degree. increment above the horizon line 34 and at a 10.degree. increment below horizon line 34. This symbol is fixed vertically relative to the horizon line 34 which corresponds to the zero reference point of the scale.

An indication of air speed is provided by a digital readout 48 which indicates the computer air speed from the airplane's computer and changes in one knot increments. An altitude readout 50 is displayed in units of feet and varies between one and four digits.

As shown in this Non-ILS approach scenario, the pilot is maneuvering the airplane in a left roll to line up the airplane symbol with the runway center line. The airplane is at an altitude of 130 feet and has air speeed of 130 knots. The pitch attitude is estimated by the vertical displacement between the pitch reference 32 and the horizon line 34 together with the pitch ladder 46 and is approximately 4.degree.. The selected flight path angle is approximated by the perpendicular displacement between the horizon line and the center of the airplane symbol. The airplane in this case is below the horizon line by a distance equivalent to a -3.degree. flight path.

Course error is determined by the displacement along the horizon line between the aircraft heading symbol 38 and the reference symbol 40 and is approximately 3.degree.. The roll angle is estimated by referencing the airplane symbol 42 to the horizon line. The angular displacement between these two symbols as shown is approximately equal to a roll angle of -5.degree.. In this scenario, the pilot would continue the left turn until the airplane symbol is aligned with the runway center line.

As shown in FIG. 2, the symbol generator unit 60 of the present invention is part of a memory mapped input/output system of a digital computer 62. Instructions are issued to the symbol generator 60 by reading from selected memory locations in computer 62. In response to these instructions, the symbol generator develops x and y analog deflection voltages 63 and 64 and z axis or blanking signals 65 to drive a cathode ray tube display 61, included in the pilot's display unit 66 for a headup display. The image is presented to the pilot through optics 61a. The symbol generator could, of course, be used in other display systems.

The computer 62 receives inputs related to the display from the pilot, as intended flight path angle for approach, and from the aircraft, as angle of attack, pitch and roll angles and mode selection logic signals. The symbol generator 60 is connected with computer 62 through address and data buses 67, 68 respectively and through control connections for Write (WR) 60, Read (RD) 70, and Next Symbol Please (NSP) 71. The computer also provides a clock (CLK) signal at 72.

The x and y analog deflection signals at 63, 64 from symbol generator 60 are connected with deflection coils 73a, 73b of CRT 61. The blanking signal at 65 is applied to an appropriate element of the CRT. Vector end point signals from the symbol generator 60 and from the pilot display unit 66 are coupled with the computer 62 as indicated at 74, for comparison with the calculated end point.

The computer 62 selects the proper operating mode for the symbol generator unit 60 in accordance with pilot or aircraft inputs and operating on a fixed program sequence or constant program path develops input information which is transmitted to the symbol generator 60. This information selects the proper set of symbols to be visible on the display units 66 and establishes the position of the symbols. The constant program path is such that the computer issues to the symbol generator the same type and number of instructions during each iteration cycle. The program utilizes a conditional load instruction in lieu of conditional branch instructions to conditionally transfer the data resulting from execution of an intruction into an output register. The symbol generator instruction issued by the CPU may contain an address portion and a data portion. The address portion determines the type of instruction, and the data portion the nature of the symbol. For example, to paint a numeral, the address portion of the instruction is the same regardless of the symbol. The data portion of the instruction identifies the numeral. Selection of appropriate data and transfer to a counter or register is referred to as "conditional loading". The constant program path makes possible an effective monitoring scheme for the CPU.

Computer 62 also includes a symbol error checking program which calculates the true end point of the symbology for both the symbol generator and the display unit using a vector addition technique. The symbol error checking program will be discussed in greater detail below.

Inputs to the symbol generator unit 60 include an address signal received from computer 62 which determines the function the symbol generator is to execute. Data input received on a data bus 68 by the symbol generator unit identifies the symbol to be drawn. For example, an instruction for a fixed symbol--"draw airplane"--instructs the symbol generator to load a PROM counter with the starting address of the programmed airplane symbol data. An instruction--"draw a line"--includes line length information which is loaded in a line length latch. The data also identifies angles; and specifies the vector to be blanked. Upon receipt of a Write signal on line 69, symbol generator 60 accepts the address and data on buses 67, 68. When a Read signal is received on line 70, the symbol generator outputs data on data bus 68 to be transmitted back to computer 62. The symbol generator unit 60 requests further instructions by transmitting a "Next Symbol Please" NSP, signal on line 71 to the computer 62. No computer intervention is needed until requested by receipt of the NSP signal.

Symbol generator unit 60 develops the appropriate x and y axis analog deflection signals and blanking (z axis) signals to drive the CRT displays included in the pilot display units 66. Straight line segments or vectors are drawn in succession in a continuous manner to form the symbology. Vectors may be drawn either blanked or unblanked wherein blanked vectors are drawn approximately four times faster than unblanked vectors to minimize the effective drawing time. Unblanked vectors are drawn at a constant speed to provide uniform brightness of the displayed symbols.

Typical vectors v.sub.1 and v.sub.2 painted on the CRT are shown in FIG. 3. A vector is defined in polar coordinates by binary values representing the vector segment angle .PHI. and magnitude or length l. Each vector can be resolved into components along the x and y axes. The components of v.sub.1 are

x.sub.1 =l.sub.1 cos .PHI.

y.sub.1 =l.sub.1 sin .PHI.

In order to draw the vector v.sub.1, symbol generator 60 produces the x and y deflection waveforms shown in FIG. 4. Digital integrators for performing this function are described below.

FIG. 5A shows the horizon line symbol 34 and the airplane symbol 42 with an indication of their relationship to the aircraft flight condition and with some of the connecting vectors used in drawing the display. FIG. 5B illustrates in more detail the sequence of vectors which draw the display.

In FIG. 5A, beginning at a starting point 75, which may be the center of the screen of the CRT, a blanked connecting vector 76 is drawn at the aircraft roll angle .PHI. and having a length related to the aircraft pitch angle. Horizon line 34 is drawn at right angles to blanked vector 76. A blanked connecting vector 77 having a length related to yaw or course error provides an offset from the course reference symbol 40 at the center of the horizon line. Blanked connecting vector 78 from the end of connecting vector 77 and at right angles to horizon line 34 extends to the center of the airplane symbol 42 and has a length which may, for example, be a function of aircraft flight path angle.

In FIG. 5B, arrows indicate the direction in which the vectors are drawn. Some of the blanked connecting vectors are shown by curved lines for clarity. From starting point 75, blanked vector 76 is drawn. This is followed by unblanked vector 79, blanked vector 80 and unblanked vector 81 forming the horizon line 34. Course reference symbol 40 is drawn next, followed by blanked vectors 82, 77 and 78 to the midpoint of the aircraft symbol 42. Blanked connector vector 83 is followed by vectors 84, 85 forming one-half of the aircraft symbol. Then blanked connecting vector 86 and vectors 87, 88 complete the aircraft symbol.

The generation of fixed and variable symbols by the symbol generator unit 60 will now be described in relationship to FIGS. 6A and 6B. For fixed symbols, vector data words including the binary representation of angle and length are stored in sequence for each consecutive vector forming the symbol in a symbology PROM 120. As an example, for the horizon line symbol 34 of FIG. 5, the first vector words stored in symbology PROM 120 specify the angle and length of vector 79. The second group of words stored specifies the angle and length for vector 80 and so on with the last word stored for the horizon symbol 34 specifying vector 82. When a fixed symbol is to be drawn, the computer 62 transfers the initial address of that symbol onto data bus 68 which is then loaded into a PROM address counter 122. The PROM address counter 122 is incremented by a sequencer counter 124 to read out the data words for the first vector to be drawn by the remainder of the symbol generator unit 60. After that vector is drawn, the sequencer counter 124 increments the PROM address counter to read out the data word for the second vector to be drawn and so on until the last vector comprising the symbol is detected and drawn on the CRT display.

The PROM's in the symbology PROM 120 together form a 16-bit wide field. Each PROM is 8 bits wide and up to 2,048 words deep. The vector angle representation is a 12-bit binary number and is made on the basis of 360.degree.=4096 counts (decimal). A positive angle is in the counterclockwise sense. The length representation is also a 12-bit binary representation based on 4096 counts=72.degree. optically, i.e. about the center of deflection of the CRT. The binary representation of angle allows vectors to be drawn at any arbitrary angle not being limited by a fixed coded representation thereof. FIG. 7 shows the significance of each of the bits. The first 11 bits 126 store the binary number representing either the angle or length of the vector depending upon bit 127. If bit 127 has a value of 1, the data in bits 126 represent the vector angle. If bit 127 has a value of 0, the data represented in bits 126 designates length. Bit 128 is an end-of-symbol (EOS) bit and when zero, designates that this is the last vector comprising the symbol. Bits 129 and 130 designate right angle data. For respective values of bits 129 and 130 of 0, 0; 0, 1; 1, 0 and 1, 1, the right angles 0.degree., 90.degree., 180.degree. and 270.degree. are specified. Bit 131 designates the vector blanking information. If bit 131 has a value of 1, the vector is to be drawn unblanked and if it has a value of 0 it is to be drawn blanked.

Vectors generated by the symbol generator unit must have a specified angle and length so that two 16-bit words are normally required to describe the vector, one representing angle, the other representing length. If bits 126 designate an angle the data word will be read out of symbology PROM 120 to a segment angle latch 132. If bits 126 represent length, the data word will be read out from the symbology PROM 120 into a line length counter 134. However, vectors may be specified by a single 16-bit data word where the vectors are to be displayed at right angles to each other. The 16-bit data word will contain length data in the first 10 bits 126 and angle data in the right angle bits 129 and 130. Where right angle data is used, the data bits 126 designating length are still loaded into the line length counter 134 but a signal appears on lines 136 or 138 respectively designating 90.degree. or 180.degree., or a signal may appear on both lines 136 and 138 designating 270.degree. for the angle. The use of right angle data saves memory space in the symbology PROM 120 since many of the vectors forming a symbol will be at right angles.

For variable vectors, computer 62 transmits both length data and angle data to data bus 68, the data words for these vectors having a format similar to that shown in FIG. 7 for vector data words stored in symbology PROM 120. If the data specifies vector length, it will be loaded directly from the computer 62 into a line length latch 140. If the data specifies the angle of the variable vector, it will be loaded from computer 62 on data bus 68 into an angle latch 142. Variable vectors may be drawn by a single instruction by utilizing the right angle bits 129 and 130 if the relative angle to the roll angle is 0.degree., 90.degree., 180.degree. or 270.degree.. If the vector is not at right angles to the roll angle, the angle of the vector must be loaded into latch 142.

The line length counter 134 receives length data from either the symbology PROM 120 for fixed symbols or from the line length latch 140 for variable symbols. The counter counts down under a clock control until zero is reached thereby generating a series of pulses, the number of which is equal to the binary representation of length loaded into it. The rate of the clock input to the counter is greater for blanked vectors than for unblanked vectors so that blanked vectors may be drawn four times the normal speed.

When a symbol or vector is to be rotated, computer 62 transfers a binary representation of the roll angle or angle of rotation onto bus 68 into the angle latch 142. Rotation of a fixed symbol is accomplished by adding the binary value representing the roll angle stored in angle latch 142 with the segment angle stored in segment angle latch 132 in a digital adder 146. If right angle data is utilized, the roll angle from latch 142 is added to the binary representation of 90.degree. and 180.degree. on respective lines 136 and 138 by digital adders 148 and 150, respectively. For variable vectors, if right angle data is used, adders 148 and 150 sum the right angle data with the roll angle from latch 142. If right angle data is not used, the angle stored in latch 142 represents the arbitrary angle at which the vector is to be drawn and after that vector is completed, latch 142 is reset by the computer to the roll angle of the aircraft. Latch 142 is set to zero when a non-roll stabilized symbol is drawn. The resulting sum from digital adders 146, 148 and 150 represents the actual angle of the vector to be drawn and also forms the address of a sine/cosine converter 152.

The output of the sine/cosine converter 152 is a binary number representing the cosine or the sine of the actual angle representation input to converter 152. The cosine and sine of the actual angle are transmitted to x and y integrators 154 and 156, respectively, on bus 158. A sign designation is also sent to each of the integrators 154 and 156 on line 159 and will vary depending upon the orientation of the vector.

The x integrator 154 includes a cosine latch 160, an adder/subtractor accumulator 162 and an up/down counter 164. Similarly, the y integrator 156 includes a sine latch 166, an adder/subtractor accumulator 168 and an up/down counter 170. The up/down counters 164 and 170 combine the angle information from the sine/cosine converter 152 via accumulator adders 162 and 168 with the pulse train generated by the line length counter 134 representing vector length and also a digital representation of the starting point of the symbol x.sub.0, y.sub.0 supplied to the up/down counter from the computer 62 on bus 68 to form composite digital signals. These signals are then sent to digital to analog converters 172 and 174 to develop respective x and y deflection voltages which drive the cathode ray tube displays included in the pilot display units 66.

The core of the symbol generator sequencer generally designated 176 consists of a master clock generator 178, a sequencer counter 124, an address decoder 180 and mode control flip/flops 182. The sequencer 176 oversees the set up of the internal registers of the symbol generator unit for vector generation and controls the writing process. Only two instructions will cause a vector writing sequence to be initiated. They are the load line length latch and load PROM counter signals generated by decoder 180.

The master clock generator 178 is a divide-by-sixteen counter. It receives the 12