A sensor is provided to include: a sampling clock circuit generating a sample clock signal with a predetermined sample clock period; a system clock circuit generating a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample clock period; a sensor circuit generating, during each sample clock period, a sensor signal representing a position of an object; a sampling circuit receiving the sensor signal and generate sample signal value in response; an interpolation circuit determining a first difference between a current sample signal and a previous sample signal, determining a second difference between a switchpoint threshold value and the previous sample signal, and determining a delay count based upon a ratio of the first difference and the second difference; and a switchpoint signal circuit generating a switchpoint signal based upon the delay count.
|
9. A method comprising:
generating a sample clock signal with a predetermined sample dock period;
generating a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample dock period;
generating, during each sample clock period, a sensor signal representing a position of an object;
receiving the sensor signal and generate sample signal value in response thereto;
determining a first difference between a current sample signal value and a previous sample signal value;
determining a second difference between a switchpoint threshold u the previous sample signal value;
determining a delay count based upon a ratio of the first difference and the second difference; and
generating a switchpoint signal based upon the delay count.
15. An apparatus method comprising:
means for generating a sample clock signal with a predetermined sample clock period;
means for generating a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample clock period;
means for generating, during each sample clock period, a sensor signal representing a position of an object;
means for receiving the sensor signal and generating a sample signal value in response thereto;
means for determining a first difference between a current sample signal value and a previous sample signal value;
means for determining a second difference between a switchpoint threshold value and the previous sample signal value;
means for determining a delay count based upon a ratio of the first difference and the second difference; and
means for generating a switchpoint signal based upon the delay count.
1. A magnetic field sensor comprising:
a sampling clock circuit configured to:
generate a sample clock signal with a predetermined sample clock period;
a system clock circuit configured to:
generate a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample clock period;
a sensor circuit configured to:
generate, during each sample clock period, a sensor signal representing a position of an object;
a sampling circuit configured to:
receive the sensor signal and generate sample signal value in response thereto;
an interpolation circuit configured to:
determine a first difference between a current sample signal value and a previous sample signal value;
determine a second difference between a switchpoint threshold value and the previous sample signal value; and
determine a delay count based upon a ratio of the first difference and the second difference; and
a switchpoint signal circuit configured to:
generate a switchpoint signal based upon the delay count.
2. The magnetic field sensor of
start a counter when a fixed duration passes after a detection of a switchpoint, wherein the counter increases for each system clock signal; and
generate the switchpoint signal when the counter reaches the delay count.
3. The magnetic field sensor of
4. The magnetic field sensor of
5. The magnetic field sensor of
6. The magnetic field sensor of
one or more magnetic field sensors configured to detect an external magnetic field of the object.
in which SC is a number of system clock signals occurring in a sample clock period.
10. The method of
starting a counter when a fixed duration passes after a detection of a switchpoint, wherein the counter increases for each system dock signal; and
generating the switchpoint signal when the counter reaches the delay count.
11. The method of
12. The method of
13. The method of
in which SC is a number of system clock signals occurring in a sample clock period.
16. The apparatus of
means for starting a counter when a fixed duration passes after a detection of a switchpoint, wherein the counter increases for each system clock signal; and
means for generating the switchpoint signal when the counter reaches the delay count.
17. The apparatus of
18. The apparatus of
19. The apparatus of
in which SC is a number of system clock signals occurring in a sample clock period.
|
The concepts, systems, circuits, devices and techniques described herein relate generally to sampling circuits and more particularly to magnetic field sensor circuits with a delayed output to reduce sampling error.
Magnetic field sensors including a magnetic field sensing element, or transducers, such as a Hall Effect element or a magnetoresistance element, are used in a variety of applications to detect aspects of the movement of a ferromagnetic article, or target, such as proximity, speed, and direction. Applications using these sensors include, but are not limited to, a magnetic switch or “proximity detector” that senses the proximity of a ferromagnetic article, a proximity detector that senses passing ferromagnetic articles (for example, magnetic domains of a ring magnet or gear teeth), a magnetic field sensor that senses a magnetic field density of a magnetic field, and a current sensor that senses a magnetic field generated by a current flowing in a current conductor. Magnetic field sensors are widely used in automobile control systems, for example, to detect a position of an engine crankshaft and/or camshaft, to detect the position and/or rotation of transmission elements, and to detect a position and/or rotation of an automobile wheel for anti-lock braking systems.
The magnetic field sensor may, for example, detect a magnetic field that changes as the system operates or rotates and convert the detected magnetic field into an electrical signal for processing. As an example, the magnetic field sensor may provide an output signal having a transition or edge which generally occurs when the electrical signal crosses a threshold. In many of these applications, the timing of the edge of the magnetic field detection (and the associated output signal) can be critical. This is particularly true in systems operating at high speed and/or systems where safety is important such as an anti-lock braking system for example. It can be important to precisely identify the time at which the electrical signal crosses the threshold. If the electrical signal is an analog signal, and the magnetic field sensor samples the analog signal at discrete time intervals, the threshold crossing will occur between samples, which can introduce a non-deterministic sampling error and degrade the timing accuracy of the output signal.
U.S. Pat. No. 9,797,961 discloses magnetic field sensor circuits having a delayed output signal with reduced sampling error. The delay period is determined using an analog solution.
In accordance with the concepts, techniques and systems sought to be protected, described is a system and method for reducing sampling error by applying a digitally-computed delay count.
According to one illustrative embodiment, a magnetic field sensor may include: a sampling clock circuit generating a sample clock signal with a predetermined sample clock period; a system clock circuit generating a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample clock period; a sensor circuit generating, during each sample clock period, a sensor signal representing a position of an object; a sampling circuit receiving the sensor signal and generate sample signal value in response thereto. The sensor may further include an interpolation circuit configured to: determine a first difference between a current sample signal value and a previous sample signal value; determine a second difference between a switchpoint threshold value and the previous sample signal value; and determine a delay count based upon a ratio of the first difference and the second difference; and a switchpoint signal circuit configured to: generate a switchpoint signal based upon the delay count.
In one aspect, the switchpoint signal circuit may be further configured to: start a counter when a fixed duration passes after a detection of a switchpoint, wherein the counter increases for each system clock signal; and generate the switchpoint signal when the counter reaches the delay count. Here, the fixed duration may comprise the predetermined sample clock period. Here, the fixed duration may comprise a number of system clock signals to determine the delay count.
In one aspect, the delay count may be determined by multiplying the ratio by a number of system clock signals occurring in a sample clock period and applying a modulo operation to the number of the system clock signals.
In one aspect, the sensor circuit may comprise: one or more magnetic field sensors configured to detect an external magnetic field of the object.
In one aspect, the delay count may be determined digitally.
In one aspect, the delay count may be determined using a formula of:
in which SC is a number of system clock signals occurring in a sample clock period.
According to another illustrative embodiment. a method may include: generating a sample clock signal with a predetermined sample clock period; generating a system clock signal with a predetermined system clock period, wherein a value of the system clock period is less than a value of the sample clock period; generating, during each sample clock period, a sensor signal representing a position of an object; receiving the sensor signal and generate sample signal value in response thereto; determining a first difference between a current sample signal value and a previous sample signal value; determining a second difference between a switchpoint threshold value and the previous sample signal value; determining a delay count based upon a ratio of the first difference and the second difference; and generating a switchpoint signal based upon the delay count.
In one aspect, the method may further include: starting a counter when a fixed duration passes after a detection of a switchpoint, wherein the counter increases for each system clock signal; and generating the switchpoint signal when the counter reaches the delay count.
The details of one or more embodiments of the disclosure are outlined in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
The foregoing features may be more fully understood from the following description of the drawings in which:
All relative descriptions herein, such as left, right, up, and down, are with reference to the figures, are merely relative and not meant in a limiting sense. Additionally, for clarity, common items and circuitry, such as integrated circuits, resistors, capacitors, transistors, and the like, have not necessarily been included in the figures, as can be appreciated by those of ordinary skill in the pertinent art. Unless otherwise specified, the described embodiments may be understood as providing illustrative features of varying detail of certain embodiments, and therefore, unless otherwise specified, features, components, modules, elements, and/or aspects of the illustrations can be otherwise combined, interconnected, sequenced, separated, interchanged, positioned, and/or rearranged without materially departing from the disclosed concepts, systems, or methods. Additionally, the shapes and sizes of components are intended to be only illustrative and unless otherwise specified, can be altered without materially affecting or limiting the scope of the concepts sought to be protected herein.
Certain introductory concepts and terms used in the specification are collected here.
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, a magnetic tunnel junction (MTJ), a spin-valve, etc. 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, for example, 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, such as 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, spin-valve) and vertical Hall elements tend to have axes of sensitivity parallel to a substrate.
It will be appreciated by those of ordinary skill in the art that while a substrate (e.g., a semiconductor substrate) is described as “supporting” the magnetic field sensing element, the element may be disposed “over” or “on” the active semiconductor surface, or may be formed “in” or “as part of” the semiconductor substrate, depending upon the type of magnetic field sensing element. For simplicity of explanation, while the embodiments described herein may utilize any suitable type of magnetic field sensing elements, such elements will be described here as being supported by the 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 term “target” is used to describe an object to be sensed or detected by a magnetic field sensor or magnetic field sensing element. A target may be ferromagnetic or magnetic. As is known in the art, magnetic fields have direction and strength. The strength of a magnetic field can be described as magnetic flux or flux density. Therefore, the terms magnetic field “strength” and magnetic “flux” may be used interchangeably in this document.
As is known in the art, magnetic fields have direction and strength. The strength of a magnetic field can be described as magnetic flux or flux density. Therefore, the terms magnetic field “strength” and magnetic “flux” may be used interchangeably in this document.
As used herein, the term “processor” is used to describe an electronic circuit that performs a function, an operation, or a sequence of operations. The function, operation, or sequence of operations can be hard coded into the electronic circuit or soft coded by way of instructions held in a memory device. A “processor” can perform the function, operation, or sequence of operations using digital values or using analog signals.
In some embodiments, the “processor” can be embodied in an application specific integrated circuit (ASIC), which can be an analog ASIC or a digital ASIC. In some embodiments, the “processor” can be embodied in a microprocessor with associated program memory. In some embodiments, the “processor” can be embodied in a discrete electronic circuit, which can be an analog or digital.
As used herein, the term “module” is used to describe a “processor.”
A processor can contain internal processors or internal modules that perform portions of the function, operation, or sequence of operations of the processor. Similarly, a module can contain internal processors or internal modules that perform portions of the function, operation, or sequence of operations of the module.
As used herein, the term “predetermined,” when referring to a value or signal, is used to refer to a value or signal that is set, or fixed, in the factory at the time of manufacture, or by external means, e.g., programming, thereafter. As used herein, the term “determined,” when referring to a value or signal, is used to refer to a value or signal that is identified by a circuit during operation, after manufacture.
As used herein, the term “jitter (also known as ‘repeatability’)” is used to describe the deviation from true periodicity of a presumably periodic signal. The jitter is generally related to a reference clock signal. Jitter may be caused by electromagnetic interference and crosstalk with carriers of other signals. In the context of the current invention, jitter may also be caused by a gap between an actual timing of an event and a time that the event is reported.
As used herein, the term “latency” is used to describe a time interval between an event that is being observed and a response to the event. Alternatively, the latency may be a time delay between the cause and the effect of a physical change from the cause in a system.
In an embodiment, target 102 is a magnetic target and produces magnetic field 106. In another embodiment, magnetic field 106 is generated by a magnetic source (e.g., a back-bias magnet or electromagnet) that is not coupled to target 102. In such embodiments, target 102 may be a ferromagnetic target that does not itself tend to generate a magnetic field. In the case where the target is a ferromagnetic target, as target 102 moves through or within magnetic field 106 generated by a back-bias magnet or electromagnet, it causes perturbations to magnetic field 106 that can be detected by magnetic field sensor 104.
Magnetic field sensor 104 may be coupled to a computer 108, which may be a general-purpose processor executing software or firmware, a custom processor, or an electronic circuit for processing output signal 104a from magnetic field sensor 104. Output signal 104a may provide information about the speed and direction of target 102 to computer 108, which may then perform operations based on the received speed and direction. In an embodiment, magnetic field sensor 104 changes the state of output signal 104a when the detected magnetic field crosses a predetermined threshold.
In an embodiment, computer 108 is an automotive computer installed in a vehicle and target 102 is a moving part within the vehicle, such as a transmission shaft, a brake rotor, etc. The magnetic field sensor 104 detects the speed and direction of target 102 and computer 108 controls automotive functions (like all-wheel drive, ABS, etc.) in response to the detected speed and direction.
Target 102 can comprise any element capable of affecting magnetic field 106 through motion or proximity. For example, target 102 may be attached to a rotating shaft in an automotive transmission or brake system.
As shown in
Referring now to
As shown, in the illustrative embodiment of
Differential amplifier 113 receives signal 112a and 114a, and differential amplifier 115 receives signals 114a and 116a. The output of differential amplifier 113 corresponds to a position of target 102 in relation to the magnetic field sensing elements 112 and 114. Similarly, the output of differential amplifier 115 may correspond to a position of target 102 in relation to the magnetic field sensing elements 114 and 116. Signals 113a and 115a are received by ADC 118 and ADC 120, respectively. Although not shown in
Processor 124 may be a circuit that processes sample data 118a and 120a, and may provide output signal 124a. Signals 118a and 120a may represent detection of passing features, e.g., gear teeth, of magnetic target 102. Thus, processor 124 may process these signals and provide output signal 124a so that output signal 124a carries information about magnetic target 102, such as speed, direction, etc.
Processor 124 may be a circuit specifically designed to process signals 118a and 120a and/or to perform other functions. In another embodiment, processor 124 is a general purpose or custom processor executing software, firmware, micro-code, or any other type of executable instructions in order to process signals 118a and 120a and/or to perform other functions.
In an embodiment, processor 124 includes an interpolation circuit 134 configured to interpolate values between measured samples of discrete time signals. It should be appreciated that the illustrative embodiment of
As is known, interpolation is the estimation of a value between two points in a series of values collected (i.e., sampled) from a particular channel, based on one, two, or more points within the series. Thus, interpolation circuit 134 may be configured to estimate a value of signal 118a and/or 120a based on two or more of the samples collected from channels 118 and/or 120 respectively. That is, for example, the value of signal 118a may be estimated (i.e., interpolated) based upon sample data from ADC 118 of the respective channel.
Particularly, interpolation circuit 134 may, for a single channel, determine a ratio between a difference of a current sample signal value and a previous sample signal value and a difference of a switchpoint threshold value and the previous sample signal value on the channel. Interpolation circuit 134 further determines a delay count based upon the ratio. The process for determining the delay count will be described below in detail in conjunction with
Processor 124 may also include a switchpoint signal circuit 136 to generate a switchpoint signal based upon the delay count, discussed below in greater detail. Similar to interpolation circuit 134, switchpoint signal circuit 136 may be a custom circuit, a processor configured to generate a switchpoint signal, or may be implemented as instructions which, when executed by processor 124, cause a switchpoint signal. In the example shown in
The embodiment shown in
One skilled in the art will note that, if sensor 104 includes only one magnetic field sensing element, such as magnetic field sensing element 112, and teeth 110a are regularly spaced and shaped, then sensor 104 may be able to detect only speed, e.g., of rotation, of target 102 by counting (for example) the times that teeth 110a and 110b are detected over a particular time period. That is, an interpolation may happen on a single channel between a sample from an ADC and another sample from the same ADC (e.g. one of ADC's 118 or 120). Accordingly. the inventive concepts described herein may operate on a signal channel. It is, of course, possible to perform interpolation on each of two or more signal channels (i.e. it is possible to perform interpolation on respective ones of two different signal propagation on respective channels). If sensor 104 contains more than one magnetic field sensing element, sensor 104 can also detect direction, e.g., of rotation, by measuring a phase between the signals, e.g., 113a, 115a. of the magnetic field sensing elements. In the embodiment shown in
Magnetic field sensor 104 can include an oscillator 122 that provides an oscillating output 122a. Oscillator 122 may be non-crystal oscillator circuit (or a crystal oscillator circuit) and oscillating output 122a may be used as a system clock signal. Magnetic field sensor 104 may also include an oscillator 130, which may be a crystal or non-crystal oscillator, that provides an oscillating output 130a to ADC 118 and ADC 120 that may be used as a sample clock that triggers sampling by ADCs 118 and 120. Although not shown, sample clock signal 130a may also be received by processor 124. In an embodiment, each ADC may be coupled to separate oscillator circuits (not shown).
Signals 118a and 120a are received by processor circuit 124, which uses signals 118a and 120a to compute speed and/or direction of target 102. Processor 124 provides output signal 124a, which may be coupled to output port 126 so that signal 124a can be received by an external circuit (e.g., automotive computer 108 in
In operation, magnetic target 102 moves or rotates relative to magnetic field sensor 104. The relative movement causes changes or perturbations to magnetic field 106, which are detected by magnetic field sensing elements 112, 114, and/or 116. When the magnetic field sensed by magnetic field sensing element 112 is relatively strong, the voltage (or current) level of signal 112a will be relatively high. Likewise, when the magnetic field sensed by magnetic field sensing elements 114 and 116 is relatively strong, the voltage (or current) levels of signals 114a and 116a will be relatively high. Magnetic field sensing elements 112, 114, and 116 can also be configured so that the signals 112a, 114a, and 116a are relatively low when the magnetic field sensing elements detect a relatively strong magnetic field.
As teeth 110a and 110b move relative to the magnetic field sensing elements, the magnetic field sensing elements detect changes in magnetic field 106. As tooth 110b rotates past magnetic field sensing element 112 in the direction of arrow 132, signal 112a indicates that a tooth is detected. Subsequently, as tooth 110b moves past magnetic field sensing element 114, signal 114a indicates that a tooth is detected. Likewise, as tooth 110b rotates past magnetic field sensing element 116, signal 116a indicates that a tooth is detected.
Differential amplifier 113 receives signals 112a and 114a and generates signal 113a, which represents a voltage difference between signals 112a and 114a. Similarly, differential amplifier 115 provides signal 115a, which represents a voltage difference between signals 114a and 116a. ADC 118 then samples and signal 113a and converts it to sample data 118a, and ADC 120 samples signal 115a and converts it to sample data 120a. Sample data 118a and 120a are received by processor 124, which processes the signals to determine speed and direction of target 102 and to generate output signal 124a.
In an embodiment, processor 124 is configured to determine when sample data 118a and 120a cross respective predetermined thresholds (i.e., switch point), the crossings of which may indicate that tooth 110a or 110b has been detected. Processor 124 may then produce output signal 124a to carry information about the speed and direction and/or information about whether a tooth 110a or 110b was detected, to an external circuit or processor for subsequent processing. In an embodiment, processor 124 can also indicate an error condition, e.g., by altering a voltage level of signals 124a. For example, processor 124 may generate a DC offset on signal 124a, which can be received by external circuitry, to indicate an error condition.
In an embodiment, sample data 118a and signal 120a are digital representations of analog signals 113a and 115a. In such an embodiment, if signals 118a and 120a are plotted on a graph, the shape, amplitude, and timing of signals 118a and 120a generally comports to the shape, amplitude, and timing of signals 113a and 115a.
Turning to
Signal 208 is an output signal generated when the threshold crossing is detected. State transition 210 from low to high indicates the crossing. Even though the threshold crossing occurred prior to sample 206b, the prior art system does not detect the crossing and change the state of the output signal 208 until sample 206b is taken.
Signal 212 is an overlay of multiple, ideal signals that represent actual threshold crossings between samples 206a and 206b. For example, in an operating magnetic field sensor, on other cycles of the signal 202, the threshold crossings can occur at any time between samples. Thus, some crossings may occur closer in time to sample 206a and others may occur closer in time to 206b. Accordingly, if many crossings are overlaid onto the same graph, the crossings will be distributed between sample 206a and 206b as shown by bar 214. Because the prior art system can only detect the crossing once sample 206b is taken, the output will change state only at the time of sample 206b. Thus, for any one cycle of the signal 202, there is a non-deterministic error between the time the actual crossing occurs and the time the output changes state to indicate that a crossing occurred. This error can be represented as: TERR=TSAMPLE−TCROSSING, where TERR is the error, TCROSSING is the time at which the actual crossing occurred, and TSAMPLE is the time of the next sample taken after the crossing occurred. Note that the overlay as shown in signal 212 may be similar to a so-called eye diagram or eye pattern function of an oscilloscope.
Referring now to
The signal 260 represents an output signal (e.g., output signal 208 in
The differences of the sensor signal 250 between the threshold 232 and the previous sample 228, and the current sample 244 and the previous sample 238 may be identified as threshold difference 236 and sample difference 234 respectively. These values will be used to determine a delay count (e.g., 356 in
Referring now to
Sample data 330 shows the value of sample data from sensor signal 380 that is detected at each sampling. This sample data is discrete time digital signals (e.g., sample data 1118a, 120a in
As described in conjunction with
The calculated ratio is then multiplied by the number of system clock pulses (SC) occurring in a sample clock period, and a modulo operation is applied to the calculated value to the number of system clock pulses. In embodiments, the multiplication of SC may occur in binary arithmetic to preserve the precision of the values. Here, the delay count is calculated according to the following formula.
In embodiments, an interpolation circuit (e.g., 134 in
When a switchpoint crossing is detected at a sampling clock (e.g., switchpoint 374 is detected at sample clock 324), a switchpoint signal is generated by applying the delay count after a fixed duration (e.g., one sample period). The delay count matches with the system clock pulses. In embodiments, a switchpoint signal circuit (e.g., 136 in
Therefore, a switchpoint signal 362 is generated when a delay count is reached after a fixed duration 366 (i.e., one sample clock period). In embodiments, the delay count is determined during the fixed duration 366. In embodiments, the fixed duration 366 is determined according to one sample clock period or the time (i.e., number of system clocks) to calculate the delay count. The fixed duration 366 should be longer than the time to calculate the delay count. That is, the switchpoint signal 362 is generated after a delay 364. Here, the delay count is determined based upon an estimation of when an actual crossing 374 happens between two sample clocks 332, 324. Since the same fixed duration is applied along with the determined delay count, the delay 364 between the actual crossing 374 and the switchpoint signal generation 362 is substantially constant. Accordingly, the non-deterministic error between the actual crossing 374 and the switchpoint signal generation 362 may be reduced or minimized. For example, in the illustrative embodiment, the range of error between actual crossing and switchpoint signal may be improved by 5:1 ratio. That is, the range of error could be brought down to ˜10 ns from ˜50 ns of a conventional method.
The delay 364 creates latency between actual crossing and switchpoint signal. That is, a switchpoint signal is always generated after a certain period. The latency is substantially constant unlike the jitter which is non-constant. Adding latency is in general not desirable, but it has been recognized that if latency, in accordance with the concepts described herein, can be limited in duration (e.g., limited to be on the order of one sample period (i.e. one or two sample clock cycles) or less; or in some embodiments, limited to be on the order of one or two system clock periods (i.e. one or two system clock cycles), the latency can be accounted for in the overall system operation. The amount of latency is dependent on the implementation. In the illustrative embodiments described herein, the latency is relatively small compared with the overall signal switching period, which produces a substantially small (preferably minimal) effect to the overall system operation. In embodiments, the latency may be an order of magnitude less (or multiple orders of magnitude less) than the interval between switchpoints. In embodiments, the range may be from 1 to 50 clock cycles. In embodiments the range may be 1 to 2 clock cycles. In embodiments, the range may be 5-10 clock cycles. In still other embodiments, the range may be 15-20 clock cycles. The particular latency for a specific application will depend upon the specific implementation.
Referring now to
Sample data 430 shows the value of sample data from sensor signal 480 that is detected at each sampling. For example, for sample clock 422, the sensor signal 480 is detected at point 472 to have a sample data value of 16359. Further, the sensor signal 480 has a sample data value of 16392 and 16425 at points 476 and 478 respectively. In embodiments, the sample data 430 is copied into an internal registry 432 by an interpolation circuit (e.g., 134 in
Switchpoint value 440 shows a data value corresponding to a crossing switchpoint threshold 470. Here, the threshold value is 16365. Pulse trigger signal 460 represents a switchpoint crossing signal, which is generated for a detected switchpoint. Here, an actual crossing may happen between samplings 422, 428. For example, the sensor signal 480 crosses the threshold 470 at point 474 when the sensor signal has a sample data value of 16365, which is between sample clock pulse 422 when the sensor signal has a sample data value of 16359 and sample clock pulse 428 when the sensor signal has a sample data value of 16392. As described above, the switchpoint 474 is not detected until the next sample clock 328.
As described in conjunction with
As described above, a switchpoint signal may be generated by applying the delay count after a fixed duration 426. In embodiments, a switchpoint signal circuit (e.g., 136 in
Referring now to
In processing block 530, when an object (e.g., target 102 in
In processing blocks 550, a sample difference (e.g., 382 in
In processing block 580, a switchpoint signal (e.g., 362 in
Referring now to
The processes described herein (e.g., processes 500) is not limited to use with hardware and software of
The system may be implemented, at least in part, via a computer program product, (e.g., in a non-transitory machine-readable storage medium such as, for example, a non-transitory computer-readable medium), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). Each such program may be implemented in a high level procedural or object-oriented programming language to work with the rest of the computer-based system. However, the programs may be implemented in assembly, machine language, or Hardware Description Language. The language may be a compiled or an interpreted language, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or another unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a non-transitory machine-readable medium that is readable by a general or special purpose programmable computer for configuring and operating the computer when the non-transitory machine-readable medium is read by the computer to perform the processes described herein. For example, the processes described herein may also be implemented as a non-transitory machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate in accordance with the processes. A non-transitory machine-readable medium may include but is not limited to a hard drive, compact disc, flash memory, non-volatile memory, volatile memory, magnetic diskette and so forth but does not include a transitory signal per se.
The inventive concepts described herein is implemented only in digital, and accordingly no additional analog components are required to determine a delay count and generate switchpoint signals based upon the delay count. Accordingly, the illustrative embodiments are more flexible compared with conventional methods because the embodiments may be adapted to any clock relationship and bit width, not requiring a unique filter to be generated for each sensor device. In embodiments, non power-of-2 values are handled without extra effort.
With conventional devices, the sampled values would be up-sampled to the system clock period. This requires an upsampling filter for 2×, 3×, or 4× upsampling. The filter for a 2× is different from a 3× or a 4× for instance, where the 3× filter is more complex than the 2× filter or the 4× filter.
According to the inventive concepts described herein, the clock relationship is a parameter that only affects the counter (i.e., 356 in
Having described preferred embodiments, which serve to illustrate various concepts, structures and techniques, which are the subject of this patent, it will now become apparent that other embodiments incorporating these concepts, structures and techniques may be used. Accordingly, it is submitted that the scope of the patent should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the following claims.
Accordingly, other embodiments are within the scope of the following claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4555765, | Sep 14 1982 | Analogic Corporation; ANALOGIC CORPORATION A CORP OF MA | Multi-mode oscilloscope trigger with compensating trigger delay |
4604720, | Jan 10 1984 | U S PHILIPS CORPORATION, A DE CORP | Interpolating filter arrangement with non-rational ratio between the input and the output sampling frequencies |
5383399, | Sep 27 1993 | NCR Corporation | Zero hammer adjustment drum printer control technique |
8446146, | Jun 03 2010 | Allegro MicroSystems, LLC | Motion sensor, method, and computer-readable storage medium providing a motion sensor with a validated output signal from the motion sensor |
8450996, | Jun 03 2010 | Allegro MicroSystems, LLC | Motion sensor, method, and computer-readable storage medium providing a motion sensor with a magnetic field sensing element for generating a magnetic field signal and a state processor to identify a plurality of states corresponding to ranges of values of the magnetic field signal having a reduced amount of state chatter |
8680848, | Jun 03 2010 | Allegro MicroSystems, LLC | Motion sensor, method, and computer-readable storage medium providing a motion sensor that adjusts gains of two circuit channels to bring the gains close to each other |
9523742, | Apr 27 2015 | Allegro MicroSystems, LLC | Circuits and methods for modulating current in circuits comprising sensing elements |
9739637, | Oct 31 2014 | Allegro MicroSystems, LLC | Magnetic field motion sensor and related techniques |
9797961, | Jan 19 2015 | Allegro MicroSystems, LLC | Magnetic field sensor with delayed output |
20170241801, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 13 2019 | SNYDER, STEVEN E | Allegro MicroSystems, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049179 | /0489 | |
May 14 2019 | Allegro MicroSystems, LLC | (assignment on the face of the patent) | / | |||
Sep 30 2020 | Allegro MicroSystems, LLC | MIZUHO BANK LTD , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 053957 | /0620 | |
Sep 30 2020 | Allegro MicroSystems, LLC | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 053957 | /0874 | |
Jun 21 2023 | Allegro MicroSystems, LLC | MORGAN STANLEY SENIOR FUNDING, INC , AS THE COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 064068 | /0459 | |
Jun 21 2023 | MIZUHO BANK, LTD , AS COLLATERAL AGENT | Allegro MicroSystems, LLC | RELEASE OF SECURITY INTEREST IN PATENTS R F 053957 0620 | 064068 | /0360 | |
Oct 31 2023 | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | Allegro MicroSystems, LLC | RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 053957 FRAME 0874 | 065420 | /0572 |
Date | Maintenance Fee Events |
May 14 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Dec 19 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 15 2023 | 4 years fee payment window open |
Jun 15 2024 | 6 months grace period start (w surcharge) |
Dec 15 2024 | patent expiry (for year 4) |
Dec 15 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 15 2027 | 8 years fee payment window open |
Jun 15 2028 | 6 months grace period start (w surcharge) |
Dec 15 2028 | patent expiry (for year 8) |
Dec 15 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 15 2031 | 12 years fee payment window open |
Jun 15 2032 | 6 months grace period start (w surcharge) |
Dec 15 2032 | patent expiry (for year 12) |
Dec 15 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |