Patent Description:
Magnetic field sensors often contain two or more magnetic field sensing elements. In order to detect a magnetic field properly, the magnetic field sensing elements may need to be aligned, not only with respect to the magnetic field that they sense, but also with respect to each other. If magnetic field sensing elements are individual components, they may be placed (e.g. on a printed circuit board) so that they are aligned. As another example, if the magnetic field sensing elements are formed on or as part of a semiconductor die, they may be formed on or as part of the semiconductor die so that they are aligned.

Variations in alignment, or an imperfect alignment of the magnetic field sensing elements can lead to errors in detecting the magnetic field. Variations in the alignment can introduce errors in the output signals of the magnetic field sensor, thus reducing sensitivity and/or accuracy of the sensor.

<CIT> discloses a calibration method for a rotation angle sensor, comprising an installation stage of installing the rotation angle sensor on an X-Y plane; a magnetic field application stage of applying to the rotation angle sensor the magnetic fields in N directions (where N is an integer equal to three or more) different by an angle obtained by dividing a <NUM>-degree angle into N equal angles, respectively; an acquisition stage of acquiring an output signal to be output in response to each application of the magnetic field in the N direction thereto; a calculation stage of calculating a calibration parameter calibrating the rotation angle sensor on the basis of the output signal; and a storage stage of causing a storage unit of the rotation angle sensor to store the calibration parameter.

<CIT> discloses an engine controller system employing angular position sensors to accurately determine the position of rotating engine members. Information about the angular position of the engine members is used to alter operation of the engine for improved efficiency and/or reduced emissions from the engine. The angular position of the crankshaft and camshafts can be determined by affixing a dipole magnet to each of them such that the magnetic field of the magnet rotates with the rotating member and then placing an angular position sensor adjacent each rotating member to detect the rotation of each magnetic field.

<CIT> discloses a method for measuring a vibration displacement using the state vibration principle, which can achieve a degree of precision at a pico-meter level.

<CIT> discloses a testing system for testing circuits such as ADCs, DACs or other mixed signal circuits such as analog filters.

In an embodiment, a method of calibrating a magnetic field sensor includes setting a first input signal at a first input node of a CORDIC processor of the magnetic field sensor to a constant value. During the setting the first input signal, while the magnetic field sensor experiences a magnetic field angle variation, a first transition at an output node of the CORDIC processor is measured. A second input signal at a second input node of the CORDIC processor is set to the constant value. During the setting the second input signal, while the magnetic field sensor experiences the magnetic field angle variation, a second transition of at the output node of the CORDIC processor is measured. An orthogonality error value is calculated based on a deviation of the first transition and the second transition from respective expected transitions of the output signal of the CORDIC processor. The first and/or second input signal is adjusted by modifying the first and/or second input signal by a function of the calculated orthogonality error value to compensate for the orthogonality error.

One or more of the following features may be included.

The constant value may be a non-zero value.

The expected transition may occur when the magnetic field is directed to ninety degrees or one hundred eighty degrees.

At the second input node of the CORDIC processor, an output signal may be received from a first magnetic field sensing element while the first input signal input is set to the constant value.

At the first input node of the CORDIC processor, an output signal may be received from a second magnetic field sensing element while the second input signal input is set to the constant value.

The first and second magnetic field sensing elements may be positioned so that respective axes of maximum sensitivity of the first and second magnetic field sensing elements are substantially orthogonal to each other.

The first and second magnetic field sensing elements may be vertical Hall effect elements or magnetoresistance elements.

Adjusting the first and/or second input signal may include providing a compensation circuit that modifies the first and/or second input signal using the function of the calculated orthogonality error value to compensate for the orthogonality error.

In another embodiment, a method of calibrating a magnetic field sensor includes receiving, at a first input node of a CORDIC processor, a first signal from a first magnetic field sensing element. While receiving the first signal at the first input node, at a second input node of the CORDIC processor, a reference signal set to a constant value is received. At the first input node of the CORDIC processor, the reference signal is set to the constant value. While receiving the reference signal at the first input node, at the second input node of the CORDIC processor, a second signal from a second magnetic field sensing element is received. A difference between a transition of an output of the CORDIC processor and an expected transition of the output of the CORDIC processor in response to the first, second, and reference signals is measured. An output of the first and/or second magnetic field sensing element is modified by a function of the measured difference to compensate for an orthogonality error of the first and/or second magnetic field sensing element. An axis of maximum sensitivity of the first magnetic field sensing element is substantially orthogonal to an axis of maximum sensitivity of the second magnetic field sensing elements so that the first signal from the first magnetic field sensing element and the second signal from the second magnetic field sensing element are quadrature signals.

The expected transition may occur when the magnetic field sensor experiences a magnetic field directed to ninety degrees or one hundred eighty degrees.

Compensating for the orthogonality error may include providing a compensation circuit that multiplies the first and/or second input signal by the function of the measured difference to compensate for the orthogonality error.

The first and second magnetic field sensing elements may comprise vertical Hall elements or magnetoresistance elements.

Measuring the difference may comprise measuring a first angle difference between the transition of the output signal and the expected transition while the reference signal is received at the first input node, and measuring a second angle difference between the transition of the output signal and the expected transition while the reference signal is received at the second input node.

An error value may be calculated based on an average of the difference between the transition of the output of the CORDIC processor and an expected transition of the output of the CORDIC processor in response to the first signal and the difference between the transition of the output of the CORDIC processor and an expected transition of the output of the CORDIC processor in response to the second signal.

In another embodiment, a magnetic field sensor includes a first magnetic field sensing element for generating a first input signal and having a first axis of maximum sensitivity; a second magnetic field sensing element for generating a second input signal and having a second axis of maximum sensitivity; a CORDIC processor coupled to receive the first input signal and the second input signal, and configured to generate an output signal representing a detected angle of a magnetic field; and a compensation circuit coupled to receive the first or second input signal from the first or second magnetic field sensing element and operable to modify the first or second input signal using a compensation signal.

The compensation signal may be derived by: setting the first input signal to a constant value and measuring a first difference between a first transition of the output signal of the CORDIC processor and a first expected transition of the output signal of the CORDIC processor; and setting the second input signal to the constant value and measuring a second difference between a second transition of the output of the CORDIC processor and a second expected output signal of the CORDIC processor.

The first and second output signals may represent a detected magnetic field.

The first and second axes of maximum sensitivity may be substantially orthogonal to each other.

The first output signal and the second output signal may comprise quadrature signals.

The first and second magnetic field sensing elements may comprise vertical Hall effect elements or magnetoresistance elements.

The error value may be further derived by summing the first and second differences between the first and second transitions of the output signal of the CORDIC processor and the expected transition.

The first expected transition of the output signal of the CORDIC processor may be indicative of ninety degrees and the second expected transition of the output signal of the CORDIC processor may be indicative of one hundred eighty degrees.

The foregoing features may be more fully understood from the following description of the drawings. The drawings aid in explaining and understanding the disclosed technology. Since it is often impractical or impossible to illustrate and describe every possible embodiment, the provided figures depict one or more exemplary embodiments. Accordingly, the figures are not intended to limit the scope of the invention. Like numbers in the figures denote like elements.

Like reference numbers in the drawings denote like elements.

As used herein, the term "magnetic field sensing element" is used to describe a variety of electronic elements that can sense a magnetic field. The magnetic field sensing element can be, but is not limited to, a Hall Effect element, a magnetoresistance element, or a magnetotransistor. As is known, there are different types of Hall Effect elements, for example, a planar Hall element, a vertical Hall element, and a Circular Vertical Hall (CVH) element. As is also known, there are different types of magnetoresistance elements, for example, a semiconductor magnetoresistance element such as Indium Antimonide (InSb), a giant magnetoresistance (GMR) element, an anisotropic magnetoresistance element (AMR), a tunneling magnetoresistance (TMR) element, and a magnetic tunnel junction (MTJ). The magnetic field sensing element may be a single element or, alternatively, may include two or more magnetic field sensing elements arranged in various configurations, e.g., a half bridge or full (Wheatstone) bridge. Depending on the device type and other application requirements, the magnetic field sensing element may be a device made of a type IV semiconductor material such as Silicon (Si) or Germanium (Ge), or a type III-V semiconductor material like Gallium-Arsenide (GaAs) or an Indium compound, e.g., Indium-Antimonide (InSb).

