US-12621002-B2 - Optimizations for resolver-to-digital converters
Abstract
In general, techniques are described for optimizations to resolver-to-digital signal converters. Processing circuitry comprising a delta-sigma analog-to-digital converter and a fixed-point signal processor may perform the techniques. The delta-sigma analog-to-digital converter may be communicatively coupled to a fixed-point digital signal processor and electrically coupled to a resolver sensor attached to a rotating element controlled by the processing circuitry, where the delta-sigma analog-to-digital converter is configured to obtain, based on electrical interactions with the resolver sensor, a digital cosine value for an indirectly sensed angle of the rotating element and a digital sine value for the indirectly sensed angle of the rotating element. The fixed-point digital signal processor may be configured to implement a fixed-point Luenberger Observer resolver-to-digital converter configured to obtain, based on the digital sine value and the digital cosine value, via fixed-point mathematical operations, an approximate angle of the rotating element.
Inventors
- Reinhard Kussian
Assignees
- INFINEON TECHNOLOGIES AG
Dates
- Publication Date
- 20260505
- Application Date
- 20240416
Claims (20)
- 1 . Processing circuitry comprising: a delta-sigma analog-to-digital converter communicatively coupled to a fixed-point digital signal processor and electrically coupled to a resolver sensor attached to a rotating element controlled by the processing circuitry, the delta-sigma analog-to-digital converter configured to obtain, based on electrical interactions with the resolver sensor, a digital cosine value for an indirectly sensed angle of the rotating element and a digital sine value for the indirectly sensed angle of the rotating element; and a fixed-point digital signal processor configured to implement a fixed-point Luenberger Observer resolver-to-digital converter that obtains, based on the digital sine value and the digital cosine value, via fixed-point mathematical operations, an approximate angle of the rotating element.
- 2 . The processing circuitry of claim 1 , wherein the fixed-point Luenberger Observer resolver-to-digital converter is further configured to: apply a configurable wrap gain to an unwrapped approximate angle to obtain a gain adjusted unwrapped approximate angle.
- 3 . The processing circuitry of claim 2 , wherein the configurable wrap gain is configured based on a configurable step size of a lookup table, wherein the configurable step size identifies a difference between two or more adjacent cosine values of the cosine values or adjacent sine values of the sine values stored to two entries of a lookup table entries, and wherein the fixed-point Luenberger Observer resolver-to-digital converter is further configured to apply a wrap function to the gain adjusted unwrapped approximate angle to obtain the approximate angle of the rotating element.
- 4 . The processing circuitry of claim 3 , wherein the fixed-point digital signal processor includes a fixed-size lookup table having a fixed number of lookup table entries that store discrete cosine values over a set of stepped angles and discrete sine values over the set of stepped angles, and wherein the fixed-point Luenberger Observer resolver-to-digital converter is further configured to: access, based on the approximate angle, the fixed-size lookup table to obtain a discrete cosine value for the approximate angle stored to a first lookup table entry of the lookup table entries and a discrete sine value for the approximate angle stored to a second lookup table entry of the lookup table entries; multiply the discrete cosine value by the digital sine value to obtain a first version of the approximate angle; multiply the discrete sine value by a digital cosine value to obtain a second version of the approximate angle; and subtract the second version of the approximate angle from the first version of the approximate angle to obtain an approximate angle error.
- 5 . The processing circuitry of claim 4 , wherein the fixed-point Luenberger Observer resolver-to-digital converter is further configured to: determine, based on an acceleration signal for controlling a speed of rotation of the rotating element, a velocity of the rotating element; apply a gain adjustment to the approximate angle error to obtain a gain adjusted approximate angle error; and add the velocity to the gain adjusted approximate angle to obtain the unwrapped approximate angle.
- 6 . The processing circuitry of claim 5 , wherein the gain adjusted approximate angle error is weighted by: a first weight to calculate an approximate velocity; and a second weight to calculate an approximate angle; and wherein a sum of the approximate velocity and approximate angle error weighted by the second weight is further weighted by: a third weight; and wherein the sum weighted by a third weight and being the sum of the approximate velocity and approximate angle error weighted by the second weight is further weighted by: a fourth weight; and the first weight, third weight, and fourth weight accounting for a sampling period; and the third weight and fourth weight accounting for the configurable wrap gain.
- 7 . The processing circuitry of claim 4 , wherein the fixed number of lookup table entries store the discrete cosine values over the set of stepped angles for defining one of a quarter cosine wave, a half cosine wave, or a whole cosine wave, or wherein the fixed number of lookup table entries store the discrete sine values over the set of stepped angles for defining one of a quarter sine wave, a half sine wave, or a whole sine wave.
- 8 . The processing circuitry of claim 1 , wherein the resolver sensor includes: a rotor; an excitation stator configured to electromagnetically interact with the rotor displaced collinearly with the rotation element; a cosine stator configured to electromagnetically interact with the rotor; and a sine stator configured to electromagnetically interact with the rotor, the sine stator mechanically disposed ninety degrees relative to the cosine stator.
- 9 . The processing circuitry of claim 8 , wherein the delta-sigma analog-to-digital converter is configured to: output a carrier signal to the excitation stator to electromagnetically induce a current in the rotor such that the rotor generates a magnetic field to induce one or more of a cosine current in the cosine stator and a sine current in the sine stator; receive, via the cosine stator, an analog representation of the digital cosine signal as the cosine current; receive, via the sine stator, an analog representation of the digital sine signal as the sine current; perform delta-sigma analog-to-digital conversion with respect to the cosine current to obtain the digital cosine value; and perform the delta-sigma analog-to-digital conversion with respect to the sine current to obtain the digital sine value.
- 10 . The processing circuitry of claim 1 , wherein the delta-sigma analog-to-digital converter is configured to obtain, based on electrical interactions with the resolver sensor and without adjusting one or more of the digital sine value and the digital cosine value to account for resolver amplitude modulation, the digital sine signal and the digital cosine signal.
- 11 . The processing circuitry of claim 1 , wherein the delta-sigma analog-to-digital converter is configured to amplify each of the digital cosine value and the digital sine value by a configurable analog-to-digital gain having a power of two.
- 12 . A method comprising: obtaining, by a delta-sigma analog-to-digital converter of a microcontroller, and based on electrical interactions with a resolver sensor, a digital cosine value for an indirectly sensed angle of a rotating element and a digital sine value for the indirectly sensed angle of the rotating element; obtaining, by a fixed-point Luenberger Observer resolver-to-digital converter implemented by a fixed-point digital signal processor of the microprocessor, and based on the digital sine value and the digital cosine value, via a fixed-point mathematical operations, an approximate angle of the rotating element; and outputting, by the fixed-point Luenberger Observer resolver-to-digital converter, the approximate angle to facilitate control of the rotating element.
- 13 . The method of claim 12 , further comprising: applying a configurable wrap gain to an unwrapped approximate angle to obtain a gain adjusted unwrapped approximate angle, and applying a wrap function to the gain adjusted unwrapped approximate angle to obtain the approximate angle of the rotating element.
- 14 . The method of claim 13 , wherein the configurable wrap gain is configured based on a configurable step size of a lookup table, wherein the configurable step size identifies a difference between two or more adjacent cosine values of the cosine values or adjacent sine values of the sine values stored to two entries of lookup table entries, and wherein obtaining the approximate angle comprises applying, by the fixed-point Luenberger Observer resolver-to-digital converter, a wrap function to the gain adjusted unwrapped approximate angle to obtain the approximate angle of the rotating element.
- 15 . The method of claim 14 , wherein the fixed-point digital signal processor includes a fixed-size lookup table having a fixed number of lookup table entries that store discrete cosine values over a set of stepped angles and discrete sine values over the set of stepped angles, and wherein the method further comprises: accessing, based on the approximate angle, the fixed-size lookup table to obtain a discrete cosine value for the approximate angle stored to a first lookup table entry of the lookup table entries and a discrete sine value for the approximate angle stored to a second lookup table entry of the lookup table entries; multiplying the discrete cosine value by the digital sine value to obtain a first version of the approximate angle; multiplying the discrete sine value by a digital cosine value to obtain a second version of the approximate angle; and subtracting the second version of the approximate angle from the first version of the approximate angle to obtain an approximate angle error.
- 16 . The method of claim 15 , further comprising: determining, based on an acceleration signal for controlling a speed of rotation of the rotating element, a velocity of the rotating element; applying a gain adjustment to the approximate angle error to obtain a gain adjusted approximate angle error; and adding the velocity to the gain adjusted approximate angle to obtain the unwrapped approximate angle.
- 17 . The method of claim 16 , wherein the gain adjusted approximate angle error is weighted by: a first weight to calculate an approximate velocity; and a second weight to calculate an approximate angle; and wherein a sum of the approximate velocity and approximate angle error weighted by the second weight is further weighted by: a third weight; and wherein a sum weighted by a third weight and being the sum of the approximate velocity and approximate angle error weighted by the second weight is further weighted by: a fourth weight; and the first weight, third weight and fourth weight accounting for the sampling period; and the third weight and fourth weight accounting for the configurable wrap gain.
- 18 . The method of claim 15 , wherein the fixed number of lookup table entries store the discrete cosine values over the set of stepped angles for defining one of a quarter cosine wave, a half cosine wave, or a whole cosine wave, or wherein the fixed number of lookup table entries store the discrete sine values over the set of stepped angles for defining one of a quarter sine wave, a half sine wave, or a whole sine wave.
- 19 . The method of claim 12 , wherein the resolver sensor includes: a rotor; an excitation stator configured to electromagnetically interact with the rotor displaced collinearly with the rotation element; a cosine stator configured to electromagnetically interact with the rotor; and a sine stator configured to electromagnetically interact with the rotor, the sine stator mechanically disposed ninety degrees relative to the cosine stator.
- 20 . The method of claim 19 , further comprising: outputting a carrier signal to the excitation stator to electromagnetically induce a current in the rotor such that the rotor generates a magnetic field to induce one or more of a cosine current in the cosine stator and a sine current in the sine stator; receiving, via the cosine stator, an analog representation of the digital cosine signal as the cosine current; receiving, via the sine stator, an analog representation of the digital sine signal as the sine current; performing delta-sigma modulation with respect to the cosine current to obtain the digital cosine value; and performing the delta-sigma modulation with respect to the sine current to obtain the digital sine value.
Description
This application claims the benefit of U.S. Provisional Application No. 63/579,447, filed Aug. 29, 2023, which is incorporated by reference as if fully set forth herein. TECHNICAL FIELD This disclosure relates to resolver-to-digital converters (RDCs) for computing devices. BACKGROUND Processors, such as microcontrollers, are increasingly being deployed in industrial settings (e.g., for motor control and signal processing), vehicles (e.g., control of combustion engines, electrical and hybrid vehicles, transmission control units, chassis domains, braking systems, electrical power steering systems, driver assistance systems, etc.), and the like. Microcontrollers may include hardware to implement resolver-to-digital converters (RDCs), which may refer to signal processing for resolving an angle and velocity of a rotating element. The RDCs may interface with a resolver sensor coupled to the rotating element to obtain a sine signal and a cosine signal representative of the angle and/or the velocity of the rotating element to which the resolver sensor is coupled. Accurate (within acceptable tolerances given an application of resolver sensor) and timely (within time delay tolerances) derivation of the angle and/or the velocity from the sine signal and cosine signal may enable the microcontroller to more accurately control operating of the rotating element. Hardware configured to implement RDCs may comprise a field programmable gate array (FPGA) having large on-chip memory for data storage and/or a processing core programmed to execute software for performing RDCs (or aspects thereof). While an FPGA and/or processing core may improve accuracy associated with RDCs given the large memory for lookup tables and given that such implementations may provide for floating-point calculations, they are undesired for causing extra costs and performing less due to limited data rates. Therefore, it is desired in the industry to already include high-performing RDCs (or aspects thereof) into application-specific integrated circuits (ASICs). One way is to enrich ASICs with a DSP and execute software on the DSP for performing RDCs (or aspects thereof). Another way is to design RDCs in hardware. In both cases, fixed-point algorithms providing the required accuracy are superior, due to less area requirements and less licensing costs. Transitioning to ASICs, resource handling between following dimensions is inevitable: (1) performance, (2) memory, (3) calculation/execution time. Most RDCs rely on the use of the arctangent function to calculate the position (and with that help the velocity) of the rotating element. The approach evinces two major disadvantages: (1) a precise arctangent function requires a large number of calculation cycles or a large memory, and (2) the precision of the angle and velocity rely on the correction of the round trip when the carrier (or information thereof) is used to demodulate the amplitude-modulated sine and cosine signals of the resolver sensor. In contrast, Luenberger-Observer-based RDCs mitigate these disadvantages by using a feedback structure that allows for replacing the arctangent calculation on the one side, and on the other side, to give less to no care about the round trip delay that causes the shift between amplitude-modulated sine/cosine information and the carrier information. Angle and velocity approximation, demodulation of the amplitude-modulated sine and cosine signals, as well as a tracking observer can be achieved within one second-order control system. SUMMARY In general, techniques are described for optimizations of a resolver-to-digital converter (RDC) implemented in a fixed-point portion of a microcontroller or other processing circuitry that facilitates accurate (within defined accuracy tolerances) and timely (within defined timeliness tolerances) derivation of an angle and/or velocity of a rotating element which, upon the receipt of angle and/or velocity information, can be controlled by an external controller or by the same microcontroller that provides the angle and/or velocity information and executes the LO-based RDC algorithms. A microcontroller or other processing circuitry may include a digital signal processor (DSP) (which is one example of a DSP) configured to implement Luenberger Observer (LO) RDC (“LORDC”) that provides a number of different configurable variables to potentially facilitate optimization of a LORDC implementation. The DSP may represent a fixed-point DSP that performs single sample/single point data processing. In contrast to floating-point hardware, fixed-point hardware is favorable for low-cost and low-power implementations with small chip area. Furthermore, the DSP may include a limited size lookup table (LUT) used to represent a cosine wave and a sine wave used for reference in observing (or otherwise computing or deriving) an approximate angle of a rotating element via a resolver sensor. The size of the LUT relates to the accuracy of the angle and veloc