Circuit devices and oscillators
Through the temperature sensor, operation circuit and frequency adjustment circuit in the circuit device, conversion temperature data is generated to adjust the oscillation frequency, which solves the problems of memory utilization efficiency and temperature compensation accuracy in the existing technology and realizes efficient and accurate temperature compensation in a wide temperature range.
Patent Information
- Application Number
- CN202111145381.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-30
- Filing Date
- 2021-09-28
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-09-28
AI Technical Summary
In the prior art, the memory usage efficiency of the temperature compensation oscillator circuit is low in a range of small temperature sensitivity, while the temperature compensation accuracy is reduced in a range of large temperature sensitivity, making it difficult to efficiently utilize the limited capacity memory to achieve high-precision temperature compensation.
The circuit device includes a temperature sensor circuit, an operation circuit, a storage circuit and a frequency adjustment circuit. By converting and processing the temperature data, converted temperature data is generated to adjust the oscillation frequency. The correspondence between the converted temperature data and the frequency adjustment data is stored in a lookup table, thereby achieving efficient address allocation and precise frequency adjustment within different temperature ranges.
It achieves efficient use of memory resources in different temperature ranges, improves the accuracy and efficiency of temperature compensation, and ensures the stability of oscillation frequency in a wide temperature range.
Smart Images