As is known, some of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity parallel to a substrate that supports the magnetic field sensing element, and others of the above-described magnetic field sensing elements tend to have an axis of maximum sensitivity perpendicular to a substrate that supports the magnetic field sensing element. In particular, planar Hall elements tend to have axes of sensitivity perpendicular to a substrate, while metal based or metallic magnetoresistance elements (e.g., GMR, TMR, AMR) and vertical Hall elements tend to have axes of sensitivity parallel to a substrate.

As used herein, the term "magnetic field sensor" is used to describe a circuit that uses a magnetic field sensing element, generally in combination with other circuits. Magnetic field sensors are used in a variety of applications, including, but not limited to, an angle sensor that senses an angle of a direction of a magnetic field, a current sensor that senses a magnetic field generated by a current carried by a current-carrying conductor, a magnetic switch that senses the proximity of a ferromagnetic object, a rotation detector that senses passing ferromagnetic articles, for example, magnetic domains of a ring magnet or a ferromagnetic target (e.g., gear teeth) where the magnetic field sensor is used in combination with a back-biased or other magnet, and a magnetic field sensor that senses a magnetic field density of a magnetic field.

As used herein, the terms "target" and "magnetic target" are used to describe an object to be sensed or detected by a magnetic field sensor or magnetic field sensing element.

<FIG> is a block diagram of a magnetic field sensor <NUM> for detecting a magnetic field. In an embodiment, the magnetic field may be a rotating magnetic field and magnetic field sensor <NUM> may be configured to detect an angle of rotation of the magnetic field. However, in another embodiment, the magnetic field may be a generally static magnetic field and magnetic field sensor <NUM> may be configured to detect an angle of the static magnetic field.

Magnetic field sensor <NUM> may include a first magnetic field sensing element <NUM> and a second magnetic field sensing element <NUM>. In embodiments, first and second magnetic field sensing elements <NUM> and <NUM> may comprise vertical Hall elements, magnetoresistance elements, or both. In one example, one or more of magnetic field sensing elements <NUM> and <NUM> may comprise a magnetoresistance bridge.

First magnetic field sensing element <NUM> and second magnetic field sensing element <NUM> may be positioned so an axis of maximum sensitivity of the first magnetic field sensing element <NUM> is orthogonal to an axis of maximum sensitivity of the second magnetic field sensing element <NUM>. For example, if the axis of maximum sensitivity of first magnetic field sensing element <NUM> is aligned with arrow <NUM>, then the axis of maximum sensitivity of magnetic field sensing element <NUM> may be aligned with arrow <NUM>, which is drawn at a relative direction ninety degrees from that of arrow <NUM>. One skilled in the art will recognize that other directions of alignment may be used so that the axes of maximum sensitivity of magnetic field sensing elements <NUM> and <NUM> are orthogonal.

In an embodiment, magnetic field sensing elements <NUM> and <NUM> may detect a pointing direction of a rotating (or static) magnetic field. In some figures below, it is assumed that the magnetic field is rotating. Signal 102a and 104a may be signals produced by first and second magnetic field sensing elements <NUM> and <NUM>, respectively. Signals 102a and 104a may represent the strength of an external magnetic field as sensed by first and second magnetic field sensing elements <NUM> and <NUM>. If first and second magnetic field sensing elements <NUM> and <NUM> are detecting the same external magnetic field, signals 102a and 104a may be quadrature signals, i.e. ninety degrees out of phase with each other. In an embodiment, this is due to the axes of maximum sensitivity of magnetic field sensing elements <NUM> and <NUM> having orthogonal alignment to each other.

Analog-to-digital converters (ADC) <NUM> and <NUM> may receive signals 102a and 104a and convert them to digital signals 110a and 112a, respectively. Digital signals 110a and 112a may also be quadrature signals.

Magnetic field sensor <NUM> may also include a processor <NUM>. In an embodiment, processor <NUM> may be a coordinate rotation digital computer (CORDIC) processor that can perform hyperbolic and/or trigonometric functions. In an embodiment, processor <NUM> may perform an arctangent function on received signals 110a and 112a, and produce an output signal 114a that represents an angle of the magnetic field detected by magnetic field sensing elements <NUM> and <NUM>. Processor <NUM> may also perform other signal processing functions to produce information about the detected magnetic field.

