Abstract:
A display system for vehicle data provides a smooth and responsive display of vehicle data even when the data is transmitted on an irregular basis by extrapolating from the previously received data when data is not received in a given interval. The invention allows display data to be preempted by higher priority data in a shared communications system.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to vehicle instrumentation including speedometers and tachometers, and in particular to a display system allowing for the smooth display of changing but irregularly transmitted data. 
     Driver display data that was once transmitted as analog voltages (e.g., fuel level) or mechanically (e.g., road speed) is now transmitted as digital words in serial fashion on a digital communications network within the vehicle. The digital words representing data from different sources may be interleaved to be transmitted on a single cable (“time multiplexed”) thereby substantially reducing wiring weight and costs. Display devices may be attached to this network to receive and display data related to their function. Such displays may include those providing numeric outputs (“digital displays”) or those having a moving pointer (“analog displays”). 
     Efficiencies in circuitry may be obtained if several vehicle sensors communicate with a single network interface card. The interface card converts data from the sensors to the proper format for transmission on the network and handles the necessary network protocols. 
     Often a network interface card will process both engine control data such as that from oxygen, air mass and fuel flow sensors, as well as driver display information from speedometer and tachometer senders. During certain times of rapidly changing engine conditions, such as during acceleration, the transmission of higher priority engine control data may interfere with the regular transmission of driver display information. This can result in a “stepping” or jerkiness in the operations of displays such as the speedometer or tachometer, which are also receiving rapidly changing data. 
     BRIEF SUMMARY OF THE INVENTION 
     The present invention provides a method of sending display data on an irregular interval without producing steps or jumps in the resultant display. This allows display data to be easily integrated with higher priority data on a common network interface. In the invention, if a digital word is not received within the regular interval, the display uses an extrapolated value based on the previously received digital word plus a fraction of the difference between the last two previously received digital words. The extrapolated digital word prevents sudden jumps in the display at limes when the displayed value is rapidly changing. Because, the extrapolation uses a simple fixed fraction of the difference between previously received digital word values, it does not require a recording of the time at which the previous digital words arrived or complex calculations such as would be required for linear extrapolation techniques. 
     Specifically then, the present invention provides a display system for use with a time-multiplexed digital communication network. The system includes a data sender attached to the network and associated with a physical object such as a rotating shaft to communicate on the network on an irregular interval, a series of first digital words representing a measurement of the physical object. A data receiver receive, the digital words on the irregular interval and produces second digital words on a periodic interval, the second digital words having values extrapolated from the first digital words. A display system receives the second digital words and provides a human readable display of the data of the second digital words. 
     It is thus one object of the invention to provide a display system that may accommodate irregular transmission rates inherent in the efficient use of network communication resources. 
     The extrapolation may extrapolate a current second digital word from the first digital word by calculating a difference between a previous first digital word prior to the current second digital word and a preceding first digital word prior to the previous first digital word. The current second digital word may be set to a value equal to the sum of a portion of the difference and the previous first digital word. 
     Thus it is another object of the invention to provide an extrapolation method that does not require recording times of receipt of the digital words or complex arithmetic operations necessary for true linear extrapolation. 
     The receiver may include a timer generating a periodic interrupt signal and a microprocessor responding to the periodic interrupt signal to extrapolate a current second digital word. 
     Thus it is another object of the invention to provide a simple method of producing a regular periodic series of digital words to the display unit such as may prevent perceivable stepping in the display. 
     The data receiver may further provide a filtering of the rate of change with time of the second digital words prior to their receipt by the display system. This may be done, for example, by creating a series of current filtered second digital words, each current filtered second digital word equal to the sum of a current second digital word times 1/m plus a previous filtered second digital word prior to the current filtered second digital word times (m−1)/m where m is an arbitrary factor controlling the amount of filtering. 
     Thus it is another object of the invention to provide flexible adjustment in the trade-off between elimination of jumps in the display and fast response of the display to changes in the displayed data. Adjustment of the filter constant m controls the amount of filtering. 
     A subsequent filtering stage may be provided in which a set of twice filtered second digital words are created, each current twice filtered second digital word equal to the sum of a current filtered second digital word time, 1/n and a previous twice filtered second digital word prior to the current filtered second digital word times (n−1)/n where n is an arbitrary factor independent of m controlling the amount of filtering. Further, a series of blended filtered second digital words may be created, each being a combination in a predetermined proportion of the current filtered second digital word minus the current twice-filtered second digital word. 
     Thus it is another object of the invention to provide a filter that allows control of overshoot as is represented by the second filtered digital words. 
     The foregoing and other objects and advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings, which form a part hereof, and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessary represent the full scope of the invention, however, and reference must be made to the claims herein for interpreting the scope of the invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified block diagram of the display system of the present invention having a data sender communicating with a network interface sending data over a multiplexed communication network to a second network interface attached to a display; 
     FIG. 2 is a set of graphs, the top graph showing the timing of transmission of first data from the sender of FIG. 1, the middle graph showing the values of the first data as a function of time, and the bottom graph showing a second set of digital words extrapolated from the first set of digital words according to the present invention; 
     FIG. 3 is a function block diagram showing operation of the present invention on the first digital words of FIG. 2 to produce the second digital words of FIG. 2 as may be realized by discrete circuitry; and 
     FIG. 4 is a flow chart showing the steps of the present invention as may be realized by an electronic processor executing a stored program. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Referring now to FIG. 1, a display system  10  may include a sender module  12  such as a rotation counter attached to a physical element of the vehicle  14  such as an axle or drive shaft to make measurements of that physical object. While the present invention contemplates use with speedometers and tachometers, it will be understood that it is not limited to these devices but may be used with any display requiring fast response and step-less operation. 
     The sender module  12  may periodically supply first data  15  indicating the sensed quantity (e.g., road speed or engine rpm) to a network module  16  via input/output (“I/O”) circuitry on the network module  16 . The I/O circuitry  22  of the network module  16  may also receive data words  17  related to higher priority engine control functions or the like and may provide outputs to transmit data to actuators or other devices (not shown). 
     The network module  16  may provide some additional processing of the first data  15  (including the conversion of count information to rate information in some cases) and a formatting of the digital word for transmission on network cable  26  according to predetermined network protocols, for example, the CAN protocol specified in ISO document ISO/TC22/SC3WG1, thus creating the first digital word  27  from the first data. Because the network cable  26  serves as a common communication path for many sensors and actuators whose digital words are interleaved in time multiplexing, the protocol associates a header or unique time slot to each first digital word  27  indicating the consumer of the first digital word  27 , in this case, ultimately a display  28 . 
     As well as the I/O circuitry  22 , the network module  16  may include a processor  18 , a memory  20  for holding a stored program, receiving the first data  15  and network interface circuitry  24  all as are generally understood in the art. 
     The display  28  may receive data from a second network module  30  having components  22 ′,  20 ′,  18 ′ and  24 ′ similar to like numbered components in network module  16 . The network module  30  receives the first digital words  27  off of the network cable  26  and processes them according to a stored program held in memory  20 ′ as executed by processor  18 ′ to produce new digital words  29  as will be described. The I/O interface  22 ′ then converts digital words  29  produced by the processor  18  to a form appropriate for driving a display  28 , for example, an analog waveform for driving a coil movement or pulses for driving a stepper motor. 
     Referring now to FIG. 2, the first digital words  27  (represented as values A i ) are interleaved with other digital words in separate transmission frames  32  to multiplex the bandwidth of the network cable  26  among many devices transmitting data. The digital words  27  will, in general, have a lower priority than other data and thus may be allocated to given frames  32  separated by an irregular interval. Thus as depicted, digital word A 1  is transmitted three frames prior to A 2 , which is six frames prior to the transmission of A 3 . 
     As mentioned above, this irregular transmission may result from preemption by higher priority data such as data related to engine control. 
     Referring still to FIG. 2, the network module  30  creates a second set of digital words  29  (represented as values B i ) occurring on a regular, periodic interval  34 . Although A 1  and B 1  and A 2  and B 2  are shown aligned, in fact they are typically asynchronous. As will be described further below, the values B i  are set equal to the values of A i  occurring in the immediate prior interval  34  if a value of A i  does occur during that interval. Thus in the example shown, B 1  takes the value of A 1  and B 2  takes the value of A 2 . Importantly, however, if a digital word A i  does not occur in the interval  34  preceding a particular digital word B i , (for example, as occurs for B 3 ), the present invention synthesizes a value for B i  based on the preceding received A i  value (in this case A 2 ) plus a predetermined fraction (1/q) of the difference Δ i  between the two preceding received first digital words A i−1  and A i−2 , in this case A 1  and A 2 . This extrapolation is continued until a digital word A i  is received (in this case A 3 ) in the interval  34  prior to the value of B i  being generated. 
     This is not a linear extrapolation insofar as the algorithm requires no knowledge of timing of receipt of digital words A i−1  and A i−2 . Further, the transmission rate of the first digital words A i  need not be synchronous with the generation rate of the second digital words B i . 
     Referring now to FIGS. 2 and 3, a current digital word A i  may be received by the network module  30  within a given interval  34  before the generation of a digital word B i . If so, it is connected directly to a filter section  36  indicated schematically by the operation of a switch  38  which switches to receive the incoming digital word A i . 
     If a digital word A i  is not received within the interval  34 , however, then the filter section  36  receives a synthesized value formed from the difference Δ i  between the previous first digital word A i−1 , and the first digital word preceding the previous digital word: A 1−2 , the difference Δ i  produced by subtraction block  40 . This difference Δ i  is multiplied by a scaling factor 1/q as indicated by scaling block  42  and summed to the preceding first digital word A i−1 . 
     This same process is shown in the flow diagram of FIG. 4, where the receipt of new data A i  is detected at decision block  44 . If a new data A i  has arrived during the preceding interval  34 , then the synthesized value B i  is set equal to that value A i  as shown in process block  48  and a new Δ 1  value is computed for Δ i =(A i -A i−1 ) as indicated by process block  50 . If at decision block  44 , no new data A i  is detected within the interval  34 , then the second digital word B i  is synthesized from the value A i−1 +Δ i−1 /q as indicated by process block  46 . 
     Thus, as shown in FIG. 2, a new value B 3  may be generated from the previous value of A 2  (not falling within the interval  34  preceding B 3 ) plus a difference value Δ 2 /q indicating generally the trend of data in the last two digital words A 1  and A 2 . 
     In this way, for example, during a period of acceleration, a speedometer will move upward smoothly in speed even without the presence of a new digital word. Similarly, if the speed is constant and the Δ value is zero, a uniform speed will be displayed despite the irregularity in the first digital words. 
     Referring again to FIGS. 3 and 4, once the extrapolated value B i  is obtained, it may be filtered in a set of filter steps (blocks  52 ,  62 ,  72  and  78  of FIG. 4) or by a set of filter stages (blocks  52 ′,  62 ′,  72 ′ and  78 ′ of FIG. 3) which serve generally to smooth out rapid changes in the value B i  received or generated. As will be seen, the filters may be adjusted to provide the desired trade-off between a highly responsive display that shows changes in B i  values as they occur and which may be desirable so that the operator of the vehicle has immediate access to the latest data and a filtered display that prevents overshooting and minor fluctuations and that may thereby accommodate slight irregularities produced by the estimation process of the present invention. 
     Referring to FIG. 3, first filter stage  52 ′ creates values E i  that are the weighted sum of a previous value E i−1  and the latest generated value B i . This is shown schematically in FIG. 3 by multiplier  54  scaling the received B i  value by 1/m and summing it at summing block  56  with the previous value E i−1  stored at memory  57  times the factor (m−1)/m per multiplier  60 . 
     Referring again to FIG. 4, this same step is shown by process block  52  in which values of E i  are generated equal to (1/m)B i +((m−1)/m) E i−1 . 
     Referring to FIG. 3, a second filter stage  62 ′ receives the values E i  to create second filtered values F i  that are the weighted sum of a previous value F i−1  and the latest generated value E i . This is shown schematically in FIG. 3 by multiplier  64  scaling the received E i  value by 1/n and summing it at summing block  66  with the previous value F i−1  stored at memory  68  times the factor (n−1)/n per multiplier  70 . 
     Referring to FIG. 4, this same step is shown by process block  62  in which values of E i  are generated equal to (1/n)E i +((n−1)/n) F i−1 . 
     Referring again to FIG. 3, a value G i  may be generated being proportional to Ei and inversely proportional to F according to the formula Gi=2E i −F i . This summation is shown by summing block  74  receiving a scaled value of E i  through multiplier  76 . The purpose of this process block is to de-emphasize rapid changes in the display value and thereby to prevent overshoot of the displayed value. This process is indicated in FIG. 3 as block  72  and in FIG. 4 as step  72 . 
     Referring again to FIG. 3, the value G i  is again filtered in a manner similar to that of blocks  52 ′ and  62 ′ as shown by block  78 ′ in which prescaler  80  multiplies the value of G i  by 1/p followed by summing block  82  adding the value of H i−1  stored at memory  84  after being scaled by (p−1)/p by scaler  86 . 
     This same step is shown in FIG. 4 as process block  78 ′ in which values H i  are generated equal to (1/p)G i +((p−1)/p)H i−1 . This last filter stage provides additional smoothing of data that is sent to the display  28  as indicated in FIG. 4 as process block  80 . 
     Each of the values m, n, and p may be individually adjusted to provide the desired filtering tradeoff for a particular vehicle and type of data. 
     The above description has been that of a preferred embodiment of the present invention, and it will occur to those that practice the art that many modifications may be made without departing from the spirit and scope of the invention. In order to apprise the public of the various embodiments that may fall within the scope of the invention, the following claims are made.