Figure CN114337542B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a circuit device, an oscillator and the like. Background Art
[0002] Patent document 1 discloses a temperature-compensated oscillator circuit, which includes: a temperature measuring unit that outputs the temperature measurement result in the form of a digital signal; a counter that outputs the high-order bit of the digital signal as an address value; a storage unit that outputs a correction value corresponding to the address value; and a capacitor array that is set to a capacitance value corresponding to the correction value to adjust the oscillation frequency.
[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 2007-67675
[0004] In Patent Document 1, the high-order bits of a digital signal are used as address values. Therefore, these address values correspond to temperature points at roughly fixed temperature intervals. In other words, correction values corresponding to temperature points at roughly fixed temperature intervals are stored in the memory unit, without considering the temperature sensitivity of the temperature characteristics of the oscillation frequency. Consequently, there are issues such as reduced memory usage efficiency in temperature ranges with low temperature sensitivity and reduced temperature compensation accuracy in temperature ranges with high temperature sensitivity. Summary of the Invention
[0005] One embodiment of the present invention relates to a circuit device, which includes: an oscillation circuit that generates an oscillation signal using an oscillator; a frequency adjustment circuit that adjusts the oscillation frequency of the oscillation circuit according to frequency adjustment data; a temperature sensor circuit that outputs temperature data; an operation circuit that performs conversion processing on the temperature data so that the slope of converted temperature data relative to the temperature data within a first temperature range is different from the slope of the converted temperature data relative to the temperature data within a second temperature range, thereby outputting the converted temperature data; and a storage circuit that stores a lookup table representing the correspondence between the converted temperature data and the frequency adjustment data.
[0006] Furthermore, another embodiment of the present invention relates to an oscillator including the above-mentioned circuit device and the oscillator. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 This diagram shows the relationship between the temperature characteristics of the oscillation frequency and address allocation when the temperature data output by the temperature sensor is directly used as the address of the lookup table.
[0008] Figure 2 This is an example of the structure of an oscillator and a circuit device.
[0009] Figure 3This is an example of conversion from temperature data to converted temperature data in the first configuration example of the arithmetic circuit.
[0010] Figure 4 This is the first structural example of the arithmetic circuit.
[0011] Figure 5 This is a detailed configuration example of a starting point setting circuit and a multiplication circuit.
[0012] Figure 6 This is the second configuration example of the multiplication circuit.
[0013] Figure 7 This is an example of conversion from temperature data to converted temperature data in the third configuration example of the arithmetic circuit.
[0014] Figure 8 This is the third structural example of the arithmetic circuit.
[0015] Figure 9 This is a detailed configuration example of a temperature sensor circuit.
[0016] Figure 10 This section shows a detailed configuration example of an adjustment circuit and a connection configuration example of an oscillator, an oscillation circuit, and an adjustment circuit.
[0017] Description of labels
[0018] 10: Oscillator; 100: Circuit device; 110: Temperature sensor circuit; 111: Enable counter; 112: Ring oscillator; 113: Counter; 120: Arithmetic circuit; 126: Adding circuit; 130: Storage circuit; 131: Lookup table; 150: Frequency adjustment circuit; 152: Interpolation circuit; 154: Adjustment circuit; 160: Oscillation circuit; 170: Register; 200: Oscillator; CLa, CLb: Frequency adjustment data; EQOF: Bias; ETD: Conversion temperature data; KSA, KSB, KSC, KSD: Starting point setting circuit; KSAQ, KSBQ, KSCQ, KSDQ: Differential temperature data; MLA, MLB, MLC, MLD: Multiplication circuit; RTA, RTB, RTC, RTD, RTE: Temperature range; TD: Temperature data; Ta, Tb, Tc, Td: Starting temperature. DETAILED DESCRIPTION
[0019] The preferred embodiment of the present invention will be described in detail below. The embodiment described below does not unduly limit the contents of the claims, and all the structures described in the embodiment are not necessarily essential structural requirements.
[0020] 1. Circuit devices and oscillators
[0021] Figure 1This figure shows the relationship between the temperature characteristics of the oscillation frequency and address allocation when using temperature data output by the temperature sensor directly as lookup table addresses. While this example shows a linear temperature data curve with respect to temperature, any temperature data curve that is substantially linear with respect to temperature will suffice. Furthermore, an example shows a quadratic temperature characteristic of the oscillation frequency curve with respect to temperature, but any temperature characteristic in which the temperature sensitivity of the oscillation frequency changes with temperature will suffice.
[0022] Figure 1 The temperature characteristics shown are quadratic characteristics that are upwardly convex, with the apex near room temperature. UT1 to UT3 are temperature ranges per unit temperature width. Temperature range UT1 is near room temperature, with a small frequency change FW1 per unit temperature. Temperature range UT2 deviates slightly from room temperature, with a moderate frequency change FW2 per unit temperature. Temperature range UT3 deviates further from room temperature than temperature range UT2, with a larger frequency change FW3 per unit temperature. The frequency change per unit temperature corresponds to the temperature sensitivity of the oscillation frequency, meaning that the further away from room temperature, the greater the temperature sensitivity.
[0023] The temperature ranges UT1 to UT3, each with a unit temperature width, correspond to the address ranges AW1 to AW3 of the lookup table. Frequency changes FW1 to FW3 per unit temperature are assigned to these address ranges AW1 to AW3. Because temperature data is linear, the number of addresses contained in each of the address ranges AW1 to AW3 is the same. Therefore, the frequency change per address is smaller in the temperature range UT1 and larger in the temperature range UT3.
[0024] To efficiently utilize the limited memory capacity and achieve high-precision temperature compensation, it is preferable that the frequency variation per address be uniform. However, as mentioned above, there are too many addresses allocated within the temperature range UT1, and insufficient addresses allocated within the temperature range UT3. For example, reducing the number of addresses per unit temperature can optimize the allocation within the temperature range UT1. However, within the temperature range UT3, the frequency variation per address increases, reducing the accuracy of temperature compensation. On the other hand, increasing the number of addresses per unit temperature can improve the accuracy of temperature compensation within the temperature range UT3. However, within the temperature range UT1, although the frequency variation is smaller, the number of addresses allocated increases, reducing memory utilization efficiency. Thus, directly using the temperature data output by the temperature sensor as the address for the lookup table presents the problem of difficulty in efficiently utilizing the limited memory capacity and achieving high-precision temperature compensation.
[0025] Figure 2 The following describes a configuration example of an oscillator 200 and a circuit device 100 in this embodiment. The oscillator 200 includes a resonator 10 and the circuit device 100 .
[0026] The vibrator 10 is an element that generates mechanical vibrations by electrical signals. The vibrator 10 can be implemented by a vibrating plate such as a quartz vibrating plate. For example, the vibrator 10 is a tuning fork-type quartz vibrating plate. Alternatively, the vibrator 10 can be implemented by a quartz vibrating plate that performs thickness shear vibration with an AT cut or an SC cut. In addition, the vibrator 10 of this embodiment can be implemented by various vibrating plates such as a vibrating plate other than a tuning fork-type or thickness shear vibration type, or a piezoelectric vibrating plate formed of a material other than quartz. For example, the vibrator 10 can also be a SAW resonator, or a MEMS vibrator formed using a silicon substrate as a silicon vibrator. SAW is the abbreviation of Surface Acoustic Wave, and MEMS is the abbreviation of Micro Electro Mechanical Systems.
[0027] The circuit device 100 is electrically connected to the vibrator 10, and the vibrator 10 is driven to oscillate. The connection in this embodiment is an electrical connection. An electrical connection is a connection that can transmit an electrical signal, and is a connection that can transmit information using an electrical signal. The electrical connection can also be a connection via a passive component or an active component. Furthermore, the circuit device 100 performs temperature compensation processing to keep the oscillation frequency of the oscillator 200 constant regardless of temperature. The circuit device 100 is an integrated circuit device called an IC. The circuit device 100 is an IC manufactured using a semiconductor process and is a semiconductor chip having circuit elements formed on a semiconductor substrate.
[0028] The circuit device 100 includes a temperature sensor circuit 110, an operation circuit 120, a storage circuit 130, a frequency adjustment circuit 150, an oscillation circuit 160, and a register 170. Figure 2 The structure can be implemented in various ways, such as omitting part of the structural elements or adding other structural elements.
[0029] Temperature sensor circuit 110 measures the ambient temperature of oscillator 10 and outputs the result as temperature data TD. Temperature data TD is data that monotonically increases or decreases with temperature within the operating temperature range of circuit device 100. As described later, temperature sensor circuit 110 is a temperature sensor that utilizes the temperature dependence of the oscillation frequency of a ring oscillator. In this case, temperature sensor circuit 110 includes a ring oscillator and a counter. The counter counts the oscillation signal of the ring oscillator during an enable period specified by clock signal CLK output by oscillation circuit 160 and outputs the count value as temperature data TD. However, temperature sensor circuit 110 is not limited to this. For example, it may also include an analog temperature sensor that utilizes the temperature dependence of the forward voltage of a PN junction to output a temperature detection voltage, and an A / D converter that performs A / D conversion on the temperature detection voltage to output temperature data TD.
[0030] The arithmetic circuit 120 is a logic circuit that converts the temperature data TD output by the temperature sensor circuit 110 into converted temperature data ETD. Like the temperature data TD, the converted temperature data ETD is data that monotonically increases or decreases with temperature. However, the slope of the converted temperature data ETD is obtained by converting the slope of the temperature data TD according to the temperature range. In the following, assuming that n is an integer greater than or equal to 1, the converted temperature data ETD is data ETD[n:0] of n+1 bits.
[0031] The register 170 stores parameters for conversion by the arithmetic circuit 120. The parameters stored in the register 170 are input to the arithmetic circuit 120, and the arithmetic circuit 120 converts the temperature data TD into converted temperature data ETD[n:0] based on the parameters.
[0032] Storage circuit 130 stores a lookup table 131 that indicates the correspondence between conversion temperature data ETD[n:0] and frequency adjustment data. Specifically, the uppermost bit ETD[n:i+1] of conversion temperature data ETD[n:0] is input to storage circuit 130 as the address of lookup table 131. i is an integer greater than 1 and less than n. Lookup table 131 stores frequency adjustment data at each address, and storage circuit 130 outputs frequency adjustment data CLa for the address specified by the uppermost bit ETD[n:i+1] and frequency adjustment data CLb for the adjacent address. Storage circuit 130 is, for example, a nonvolatile memory or semiconductor memory such as RAM, or a register composed of latch circuits. Nonvolatile memory is, for example, an OTP memory such as a FAMOS memory, but is not limited thereto. It may also be an EEPROM such as a MONOS memory or a fuse-type ROM. FAMOS is an abbreviation for Floating Gate Avalanche Injection Metal Oxide Semiconductor. MONOS is the abbreviation of Metal-Oxide-Nitride-Oxide-Silicon.
[0033] The frequency adjustment circuit 150 adjusts the oscillation frequency of the oscillation circuit 160 based on the lower bits ETD[i:0] of the converted temperature data ETD[n:0] and the frequency adjustment data CLa and CLb. Specifically, the frequency adjustment circuit 150 includes an interpolation circuit 152 and an adjustment circuit 154.
[0034] Interpolation circuit 152 interpolates frequency adjustment data CLa and frequency adjustment data CLb based on the lower-order bits ETD[i:0] of conversion temperature data ETD[n:0], thereby outputting adjustment data QCL. Adjustment circuit 154 is connected to oscillation circuit 160 and adjusts the oscillation frequency of the oscillation circuit to an oscillation frequency corresponding to adjustment data QCL. The frequency adjustment data stored in lookup table 131 is data that reduces the temperature dependence of the oscillation frequency of oscillation circuit 160 and oscillator 10. By adjusting the oscillation frequency using the frequency adjustment data, the oscillation frequency is kept constant regardless of temperature. As described later, adjustment circuit 154 is a capacitor array circuit connected to one or the other end of oscillator 10. Alternatively, adjustment circuit 154 may include a D / A converter that performs D / A conversion on adjustment data QCL and a variable capacitance capacitor connected to one or the other end of oscillator 10. The capacitance value of the variable capacitance capacitor is controlled based on the output voltage of the D / A converter.
[0035] In addition, the frequency adjustment circuit 150 is not limited to Figure 2 In this case, the storage circuit 130 outputs the frequency adjustment data CLa corresponding to the converted temperature data ETD[n:0], and the adjustment circuit 154 adjusts the oscillation frequency of the oscillation circuit to the oscillation frequency corresponding to the frequency adjustment data CLa.
[0036] Oscillator circuit 160 generates an oscillation signal using oscillator 10. Specifically, oscillator circuit 160 drives oscillator 10 to cause oscillator 10 to oscillate, generating an oscillation signal through this oscillation. An example of oscillator circuit 160 is a Colpitts-type oscillator circuit, described later, but is not limited thereto. As long as the oscillation frequency can be adjusted by frequency adjustment circuit 150, various oscillator circuits can be used. Furthermore, clock signal CLK is output based on the oscillation signal. For example, oscillator circuit 160 may output the oscillation signal as clock signal CLK, or circuit device 100 may include an output circuit that outputs clock signal CLK by buffering or frequency-dividing the oscillation signal.
[0037] Figure 3 This is an example of conversion from temperature data TD to converted temperature data ETD in the first configuration example of the operation circuit 120. The solid line shows the converted temperature data ETD in this embodiment, and the dotted line shows the converted temperature data ETD when the temperature data TD is directly used as the converted temperature data ETD. Figure 3 In FIG, the temperature data TD and the converted temperature data ETD are expressed as decimal numbers. In addition, the upper bits ETD[n:i+1] of the converted temperature data ETD are expressed as integers, and one integer value corresponds to one address.
[0038] exist Figure 3In the example, a larger value of temperature data TD corresponds to a higher temperature. The range of 0 to 72 in temperature data TD corresponds to the operating temperature range of circuit device 100. In the first configuration example, the operating temperature range is divided into temperature range RTC corresponding to the range of 0 to 24 in temperature data TD, temperature range RTE corresponding to the range of 24 to 32 in temperature data TD, and temperature range RTA corresponding to the range of 32 to 72 in temperature data TD. Temperature range RTE is near room temperature and has a low temperature sensitivity in the temperature characteristics of the oscillation frequency. Temperature ranges RTC and RTA have a higher temperature sensitivity than room temperature in the temperature characteristics of the oscillation frequency.
[0039] The arithmetic circuit 120 does not change the slope of the temperature data TD corresponding to the temperature range RTE near room temperature, and performs a bias addition process on the temperature data TD, thereby outputting the converted temperature data ETD. In addition, the arithmetic circuit 120 multiplies the slope of the temperature data TD corresponding to the temperature ranges RTC and RTA with greater temperature sensitivity by 1.5 times, and performs a bias addition process, thereby outputting the converted temperature data ETD. The bias value added in the bias addition process is set so that the lower limit of the converted temperature data ETD within the operating temperature range does not become negative. Figure 3 In the embodiment, the bias value is set so that the lower limit of the converted temperature data ETD becomes zero, but the bias value may be set so that the lower limit of the converted temperature data ETD is greater than zero. Figure 4 EQOF described later.
[0040] In the present embodiment described above, circuit device 100 includes an oscillator circuit 160 that generates an oscillation signal using oscillator 10; a frequency adjustment circuit 150 that adjusts the oscillation frequency of oscillator circuit 160 based on frequency adjustment data CLa and CLb; a temperature sensor circuit 110 that outputs temperature data TD; an arithmetic circuit 120; and a storage circuit 130. The arithmetic circuit 120 converts temperature data TD so that the slope of converted temperature data ETD relative to temperature data TD is different within a first temperature range and within a second temperature range, thereby outputting converted temperature data ETD. The storage circuit 130 stores a lookup table 131 that indicates the correspondence between converted temperature data ETD and frequency adjustment data CLa and CLb.
[0041] exist Figure 3 In the example shown in FIG, the temperature range RTA or RTC corresponds to the first temperature range, and the temperature range RTE corresponds to the second temperature range. In the temperature ranges RTA and RTC, the slope of the converted temperature data ETD is 1.5, while in the temperature range RTE, the slope of the converted temperature data ETD is 1. That is, the slope in the first temperature range is different from the slope in the second temperature range.
[0042] According to this embodiment, temperature data TD is converted into converted temperature data ETD so that the slope of the converted temperature data ETD varies depending on the temperature range. Thus, the slope of the converted temperature data ETD can be adjusted based on the temperature sensitivity of the temperature characteristic of the oscillation frequency. Specifically, within a temperature range with a high temperature sensitivity, the absolute value of the slope of the converted temperature data ETD can be increased, while within a temperature range with a low temperature sensitivity, the absolute value of the slope of the converted temperature data ETD can be decreased. The address of the lookup table 131 is specified by the converted temperature data ETD. Therefore, the greater the absolute value of the slope of the converted temperature data ETD, the greater the number of addresses per unit temperature. Thus, within a temperature range with a high temperature sensitivity, the number of addresses allocated per unit temperature can be increased, while within a temperature range with a low temperature sensitivity, the number of addresses allocated per unit temperature can be decreased. This allows efficient use of limited memory capacity and high-precision temperature compensation.
[0043] In addition, in this embodiment, the operation circuit 120 outputs the conversion temperature data ETD in a manner such that the number of data per unit temperature of the frequency adjustment data output from the lookup table 131 based on the conversion temperature data ETD corresponding to the first temperature range is different from the number of data per unit temperature of the frequency adjustment data output from the lookup table 131 based on the conversion temperature data ETD corresponding to the second temperature range.
[0044] As described above, the greater the absolute value of the slope of the converted temperature data ETD, the greater the number of addresses per unit temperature. Therefore, the number of data points per unit temperature in the frequency adjustment data output from the lookup table 131 based on the converted temperature data ETD increases. A greater number of data points per unit temperature allows the frequency adjustment data to be stored in the lookup table 131 at a smaller temperature scale. This enables high-precision temperature compensation even within a temperature range with high temperature sensitivity. Conversely, a smaller number of data points per unit temperature allows the frequency adjustment data to be stored in the lookup table 131 at a larger temperature scale. This improves memory utilization efficiency within a temperature range with low temperature sensitivity.
[0045] Figure 4 Show progress Figure 3 The arithmetic circuit 120 includes starting point setting circuits KSA and KSC, multiplication circuits MLA and MLC, and an addition circuit 126.
[0046] Starting point setting circuit KSA setting Figure 3The starting temperature Ta of the temperature range RTA. The starting temperature Ta is the boundary between the adjacent temperature ranges RTE and RTA, and is the lower limit of the temperature range RTA. Specifically, the starting temperature Ta is set by the temperature data TD=32 corresponding to the starting temperature Ta. When the temperature data TD is greater than 32, the starting point setting circuit KSA outputs differential temperature data KSAQ=TD-32, which is obtained by subtracting 32 from the temperature data TD. When the temperature data TD is less than 32, the differential temperature data KSAQ=0 is output. The multiplication circuit MLA outputs output data MLAQ=KSAQ×0.5=(TD-32)×0.5, which is obtained by multiplying the differential temperature data KSAQ by a gain of 0.5. When TD<32, MLAQ=0.
[0047] Starting point setting circuit KSC setting Figure 3 The starting temperature Tc of the temperature range RTC is set. The starting temperature Tc is the boundary between the adjacent temperature ranges RTE and RTC, and is the upper limit of the temperature range RTC. Specifically, the starting temperature Tc is set by the temperature data TD=24 corresponding to the starting temperature Tc. When the temperature data TD is less than 24, the starting point setting circuit KSC outputs differential temperature data KSCQ=-(TD-24) obtained by subtracting 24 from the temperature data TD and inverting the sign. When the temperature data TD is greater than 24, the differential temperature data KSCQ=0 is output. The multiplication circuit MLC outputs output data MLCQ=-(KSCQ×0.5)=(TD-24)×0.5 obtained by multiplying the differential temperature data KSCQ by a gain of 0.5 and inverting the sign. When TD>24, MLCQ=0.
[0048] Adder circuit 126 adds temperature data TD, output data MLAQ, output data MLCQ, and offset value EQOF, and outputs the result as converted temperature data ETD. Within temperature range RTE, ETD = TD + EQOF, and the slope of converted temperature data ETD is 1. Within temperature range RTA, ETD = TD + (TD - 32) × 0.5 + EQOF = 1.5 × TD - 16 + EQOF. Within temperature range RTC, ETD = TD + (TD - 24) × 0.5 + EQOF = 1.5 × TD - 12 + EQOF. The coefficient of temperature data TD is 1.5, which is 1 added to the gain of 0.5. Therefore, the slope of converted temperature data ETD is 1.5. Offset value EQOF is set so that the lower limit of converted temperature data ETD within the operating temperature range does not become negative. In other words, offset value EQOF is set so that the lower limit of converted temperature data ETD is zero or greater.
[0049] In the present embodiment described above, the arithmetic circuit 120 multiplies the temperature data TD in the first temperature range by the first coefficient, and does not multiply the temperature data TD in the second temperature range by the coefficient.
[0050] exist Figure 3 In the example, the temperature range RTA or RTC corresponds to the first temperature range, and the temperature range RTE corresponds to the second temperature range. Figure 3 and Figure 4 As described in , the calculation circuit 120 multiplies the temperature data TD in the temperature ranges RTA and RTC by a coefficient of 1.5, and does not multiply the temperature data TD in the temperature range RTE by a coefficient. In this example, the coefficient 1.5 corresponds to the first coefficient.
[0051] According to this embodiment, the slope of the converted temperature data ETD is set by the first coefficient in the first temperature range, and the slope of the converted temperature data ETD in the second temperature range is 1. Thus, the calculation circuit 120 can perform conversion processing in which the slope of the converted temperature data ETD in the first temperature range is different from the slope of the converted temperature data ETD in the second temperature range.
[0052] Furthermore, in this embodiment, the absolute value of the slope of the frequency-temperature characteristic of oscillator 10 in the first temperature range is greater than the absolute value of the slope of the frequency-temperature characteristic in the second temperature range. In this case, the first coefficient is greater than 1. Furthermore, the frequency-temperature characteristic is the temperature characteristic of the oscillation frequency. Furthermore, the absolute value of the slope of the frequency-temperature characteristic corresponds to the temperature sensitivity of the frequency-temperature characteristic.
[0053] exist Figure 3 In the example, the temperature range RTE corresponding to the second temperature range corresponds to Figure 1 The absolute value of the slope of the medium frequency temperature characteristic is small near room temperature. In addition, the temperature range RTA or RTC corresponding to the first temperature range corresponds to Figure 1 A temperature range in which the absolute value of the slope of the intermediate frequency temperature characteristic is larger than that near room temperature.
[0054] According to this embodiment, the temperature data TD in the first temperature range, in which the absolute value of the slope of the frequency-temperature characteristic is large, is multiplied by a first coefficient greater than 1. Therefore, the absolute value of the slope of the converted temperature data ETD in the first temperature range is greater than 1. Thus, in the temperature range in which the absolute value of the slope of the frequency-temperature characteristic is large, the address allocation of the lookup table 131 can be increased.
[0055] In this embodiment, the first temperature range is a temperature range adjacent to and higher than the second temperature range. The calculation circuit 120 includes a first starting point setting circuit for setting a first starting temperature for the first temperature range; a first multiplication circuit for multiplying differential temperature data KSAQ representing an increase in temperature data TD relative to the first starting temperature by a first gain; and an addition circuit 126 for adding the temperature data TD to the output of the first multiplication circuit.
[0056] exist Figure 3 In the example of , the temperature range RTA corresponds to the first temperature range, the temperature range RTE corresponds to the second temperature range, the start temperature Ta corresponds to the first start temperature, and TD=32 corresponds to the temperature data TD of the first start temperature. Figure 4 , the starting point setting circuit KSA corresponds to the first starting point setting circuit, the multiplication circuit MLA corresponds to the first multiplication circuit, and the gain 0.5 corresponds to the first gain.
[0057] According to this embodiment, temperature data TD corresponding to a temperature higher than the first starting temperature is multiplied by the first gain, and the temperature data TD is added to the multiplied data. This is equivalent to multiplying the temperature data TD in the first temperature range by the first coefficient. In other words, the first coefficient is the value obtained by adding 1 to the first gain. Furthermore, since temperature data TD in the second temperature range is output from the adding circuit 126 only as converted temperature data ETD, the temperature data TD in the second temperature range is not multiplied by the coefficient.
[0058] Figure 5 Detailed configuration examples of the starting point setting circuits KSA and KSC and the multiplication circuits MLA and MLC are shown.
[0059] The starting point setting circuit KSA includes an adding circuit ADa, a sign inversion circuit SRa1 , a selector SLa1 , and a ReLU circuit RLa.
[0060] Adder circuit ADa adds offset OFFa to temperature data TD. Sign inversion circuit SRa1 inverts the sign of the output data from adder circuit ADa. Selector SLa1 selects the output data from adder circuit ADa when sign selection signal ISGa is 0, and selects the output data from sign inversion circuit SRa1 when sign selection signal ISGa is 1. ReLU circuit RLa outputs 0 when the output data from selector SLa1 is less than 0, and outputs the data as is when the output data from selector SLa1 is 0 or greater. Offset OFFa and sign selection signal ISGa are stored in register 170.
[0061] exist Figure 3 In the example, the bias OFFa is set to -32 and the sign selection signal ISGa is set to 0. In this case, the output data of the adder circuit ADa is TD-32, the selector SLa1 selects TD-32, and the ReLU circuit RLa outputs KSAQ = TD-32 when TD ≥ 32, and outputs KSAQ = 0 when TD < 32. The starting temperature Ta of the temperature range RTA is specified by the bias OFFa = -32, and the absolute value of the bias OFFa, 32, becomes the temperature data corresponding to the starting temperature Ta. As described above, Figure 4The description starts with the operation of the setting circuit KSA.
[0062] The multiplication circuit MLA includes a shift circuit BSa, a sign inversion circuit SRa2, and a selector SLa2.
[0063] Shift circuit BSa bitshifts the differential temperature data KSAQ from starting point setting circuit KSA, thereby multiplying the differential temperature data KSAQ by a gain. The shift direction and amount are specified by shift value GAa. The shift direction is either the LSB direction or the MSB direction, and the shift amount is the number of bits shifted. The shift gain is 2, 4, 8, ... in the MSB direction, and 0.5, 0.25, 0.125, ... in the LSB direction. Furthermore, when the shift amount is zero, the shift gain is 1. Sign inversion circuit SRa2 inverts the sign of the output data of shift circuit BSa. Selector SLa2 selects the output data of shift circuit BSa when sign selection signal QSGa is 0, and selects the output data of sign inversion circuit SRa2 when sign selection signal QSGa is 1. Shift value GAa and sign selection signal QSGa are stored in register 170.
[0064] exist Figure 3 In the example, the shift direction of the shift value GAa is set to the LSB direction, and the shift amount is set to 1 bit. That is, the shift gain is 0.5. In addition, the symbol selection signal QSGa is set to 0. At this time, the output data of the shift circuit BSa is (TD-32)×0.5, and the selector SLa2 selects (TD-32)×0.5. Therefore, when TD≥32, the output MSAQ=(TD-32)×0.5 is output, and when TD<32, the output MSAQ=0 is output. As described above, Figure 4 The operation of the multiplication circuit MLA will be described.
[0065] The starting point setting circuit KSC includes an addition circuit ADc, a sign reversal circuit SRc1, a selector SLc1, and a ReLU circuit RLc. The multiplication circuit MLC includes a shift circuit BSc, a sign reversal circuit SRc2, and a selector SLc2. The operation of the starting point setting circuit KSC and the multiplication circuit MLC is the same as that of the starting point setting circuit KSA and the multiplication circuit MLA. Therefore, the description thereof will be omitted. Figure 3 The following describes an example situation.
[0066] exist Figure 3In the example, the bias OFFc is set to -24 and the sign selection signal ISGc is set to 1. At this time, the output data of the addition circuit ADc is TD-24, the selector SLc1 selects -(TD-24), and the ReLU circuit RLc outputs KSCQ=-(TD-24) when TD≤24, and outputs KSCQ=0 when TD>24. The start temperature Tc of the temperature range RTC is specified by the bias OFFc=-24, and the absolute value of the bias OFFc 24 becomes the temperature data corresponding to the start temperature Tc. As described above, the Figure 4 The description starts with the operation of the setting circuit KSC.
[0067] The shift direction of the shift value GAc is set to the LSB direction, and the shift amount is set to 1 bit. That is, the shift gain is 0.5. In addition, the symbol selection signal QSGc is set to 1. At this time, the output data of the shift circuit BSc is -(TD-24)×0.5, and the selector SLc2 selects (TD-24)×0.5. Therefore, when TD≤24, the output MSCQ=(TD-24)×0.5, and when TD>24, the output MSCQ=0. This achieves Figure 4 The operation of the multiplication circuit MLC described in .
[0068] In the above embodiment, the first multiplication circuit multiplies the temperature data TD by the first gain through the first shift.
[0069] exist Figure 5 In FIG. 1 , the multiplication circuit MLA corresponds to the first multiplication circuit, the shift performed by the shift circuit BSa corresponds to the first shift, and the gain of the shift specified by the shift value GAa corresponds to the first gain.
[0070] According to this embodiment, shifting is used in the multiplication of temperature data TD and the first gain, thereby reducing the computational load of the multiplication. For example, in an oscillator requiring low power consumption, such as a real-time clock device, this can suppress an increase in power consumption while improving temperature compensation accuracy.
[0071] 2. Second structural example
[0072] Figure 6 A second configuration example of a multiplication circuit MLA is shown. The multiplication circuit MLA includes shift circuits BSa1 and BSa2, sign inversion circuits SRa21 and SRa22, and selectors SLa21 and SLa22. The multiplication circuit MLC may also have the same configuration.
[0073] The actions of each structural element Figure 5The gain of shift circuit BSa1 and the gain of shift circuit BSa2 are identical, so their description is omitted. The gain of shift circuit BSa1 and the gain of shift circuit BSa2 are set independently, so the coefficient multiplied by temperature data TD can be set more finely. Specifically, when the gain specified by shift value GAa1 is set to Gain1 and the gain specified by shift value GAa2 is set to Gain2, MLAQ1 = ±Gain1 × KSAQ and MLAQ2 = ±Gain2 × KSAQ. MLAQ1 and MLAQ2 are added by adder circuit 126, resulting in MLAQ1 + MLAQ2 = ±(Gain1 + Gain2) × KSAQ. For example, when Gain1 = 0.5 and Gain2 = 0.25, Gain1 + Gain2 = 0.75. Compared to the case of using a single shift circuit, a more appropriate gain can be set corresponding to the slope of the temperature characteristic of the oscillation frequency.
[0074] 3. The third structural example
[0075] Figure 7 This is an example of conversion from temperature data TD to converted temperature data ETD in the third configuration example of the operation circuit 120. The solid line shows the converted temperature data ETD in this embodiment, and the dotted line shows the converted temperature data ETD when the temperature data TD is directly used as the converted temperature data ETD. Figure 7 In FIG, the temperature data TD and the converted temperature data ETD are expressed as decimal numbers. In addition, the upper bits ETD[n:i+1] of the converted temperature data ETD are expressed as integers, and one integer value corresponds to one address.
[0076] exist Figure 7 In the example, larger values of temperature data TD correspond to higher temperatures. The range of 0 to 256 of temperature data TD corresponds to the operating temperature range of circuit device 100. In the third configuration example, the operating temperature range is divided into temperature ranges RTD, RTC, RTE, RTA, and RTB. Temperature range RTD corresponds to the range of 0 to 64 of temperature data TD. Temperature range RTC corresponds to the range of 64 to 128 of temperature data TD. Temperature range RTE corresponds to the range of 128 to 160 of temperature data TD. Temperature range RTA corresponds to the range of 160 to 224 of temperature data TD. Temperature range RTB corresponds to the range of 224 to 256 of temperature data TD. Temperature range RTE is near room temperature and has a lower temperature sensitivity in the temperature characteristics of the oscillation frequency. Temperature ranges RTC and RTA have a higher temperature sensitivity than room temperature in the temperature characteristics of the oscillation frequency. Temperature ranges RTD and RTB have a higher temperature sensitivity than temperature ranges RTC and RTA in the temperature characteristics of the oscillation frequency.
[0077] The operation circuit 120 does not change the slope of the temperature data TD corresponding to the temperature range RTE near room temperature, and performs a bias addition process on the temperature data TD, thereby outputting the converted temperature data ETD. In addition, the operation circuit 120 multiplies the slope of the temperature data TD corresponding to the temperature ranges RTC and RTA by 1.5 times, and performs a bias addition process, thereby outputting the converted temperature data ETD. In addition, the operation circuit 120 multiplies the slope of the temperature data TD corresponding to the temperature ranges RTD and RTB by 2.5 times, and performs a bias addition process, thereby outputting the converted temperature data ETD. The bias value is set so that the lower limit of the converted temperature data ETD within the operating temperature range will not become negative. Figure 7 In the embodiment, the bias value is set so that the lower limit of the converted temperature data ETD becomes zero, but the bias value may be set so that the lower limit of the converted temperature data ETD becomes larger than zero.
[0078] Figure 8 Show progress Figure 7 The third configuration example of the arithmetic circuit 120 for the conversion of the arithmetic circuit 120. The arithmetic circuit 120 includes the starting point setting circuits KSA to KSD, the multiplication circuits MLA to MLD, and the adding circuit 126. The detailed configuration of the starting point setting circuits KSA to KSD is the same as that of Figure 5 The starting point setting circuits KSA and KSC are the same. In addition, the detailed structure of the multiplication circuits MLA to MLD is the same as Figure 5 Multiplication circuit MLA, MLC or Figure 6 The multiplication circuit is the same as that of MLA.
[0079] Starting point setting circuit KSA setting Figure 7 The starting temperature Ta of the temperature range RTA is set. The starting temperature Ta is the boundary between the adjacent temperature ranges RTE and RTA and is the lower limit of the temperature range RTA. Specifically, the starting temperature Ta is set by the temperature data TD=160 corresponding to the starting temperature Ta. When TD is greater than 160, the starting point setting circuit KSA outputs differential temperature data KSAQ=TD-160. When the temperature data TD is less than 160, the differential temperature data KSAQ=0 is output. The multiplication circuit MLA outputs output data MLAQ=(TD-160)×0.5, which is obtained by multiplying the differential temperature data KSAQ by a gain of 0.5. When TD<160, MLAQ=0.
[0080] Starting point setting circuit KSB setting Figure 7The starting temperature Tb of the temperature range RTB is set. The starting temperature Tb is the boundary between the adjacent temperature ranges RTA and RTB and is the lower limit of the temperature range RTB. Specifically, the starting temperature Tb is set by the temperature data TD=224 corresponding to the starting temperature Tb. When TD is greater than 224, the starting point setting circuit KSB outputs differential temperature data KSBQ=TD-224. When the temperature data TD is less than 224, the differential temperature data KSBQ=0 is output. The multiplication circuit MLB outputs output data MLBQ=(TD-224)×1, which is obtained by multiplying the differential temperature data KSBQ by a gain of 1. When TD<224, MLBQ=0.
[0081] Starting point setting circuit KSC setting Figure 7 The starting temperature Tc of the temperature range RTC. The starting temperature Tc is the boundary between the adjacent temperature ranges RTE and RTC, and is the upper limit of the temperature range RTC. Specifically, the starting temperature Tc is set by the temperature data TD=128 corresponding to the starting temperature Tc. When the temperature data TD is less than 128, the starting point setting circuit KSC outputs the differential temperature data KSCQ=-(TD-128) obtained by subtracting 128 from the temperature data TD and inverting the sign. When the temperature data TD is greater than 128, the differential temperature data KSCQ=0 is output. The multiplication circuit MLC outputs the output data MLCQ=(TD-128)×0.5 obtained by multiplying the differential temperature data KSCQ by a gain of 0.5 and inverting the sign. When TD>128, MLCQ=0.
[0082] Starting point setting circuit KSD setting Figure 7 The starting temperature Td of the temperature range RTD. The starting temperature Td is the boundary between the adjacent temperature ranges RTC and RTD, and is the upper limit of the temperature range RTD. Specifically, the starting temperature Td is set by the temperature data TD=64 corresponding to the starting temperature Td. When the temperature data TD is less than 64, the starting point setting circuit KSD outputs the differential temperature data KSDQ=-(TD-64) obtained by subtracting 64 from the temperature data TD and inverting the sign. When the temperature data TD is greater than 64, the differential temperature data KSDQ=0 is output. The multiplication circuit MLD outputs the output data MLDQ=(TD-64)×1 obtained by multiplying the differential temperature data KSDQ by a gain of 1 and inverting the sign. When TD>64, MLDQ=0.
[0083] Adder circuit 126 adds temperature data TD, output data MLAQ, output data MLBQ, output data MLCQ, output data MLDQ, and offset value EQOF, and outputs the result as converted temperature data ETD. Within temperature range RTE, ETD = TD + EQOF, and the slope of converted temperature data ETD is 1. Within temperature range RTA, ETD = TD + (TD - 160) × 0.5 + EQOF = 1.5 × TD - 80 + EQOF, and within temperature range RTC, ETD = TD + (TD - 128) × 0.5 + EQOF = 1.5 × TD - 64 + EQOF. The coefficient of temperature data TD is 1.5, which is 1.5 obtained by adding 1 to the gain of 0.5. Therefore, the slope of converted temperature data ETD is 1.5. Within temperature range RTB, ETD = TD + (TD - 160) × 0.5 + (TD - 224).
[0084] ×1+EQOF=2.5×TD-304+EQOF. Within the temperature range RTD, ETD=TD+(TD-128)×0.5+(TD-64)×1+EQOF=2.5×TD-128+EQOF. The coefficient of temperature data TD is 2.5, which is obtained by adding 1 to the gain of 0.5 and 1. Therefore, the slope of the converted temperature data ETD is 2.5.
[0085] In the present embodiment described above, the arithmetic circuit 120 multiplies the temperature data TD in the first temperature range by the first coefficient, and multiplies the temperature data TD in the second temperature range by the second coefficient different from the first coefficient.
[0086] exist Figure 7 In the example, the temperature range RTA corresponds to the first temperature range, and the temperature range RTB corresponds to the second temperature range. Alternatively, the temperature range RTC corresponds to the first temperature range, and the temperature range RTD corresponds to the second temperature range. Figure 8 As described in , the calculation circuit 120 multiplies the temperature data TD in the temperature ranges RTA and RTC by a coefficient of 1.5, and multiplies the temperature data TD in the temperature ranges RTB and RTD by a coefficient of 2.5. In this example, the coefficient 1.5 corresponds to the first coefficient, and the coefficient 2.5 corresponds to the second coefficient.
[0087] According to this embodiment, the slope of the converted temperature data ETD in the first temperature range is set by the first coefficient, and the slope of the converted temperature data ETD in the second temperature range is set by the second coefficient. Thus, the arithmetic circuit 120 can perform conversion processing in which the slopes of the converted temperature data ETD in the first temperature range and the slopes of the converted temperature data ETD in the second temperature range are different.
[0088] In the present embodiment, the absolute value of the slope of the frequency-temperature characteristic of the vibrator 10 in the second temperature range is larger than the absolute value of the slope of the frequency-temperature characteristic in the first temperature range. In this case, the second coefficient is larger than the first coefficient.
[0089] Figure 7 The temperature range RTE corresponds to Figure 1 The absolute value of the slope of the frequency-temperature characteristic is small near room temperature. Furthermore, the temperature range RTA or RTC corresponding to the first temperature range corresponds to a temperature range in which the absolute value of the slope of the frequency-temperature characteristic is larger than near room temperature, and the temperature range RTB or RTD corresponding to the second temperature range corresponds to a temperature range in which the absolute value of the slope of the frequency-temperature characteristic is larger than that of the temperature range RTA or RTC.
[0090] According to this embodiment, the temperature data TD in the first temperature range is multiplied by a first coefficient, and the temperature data TD in the second temperature range, in which the absolute value of the slope of the frequency-temperature characteristic is larger than that in the first temperature range, is multiplied by a second coefficient that is larger than the first coefficient. Thus, the address allocation of the lookup table 131 can be increased for the temperature range with a larger absolute value of the slope of the frequency-temperature characteristic.
[0091] Furthermore, in this embodiment, the second temperature range is a temperature range adjacent to the first temperature range and higher than the first temperature range. The arithmetic circuit 120 includes a first starting point setting circuit for setting a first starting temperature for the first temperature range, a first multiplication circuit for multiplying first differential temperature data representing an increase in temperature data TD relative to temperature data TD at the first starting temperature by a first gain, a second starting point setting circuit for setting a second starting temperature for the second temperature range, a second multiplication circuit for multiplying second differential temperature data representing an increase in temperature data TD relative to temperature data TD at the second starting temperature by a second gain, and an addition circuit for adding temperature data TD, an output of the first multiplication circuit, and an output of the second multiplication circuit.
[0092] exist Figure 7 In the example, the temperature range RTA corresponds to the first temperature range, the temperature range RTB corresponds to the second temperature range, the start temperature Ta corresponds to the first start temperature, and the start temperature Tb corresponds to the second start temperature. TD=160 corresponds to the temperature data TD of the first start temperature, and TD=224 corresponds to the temperature data TD of the second start temperature. Figure 8In the example, starting point setting circuit KSA corresponds to the first starting point setting circuit, multiplication circuit MLA corresponds to the first multiplication circuit, starting point setting circuit KSB corresponds to the second starting point setting circuit, and multiplication circuit MLB corresponds to the second multiplication circuit. Differential temperature data KSAQ corresponds to the first differential temperature data, and differential temperature data KSBQ corresponds to the second differential temperature data. The gain of 0.5 performed by multiplication circuit MLA corresponds to the first gain, and the gain of 1 performed by multiplication circuit MLB corresponds to the second gain.
[0093] According to this embodiment, multiplying the temperature data TD corresponding to a temperature higher than the first starting temperature and lower than the second temperature by the first gain and adding the result to the temperature data TD is equivalent to multiplying the temperature data TD for the first temperature range by the first coefficient. In other words, the first coefficient is the value obtained by adding 1 to the first gain. Furthermore, multiplying the temperature data TD corresponding to a temperature higher than the second temperature by the first gain and the second gain and adding the result to the temperature data TD is equivalent to multiplying the temperature data TD for the second temperature range by the second coefficient. In other words, the second coefficient is the value obtained by adding the first gain, the second gain, and 1.
[0094] In this embodiment, the first multiplication circuit multiplies the first gain by the first shift, and the second multiplication circuit multiplies the second gain by the second shift.
[0095] exist Figure 8 In the embodiment, the multiplication circuit MLA includes a shift circuit, the shift performed by the shift circuit corresponds to the first shift, and the gain of the shift corresponds to the first gain. Furthermore, the multiplication circuit MLB includes a shift circuit, the shift performed by the shift circuit corresponds to the second shift, and the gain of the shift corresponds to the second gain.
[0096] According to this embodiment, shifting is used in the multiplication of temperature data TD by the first gain and the multiplication of temperature data TD by the second gain, thereby reducing the computational load of the multiplication. For example, in an oscillator requiring low power consumption, such as a real-time clock device, this can suppress increases in power consumption while improving temperature compensation accuracy.
[0097] 4. Temperature sensor circuit
[0098] Figure 9 1 is a detailed configuration example of the temperature sensor circuit 110 . The temperature sensor circuit 110 includes an enable counter 111 , a ring oscillator 112 , and a counter 113 .
[0099] The enable counter 111 outputs an enable signal ENR that is activated during the enable period according to the clock signal CLK output by the oscillation circuit 160. Specifically, the enable counter 111 switches the enable signal ENR from inactive to active at the same time as the counting starts, counts the number of clocks of the clock signal CLK, and switches the enable signal ENR from active to inactive when the count value reaches the set value CTSET. The set value CTSET is stored, for example, in Figure 2 By changing the set value CTSET in the register 170, the detection resolution of the temperature sensor circuit 110 can be changed.
[0100] Ring oscillator 112 oscillates during the enable period and outputs an oscillation signal RNGQ. Ring oscillator 112 includes, for example, a NAND circuit and an even number of inverters connected in series between the output of the NAND circuit and its first input. An enable signal ENR is input to the second input of the NAND circuit. In this case, a high level corresponds to activation. When enable signal ENR is high, ring oscillator 112 oscillates, and when enable signal ENR is low, oscillation of ring oscillator 112 stops. The above configuration is merely an example, and the configuration of ring oscillator 112 is not limited to this.
[0101] Counter 113 counts the oscillation signal RNGQ from ring oscillator 112 and outputs temperature data TD based on the count value. Specifically, counter 113 counts the number of pulses of oscillation signal RNGQ output during the enable period and outputs the count value as temperature data TD. Alternatively, counter 113 can count the oscillation signal RNGQ, or, for example, count the number of pulses of a signal obtained by frequency-dividing oscillation signal RNGQ. Furthermore, counter 113 can output temperature data TD based on the count value, or, for example, smooth the count value to output temperature data TD.
[0102] Temperature sensor circuit 110 intermittently measures temperature through intermittent operation. Specifically, enabled and disabled periods are alternately set, and temperature sensor circuit 110 outputs temperature data TD measured during each enabled period. The disabled period is when enable signal ENR is inactive. The disabled period can be significantly longer than the enabled period, for example. Alternatively, temperature sensor circuit 110 can measure temperature continuously. For example, ring oscillator 112 can oscillate continuously, and counter 113 can be reset at regular intervals specified by clock signal CLK, outputting the count value during each regular interval as temperature data.
[0103] By configuring the temperature sensor circuit 110 using the ring oscillator 112 as described above, it is possible to reduce power consumption and layout area compared to the temperature sensor circuit using the analog temperature sensor and the A / D converter described above.
[0104] Furthermore, in order to improve detection resolution in a temperature sensor circuit using an analog temperature sensor and an A / D converter, it is necessary to reduce the noise of the analog temperature sensor or to achieve higher resolution in the A / D converter. In this regard, according to this embodiment, detection resolution can be improved simply by extending the enable period.
[0105] Furthermore, the temperature sensor circuit 110 performs intermittent operation, thereby further reducing the power consumption of the temperature sensor circuit 110 .
[0106] 5. Oscillation circuit, frequency adjustment circuit
[0107] Figure 10 The following shows a detailed configuration example of the adjustment circuit 154 included in the frequency adjustment circuit 150 and a connection configuration example of the resonator 10, the oscillation circuit 160, and the adjustment circuit 154. The adjustment circuit 154 includes capacitor array circuits CAC1 and CAC2.
[0108] One end of the oscillator 10 is connected to the terminal TX1, and the other end of the oscillator 10 is connected to the terminal TX2. Terminals TX1 and TX2 are terminals of the circuit device 100, for example, pads provided on a semiconductor substrate. One end of the capacitor CX1 is connected to the terminal TX1, and the other end of the capacitor CX1 is connected to the ground node. One end of the capacitor CX2 is connected to the terminal TX2, and the other end of the capacitor CX2 is connected to the ground node. Capacitors CX1 and CX2 are provided as external components of the circuit device 100, for example.
[0109] The oscillation circuit 160 inverts and amplifies the signal SIN input from the other end of the oscillator 10 via the terminal TX2, thereby generating a drive signal SDR, and outputs the drive signal SDR to one end of the oscillator 10 via the terminal TX1. The oscillation circuit 160 is, for example, an inverter, the input node of the inverter is connected to the terminal TX2, and the output node is connected to the terminal TX1. However, the oscillation circuit 160 is not limited to this, and may also be various amplifier circuits such as an amplifier circuit using a bipolar transistor. The oscillation signal is, for example, the drive signal SDR, but is not limited to this. The oscillation signal can be any signal as long as it is within the oscillation loop formed by the oscillation circuit 160 and the oscillator 10. In addition, the drive signal SDR can also be used as Figure 2 The circuit device 100 may also include an output circuit that outputs the clock signal CLK by buffering or frequency-dividing the driving signal SDR.
[0110] The capacitor array circuit CAC1 is connected to the terminal TX1, and the capacitor array circuit CAC2 is connected to the terminal TX2. The following describes the structure using the capacitor array circuit CAC1 as an example, but the capacitor array circuit CAC2 also has the same structure.
[0111] Capacitor array circuit CAC1 includes 1st to mth capacitors and 1st to mth switches. m is an integer greater than or equal to 2. The jth capacitor and the jth switch are connected in series between terminal TX1 and the ground node. j = 1, 2, ..., m. Each of the 1st to mth switches is controlled to be on or off based on adjustment data QCL from interpolation circuit 152. Thus, the capacitance value of capacitor array circuit CAC1 is controlled based on adjustment data QCL, thereby adjusting the oscillation frequency.
[0112] The circuit device of this embodiment described above includes an oscillator circuit that generates an oscillation signal using an oscillator, a frequency adjustment circuit that adjusts the oscillation frequency of the oscillation circuit based on frequency adjustment data, a temperature sensor circuit that outputs temperature data, an arithmetic circuit, and a storage circuit. The arithmetic circuit converts the temperature data so that the slope of the converted temperature data relative to the temperature data within a first temperature range is different from the slope of the converted temperature data relative to the temperature data within a second temperature range, thereby outputting the converted temperature data. The storage circuit stores a lookup table that indicates the correspondence between the converted temperature data and the frequency adjustment data.
[0113] According to this embodiment, temperature data is converted into converted temperature data in such a way that the slope of the converted temperature data varies depending on the temperature range. This allows the slope of the converted temperature data to be adjusted based on the temperature sensitivity of the temperature characteristic of the oscillation frequency. The address of the lookup table is specified using the converted temperature data. Therefore, the greater the slope of the converted temperature data, the greater the number of addresses per unit temperature. This allows efficient use of limited memory capacity and high-precision temperature compensation.
[0114] In addition, in this embodiment, the operation circuit outputs the conversion temperature data in a manner such that the number of data per unit temperature of the frequency adjustment data output from the lookup table based on the conversion temperature data corresponding to the first temperature range is different from the number of data per unit temperature of the frequency adjustment data output from the lookup table based on the conversion temperature data corresponding to the second temperature range.
[0115] The greater the number of data points per unit temperature, the more precisely the frequency adjustment data is stored in the lookup table at smaller temperature scales. This allows for highly accurate temperature compensation even within a temperature range with a high temperature sensitivity. Conversely, the smaller the number of data points per unit temperature, the more precisely the frequency adjustment data is stored in the lookup table at larger temperature scales. This improves memory utilization within a temperature range with a low temperature sensitivity.
[0116] Furthermore, in this embodiment, the arithmetic circuit multiplies the temperature data in the first temperature range by the first coefficient, and does not multiply the temperature data in the second temperature range by the coefficient.
[0117] According to this embodiment, the slope of the converted temperature data is set by the first coefficient in the first temperature range, and the slope of the converted temperature data is set to 1 in the second temperature range. Thus, the arithmetic circuit can perform conversion processing in which the slope of the converted temperature data in the first temperature range is different from the slope of the converted temperature data in the second temperature range.
[0118] In this embodiment, the absolute value of the slope of the frequency-temperature characteristic of the vibrator in the first temperature range is greater than the absolute value of the slope of the frequency-temperature characteristic in the second temperature range.
[0119] According to this embodiment, the temperature data in the first temperature range where the absolute value of the slope of the frequency-temperature characteristic is large is multiplied by a first coefficient greater than 1. Therefore, the absolute value of the slope of the converted temperature data in the first temperature range is greater than 1. Thus, the address allocation of the lookup table can be increased in the temperature range where the absolute value of the slope of the frequency-temperature characteristic is large.
[0120] In this embodiment, the first temperature range is a temperature range adjacent to and higher than the second temperature range. The arithmetic circuit includes: a first starting point setting circuit that sets a first starting temperature in the first temperature range; a first multiplication circuit that multiplies differential temperature data representing an increase in temperature data relative to temperature data at the first starting temperature by a first gain; and an addition circuit that adds the temperature data to an output of the first multiplication circuit.
[0121] According to this embodiment, temperature data corresponding to temperatures higher than the first starting temperature is multiplied by the first gain, and the temperature data is added to the multiplied data. This is equivalent to multiplying the temperature data in the first temperature range by the first coefficient. In other words, the first coefficient is the value obtained by adding 1 to the first gain. Furthermore, since the temperature data in the second temperature range is output from the adding circuit only as converted temperature data, the temperature data in the second temperature range is not multiplied by the coefficient.
[0122] Furthermore, in this embodiment, the first multiplication circuit multiplies the temperature data by the first gain through the first shift.
[0123] According to this embodiment, by using a shift in the multiplication of temperature data and the first gain, the computational load of the multiplication can be reduced, thereby suppressing an increase in power consumption and improving temperature compensation accuracy.
[0124] Furthermore, in this embodiment, the arithmetic circuit multiplies the temperature data in the first temperature range by the first coefficient, and multiplies the temperature data in the second temperature range by the second coefficient that is different from the first coefficient.
[0125] According to this embodiment, the slope of the converted temperature data in the first temperature range is set by the first coefficient, and the slope of the converted temperature data in the second temperature range is set by the second coefficient. This allows the arithmetic circuit to perform conversion processing in which the slope of the converted temperature data in the first temperature range is different from the slope of the converted temperature data in the second temperature range.
[0126] In this embodiment, the absolute value of the slope of the frequency-temperature characteristic of the vibrator in the second temperature range is greater than the absolute value of the slope of the frequency-temperature characteristic in the first temperature range. The second coefficient is greater than the first coefficient.
[0127] According to this embodiment, the temperature data in the first temperature range is multiplied by the first coefficient, and the temperature data in the second temperature range, in which the absolute value of the slope of the frequency-temperature characteristic is larger than that in the first temperature range, is multiplied by the second coefficient, which is larger than the first coefficient. Thus, the address allocation of the lookup table can be increased for the temperature range with a larger absolute value of the slope of the frequency-temperature characteristic.
[0128] Furthermore, in this embodiment, the second temperature range is a temperature range adjacent to and higher than the first temperature range. The arithmetic circuit includes a first starting point setting circuit that sets a first starting temperature for the first temperature range; a first multiplication circuit that multiplies first differential temperature data representing an increase in temperature data relative to temperature data at the first starting temperature by a first gain. Furthermore, the arithmetic circuit includes a second starting point setting circuit that sets a second starting temperature for the second temperature range; and a second multiplication circuit that multiplies second differential temperature data representing an increase in temperature data relative to temperature data at the second starting temperature by a second gain. Furthermore, the arithmetic circuit includes an addition circuit that adds the temperature data, the output of the first multiplication circuit, and the output of the second multiplication circuit.
[0129] According to this embodiment, temperature data corresponding to a temperature higher than the first starting temperature and lower than the second temperature is multiplied by the first gain, and the result is added to the temperature data. This is equivalent to multiplying the temperature data in the first temperature range by the first coefficient. In other words, the first coefficient is the value obtained by adding 1 to the first gain. Furthermore, temperature data corresponding to a temperature higher than the second temperature is multiplied by the first and second gains, and the result is added to the temperature data. This is equivalent to multiplying the temperature data in the second temperature range by the second coefficient. In other words, the second coefficient is the value obtained by adding the first gain, the second gain, and 1.
[0130] In this embodiment, the first multiplication circuit multiplies the temperature data by the first shift and the second multiplication circuit multiplies the temperature data by the second shift.
[0131] According to this embodiment, shifting is used in the multiplication of temperature data by the first gain and the multiplication of temperature data by the second gain, thereby reducing the computational load of the multiplications, thereby suppressing an increase in power consumption and improving temperature compensation accuracy.
[0132] In this embodiment, the temperature sensor circuit includes a ring oscillator and a counter. The counter performs a counting operation based on an oscillation signal of the ring oscillator and outputs temperature data based on the count value.
[0133] According to this embodiment, compared to a temperature sensor circuit using an analog temperature sensor and an A / D converter, power consumption and layout area can be reduced. In addition, detection resolution can be improved simply by extending the enable period. Therefore, compared to a temperature sensor circuit using an analog temperature sensor and an A / D converter, detection resolution can be improved using a simple method.
[0134] Furthermore, the oscillator of this embodiment includes any of the above-described circuit devices and an oscillator.
[0135] In addition, although the present embodiment has been described in detail as described above, it will be readily understood by those skilled in the art that various modifications can be made without departing from the novelties and effects of the present invention. Therefore, all such modifications are included within the scope of the present invention. For example, in the specification or the drawings, a term that is described at least once together with a different term in a broader sense or with the same meaning can be replaced with the different term in any part of the specification or the drawings. In addition, all combinations of the present embodiment and the modifications are also included within the scope of the present invention. In addition, the structure and operation of the circuit device, the vibrator, and the oscillator are not limited to those described in the present embodiment, and various modifications can be implemented.
Claims
1. A circuit device, characterized in that: It includes: an oscillation circuit that generates an oscillation signal using an oscillator; a frequency adjustment circuit, configured to adjust the oscillation frequency of the oscillation circuit according to the frequency adjustment data; a temperature sensor circuit that outputs temperature data; an arithmetic circuit for performing conversion processing on the temperature data so that the slope of the converted temperature data with respect to the temperature data is different within a first temperature range and the slope of the converted temperature data with respect to the temperature data is different within a second temperature range, thereby outputting the converted temperature data; as well as a storage circuit storing a lookup table indicating a correspondence between the conversion temperature data and the frequency adjustment data; The arithmetic circuit multiplies the temperature data in the first temperature range by a first coefficient, and does not multiply the temperature data in the second temperature range by a coefficient. The first temperature range is a temperature range adjacent to the second temperature range and higher than the second temperature range. The operation circuit includes: a first starting point setting circuit for setting a first starting temperature of the first temperature range; a first multiplication circuit for multiplying differential temperature data indicating an amount of increase of the temperature data relative to the temperature data at the first starting temperature by a first gain; and An adding circuit adds the temperature data and an output of the first multiplying circuit.
2. The circuit arrangement according to claim 1, wherein: The arithmetic circuit outputs the conversion temperature data in a manner such that the number of data per unit temperature of the frequency adjustment data output from the lookup table based on the conversion temperature data corresponding to the first temperature range is different from the number of data per unit temperature of the frequency adjustment data output from the lookup table based on the conversion temperature data corresponding to the second temperature range.
3. The circuit arrangement according to claim 1 or 2, characterized in that The absolute value of the slope of the frequency-temperature characteristic of the vibrator in the first temperature range is greater than the absolute value of the slope of the frequency-temperature characteristic in the second temperature range. The first coefficient is greater than 1.
4. The circuit arrangement according to claim 1 or 2, characterized in that The first multiplication circuit multiplies the temperature data by the first gain through a first shift.
5. A circuit device, characterized in that: It includes: an oscillation circuit that generates an oscillation signal using an oscillator; a frequency adjustment circuit, configured to adjust the oscillation frequency of the oscillation circuit according to the frequency adjustment data; a temperature sensor circuit that outputs temperature data; an arithmetic circuit for performing conversion processing on the temperature data so that the slope of the converted temperature data with respect to the temperature data is different within a first temperature range and the slope of the converted temperature data with respect to the temperature data is different within a second temperature range, thereby outputting the converted temperature data; as well as a storage circuit storing a lookup table indicating a correspondence between the conversion temperature data and the frequency adjustment data; The arithmetic circuit multiplies the temperature data in the first temperature range by a first coefficient, and multiplies the temperature data in the second temperature range by a second coefficient different from the first coefficient. The second temperature range is a temperature range adjacent to the first temperature range and higher than the first temperature range. The operation circuit includes: a first starting point setting circuit for setting a first starting temperature of the first temperature range; a first multiplication circuit for multiplying first differential temperature data indicating an amount of increase of the temperature data relative to the temperature data at the first starting temperature by a first gain; a second starting point setting circuit for setting a second starting temperature of the second temperature range; a second multiplication circuit for multiplying second differential temperature data indicating an amount of increase of the temperature data relative to the temperature data at the second starting temperature by a second gain; and An adding circuit adds the temperature data, an output of the first multiplying circuit, and an output of the second multiplying circuit.
6. The circuit arrangement according to claim 5, characterized in that The absolute value of the slope of the frequency-temperature characteristic of the vibrator in the second temperature range is greater than the absolute value of the slope of the frequency-temperature characteristic in the first temperature range. The second coefficient is greater than the first coefficient.
7. The circuit arrangement according to claim 5 or 6, characterized in that The first multiplication circuit multiplies the temperature data by the first gain through a first shift. The second multiplication circuit multiplies the temperature data by the second gain through a second shift.
8. The circuit arrangement according to claim 1 or 5, characterized in that The temperature sensor circuit comprises: Ring oscillator; and A counter performs a counting operation according to the oscillation signal of the ring oscillator and outputs the temperature data based on the count value.
9. An oscillator, characterized in that: It includes: The circuit device according to any one of claims 1 to 8; and The vibrator.
Citation Information
Patent Citations
Temperature compensation method and temperature compensated oscillation circuit
JP2007067675A
Digital temperature compensated oscillator and temperature compensating method for the same
JP1998308630A
Oscillation circuit provided with temperature compensation circuit and electronic apparatus
JP2006148188A