In an embodiment, processor <NUM> is a dedicated or custom circuit designed to perform signal processing. For example, if processor <NUM> performs an arctangent function, then processor <NUM> may be a circuit or processor designed specifically to perform that particular function. In other embodiments, processor <NUM> may be a general-purpose processor or a signal processor configured to perform signal processing functions. For example, processor <NUM> may comprise a memory <NUM> that stores software instructions, which, when executed by processor <NUM>, cause processor <NUM> to perform its signal processing functions.

The memory <NUM> may comprise volatile memory, non-volatile memory, or both. Memory <NUM> may be configured to store software instructions (such as machine instructions, interpretable instructions such as scripts, and/or compiled instructions from firmware or software, etc.) and or data.

In an embodiment, first and second magnetic field sensing elements <NUM> and <NUM> may be physically aligned during manufacturing. If magnetic field sensing elements <NUM> and <NUM> are individual components, they may be placed (e.g. on a printed circuit board) so that their respective axes of maximum sensitivity are orthogonal. As another example, if magnetic field sensing elements <NUM> and <NUM> are formed on or as part of a common semiconductor die, they may be formed on or as part of the semiconductor die such that the axes of maximum sensitivity are orthogonal.

In certain cases, the first and second magnetic field sensing elements <NUM>, <NUM> may be annealed after they are formed upon a semiconductor die. For example, if the first and second magnetic field sensing elements <NUM>, <NUM> are magnetoresistance elements, pinned layers within the first and second magnetic field sensing element <NUM>, <NUM> may be annealed to be orthogonal to each other after the magnetoresistance element is formed on or as part of the semiconductor die. Annealing will be understood to be a process in which magnetoresistance elements, at a late stage of manufacture, are placed under one or more conditions of respective predetermined temperature and respective predetermined magnetic field for a respective predetermined amount of time in order to set a direction of magnetic fields internal to the magnetoresistance elements. But, regardless of how the magnetic field sensing elements are formed or aligned, there may exist the possibility, due to manufacturing tolerances or error, that the axes of maximum sensitivity of magnetic field sensing elements <NUM> and <NUM> may not be perfectly orthogonal. In this situation, variations in the alignment of the axes of maximum sensitivity can produce a so-called orthogonality error.

Turning now to <FIG>, graph <NUM> includes a horizontal axis representing the angle of the magnetic field detected by first and second magnetic field sensing elements <NUM> and <NUM>, and a vertical axis representing the strength of the magnetic field as detected by first and second magnetic field sensing elements <NUM> and <NUM>. Signal 102a (the signal produced by first magnetic field sensing element <NUM>) is shown as a sine wave and signal 104a (the signal produced by second magnetic field sensing element <NUM>) is shown as a cosine wave. At point T0, the external magnetic field has a direction aligned with arrow <NUM>, so the value of signal 104a is high and the value of signal 102a is zero. At point T1, the external magnetic field has rotated so it has a direction aligned with arrow <NUM>, so the value of signal 102a is high and the value of signal 104a is zero. If there are errors in the alignment of magnetic field sensing elements <NUM> and/or <NUM>, signals 102a and 104a may not have a phase difference of exactly ninety degrees. In this situation, the misalignment may produce errors in the detected angle of the external magnetic field.

It will be appreciated that, for the first and second magnetic field sensing elements <NUM>, <NUM> of <FIG> that are perfectly aligned to have maximum response axes that at ninety degrees apart, a pointing direction of a magnetic field can be determined merely my calculating an arctangent of a ratio of the two signals 104a, 102b.

<FIG> is a graph <NUM> showing an example of misalignment of a magnetic field sensing element. If the magnetic field sensing elements were aligned orthogonally, the axes of maximum sensitivity would correspond to the horizontal axis <NUM> and vertical axis <NUM> of graph <NUM>. In this example, one of the axes of maximum sensitivity is shifted from the vertical axis <NUM> by an error of αe, as shown by line <NUM>. Thus, the phase between signals 102a and 104a of <FIG> may not be ninety degrees and the resulting calculation of the angle of the detected magnetic field may contain an orthogonality error.

<FIG> is a graph <NUM> of output signal 114a of processor <NUM> during a calibration procedure. The horizontal axis refers to the angle of a reference magnetic field that may be used to calibrate magnetic field sensor <NUM>. The vertical axis has a scale in units of volts in arbitrary units.

