Crystal oscillator (“XO”) frequency accuracy is defined in terms of parts per million (“ppm”) and provides a convenient way of comparing accuracies of different XO specifications. For example, an XO of the type commonly used in timekeeping devices may have an error of 100 ppm, which translates as 100/1e6 or 1e−4 in exponential notation. Accordingly, such an XO may contribute a total daily error of 86400×1e−4 or 8.64 seconds per day.
Crystal oscillators are also used as a basis for generating signals having accurate frequencies in radio frequency (“RF”) transceivers, such as a transceiver of a mobile phone or other portable computing device (“PCD”). It is well known that temperature can significantly impact the accuracy of an XO. Because mobile phone transceivers require accurate frequencies for proper operation, temperature compensation is commonly employed. The oscillation frequency of an XO may be adjusted in response to temperature measurements and an equation or function known as a frequency-temperature (“FT”) curve. An XO manager or controller in the phone may supply the FT curve to the XO. An initial FT curve is commonly defined or set at the time the mobile phone is manufactured and then refined by further calculations during operation of the mobile phone by end-users under routine circumstances and in routine environments, i.e., “in the field,” as the phone experiences a wider range of temperatures than in the factory.
Although refinement or calculation of the FT curve in the field helps calibrate the XO over a range of commonly encountered temperatures, it has been found that under some circumstances the field-calculated FT curve accumulates sufficient error that the mobile phone is unable to acquire the synchronization signals transmitted by a base station that are fundamental to establishing communication between the mobile phone and the base station. Although a mobile phone may make repeated attempts to acquire the base station synchronization signals, an inaccurate frequency reference will generally result in repeated acquisition failures. Rebooting the mobile phone may alleviate the problem. However, manually rebooting the mobile phone is inconvenient for the user. Also, as acquisition may fail for reasons other than a phone's inaccurate frequency reference, such as poor cell coverage, rebooting the phone as a solution is unlikely to immediately occur to a user. Further, rebooting is disruptive to the user experience.
It would be desirable to provide a way for a mobile phone to automatically and gracefully recover from acquisition failure due to an erroneous field-calculated FT curve.
Systems, methods and computer program products are disclosed for auto-recovery from acquisition failure in a portable computing device.
An exemplary method for auto-recovery from acquisition failure in a portable computing device (“PCD”) may include: applying temperature compensation to a crystal oscillator (“XO”) associated with radio frequency (“RF”) transceiver circuity of the PCD using a field-calculated frequency-temperature (“FT”) curve; attempting acquisition of an RF synchronization signal; in response to acquisition failure, determining whether a deviation between a field-calculated FT curve and a factory-set FT curve exceeds threshold criteria; in response to acquisition success, refining the field-calculated FT curve based on frequency error information; and in response to acquisition failure and a determination that the deviation exceeds the threshold criteria, replacing information defining the field-calculated FT curve with information defining the factory-set FT curve.
An exemplary system for auto-recovery from acquisition failure in a PCD may include circuitry configured to attempt acquisition of an RF synchronization signal, a temperature sensor, an XO associated with RF transceiver circuity of the PCD, and an XO manager. The XO manager may be configured to control a method comprising: applying temperature compensation to the XO using a field-calculated FT curve; in response to acquisition failure, determining whether a deviation between the field-calculated FT curve and a factory-set FT curve exceeds threshold criteria; in response to acquisition success, refining the field-calculated FT curve based on frequency error information; and in response to acquisition failure and a determination that the deviation exceeds the threshold criteria, replacing information defining the field-calculated FT curve with information defining the factory-set FT curve.
Another exemplary system for auto-recovery from acquisition failure in a PCD may include: means for applying temperature compensation to an XO associated with RF transceiver circuity of the PCD using a field-calculated FT curve; means for attempting acquisition of an RF synchronization signal; means for, in response to acquisition failure, determining whether a deviation between a field-calculated FT curve and a factory-set FT curve exceeds threshold criteria; means for, in response to acquisition success, refining the field-calculated FT curve based on frequency error information; and means for, in response to acquisition failure and a determination that the deviation exceeds the threshold criteria, replacing information defining the field-calculated FT curve with information defining the factory-set FT curve.
An exemplary computer program product for auto-recovery from acquisition failure in a PCD may include a computer-readable medium having stored thereon instructions that when executed by a processor control a method comprising: applying temperature compensation to an XO associated with RF transceiver circuity of the PCD using a field-calculated FT curve; attempting acquisition of an RF synchronization signal; in response to acquisition failure, determining whether a deviation between a field-calculated FT curve and a factory-set FT curve exceeds threshold criteria; in response to acquisition success, refining the field-calculated FT curve based on frequency error information; and in response to acquisition failure and a determination that the deviation exceeds the threshold criteria, replacing information defining the field-calculated FT curve with information defining the factory-set FT curve.
In the Figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations such as “102A” or “102B”, the letter character designations may differentiate two like parts or elements present in the same Figure. Letter character designations for reference numerals may be omitted when it is intended that a reference numeral to encompass all parts having the same reference numeral in all Figures.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” The word “illustrative” may be used herein synonymously with “exemplary.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
It is known that an FT curve for temperature-compensating an XO may be expressed as a polynomial function or equation, such as Equation 1 below:
f(t)=c3(t−t0)3+c2(t−t0)2+c1(t−t0)+c0
In Equation 1, f(t) represents the frequency error of an XO (in units of ppm) at a temperature t, where t0 is a reference temperature around which the curve is expanded and is typically a constant, such as room temperature (e.g., 30 C). The coefficients C0-C3 may be determined using methods well known to one of ordinary skill in the art. The coefficient C0 is a DC offset and is commonly set to a constant at the factory, but may be refined in the field. The coefficient C1 dominates the linear region of the FT curve and is commonly calculated in the field. The coefficient C2 is usually set to zero in all situations because of the following (Equation 2):
where d2 is the second-order differential.
The coefficient C3 dominates temperature extremes. The coefficient C3 is not commonly set at the factory because it would be impractical to subject the XO (or a mobile phone containing the XO) to a wide range of temperatures in a factory calibration method. Rather, the coefficient C3 is commonly calculated in the field while the mobile phone is in operation and naturally experiencing a range of temperatures.
An XO manager 114 may maintain one or more FT curves 118, each in accordance with above-described Equation 1. The FT curves 118 may include one or more factory-set FT curves 118A and one or more field-calculated FT curves 118B. Initially, i.e., when the PCD 102 leaves the factory, there may be as few as one FT curve 118 that was set in the factory. When the PCD 102 begins operating in the field, the one or more field-calculated FT curves 118B may be initialized by copying a factory-set FT curve 118A. However, as the PCD 102 continues to operate over time, the XO manager 114 may use measurements obtained from one or more temperature sensors 116 to refine or calibrate the one or more field-calculated FT curves 118B. During operation of the PCD 102, the XO 112 adjusts its oscillation frequency in response to temperature measurements and one or more of the field-calculated FT curves 118B.
A field calibration method may be performed, e.g., at intervals, or based on a triggering event, such as cell acquisition. In the field calibration method, the RAN 104, which employs associated radio access technology, measures the frequency of an RF signal it receives from the PCD 102 (i.e., an RF signal produced by a transmitter portion of the transceiver 106). The RAN 104 then estimates the frequency error between the frequency expected by the RAN 104 and the measured frequency of the RF signal received from the PCD 102. The RAN 104 transmits the frequency error information, also referred to as rotator information, to the PCD 102.
The XO manager 114 uses the frequency error information and temperature measured by the PCD 102 to re-calculate a field-calculated FT curve 118B, or if no field-calculated FT curves 118B yet exist, to calculate the first such field-calculated FT curve 118B. As a result of the foregoing field calibration method being repeatedly performed over the course of normal operation of the PCD 102 in the field, the field-calculated FT curve 118B may increasingly deviate from the factory-set FT curve 118A.
Although refinement or re-calculation of a field-calculated FT curve 118B generally helps compensate for XO frequency deviation over a wider range of temperatures than can be addressed in the factory setting, it has been found that under some circumstances the field-calculated FT curve 118B exhibits an amount of error that exceeds a threshold above which the PCD 102 is no longer able to successfully acquire base station synchronization signals.
It has been discovered in accordance with the present disclosure that errors in the field-calculated FT curve 118B for the PCD 102 or other such device can be attributed to at least one, or a combination of more than one, of the following factors:
It has been found that the above factors can result in a difference of, for example, about 5 ppm between the field-calculated FT curve and the factory-set FT curve. It has also been found that a difference of 5 ppm or more commonly exceeds the error tolerance of the mobile phone for acquiring a cell signal in a frequency where the field-calculated FT curve 118B exhibits such a difference.
It should be noted that, in accordance with exemplary methods described below, there may be more than one factory-set FT curve 118A and more than one field-calculated FT curve 118B. For example, there may be one factory-set FT curve 118A and one field-calculated FT curve 118B for each technology (i.e., each RAT). The various field-calculated FT curves 118B may correspond to various frequency bands (e.g., 2G, 3G, 4G, 5G, GNSS, etc.) across multiple subscriber identification module (“SIM”) subscriptions for the PCD 102. These multiple field-calculated FT curves 118B are maintained/monitored by corresponding client entities 120 executing in, or otherwise embodied in, the XO manager 114.
As illustrated in
As indicated by block 204, the PCD 102 may attempt an acquisition. That is, the PCD 102 may attempt to acquire synchronization signals transmitted by a base station or other entity involved in wireless network communication. As the manner in which such a wireless communication device attempts acquisition is well understood by one of ordinary skill in the art, such aspects are not described herein.
As indicated by block 206, it is determined whether the attempted acquisition succeeded. If it is determined (block 206) that the attempted acquisition succeeded, the PCD 102 may return to or continue other operations, such as conventional operations or whatever operations it may have been performing before beginning method 200. The PCD 102 may return to such operations until, for example, it again attempts an acquisition, at which time the method 200 may begin again.
If it is determined (block 206) that the attempted acquisition failed, the amount of deviation between the Field FT Curve that is then being employed (e.g., in block 202) and the Factory FT Curve is determined, as indicated by block 208. As indicated by block 210, it is determined whether the amount of deviation exceeds a threshold. If it is determined (block 210) that the amount of deviation exceeds the threshold, information defining the Field FT Curve, including the coefficients C0-C3, is replaced with the corresponding information defining the Factory FT curve, as indicated by block 212. Following such replacement (block 212), the PCD 102 may return to or continue other operations (e.g., until such time as another acquisition may be attempted and the method 200 begun again).
If it is determined (block 210) that the amount of deviation does not exceed the threshold, the XO manager 114 may continue employing the same Field FT curve it had been employing before the method 200 was begun, as indicated by block 214. Thus, that same Field FT curve will continue to be employed in temperature-compensating the XO (block 202), and if another acquisition is attempted, that same Field FT curve will be employed when the method 200 is begun again.
As illustrated in
As indicated by block 302, the method 300 may begin with factory-calibrating the PCD 102 to provide the Factory FT Curve. As indicated by the ellipsis (“. . . ”) symbol between blocks 302 and 304, the remainder of the method 300 may be performed in the field. As indicated by block 304, the PCD 102 may attempt an acquisition, using the Field FT Curve. If no Field FT Curve yet exists (e.g., because the acquisition attempt is the first since the PCD 102 left the factory), the acquisition attempt may use the Factory FT Curve. As indicated by block 303, each time another acquisition is attempted, the method 300 may return to block 304.
As indicated by block 306, it is determined whether the acquisition succeeded. If it is determined (block 306) that the acquisition succeeded, calibration of the Field FT Curve may be performed in a conventional manner, as indicated by block 308. Commonly, the XO 112 receives frequency error information generated by the RAN 104 (
If it is determined (block 306) that the first attempted acquisition (block 304) failed, the PCD 102 may again attempt acquisition, but this second time using the Factory FT Curve, as indicated by block 310. As indicated by block 312, it is determined whether this second attempted acquisition (block 310) failed. It should be noted that if an attempted acquisition using the Factory FT Curve fails, then the PCD 102 likely was not capable of operating properly in this respect when it left the factory. That is, the Factory FT curve was likely faulty. Accordingly, the PCD 102 may need to undergo a factory calibration procedure (e.g., performed by service personnel), resulting in a new Factory FT Curve being stored in the PCD 102 in place of the faulty Factory FT Curve, as indicated by block 314. Note that the acquisition attempt indicated by block 310 is a second acquisition attempt (the first being the acquisition attempt indicated by block 304) and uses the Factory FT Curve to virtually ensure successful acquisition (but for the unlikely possibility of a faulty Factory FT curve).
If it is determined (block 312) that the acquisition attempt (block 310) succeeded, then the following steps may be performed as described below with regard to
Further in response to the unsuccessful first acquisition attempt (block 306), an indication or vote is recorded in the XO manager 114, as indicated by block 318. The vote is specific to the client 120 (
As indicated by block 320, the XO manager 114 may perform an analysis based in part on a calculated difference between the Field FT Curve and the Factory FT Curve and in part on the received votes. The portion of the analysis based on the calculated difference may include the following equation (Equation 3):
|Field_C0−Factory_C0|>Delta,
where Field_C0 is the DC offset in the Field FT curve in units of 2{circumflex over ( )}12 ppm, Factory_C0 is the DC offset in the Factory FT curve in units of 2{circumflex over ( )}12 ppm, and Delta is a constant in units of 2{circumflex over ( )}12 ppm. The value of Delta may be proportional to the age of the XO 112. For example, Delta may have a baseline value when the XO 112 is new (i.e., aged zero years) and may be incremented by a constant amount with each additional year of age. Although the baseline value and the increment may have any values, in an example in which the baseline value is 3 ppm and the increment is 0.7 ppm, the value of Delta may be selected to be 3.0 when the XO 112 is new, 3.7 when the XO 112 is aged one year, 4.4 when the XO 112 is aged two years, etc. The absolute value of the difference between the coefficient C0 in the Field FT curve and the coefficient C0 in the Factory FT curve may be determined and compared with Delta. If the absolute value of the difference between the coefficient C0 in the Field FT curve and the coefficient C0 in the Factory FT curve is greater than Delta, then the votes may nonetheless affect the decision whether to replace the Field FT Curve with the Factory FT Curve. Note that the analysis indicated by block 320 may be performed repeatedly, each time possibly taking into account another vote. That is, as the one or more clients 120 continue acquisition attempts, two or more votes may have accumulated at the time of the analysis.
If the absolute value of the difference between the coefficient C0 in the Field FT curve and the coefficient C0 in the Factory FT curve is greater than Delta, and if there are sufficient votes, then the result of the analysis indicates that the Field FT Curve is to be replaced with the Factory FT Curve. If the absolute value of the difference between the coefficient C0 in the Field FT curve and the coefficient C0 in the Factory FT curve is not greater than Delta, or if there are not sufficient votes, then the result of the analysis indicates that the Field FT Curve is not to be replaced with the Factory FT Curve. “Sufficient votes” may consist of, for example, at least “X_votes” associated with two or more different clients 120 or at least “Y_votes” from any single client 120. For example, X_votes may be 2, and Y_votes may be 5. Block 322 indicates determining the result of the analysis.
If it is determined (block 322) that the result of the analysis indicates that the Field FT Curve is to be replaced with the Factory FT Curve, then the replacement is performed, as indicated by block 324. Following such replacement (block 324), the PCD 102 may return to or continue other operations (e.g., until such time as another acquisition may be attempted and the method 300 begun again).
If it is determined (block 322) that the result of the analysis indicates that the Field FT Curve is not to be replaced with the Factory FT Curve, then the received vote is stored or recorded along with previously received votes. The PCD 102 then may return to or continue other operations (e.g., until such time as another acquisition may be attempted and the method 300 begun again). Although not shown for purposes of clarity, all recorded votes may be erased if the Field FT Curve is replaced (block 324) with the Factory FT Curve.
As illustrated in
As indicated by block 402, the method 400 may begin with factory-calibrating the PCD 102 to provide the Factory FT Curve. As indicated by the ellipsis (“. . . ”) symbol between blocks 402 and 404, the remainder of the method 400 may be performed in the field.
As indicated by block 404, calibration of the Field FT Curve may be performed in a conventional manner, using RAT or RAN-supplied frequency error information. Although not shown for purposes of clarity, the PCD 102 may have received the frequency error information following a previously attempted (successful) acquisition. In
As described below, there may be two or more Field FT Curves (e.g., field-calculated FT curves 118B). Each Field FT Curve is associated with one of the clients 120, and each client 120 is associated with a different technology (i.e., RAT).
As indicated by block 406, the PCD 102 may attempt an acquisition, using the Field FT Curve relating to the client and technology associated with the acquisition attempt. As indicated by block 408, it is determined whether the acquisition succeeded. If it determined (block 408) that the acquisition succeeded, the PCD 102 may return to or continue other operations (e.g., until such time as another acquisition may be attempted and the method 400 begun again).
As indicated by block 410, if it is determined (block 408) that the acquisition attempt (block 406) failed, the XO manager 114 may perform a frequency error analysis. The frequency error analysis may include computing the following equation (Equation 4):
Reported_Error>f(t)+/−Uncertainty,
where Reported_Error is the frequency error information reported by the RAN 104 to the PCD 102 (
If it is determined (block 410) that Equation 4 is false, i.e., the value of Reported_Error is within the window around f(t), then the method 400 continues as described above with regard to block 406. If it is determined (block 410) that Equation 4 is true, i.e., the value of Reported_Error is outside the window around f(t), then the method flow follows the off-page connector “A” from
As indicated by block 412, the PCD 102 may attempt an acquisition using the Factory FT Curve. Note that the acquisition attempt indicated by block 412 is a second acquisition attempt (the first being the acquisition attempt indicated by block 408) and uses the Factory FT Curve to virtually ensure successful acquisition. It may also be noted that in method 400 the first acquisition attempt (block 408) occurs before determining the error value or window (f(t)+/−Uncertainty), and the error value is not determined unless the first acquisition attempt fails.
As indicated by block 414, it is determined whether the acquisition attempt (block 412) succeeded. The embodiment represented by method 400 considers that an acquisition attempt using the Factory FT Curve may fail due to some other cause, such as, for example, poor cell coverage. Accordingly, if it is determined (block 414) that the acquisition attempt (block 412) failed, then the value of Uncertainty is reduced, as indicated by block 416, and the method continues (following the off-page connector “C” from
If it is determined (block 414) that the acquisition attempt (block 412) succeeded, then the Field FT Curve is replaced with the Factory FT Curve, as indicated by block 418. Note that the Field FT Curve and Factory FT Curve in block 418 are those which are associated with the one of clients 120 to which the acquisition attempts (blocks 408 and 412) related. That is, the Field FT Curve and Factory FT Curve in block 418 are technology (RAT)-specific. Following the off-page connector “B” from
As illustrated in
A display controller 510 and a touchscreen controller 512 may be coupled to the CPU 504. A touchscreen display 514 external to the SoC 502 may be coupled to the display controller 510 and the touchscreen controller 512. The PCD 500 may further include a video decoder 516 coupled to the CPU 504. A video amplifier 518 may be coupled to the video decoder 516 and the touchscreen display 514. A video port 520 may be coupled to the video amplifier 518. A universal serial bus (“USB”) controller 522 may also be coupled to CPU 504, and a USB port 524 may be coupled to the USB controller 522. A subscriber identity module (“SIM”) card 526 may also be coupled to the CPU 504.
One or more memories may be coupled to the CPU 504. The one or more memories may include both volatile and non-volatile memories. Examples of volatile memories include static random access memory (“SRAM”) 528 and dynamic RAMs (“DRAM”s) 530 and 531. Such memories may be external to the SoC 502, such as the DRAM 530, or internal to the SoC 502, such as the DRAM 531. A DRAM controller 532 coupled to the CPU 504 may control the writing of data to, and reading of data from, the DRAMs 530 and 531. In other embodiments, such a DRAM controller may be included within a processor, such as the CPU 504.
A stereo audio CODEC 534 may be coupled to the analog signal processor 508. Further, an audio amplifier 536 may be coupled to the stereo audio CODEC 534. First and second stereo speakers 538 and 540, respectively, may be coupled to the audio amplifier 536. In addition, a microphone amplifier 542 may be coupled to the stereo audio CODEC 534, and a microphone 544 may be coupled to the microphone amplifier 542. A frequency modulation (“FM”) radio tuner 546 may be coupled to the stereo audio CODEC 534. An FM antenna 548 may be coupled to the FM radio tuner 546. Further, stereo headphones 550 may be coupled to the stereo audio CODEC 534. Other devices that may be coupled to the CPU 504 include a digital (e.g., CCD or CMOS) camera 552.
A modem or RF transceiver 554 may be coupled to the analog signal processor 508. The modem/transceiver 554 may be an example of the above-described modem/transceiver 106 (
A power supply 566 may be coupled to the SoC 502 via a power management integrated circuit (“PMIC”) 568. The power supply 566 may include a rechargeable battery or a DC power supply that is derived from an AC-to-DC transformer connected to an AC power source.
The SoC 502 may have one or more internal or on-chip thermal sensors 570A and may be coupled to one or more external or off-chip thermal sensors 570B. An analog-to-digital converter (“ADC”) controller 572 may convert voltage drops produced by the thermal sensors 570A and 570B to digital signals. Thermal sensors 570A and 570B may be examples of the temperature sensor 116 described above with regard to
The touch screen display 514, the video port 520, the USB port 524, the camera 552, the first stereo speaker 538, the second stereo speaker 540, the microphone 544, the FM antenna 548, the stereo headphones 550, the RF switch 556, the RF antenna 558, the keypad 560, the mono headset 562, the vibrator 564, the thermal sensors 550B, the ADC controller 552, the PMIC 568, the power supply 566, the DRAM 530, and the SIM card 526 are external to the SoC 502 in this exemplary embodiment. It will be understood, however, that in other embodiments one or more of these devices may be included in such an SoC.
The SoC 502 may include an XO 574 and an XO manager 576, which may be examples of the XO 112 and XO manager 114, respectively, described above with regard to
Although for purposes of clarity the software 608 is shown as stored or residing in the memory 604 as a discrete or unitary element, one of ordinary skill in the art understands that the software 608 may be retrieved from the memory 604 or other source(s), and executed by the processor 602 or other processor in accordance with conventional computing principles, such as on an as-needed basis, in portions such as instructions, segments, objects, files, etc., and that the software 608 may be distributed among more than one such memory or other storage source. The memory 604 or other memory from which the software 608 is retrieved for execution may be volatile (e.g., DRAM) or non-volatile (e.g., flash). Such memories may include those described above with regard to
Although in
Alternative embodiments will become apparent to one of ordinary skill in the art to which the invention pertains without departing from its spirit and scope. Therefore, although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and alterations may be made therein without departing from the spirit and scope of the present invention, as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201921026806 | Jul 2019 | IN | national |