The present invention relates to an A/B-phase signal generator that receives angle data calculated from detected two-phase signals supplied by a resolver and outputs an A-phase pulse signal and B-phase pulse signal, and to an RD converter and an angle detection unit that incorporate the A/B-phase signal generator.
In an RD converter (resolver/digital converter) that receives detected two-phase signals supplied by a resolver in order to calculate the rotation angle information of the resolver, two-phase pulse signals, which are an A-phase pulse signal and a B-phase pulse signal, are used as an output form of the rotation angle information. These two pulse signals are collectively referred to below as A/B-phase pulse signals.
Pulse output circuit 13 follows the timing of a clock signal CLK (not shown) to generate the same number of a sequence of up-count pulses UPCP or down-count pulses DWNCP as the value of the given angle increment Δθ depending on the rotation polarity of Δθ, and gives the sequence of pulses to an up/down counter 14. Up/down counter 14 counts up or down the pulses depending on which of the up-count pulses and down-count pulses were received. Next, the least significant bit of the count value of up/down counter 14 is exclusive-ORed (XORed) with the second least significant bit by XOR circuit 15 to generate an A-phase pulse signal and the second least significant bit is output as a B-phase pulse signal, so that two-phase pulse signals (for example, see patent literature 1) are obtained, which are to be supplied to an upward system not shown in the drawings.
If A/B-phase pulse signals generated by a conventional RD converter shown in
If the cycle period of the clock signal CLK is T1, for a monotonous increase shown in
The frequency of the clock signal CLK is preferably high enough to support high-speed rotation of the resolver and angle detection at high precision. Because of restrictions imposed by an upward system on the pulse width, however, the pulse widths of A/B-phase pulse signals must be greater than a given length of time; that is, the minimum pulse width is defined.
In this case, if the pulse width T2 of the A/B-phase pulse signals in
To prevent the upward system from failing to detect the pulse, halving the frequency of the clock signal CLK is considered, but this is not preferable from the viewpoint of support for high-speed rotation or high-precision detection.
The present invention addresses the above problem with the object of providing an A/B-phase signal generator that does not generate a pulse too short for the upward system to detect and providing an RD converter and an angle detection unit that incorporate this type of A/B-phase signal generator.
The A/B-phase signal generator according to the present invention comprises: an up/down count unit that is configured to count up by an up-count command or count down by a down-count command at fixed intervals, an angle comparison unit that is configured to compare the count result of the up/down count unit with an input rotation angle and, based on the comparison result, generate a count request, which is an up-count request or a down-count request; a count request comparison unit that is configured to compare a previous count request generated by the angle comparison unit with a next count request generated by the angle comparison unit, and generate the up-count command or the down-count command only when the previous count request and the next count request are both up-count requests or down-count requests; respectively, and an A/B-phase pulse generator that is configured to receive a least significant bit and a second least significant bit of the up/down count unit and generate and outputs an A-phase pulse signal and a B-phase pulse signal.
An RD converter according to the present invention comprises an angle calculation unit that is configured to perform digital conversion of detected two-phase signals received from a resolver in order to calculate a rotation angle and the A/B-phase signal generator to which the rotation angle is input.
A angle detection unit according to the present invention comprises a resolver that is configured to output detected two-phase signals, the RD converter, and an excitation signal generator that is configured to provide the resolver with an excitation signal.
The A/B-phase signal generator according to the present invention does not generate a pulse too short for the upward system to detect when the rotation polarity is reversed. Therefore, it can easily generate A/B-phase pulse signals that support high-speed rotation and high-precision detection.
The best mode of practicing the invention will now be described with reference to the drawings through an embodiment.
Resolver 20 is of one-phase excitation/two-phase output type and receives an excitation signal sin θt from an excitation signal generator 30. The detected two-phase signals sin θ sin ωt and cos θ sin ωt output from the resolver 20 are input to the angle calculation unit 40. The angle calculation unit 40 performs the digital conversion of the input detected two-phase signals sin θ sin ωt and cos θ sin ωt to calculate rotation angle θ. The obtained rotation angle θ is represented by n-bit data Dn-1, . . . , D0.
The rotation angle θ calculated by the angle calculation unit 40 is input to A/B-phase signal generator 50. The A/B-phase signal generator 50 has an angle comparison unit 51 to which the rotation angle θ is input, an A/B-phase pulse generation counter 52, and an A/B-phase pulse generator 53. This A/B-phase signal generator 50 and the angle calculation unit 40 constitute an RD converter 60.
A/B-phase pulse generation counter 52 has a request holding unit 52A, a count request comparison unit 52B, and an up/down count unit 52C and counts up by an up-count command or counts down by a down-count command at fixed intervals. The count bits of up/down count unit 52C are n bits D′n-1, . . . , D′0 as in the rotation angle θ.
The angle comparison unit 51 compares the count result ACNT of A/B-phase pulse generation counter 52 with the rotation angle θ input from the angle calculation unit 40 and generates an up-count request (C_UP=1, C_DWN=0) when ACNT is less than 0, a down-count request (C_UP=0, C_DWN=1) when ACNT is greater than 0, or a holding count request (C_UP=0, C_DWN=0) when ACNT is equal to 0.
The request holding unit 52A holds the previous count request (C_UP0, C_DWN0) generated by the angle comparison unit 51. The count request comparison unit 52B compares the next count request (C_UP, C_DWN) generated by the angle comparison unit 51 with the previous count request (C_UP0, C_DWN0) held in the request holding unit 52A and, only when the previous count request and the next count request are both up-count requests or down-count requests, generates an up-count command or down-count command, respectively, causing the up/down count unit 52C to count up or count down. Otherwise, the previous count value is kept. That is, the count request comparison unit 52B determines whether counting up or down is performed and, when the previous count request is different from the next count request (when the rotation polarity is reversed), counting up or down in this cycle is stopped.
The data of the least significant bit D′0 and the second least significant bit D′1 of the count value of the up/down count unit 52C is input to the A/B-phase pulse generator 53. The A/B-phase pulse generator 53 outputs the second least significant bit D′1 as a B-phase pulse signal and outputs the value obtained by exclusive ORing D′1 with D′0 using the XOR circuit 55 as an A-phase pulse signal.
ACNT is 0 in the initial state and the operation shown in
First, the angle comparison unit 51 compares the rotation angle θ with the ACNT value (steps S1 and S3) and, if ACNT is less than the rotation angle θ, outputs the up-count request (1, 0) (step S2). If ACNT is greater than the rotation angle θ, it outputs the down-count request (0, 1) (step S4). If ACNT is equal to the rotation angle θ, it outputs the holding count request (0, 0) (step S5).
If the count request comparison unit 52B of the A/B-phase pulse generation counter 52 receives “C_UP0=1, C_DWN=1” (step S6) or “C_DWN0=1, C_UP=1” (step S7), that is, the previous (one cycle before) count request differs from the next (current cycle) count request (the rotation polarity is reversed), the processing proceeds to step S8. Otherwise, if C_UP is equal to 1 (step S9), ACNT is incremented by 1 (step S10); if C_DWN is equal to 1 (step S11), ACNT is decremented by 1 (step S12). Next, the processing proceeds to step S8. If C_UP is equal to 0 in step S9 and if C_DWN is equal to 0 in step S11, the count value ACNT is kept and the processing proceeds to step S8. In step S8, the previous count request (C_UP0, C_DWN0) in request holding unit 52A is updated to the next count request (C_UP, C_DWN) (step S8), the processing returns to step St, and the same process is repeated.
If the rotation angle θ differs from the count value ACNT of the up/down count unit 52C, the angle comparison unit 51 always generates the up-count request or down-count request. Therefore, the count value ACNT of the up/down count unit 52C follows and then equals the rotation angle θ unless the rotation polarity is reversed. Next, A-phase and B-phase pulse signals are generated using the least significant bit and the second least significant bit of this up/down count unit 52C.
For example, when the count value ACNT increases monotonously, the A-phase and B-phase pulse signals have the waveforms shown in
When the rotation polarity is reversed, that is, the count request in the previous cycle differs from the count request in the next cycle, the count operation stops as described above, so the least significant bit D′0 and the second least significant bit D′1 are not changed as shown in
As described above, this embodiment prevents a pulse with a short width from being generated even when the rotation polarity is reversed and the minimum pulse width T2 of A/B-phase pulse signals is fixed to 2T1, where T1 is the cycle of the clock signal CLK. Therefore, the upward system does not fail to detect a pulse with a short width even when the rotation polarity is reversed.
Number | Date | Country | Kind |
---|---|---|---|
2008-176667 | Jul 2008 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5517689 | Hayashihara | May 1996 | A |
Number | Date | Country |
---|---|---|
2001-317962 | Nov 2001 | JP |
Number | Date | Country | |
---|---|---|---|
20100001778 A1 | Jan 2010 | US |