To compensate for the orthogonality error, a constant value may be provided to one of the inputs of processor <NUM>. For example, signal 102a and/or 110a may be replaced by a constant value while second magnetic field sensing element <NUM> detects the reference magnetic field. The reference magnetic field may be a rotating magnetic field having a known angle of rotation so that, when detected by magnetic field sensor <NUM>, processor <NUM> can produce an output signal that deviates from an expected output signal. In an embodiment, the reference magnetic field may be produced by manufacturing test equipment during calibration of magnetic field sensor <NUM>.

As the reference magnetic field rotates, it is desired that the output signal 114a of processor <NUM> transitions at an expected value of magnetic field pointing direction, as shown in <FIG>. In the example shown, if magnetic field sensor <NUM> is properly aligned, the expected transition of signal 114a may occur when the reference magnetic field has a direction of one hundred eighty degrees. However, if magnetic field sensing element <NUM> is not properly aligned, the transition of signal 114a may occur before or after the one hundred eighty degree mark, as shown by transitions <NUM> and <NUM>, respectively. The difference between the actual transition and the expected transition at one hundred eighty degrees may be used to calculate an orthogonality error value during calibration.

<FIG> is a graph <NUM> of output signal 114a of processor <NUM> during another step of a calibration procedure. The horizontal axis refers to the angle of a reference magnetic field that may be used to calibrate magnetic field sensor <NUM>. The vertical axis has a scale in units of volts in arbitrary units.

In the example shown in <FIG>, signal 104a and/or 112a may be replaced by a constant value while first magnetic field sensing element <NUM> detects the reference magnetic field.

As the reference magnetic field rotates, it is desired that the output signal 114a of processor <NUM> transitions at an expected value of magnetic field pointing direction, as shown in <FIG>. In the example shown, if magnetic field sensor <NUM> is properly aligned, the transition of signal 114a may occur when the reference magnetic field has a direction of ninety degrees. However, if magnetic field sensing element <NUM> is not properly aligned, the transition of signal 114a may occur before or after the ninety-degree mark, as shown by transitions <NUM> and <NUM>, respectively. The difference between the actual transition and the expected transition at ninety degrees may be used to calculate an orthogonality error value during calibration.

The first and/or second input signal may be adjusted by modifying one of or both of the signals 102a, 104a by a function of the calculated orthogonality error value to compensate for the orthogonality error.

To produce the transitions in <FIG> and <FIG>, the constant value applied to the input of processor <NUM> may be a zero-voltage value. This may produce the square wave transitions shown in <FIG> and <FIG>. In other embodiments, the constant value may be a non-zero value. Providing a non-zero value may affect the transition of output signal 114a during calibration.

Referring to <FIG> and <FIG>, a non-zero constant value may be provided to produce a more gradual transition in signal 114a. A more gradual transition may be beneficial for extrapolating (or interpolating) information from the curve. For example, a more gradual transition can assist in calculating zero crossings or threshold crossings of the curve to determine accurately where the transition occurs.

In this example, a constant, non-zero value may be provided to one of the inputs of processor <NUM>. For example, signal 102a and/or 110a may be replaced by a constant non-zero value while magnetic field sensing element <NUM> detects the reference magnetic field. The reference magnetic field may be a rotating magnetic field having a known angle of rotation so that, when detected by magnetic field sensor <NUM>, processor <NUM> can produce an expected output. Deviations from the expected output signal may be used to calibrate the magnetic field sensor. In an embodiment, the reference magnetic field may be produced by manufacturing test equipment during calibration of magnetic field sensor <NUM>.

As the reference magnetic field rotates, the output signal 114a of processor <NUM> will transition at an expected value, as shown in <FIG>. In the example shown, if magnetic field sensor <NUM> is properly aligned, the transition of signal 114a may occur when the reference magnetic field has a direction of one hundred eighty degrees. However, if magnetic field sensing element <NUM> is not properly aligned, the transition of signal 114a may occur before or after the one hundred eighty-degree mark, as shown by transitions <NUM> and <NUM>, respectively. The difference between the actual transition and the expected transition at one hundred eighty degrees may be used for calibration.

In the example shown in <FIG>, signal 104a and/or 112a may be replaced by a constant, non-zero value while magnetic field sensing element <NUM> detects the reference magnetic field.

