Not Applicable
Not Applicable
The present invention relates to an electronic component with a timer circuit, and more particularly, to a timer circuit which may preserve its elapsed time data in the event of a failure to its power source.
Airplanes may comprise a plurality of electronic components which may be covered by a warranty program from the component manufacturer or system assembler. The warranty program may be based on a period of time from the date of component purchase. In the alternative, the warranty's lifetime may be based on total running time. For example, an airplane may comprise a plurality of circuit boards (i.e., electronic components). The circuit board may be covered under warranty for a period of 10,000 hours. In the regard, the warranty period may accrue once the circuit board is powered on. Also, the warranty period may be tolled when the circuit board is powered down. When the total accrued period of time of the circuit board equals 10,000 hours, then the warranty may be deemed to have expired for such circuit board.
To this end, the total accrued time which the circuit board was powered on may be provided by a timer circuit. The timer circuit may comprise a processor and memory wherein the processor writes the elapsed time to the memory at periodic intervals such as every one hour. The processor and memory may be powered by a power source of the circuit board. In other words, the power source of the circuit board also powers the timer circuit. However, if the power source were to fail during the time the processor writes to the memory, then the written data may be inaccurate or otherwise corrupt because the processor did not have sufficient power to write the elapsed time data to the memory for a sufficient period of time. To address the possibility of this event, the timer circuit may have a backup power supply. In other words, in the event that the circuit board power source were to fail during the processor write time, the backup power would provide additional power or the power required by the processor to write the elapsed time to memory. However, the backup power is an additional component required to be placed on or adjacent to the circuit board. Moreover, in designing an airplane, the weight of which is very sensitive, the backup power supply adds unwanted weight to the overall airplane.
Accordingly, there is a need in the art to provide for an improved timer circuit which does not have a substantial weight impact on the overall weight of the airplane as well as other advantages.
In accordance with the present invention, a timer circuit is provided. The timer circuit may comprise a field programmable gate array (FPGA) and a memory chip. The timer circuit may be in electrical communication with an electronic device such as a line replaceable component (LRC) of an electronic system to determine an elapsed time of the LRC. In particular, the FPGA may have embedded thereon a program which writes an elapsed time value sequentially to a plurality of addresses on the memory chip (e.g., EEPROM) which may be sequential memory addresses or non sequential memory addresses. The power for the timer circuit may be provided by the same power provided to the LRC. In this regard, if the power to the LRC is turned off during the time the memory chip is being written to, then the written data may be corrupt. Upon power up, the timer circuit, and more particularly, a program embedded onto the FPGA may resume tracking elapsed time based on valid values of elapsed time written onto the memory chip and discarding any corrupt value(s).
Generally, the validation process includes comparing the elapsed time values of sequential memory addresses to check that all sequential addresses have sequential elapsed time values and each sequential elapsed time value is incremented by an amount equal to a predetermined time or periodic time interval. If not then at least one of the data is corrupt. The corrupt data is identified as the subsequent memory address of two sequential memory addresses which contains values with differences not equal to the periodic interval. In other words, the difference in values between two subsequent memory addresses is calculated. If the difference does not equal the periodic interval then at least one of its two subsequent memory addresses contain corrupt data, and more particularly, the latter or subsequent memory address contains the corrupt data and may be discarded. The remaining values written on the memory chip are valid and the elapsed time of the electronic device is resumed based on the remaining valid values.
Alternatively, the validation process may include comparing reordered elapsed time values to determine an out of sequence value and valid values with the largest remaining valid value being used to resume the elapsed time of the electronic device.
An illustrative and presently preferred embodiment of the invention is shown in the accompanying drawings in which:
The figures referenced herein are for the purposes of illustrating the preferred embodiments of the present invention and not for the purposes of limiting any aspect(s) of the present invention. For example,
The LRC 20 may be a component on the airplane which may be removed from the airplane and delivered to the airplane manufacturer or the LRC manufacturer for service, repair or replacement. For example, the airplane manufacturer may sell an airplane with a plurality of LRCs 20 incorporated into the electronics of the airplane. During routine maintenance, if one of the LRCs 20 were to malfunction, the LRC 20 could be removed as a module then sent to the warrantor (e.g., airplane manufacturer or LRC manufacturer) for repair, service or replacement. However, if the warranty period has expired then the warrantor may notify the warrantee (e.g., airplane purchaser) that the LRC 20 is no longer under warranty.
The determination of whether the warranty period has elapsed may be determined with the timer circuit 10 which may be in communication with the LRC 20. The timer circuit 10 may comprise the FPGA 16 with a timer program embedded or programmed thereon, the steps of which are shown in flowchart of
The timer circuit 10 may comprise the FPGA 16 and the memory chip 14 wherein the FPGA 16 and the memory chip 14 are in informational communication with each other. In other words, data may be transferred to and from the memory chip 14 and the FPGA 16 such as through an electrical connection.
The memory chip 14 may be an EEPROM. The memory chip 14 may define therein a plurality of unique addresses 22a, 22b, 22c such as 001, 002 and 003 etc, as shown in
A program, the steps of which are shown in
For example, the predetermined time may be based on a periodic time interval of six minutes. In this case, the elapsed time of the LRC 22 may be written on the memory chip 14 at every six minutes—0, 6, 12, 18, 24 and etc. minutes. At zero minutes (i.e., first time power up of the LRC 22), an elapsed time of zero minutes may be written on the memory chip 14 at the first memory location 00122a. An elapsed time of six minutes may be written on the memory chip 14 at the second memory location 002, 22b after six minutes. An elapsed time of 12 minutes may be written on the memory chip 14 at the third memory location 003, 22c after six more minutes. After 18 minutes, an elapsed time of 18 minutes may be written on the memory chip 14 at the first memory location 00122a after six more minutes if the memory chip 14 only has three memory addresses 22.
When the LRC 20 is powered down, the timer circuit 10 may also be powered down if the timer circuit 10 is powered via a LRC power source. In this regard, there is a possibility that the timer circuit 10 may not have sufficient power to write the elapsed time to the memory chip 14. In other words, the memory chip 14 is not instantaneously written to but requires time for the information to be written thereon. Moreover, power is also required to write information to the memory chip 14. Accordingly, if the LRC 20 is powered down during the time that an elapsed time is written to the memory chip 14, the information written onto the memory chip 14 may be corrupt—not valid. The steps discussed herein may be implemented to discard the corrupt values or data.
To discriminate valid data (i.e., valid values) and corrupt data (i.e., out-of-sequence data) upon powering the LRC 22 back up, the program with the following steps may be embedded onto the FPGA 16. In particular, upon powering the LRC 20 back up, the elapsed time values from all memory addresses 22a, 22b, 22c of the memory chip 14 are read (step 110). These read values are compared to each other, and more particularly, the differences in read values between sequential memory addresses 22a, 22b, and 22c are calculated. For example, the elapsed time value of memory address 001, 22a is subtracted from the elapsed time value of memory address 002, 22b. The elapsed time value of memory address 003, 22c is subtracted from the elapsed time value of memory address 002, 22b. Additionally, the elapsed time value of memory address 001, 22a is subtracted from the elapsed time value of memory address 003, 22c, if there are only three memory addresses 22a, 22b, 22c.
Thereafter, an out-of-sequence value and valid value may be determined based on the compared elapsed times or calculated difference discussed above. In this regard, the calculated differences should match the pre-determined times. If so, then all values are valid. If not, then at least one value is out-of-sequence. For example, if the predetermined times are based on a periodic time interval of six minutes, then the calculated differences should equal six minutes. If one of the calculated differences does not equal six minutes, then the elapsed time value of the out-of-sequence value is discarded (step 114). For example, if the calculated difference between the elapsed time values of the third and second memory addresses 003 (22c), 002 (22b) does not equal six minutes, then the elapsed time of the subsequent or latter memory address, namely, time values of memory addresses 00122a and 00222b are valid values. If the calculated difference between the elapsed time values of the third and first memory addresses 003 (22c), 001 (22a) does not equal six minutes, the elapsed time of the subsequent memory address, namely, address 00122a is out-of-sequence and its elapsed time may be discarded. Also, the elapsed time values of memory addresses 00222b and 00322c are valid values.
Next, the elapsed times of the LRC 20 may be written to the memory chip 14 at respective memory addresses based on the valid values at the predetermined times. In this regard, the largest of the valid values may be stored on a register of the FPGA 16 along with its memory address 22, as shown in steps 116 and 118. The timer circuit 10 may wait (step 100) until the next predetermined time, and then increment (step 102) the stored valid value to the predetermined time and write (step 104) the incremented value to a new address. The new address is the last written address plus one if the stored address was not the last memory address 22c, as shown in step 106. Alternatively, the new address is the first memory address 22a if the stored address is the last memory address, as shown in step 108. For example, if the elapsed time values of memory addresses 00222b and 00322c are valid values and have associated therewith 12 minutes and 18 minutes, respectively, the elapsed time value of 18 minutes is stored (steps 116, 118) in the register of the FPGA 16 along with its memory address 00322c. The timer circuit 10 may wait (step 100) until the next predetermined time which if based on a periodic interval of six minutes is six minutes from the time the LRC 20 was powered back up. At this point, the stored value of eighteen minutes may be incremented (step 102) to twenty four minutes and the incremented value (i.e., twenty four minutes) may be written (step 104) to the new address (i.e., memory address 00122a). Thereafter, the elapsed times are written to the memory addresses as dictated by steps 120 shown in
In this regard, the elapsed time value is accurate in that it ignores corrupt elapsed time values written to the memory chip 14. As such, during repair, service or replacement of the LRC, the warrantor may be able to determine whether the warranty period for the LRC 20 has expired based on the elapsed time values written on the memory chip 14.
In another aspect of the present invention, the validation process may alternatively include comparing the elapsed time values of non sequential memory addresses to check that each sequential elapsed time value written thereto—and not the values of sequential memory addresses—is incremented by an amount equal to a predetermined time or periodic time interval. In particular, the elapsed time values written to non sequential addresses are reordered with respect to the written elapsed time values. Thereafter, the reordered elapsed time values are compared to each other to determine which value is out of sequence. The out of sequence value is one which is not incremented by the periodic interval or predetermined time and is corrupt. The remaining values are valid and the elapsed time of the electronic device is resumed based on the largest remaining valid values.
This description of the various embodiments of the present invention is presented to illustrate the preferred embodiments of the present invention, and other inventive concepts may be otherwise variously embodied and employed. The appended claims are intended to be construed to include such variations except insofar as limited by the prior art.