Low power consumption plays a key role in battery-operated devices, such as hearing aids. Hearing aids include a primary circuit that needs a high-frequency crystal oscillator to perform fast digital processing. The power consumption of high-frequency crystal oscillators in such battery-operated devices can be substantial and often accounts for a large portion of the total power consumption.
A high-frequency crystal oscillator in a battery-operated device has a relatively high power consumption. During radio-frequency (RF) communication (for example, during Bluetooth communication), the frequency precision of the crystal oscillator needs to be very high. However, outside of RF communication, the frequency precision of the crystal oscillator can be lower. Thus, the present disclosure provides clock sources, apparatuses, and methods that, among other things, lower the frequency precision of a crystal oscillator to lower power consumption temporarily between RF communications. The present disclosure further provides clock sources, apparatuses, and methods that, among other things, step-down a trimming value provided to a crystal oscillator after a transmission event, and then step-up the trimming value back to a nominal value just in time for the next transmission event.
The present disclosure provides a method for operating a crystal oscillator. The method includes determining a first time value indicating an amount of time needed to return a trimming value of the crystal oscillator to a predetermined value. The method also includes determining a second time value indicating an amount of time remaining until a clock signal with a predetermined frequency precision is needed. The method further includes detecting that a difference between the first time value and the second time value is greater than or equal to a predetermined step time. The method also includes incrementing a precision reduction value when the difference between the first time value and the second time value is greater than or equal to the predetermined step time. The method further includes adjusting the trimming value of the crystal oscillator based on a difference between the predetermined value and the precision reduction value.
The present disclosure also provides a clock source including, in one implementation, a crystal oscillator and a controller. The crystal oscillator is configured to generate a clock signal based on a trimming value. The controller is configured to determine a first time value indicating an amount of time needed to return the trimming value to a predetermined value. The controller is also configured to determine a second time value indicating an amount of time remaining until a clock signal with a predetermined frequency precision is needed. The controller is further configured to detect that a difference between the first time value and the second time value is greater than or equal to a predetermined step time. The controller is also configured to increment a precision reduction value when the difference between the first time value and the second time value is greater than or equal to the predetermined step time. The controller is further configured to adjust the trimming value based on a difference between the predetermined value and the precision reduction value.
The present disclosure further provides an apparatus including, in one implementation, a wireless communication circuit, a crystal oscillator, and a controller. The wireless communication circuit is configured to communicate wirelessly to devices outside the apparatus. The crystal oscillator is configured to generate a clock signal based on a trimming value. The controller is configured to determine a first time value indicating an amount of time needed to return the trimming value to a predetermined value. The controller is also configured to determine a second time value indicating an amount of time remaining until a next transmission event of the wireless communication circuit. The controller is further configured to detect that a difference between the first time value and the second time value is greater than or equal to a predetermined step time. The controller is also configured to increment a precision reduction value when the difference between the first time value and the second time value is greater than or equal to the predetermined step time. The controller is further configured to adjust the trimming value based on the precision reduction value.
For a detailed description of example implementations, reference will now be made to the accompanying drawings in which:
Various terms are used to refer to particular system components. Different companies may refer to a component by different names—this document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect or direct connection. Thus, if a first device couples to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections.
In relation to electrical devices, whether stand alone or as part of an integrated circuit, the terms “input” and “output” refer to electrical connections to the electrical devices, and shall not be read as verbs requiring action. For example, a differential amplifier, such as an operational amplifier, may have a first differential input and a second differential input, and these “inputs” define electrical connections to the operational amplifier, and shall not be read to require inputting signals to the operational amplifier.
“Assert” shall mean changing the state of a Boolean signal. Boolean signals may be asserted high or with a higher voltage, and Boolean signals may be asserted low or with a lower voltage, at the discretion of the circuit designer. Similarly, “de-assert” shall mean changing the state of the Boolean signal to a voltage level opposite the asserted state.
“Controller” shall mean, alone or in combination, individual circuit components, an application specific integrated circuit (ASIC), one or more microcontrollers with controlling software, a reduced-instruction-set computer (RISC) with controlling software, a digital signal processor (DSP), one or more processors with controlling software, a programmable logic device (PLD), a field programmable gate array (FPGA), or a programmable system-on-a-chip (PSOC), configured to read inputs and drive outputs responsive to the inputs.
The following discussion is directed to various implementations of the invention. Although one or more of these implementations may be preferred, the implementations disclosed should not be interpreted, or otherwise used, as limiting the scope of the present disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any implementation is meant only to be exemplary of that implementation, and not intended to intimate that the scope of the present disclosure, including the claims, is limited to that implementation.
Various examples are directed to methods and systems of power management with adaptive clock frequency scaling. More particularly, various examples are directed to crystal oscillators and related controllers that lower frequency precision to lower power consumption temporarily between transmission events. More particularly still, various examples are directed to crystal oscillators and related controllers that step-down a trimming value provided to a crystal oscillator after a transmission event, and then step-up the trimming value back to a nominal value just in time for the next transmission event. The specification now turns to an example system to orient the reader.
The microphone 102, the speaker 104, and the battery 106 are electrically coupled to the primary circuit 108. During operation, the hearing aid 100 receives sound through the microphone 102, converts the sound waves to electrical signals, and forwards the electrical signals to be processed by the primary circuit 108. The processed signals are converted to sound waves by the speaker 104 and sent to an ear.
The power for the hearing aid 100 illustrated in
The primary circuit 108 illustrated in
The processing core 116 carries out signal processing functionality, including a variety of Digital Signal Processing (DSP) algorithms as well as multiple types of wireless communication protocols. In some implementations, the processing core 116 includes at least one low-power DSP core, and a Reduced Instruction Set Computer (RISC) core. The processing core 116 may further include a filter engine core, and a plurality of hardware accelerators, which may be configurable. In some implementations, the processing core 116 may include a neural network hardware accelerator to implement a neural network functionality, including fetching a plurality of weights from a weights memory and carrying out a plurality of multiply-accumulate (MAC) operations that operate in parallel. The MAC operations may repetitively multiply an input value and a weight selected from the plurality of weights to accumulate the result of the multiplication to a sum of products representing a value corresponding to a neuron in the neural network.
The system interfaces 120 are configured to couple to additional external devices, such as an Electrically Erasable Programmable Read Only Memory (EEPROM), volume control circuitry, a fitting connector, push-button switches, and sensors. The system interfaces 120 may take any suitable form, such as a serial peripheral interface (SPI), Dual SPI (DSPI), a Quad SPI (QSPI), an I2C interface, an I3C interface, an interface for Pulse Coded Modulation (PCM) signals, a Universal Asynchronous Receiver/Transmitter (UART) circuit, a General Purpose Input/Output (GPIO) pin, an embedded MultiMediaCard (eMMC), and a Low-Speed A/D (LSAD) converter. SPI, DSPI, and QSPI are serial primary-secondary-based communication interfaces that are synchronous and full duplex, and may be three-wire or four-wire based. On the other hand, I2C and I3C are serial protocols based on two-wire interfaces, configured to support multi-master features. An example PCM interface may be used to stream audio signal data into and out of the primary circuit 108. An example UART may include a logic circuit to transmit and receive asynchronous serial communication comprising data with a configurable format and a configurable speed. An example GPIO is a digital signal pin whose functionality, specifically input or output, may be determined during run-time. In some implementations, the GPIO pins may connect to external digital inputs such as push-buttons, or digital outputs such as a control or trigger of an external companion chip. The example eMMC may include an interface, a flash memory, and a flash memory controller, to provide an embedded non-volatile memory system. The example LSAD may provide analog-to-digital conversion of electrical signals for data processing purposes, and may include internal supply and ground inputs. In some implementations, the communication bus 122 may be part of the system interfaces 120.
The wireless communication circuit 110 illustrated in
The non-volatile memory 112 illustrated in
The crystal oscillator 202 is configured to generate a clock signal. The crystal oscillator 202 illustrated in
The controller 204 is configured to generate the trimming value. The controller 204 illustrated in
The crystal 302 is coupled between the output and the input of the inverting amplifier 304. The inverting amplifier 304 is configured to apply an alternating voltage across the crystal 302 which causes the crystal 302 to vibrate at its resonant frequency. The vibrations cause the alternating voltage to form a continuous sine wave with a frequency that is substantially equal to the resonant frequency of the crystal 302. The buffer 306 is configured to generate a clock signal based on the sine wave. The clock signal is an electronic logic signal which oscillates between a high-state and a low-state at a frequency. The output of the buffer 306 is coupled to the clock output 206 to provide the clock signal thereto.
The first adjustable capacitor 308 and the second adjustable capacitor 310 provide an adjustable load capacitance across the crystal 302. The trimming controller 312 is coupled to the clock control input 208 to receive the trimming value therefrom. The trimming controller 312 is configured to adjust the capacitances of the first adjustable capacitor 308 and the second adjustable capacitor 310 based on the trimming value. For example, the trimming controller 312 is configured to increase the capacitances of the first adjustable capacitor 308 and the second adjustable capacitor 310 when the trimming value increases. Further, the trimming controller 312 is configured to decrease the capacitances of the first adjustable capacitor 308 and the second adjustable capacitor 310 when the trimming value decreases. The crystal 302 is designed to have a target resonant frequency with a specific load capacitance added to the crystal 302. The actual resonant frequency of the crystal 302 is close to the target resonant frequency when the first adjustable capacitor 308 and the second adjustable capacitor 310 provide a load capacitance across the crystal 302 that is close to the specific load capacitance for the crystal 302. The frequency stability of the crystal oscillator 202 is determined based in part on the variation between the load capacitance provided by the first adjustable capacitor 308 and the second adjustable capacitor 310 and the specific load capacitance of the crystal 302. For example, when the crystal oscillator 202 is configured to generate an output frequency of 48 Megahertz with the load capacitance specified by the crystal 302 to provide a frequency precision of 20 ppm, the output frequency of the crystal oscillator 202 will vary by at most 960 Hertz. Further, when the crystal oscillator 202 is configured to generate an output frequency of 48 Megahertz and the load capacitance is less than specified by the crystal 302, then the frequency precision will be reduced, for example, to 100 ppm, so that the output frequency of the crystal oscillator 202 will vary by at most 480 Hertz.
The trimming value may be set to a specific nominal value (referred to herein as a “predetermined value”) at which the frequency stability of the crystal oscillator 202 complies with the clock signal requirements of a component included in the hearing aid 100. For example, the trimming value may be set to a nominal value at which the frequency stability of the crystal oscillator 202 complies with the clock signal requirements of the wireless communication circuit 110. As a more specific example, when the wireless communication circuit 110 requires a clock signal with a frequency precision of 20 PPM in order to transmit data packets and a trimming value of 170 provides a frequency precision of 20 PPM, the trimming value may be set to a nominal value of 170.
Lowering the capacitances of the first adjustable capacitor 308 and the second adjustable capacitor 310, by reducing the trimming value, significantly reduces the power consumption of the crystal oscillator 202. Lowering the capacitances of the first adjustable capacitor 308 and the second adjustable capacitor 310, again by reducing the trimming value, also slightly increases the frequency of the crystal oscillator 202, and thus reduces the frequency precision. However, only some operations of the hearing aid 100 may need a clock signal with high frequency precision. For example, while a clock signal with a frequency precision of 20 PPM may be needed while the wireless communication circuit 110 transmits data packets, a clock signal with a lower frequency precision (for example, 100 PPM) may be used between transmissions of data packets. Thus, between transmissions of data packets by the wireless communication circuit 110, the trimming value can be decreased to reduce power consumption.
As described above, the trimming value is generated by the controller 204. When a clock signal with high frequency precision is not needed, the controller 204 decreases the trimming value from its nominal value. To avoid glitches on the generated clock signal, the controller 204 is configured to decrease the trimming value in small steps. For example, the controller 204 may decrease the trimming value by one unit every three microseconds until the trimming value reaches a predetermined minimum value. Subsequently, the controller 204 increases the trimming value to its nominal value just in time for when a clock signal with high frequency precision is needed again. Again, to avoid glitches on the generated clock signal, the controller 204 is configured to increase the trimming value in small steps. For example, the controller 204 may increase the trimming value by one unit every three microseconds until the trimming value returns to the nominal value.
The controller 204 is configured to use a precision reduction value to keep track of how many steps are needed to return the trimming value to its nominal value. For example, the controller 204 may increment the precision reduction value when the trimming value is reduced by one unit, and decrement the precision reduction value when the trimming value is increased by one unit. In some implementations, the controller 204 increments the precision reduction value by increasing the precision reduction value by one unit and decrements the precision reduction value by decreasing the precision reduction value by one unit. In alternate implementations, the controller 204 increments the precision reduction value by decreasing the precision reduction value by one unit and decrements the precision reduction value by increasing the precision reduction value by one unit. The controller 204 is configured to adjust the trimming value based on the precision reduction value. In some implementations, the controller 204 may determine the trimming signal by subtracting the precision reduction value from the nominal value. Thus, when the precision reduction value is equal to zero, the controller 204 may set the trimming value to its nominal value. As described in more detail below, the controller 204 is further configured to increment and decrement the precision reduction value based on how much time is remaining until a clock signal with high frequency precision is needed again.
At block 404, the controller 204 determines an available time. The available time (an example of a “second time value”) is the amount of time remaining until a precise clock signal is needed (i.e., a clock signal with high frequency precision). For example, when a precise clock signal is needed for an upcoming transmission event of the wireless communication circuit 110, in some implementations, the controller 204 internally keeps count of the time remaining until the transmission event. Alternatively, or in addition, the controller 204 may receive a signal value from the wireless communication circuit 110 indicating the amount of time remaining until the next transmission event.
At block 406, the controller 204 determines a difference between the return time and the available time. For example, the controller 204 may subtract the available time from the return time. At block 408, the controller 204 determines whether the difference between the return time and the available time is greater than or equal to the step time. When the difference between the return time and the available time is greater than or equal to the step time, the precision reduction value is incremented at block 410. For example, when the step time is 3 microseconds and the difference between the return time and the available time is 12 microseconds, the controller 204 may increase the precision reduction value by one. Alternatively, when the difference between the return time and the available time is less than the step time, the controller 204 determines whether the available time is less than or equal to the return time at block 412. When the available time is less than or equal to the return time, the precision reduction value is decremented at block 414. For example, when the available time and the return time are both 100 microseconds, the controller 204 may decrease the precision reduction value by one. Alternatively, when the available time is greater than the return time, the method 400 returns to block 404 to determine the available time again. For example, when the available time is 402 microseconds and the return time is 400 microseconds, the precision reduction value is not changed and the method 400 returns to block 404 to determine the available time again. In some implementations, the method 400 waits before returning to block 404. For example, the method 400 may wait for the period of the step time before returning to block 404.
After the precision reduction value is incremented at block 410 or decremented at block 414, the trimming value is adjusted at block 416. In some implementations, the controller 204 may determine the trimming signal by subtracting the precision reduction value from the nominal value. After the trimming value is adjusted, the method 400 returns to block 402 to determine the return time again. In some implementations, the method 400 waits before returning to block 402. For example, the method 400 may wait for the period of the step time before returning to block 402.
Between time t2 and time t3, the precision reduction value remains constant because the precision reduction value is at a maximum value and the available time is greater than the return time. Further, between time t2 and time t3, the return time remains constant because the precision reduction value is constant. In addition, the frequency precision of the clock signal generated by the crystal oscillator 202 remains constant because the precision reduction value is constant.
At time t3, the available time is equal to the return time. Thus, at time t3, the precision reduction value starts stepping down every 3 microseconds until the precision reduction value reaches zero at time t4. As the precision reduction value steps down between time t3 and time t4, the return time decreases down to the stabilization time needed for the next transmission event. Also, as the precision reduction value steps down between time t3 and time t4, the frequency precision of the clock signal generated by the crystal oscillator 202 increases.
Between time t4 and time t5, the precision reduction value remains constant so that the clock signal may stabilize before the next transmission event. At time t5, the next transmission event of the wireless communication circuit 110 starts.
In some implementations, the available time and the precision reduction value are stored in registers in the controller 204.
The counter register 602 is coupled to the processing input 212 (which, as described above in relation to
The control logic 604 is also coupled to the reduction register 606 to store the precision reduction value therein. The control logic 604 is further coupled to the clock control output 210 to provide the trimming value to the crystal oscillator 202. The control logic 604 is configured to determine the available time and the return time, as described above. The control logic 604 is also configured to step-up and step-down the precision reduction value based on the available time and the return time, as described above. The control logic 604 is further configured to generate the trimming value based on the precision reduction value, as described above.
The step time counter 608 is configured to count the time for each step and generate time indication pulses. For example, when the step time is 1 microsecond, the step time counter 608 may generate a time indication pulse every 1 microsecond. The control logic 604 is coupled to the step time counter 608 to receive time indication pulses as input. The control logic 604 may increase or decrease the value of the counter register 602 using the time indication pulses.
Many of the electrical connections in the drawings are shown as direct couplings having no intervening devices, but not expressly stated as such in the description above. Nevertheless, this paragraph shall serve as antecedent basis in the claims for referencing any electrical connection as “directly coupled” for electrical connections shown in the drawing with no intervening device(s).
The above discussion is meant to be illustrative of the principles and various implementations of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
This application claims priority to and the benefit of U.S. Provisional Application Ser. No. 63/496,302 filed Apr. 14, 2023, titled “CRYSTAL OSCILLATOR POWER REDUCTION,” the entire disclosure of which is hereby incorporated by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
63496302 | Apr 2023 | US |