As the reference magnetic field rotates, the output signal 114a of processor <NUM> will transition at an expected value, as shown in <FIG>. In the example shown, if magnetic field sensor <NUM> is properly aligned, the transition of signal 114a may occur when the reference magnetic field has a direction of ninety degrees. However, if magnetic field sensing element <NUM> is not properly aligned, the transition of signal 114a may occur before or after the ninety-degree mark, as shown by transitions <NUM> and <NUM>, respectively. The difference between the actual transition and the expected transition at ninety degrees may be used for calibration.

Referring to <FIG>, a magnetic field sensor <NUM> for detecting a magnetic field may be the same as or similar to magnetic field sensor <NUM>. Magnetic field sensor <NUM> includes the first and second magnetic field sensing elements <NUM> and <NUM>, the ADCs <NUM> and <NUM>, and processor <NUM>. Magnetic field sensor <NUM> also includes a compensation circuit or circuits configured to adjust the signals 110a and 112a to compensate for any orthogonality error. The compensation circuit may include any one or more of elements <NUM>-<NUM> in <FIG>. Processor <NUM> may also be considered part of the compensation circuit. Of course, the compensation circuit shown in <FIG> is only an example. Any circuit (or software) or equivalent that adjusts the signals of magnetic field sensor <NUM> to compensate for an error may be considered a compensation circuit. In an embodiment, the compensation circuit may adjust the signals according to the following formula: <MAT>.

In Equation <NUM>, α is the angle of the external magnetic field and Δε is the orthogonality error. In an embodiment, Δε is the difference of the difference between the first actual transition and the first expected transition, and the difference between the second actual transition and the second expected transition. For example, if the first actual transition occurs at eighty-nine degrees and the first expected transition is ninety degrees, and the second actual transition occurs at one hundred eighty one degrees and the second expected transition is one hundred eighty degrees, then Δε may be two degrees (i.e. (<NUM> degrees -<NUM> degrees) + (<NUM> degrees - <NUM> degrees) = <NUM> degrees).

Also in Equation <NUM>, and referring again to <FIG>, signal 110a may be represented by the term cos(α + Δε) and signal 112a may be represented by the term sin(α).

Magnetic field sensor <NUM> may include a compensation circuit as signal processing elements <NUM>-<NUM> which may modify signals 110a and 112a to compensate for the orthogonality error. Element <NUM> may be a constant value clement <NUM> (e.g., a register to store a value), which may be an element that provides a constant value of sin(Δε') as signal (or value) 802a, where Δε' is the orthogonality error as computed in the process described above. Element <NUM> may be an element (e.g., a register to store another value) that provides a constant value of cos(Δε') as signal (or value) 810a. Once the orthogonality error Δε' has been computed (e.g., by external equipment), elements <NUM> and <NUM> may be configured or programmed to provide the respective constant values. This can take place, for example, during manufacturing and calibration of the magnetic field sensor.

Element <NUM> may be a multiplier element that multiplies signal 112a and signal 802a to produce signal (or value) 804a. Element <NUM> may be a summation element that adds signal 110a and signal (or value) 804a to produce signal 806a. Element <NUM> may be a division element that divides signal 806a by signal (or value) 810a to produce signal 808a. Elements <NUM>-<NUM> are elements that multiply, divide, and add input signals to produce a signal 808a that represents Equation <NUM> above. In an embodiment, any of elements <NUM>-<NUM> may be circuits that perform signal processing functions. In another embodiment, any of elements <NUM>-<NUM> may be software functions executed by a processor or signal processor (not shown). In another embodiment, any of elements <NUM>-<NUM> may be software functions executed by processor <NUM>. In other embodiments, elements <NUM>-<NUM> may be other types of elements that execute signal processing functions.

Turning to <FIG>, magnetic field sensor <NUM> may be the same as or similar to magnetic field sensor <NUM>. Magnetic field sensor <NUM> includes the first and second magnetic field sensing elements <NUM> and <NUM>, the ADCs <NUM> and <NUM>, and processor <NUM>. Magnetic field sensor <NUM> also includes a compensation circuit or circuits configured to adjust the signals 110a and 112a to compensate for any orthogonality error. The compensation circuit may include any one or more of elements <NUM>-<NUM> in <FIG>. Processor <NUM> may also be considered part of the compensation circuit. Of course, the compensation circuit shown in <FIG> is only an example. Any circuit (or software) or equivalent that adjusts the signals of magnetic field sensor <NUM> to compensate for an error may be considered a compensation circuit. In an embodiment, the compensation circuit may adjust the signals according to the following formulas: <MAT> <MAT> Where: <MAT> <MAT> In Equations <NUM>-<NUM>, Q may represent signal 912a and I may represent signal 910a.

Magnetic field sensor <NUM> may include signal processing elements <NUM>-<NUM> which may modify signals 110a and 112a to compensate for the orthogonality error. Element <NUM> may be an element (e.g., a register to store a value) that provides a constant value of K's as signal (or value) 902a. Element <NUM> may be an element (e.g., another register to store another value) that provides a constant value of K's as signal (or value) 904a. Once the orthogonality error Δε' has been computed, elements <NUM> and <NUM> may be configured or programmed to provide the respective constant values. This can take place, for example, during manufacturing and calibration of the magnetic field sensor.

Element <NUM> and <NUM> may be summation elements that sums signals 110a and 112a to produce signals 906a and 908a, respectively. In an embodiment, elements <NUM> and <NUM> may be substituted with a single summation element. Element <NUM> may be a multitiplier element that multiplies signal 906a and signal (or value) 902a to produce signal 910a as an input to processor <NUM>. Element <NUM> may be a multitiplier element that multiplies signal 908a and signal (or value) 904a to produce signal 912a as another input to processor <NUM>. In an embodiment, any of elements <NUM>-<NUM> may be circuits that perform signal processing functions. In another embodiment, any of elements <NUM>-<NUM> may be software functions executed by a processor or signal processor (not shown). In another embodiment, any of elements <NUM>-<NUM> may be software functions executed by processor <NUM>. In other embodiments, elements <NUM>-<NUM> may be other types of elements that execute signal processing functions.

In an embodiment, an average of the transitions of signal 114a can be computed. The average may indicate if a calibration of the magnetic field sensor is correctly applied. For example, the average of the transition of signal 114a in <FIG> and <FIG> can be calculated and used to determine whether the magnetic field sensor has been calibrated correctly. If the average of the difference between the first transition and the expected transition, and the difference between the second transition and the expected transition is zero after the compensation circuit has been programmed to correct any orthogonality error, then the calibration has been performed correctly. For example, if the first transition occurs at <NUM> degrees and the expected transition is <NUM> degrees, the first difference is -<NUM>. If the second transition occurs at <NUM> degrees and the expected transition is <NUM> degrees, the second difference is <NUM>. The average of the first and second transitions is <NUM>, indicating that any calibration has been performed correctly. Otherwise, if the average is non-zero, it may indicate that the calibration has not been performed or has not been performed correctly.

Claim 1:
A method of calibrating a magnetic field sensor (<NUM>; <NUM>; <NUM>) comprising:
receiving, at a first input node of a processor (<NUM>) configured to perform hyperbolic and/or trigonometric functions, a first signal (102a) set to a constant value from a first magnetic field sensing element (<NUM>);
while receiving the first signal at the first input node, receiving, at a second input node of the processor, a reference magnetic field having a known angle of rotation from a second magnetic field sensing element (<NUM>);
receiving, at the first input node of the processor, the reference magnetic field having a known angle of rotation from the first magnetic field sensing element (<NUM>);
while receiving the reference magnetic field at the first input node, receiving, at the second input node of the processor, a second signal (104a) set to a constant value from the second magnetic field sensing element (<NUM>);
measuring a difference between a transition of an output signal (114a) of an output of the processor while the magnetic field sensor experiences the magnetic field angle variation and an expected transition of the output of the processor in response to the first and second signals, and reference magnetic field, wherein the expected transitions occur when the magnetic field sensor elements (<NUM>, <NUM>) detect the reference magnetic field and are properly aligned; and
compensating for an orthogonality error of the first and/or second magnetic field sensing element by modifying an output of the first and/or second magnetic field sensing element by a function of the measured difference,
wherein an axis of maximum sensitivity of the first magnetic field sensing element is substantially orthogonal to an axis of maximum sensitivity of the second magnetic field sensing elements so that the first signal from the first magnetic field sensing element and the second signal from the second magnetic field sensing element are quadrature signals.