JP2006138822A - Encoder position detecting circuit - Google Patents

Encoder position detecting circuit Download PDF

Info

Publication number
JP2006138822A
JP2006138822A JP2004331117A JP2004331117A JP2006138822A JP 2006138822 A JP2006138822 A JP 2006138822A JP 2004331117 A JP2004331117 A JP 2004331117A JP 2004331117 A JP2004331117 A JP 2004331117A JP 2006138822 A JP2006138822 A JP 2006138822A
Authority
JP
Japan
Prior art keywords
phase signal
phase
signal
encoder
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004331117A
Other languages
Japanese (ja)
Inventor
Yasuhiro Ishizaka
保弘 石坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004331117A priority Critical patent/JP2006138822A/en
Publication of JP2006138822A publication Critical patent/JP2006138822A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encoder position detecting circuit which is never influenced by offset and has a low manufacturing cost. <P>SOLUTION: This detecting circuit comprises an AD conversion part 2 including a chopper-type comparator which time-divides A-phase signal and B-phase signal outputted from an incremental encoder with 90°-phase difference to provide a voltage to be compared, and uses a voltage between resistance serially connected between a reference voltage VRT and a reference voltage VRB; an arithmetic part 3 correcting offset errors of the A-phase signal and the B-phase signal respectively based on data outputted from the AD conversion part 2, and then reversing the A-phase signal and the B-phase signal, thereby generating a reversed A-phase signal and a reversed B-phase signal, respectively, and generating a multiplication signal in which one period of the incremental encoder is multiplied in one cycle based on the A-phase signal, the reversed A-phase signal, the B-phase signal and the reversed B-phase signal; and a clock generator 1 supplying operation clocks to the AD converting means and the arithmetic means. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、角度、位置検出に使用されるエンコーダの出力信号処理回路を内蔵した半導体集積回路に関し、特に、モータなどの位置検出を要する機械全般に関する。   The present invention relates to a semiconductor integrated circuit incorporating an output signal processing circuit of an encoder used for angle and position detection, and more particularly to a general machine requiring position detection such as a motor.

移動体(回転子、ベルト)を備える機械(モータやベルト搬送装置など)は、移動体の位置を検出するためのエンコーダを備える必要がある。従来技術によるエンコーダの一例として特許文献1に開示される「エンコーダ」が挙げられる。
エンコーダを備えた装置は、エンコーダから出力される90度の位相差信号を基に逓倍信号を生成し、これに基づいて移動体の駆動源を制御することによって移動体の移動速度を所望の速度に制御することが可能となる。
A machine (such as a motor or a belt conveyance device) provided with a moving body (rotor, belt) needs to include an encoder for detecting the position of the moving body. An example of an encoder according to the prior art is an “encoder” disclosed in Patent Document 1.
An apparatus including an encoder generates a multiplied signal based on a 90-degree phase difference signal output from the encoder, and controls the moving source of the moving body based on the generated signal, thereby controlling the moving speed of the moving body to a desired speed. It becomes possible to control to.

90度位相差信号から逓倍信号を生成する回路の従来例を図15に示す。
A相入力(A信号)、B相入力(B信号)に対して、OP−AMP(オペアンプ)を用いた反転増幅器でA相の反転信号AB及びB相の反転信号BBを生成する。さらに、AB及びBBをさらに反転させてA’信号(=A信号)とB’信号(=B信号)とを生成する。
次いで、A’信号とAB信号とをコンパレータに入力し、A−ABの比較結果であるAOUT0を生成する。同様に、B−BBの比較結果であるAOUT1、A−BBの比較結果であるAOUT2、AB−BBの比較結果であるAOUT3をそれぞれコンパレータで生成する。
そして、AOUT0とAOUT1とのエクスクルーシブオアをとってEXOUT0を生成し、AOUT2とAOUT3とのエクスクルーシブオアをとってEXOUT1を生成する。さらに、EXOUT0とEXOUT1とのエクスクルーシブオアをとることによって、逓倍化されたEXOUT信号を生成する。この回路の信号波形を図16に示す。
FIG. 15 shows a conventional example of a circuit that generates a multiplied signal from a 90-degree phase difference signal.
For the A phase input (A signal) and the B phase input (B signal), an A-phase inverted signal AB and a B-phase inverted signal BB are generated by an inverting amplifier using an OP-AMP (operational amplifier). Further, AB and BB are further inverted to generate an A ′ signal (= A signal) and a B ′ signal (= B signal).
Next, the A ′ signal and the AB signal are input to the comparator, and AOUT0 that is a comparison result of A-AB is generated. Similarly, AOUT1 which is the comparison result of B-BB, AOUT2 which is the comparison result of A-BB, and AOUT3 which is the comparison result of AB-BB are respectively generated by the comparators.
Then, EXOUT0 is generated by taking the exclusive OR of AOUT0 and AOUT1, and EXOUT1 is generated by taking the exclusive OR of AOUT2 and AOUT3. Further, by taking exclusive OR between EXOUT0 and EXOUT1, a multiplied EXOUT signal is generated. The signal waveform of this circuit is shown in FIG.

この回路を半導体集積回路に内蔵しようとした場合、OP−AMPが大きな面積を占めるためにチップサイズが大きくなってコストアップの要因となる。また、OP−AMPやコンパレータの持つオフセット(プラス側のスレッショルドとマイナス側のスレッショルドとの不一致)の影響が問題となる。   If this circuit is to be built in a semiconductor integrated circuit, the OP-AMP occupies a large area, which increases the chip size and increases the cost. Further, the effect of the offset of the OP-AMP and the comparator (mismatch between the positive threshold and the negative threshold) becomes a problem.

OP−AMPの使用によりコストアップするという問題を解決するための従来技術として、特許文献2に開示される「エンコーダ装置」がある。
特許文献2に開示される発明は、連続した一定ピッチのインクリメンタル相信号が信号トラックに記録されると共に所定位置を示す原点相信号が記録された移動体と、上記信号トラックのインクリメンタル相信号を読み取って位相差を有する複数の出力信号を得る第1のセンサと、上記原点相信号を読み取る第2のセンサと、上記第1のセンサの出力信号からm倍(m≧2)のパルス数にすると共に90°の位相差を有する2個のインクリメンタル信号を出力する逓倍回路と、この逓倍回路のインクリメンタル出力信号を形成するための信号と上記第2のセンサから得た原点相信号から上記インクリメンタル信号の周期に対して1.5倍未満のパルス幅を有する原点信号に変換する周期変換手段とを有するエンコーダ装置である。
As a prior art for solving the problem of cost increase due to the use of OP-AMP, there is an “encoder device” disclosed in Patent Document 2.
The invention disclosed in Patent Document 2 reads a moving body in which an incremental phase signal having a constant constant pitch is recorded on a signal track and an origin phase signal indicating a predetermined position is recorded, and an incremental phase signal of the signal track. The first sensor for obtaining a plurality of output signals having phase differences, the second sensor for reading the origin phase signal, and the number of pulses m times (m ≧ 2) from the output signal of the first sensor And a multiplier circuit for outputting two incremental signals having a phase difference of 90 °, a signal for forming an incremental output signal of the multiplier circuit, and an origin phase signal obtained from the second sensor, It is an encoder device having period conversion means for converting to an origin signal having a pulse width less than 1.5 times the period.

上記特許文献2に開示される発明は、図19(a)、(b)に示すように、エンコーダ出力を差動化することで、図15に示した構成におけるOP−AMPを不要としている。   In the invention disclosed in Patent Document 2, as shown in FIGS. 19A and 19B, the OP-AMP in the configuration shown in FIG. 15 is not required by making the encoder output differential.

しかしながら、実際のエンコード出力は、A相、B相に個々にオフセットが発生することがあり得る。図17に、A相、B相にオフセットが発生した部分の信号波形を示す。図18に、オフセットが発生した部分の信号波形を拡大して示す。図示するように、A相とB相との間にオフセットがあると、A、B相間の比較を行うことによって1周期の逓倍されたタイミングは正確では無くなってしまう。
このオフセットの影響を改善する従来技術として、特許文献3に開示される「回転位置検出器及び回転速度検出装置」がある。
特許文献3に開示される発明は、直交性を有する2相信号を用いて位置検出を行う位置検出器を備え、この位置検出器から出力される2相のアナログ信号をデジタル信号に変換する手段と、その2相のデジタル信号の各相の振幅を同一にし、各相のオフセット誤差を除去し、各相の位相差を90度に調整する演算処理を行う手段とを具備した回転位置検出器であって、位置検出器の各相の振幅を同一にし、各相のオフセットを除去した後、各相信号の和と差の演算を行い、生成される2つの信号を用いて各相の位相差を90度にする手段を備えた回転位置検出器である。
特開平11−325973号公報 特許第2558287号公報 特開2001−296142号公報
However, in the actual encoding output, offsets may occur individually in the A phase and the B phase. FIG. 17 shows a signal waveform of a portion where an offset occurs in the A phase and the B phase. FIG. 18 shows an enlarged signal waveform of the portion where the offset occurs. As shown in the figure, when there is an offset between the A phase and the B phase, the timing multiplied by one cycle is not accurate by comparing the A and B phases.
As a conventional technique for improving the influence of the offset, there is a “rotational position detector and rotational speed detection device” disclosed in Patent Document 3.
The invention disclosed in Patent Document 3 includes a position detector that performs position detection using a two-phase signal having orthogonality, and means for converting a two-phase analog signal output from the position detector into a digital signal And a means for performing arithmetic processing for adjusting the phase difference of each phase to 90 degrees by removing the offset error of each phase and making the amplitude of each phase of the two-phase digital signal the same Then, after making the amplitude of each phase of the position detector the same and removing the offset of each phase, the sum and difference of each phase signal are calculated, and the phase of each phase is calculated using the two generated signals. This is a rotational position detector provided with means for setting the phase difference to 90 degrees.
JP 11-325973 A Japanese Patent No. 2558287 JP 2001-296142 A

特許文献3に開示される発明は、図20(a)、(b)に示すように、AD変換後にデジタル演算処理でA相、B相のオフセット調整を行う方式をとっている。このため、AD変換器を二つ要する回路構成となり、チップサイズが大きくなって製造コストが高騰してしまう。   As shown in FIGS. 20A and 20B, the invention disclosed in Patent Document 3 adopts a method of performing offset adjustment of the A phase and the B phase by digital arithmetic processing after AD conversion. For this reason, the circuit configuration requires two AD converters, and the chip size increases and the manufacturing cost increases.

このように、従来は、オフセットの影響を受けないエンコーダ位置検出回路を低い製造コストで提供することはできなかった。   Thus, conventionally, an encoder position detection circuit that is not affected by an offset cannot be provided at a low manufacturing cost.

本発明はかかる問題に鑑みてなされたものであり、オフセットの影響を受けず、かつ製造コストが低いエンコーダ位置検出回路を提供することを目的とする。   The present invention has been made in view of such a problem, and an object thereof is to provide an encoder position detection circuit that is not affected by an offset and that is low in manufacturing cost.

本発明は、上記目的を達成するために、インクリメンタルエンコーダから90度の位相差で出力されるA相信号及びB相信号を時分割して被比較電圧とし、基準電圧VRTと基準電圧VRBとの間に直列に接続された抵抗間の電圧を比較電圧とするチョッパ型コンパレータを備えるAD変換手段と、AD変換手段から出力されるデータを基にA相信号及びB相信号のオフセット誤差をそれぞれ補正した後、A相信号を反転させた反転A相信号とB相信号を反転させた反転B相信号とを生成し、A相信号、反転A相信号、B相信号及び反転B相信号に基づいて、インクリメンタルエンコーダの1周期を逓倍した逓倍信号を1サイクルで生成する演算手段と、AD変換手段及び演算手段へ動作クロックを供給するクロックジェネレータとを有することを特徴とするエンコーダ位置検出回路を提供するものである。   In order to achieve the above object, the present invention time-divides the A-phase signal and the B-phase signal output from the incremental encoder with a phase difference of 90 degrees into a comparison voltage, and compares the reference voltage VRT and the reference voltage VRB. A / D conversion means having a chopper comparator that uses a voltage between resistors connected in series between them as a comparison voltage, and offset errors of the A-phase signal and B-phase signal are corrected based on data output from the AD conversion means. Then, an inverted A phase signal obtained by inverting the A phase signal and an inverted B phase signal obtained by inverting the B phase signal are generated, and based on the A phase signal, the inverted A phase signal, the B phase signal, and the inverted B phase signal. And an arithmetic means for generating a multiplied signal obtained by multiplying one cycle of the incremental encoder in one cycle, an AD conversion means and a clock generator for supplying an operation clock to the arithmetic means. There is provided an encoder position detection circuit, wherein the door.

本発明においては、A相信号と1サイクル前のA相信号又はB相信号と1サイクル前のB相信号との相加平均を算出することにより、A相信号のサンプリング時間とB相信号のサンプリング時間とを仮想的に一致させることが好ましい。また、基準電圧VRTと基準電圧VRBとの間には、2以上の抵抗が直列に接続されていることが好ましい。   In the present invention, by calculating the arithmetic average of the A phase signal and the A phase signal of the previous cycle or the B phase signal and the B phase signal of the previous cycle, the sampling time of the A phase signal and the B phase signal are calculated. It is preferable to virtually match the sampling time. Further, it is preferable that two or more resistors are connected in series between the reference voltage VRT and the reference voltage VRB.

本発明によれば、オフセットの影響を受けず、かつ製造コストが低いエンコーダ位置検出回路を提供できる。   According to the present invention, it is possible to provide an encoder position detection circuit that is not affected by an offset and has a low manufacturing cost.

〔第1の実施形態〕
本発明を好適に実施した第1の実施形態について説明する。図1に本実施形態に係るエンコーダ位置検出回路の構成を示す。このエンコーダ位置検出回路は、クロックジェネレータ(CLKGEN)1、AD変換部2及び演算部3を有する。
クロックジェネレータ1は、クロック信号を生成し、AD変換部2及び演算部3へ出力する。AD変換部2は、クロックジェネレータ1から入力されるクロック信号に応じて作動し、AIN及びBINから入力されるアナログ信号をデジタル信号に変換する。演算部3は、AD変換部3が出力するデジタル信号に所定の演算処理を施して、逓倍信号としてモータ制御部4へと出力する。
[First Embodiment]
A first embodiment in which the present invention is suitably implemented will be described. FIG. 1 shows a configuration of an encoder position detection circuit according to this embodiment. The encoder position detection circuit includes a clock generator (CLKGEN) 1, an AD conversion unit 2, and a calculation unit 3.
The clock generator 1 generates a clock signal and outputs it to the AD conversion unit 2 and the calculation unit 3. The AD converter 2 operates according to the clock signal input from the clock generator 1 and converts the analog signals input from AIN and BIN into digital signals. The calculation unit 3 performs a predetermined calculation process on the digital signal output from the AD conversion unit 3 and outputs the digital signal to the motor control unit 4 as a multiplied signal.

CLKINからクロックジェネレータ1に入力されるクロック信号がマスタークロックである。エンコーダからのA相信号及びB相信号は、AIN及びBINにそれぞれ入力される。VRT及びVRBは、AD変換部2の基準電圧の入力端子である。   A clock signal input from CLKIN to the clock generator 1 is a master clock. The A-phase signal and B-phase signal from the encoder are input to AIN and BIN, respectively. VRT and VRB are input terminals for the reference voltage of the AD converter 2.

図2に、AD変換部2の構成を示す。VRTとVRBとの間には、複数の抵抗素子が直列に接続されており、各抵抗素子の両端の電圧が比較電圧となっている。比較対象の電圧(被比較電圧)は、クロックジェネレータ1から入力されるINSEL及びINSELB信号に応じてスイッチを切り替えることでAIN又はBINから入力され、INA信号となる。
抵抗分割された基準電圧と、INA信号とを比較する回路は、チョッパ型コンパレータで構成される。チョッパ型コンパレータのスイッチの切り替えは、クロックジェネレータ1から入力されるINCK信号及びCPCK信号に応じて行われる。チョッパ型コンパレータにおける比較結果であるHD0〜HD14の各信号は、エンコード部へ入力される。
FIG. 2 shows a configuration of the AD conversion unit 2. A plurality of resistance elements are connected in series between VRT and VRB, and a voltage at both ends of each resistance element is a comparison voltage. The voltage to be compared (voltage to be compared) is input from AIN or BIN by switching the switch according to the INSEL and INSELB signals input from the clock generator 1 and becomes an INA signal.
A circuit that compares the resistance-divided reference voltage and the INA signal is configured by a chopper comparator. The switch of the chopper type comparator is switched according to the INCK signal and the CPCK signal input from the clock generator 1. Each signal of HD0 to HD14, which is a comparison result in the chopper type comparator, is input to the encoding unit.

図3に、エンコード部の構成を示す。HD0〜HD14の各信号をインバータで反転させた後、クロックジェネレータ1から入力されるCLK信号の立ち上がりタイミングでラッチする。ラッチ後、3入力のAND回路で隣のビットとのアンドをとる。これにより、ノイズなどの影響で異常な比較結果が得られることの無いようにしている。3入力ANDの比較結果であるENN0〜ENN14の各信号は、エンコード回路へ入力される。   FIG. 3 shows the configuration of the encoding unit. Each signal of HD0 to HD14 is inverted by an inverter and then latched at the rising timing of the CLK signal input from the clock generator 1. After latching, AND with the adjacent bit is performed by a 3-input AND circuit. Thus, an abnormal comparison result is not obtained due to the influence of noise or the like. Each signal of ENN0 to ENN14, which is the comparison result of the 3-input AND, is input to the encoding circuit.

図4にエンコード回路の構成を示す。図示するように、エンコード回路は、15ビットの入力を4ビットに変換する回路である。   FIG. 4 shows the configuration of the encoding circuit. As shown in the figure, the encoding circuit is a circuit that converts a 15-bit input into 4 bits.

図5に、AD変換部2の動作タイミングを示す。
AIN、BINはA相、B相の信号入力である。CLKINは、マスタークロック入力である。INSEL及びINSELBは、CLKINから2分周された信号である。INSEL及びINSELBは、スイッチ切り替え時の信号の衝突を防止するためにノンオーバラップ信号となっている。INSEL=1の時にAIN入力とINAとが接続され、INSELB=1の時にBINとINAとが接続される。INCK及びCPCKは、チョッパ型コンパレータのスイッチ信号であり、INCK=1の期間がサンプリング期間、CPCK=1の期間が基準電圧との比較期間である。HD0〜HD14は、チョッパ型コンパレータの出力信号であり、INCK=1の期間はインバータの入出力が接続されるため、LSIの中間電位となり、CPCK=1の期間に比較結果が出力される。図5において、(1)の期間はA相入力のサンプリング期間である。また、(2)の期間はA相の比較出力期間である。また、(3)の期間はB相入力のサンプリング期間である。また、(4)の期間はB相の比較出力期間である。HD[14:0]は、HD0〜HD14をバス表記(HD14をMSB、HD0をLSBとする15ビット表記)した信号である。HD_B[14:0]は、HD[14:0]の反転信号である。CLKは、クロックジェネレータ1からのクロック入力であり、このクロックの立ち上がり時にHD_B信号をラッチしている。ENIN[14:0]は、隣接ビットとの3入力AND出力信号であり、エンコード回路へ入力される信号である。ENOUT[3:0]は、エンコード回路からの出力信号である。
FIG. 5 shows the operation timing of the AD conversion unit 2.
AIN and BIN are A-phase and B-phase signal inputs. CLKIN is a master clock input. INSEL and INSELB are signals divided by two from CLKIN. INSEL and INSELB are non-overlapping signals in order to prevent collision of signals when switching. When INSEL = 1, the AIN input and INA are connected, and when INSELB = 1, BIN and INA are connected. INCK and CPCK are switch signals of the chopper type comparator, the period of INCK = 1 is the sampling period, and the period of CPCK = 1 is the comparison period with the reference voltage. HD0 to HD14 are output signals of the chopper type comparator. Since the input / output of the inverter is connected during the period of INCK = 1, the intermediate potential of the LSI is obtained, and the comparison result is output during the period of CPCK = 1. In FIG. 5, the period (1) is a sampling period of A-phase input. The period (2) is an A-phase comparative output period. The period (3) is a B-phase input sampling period. The period (4) is a B-phase comparative output period. HD [14: 0] is a signal in which HD0 to HD14 are represented by a bus (15 bits represented by HD14 as MSB and HD0 as LSB). HD_B [14: 0] is an inverted signal of HD [14: 0]. CLK is a clock input from the clock generator 1, and the HD_B signal is latched at the rising edge of this clock. ENIN [14: 0] is a 3-input AND output signal with adjacent bits, and is a signal input to the encoding circuit. ENOUT [3: 0] is an output signal from the encoding circuit.

図示するように、(1)、(2)の期間でサンプリングが行われ、CLKの半サイクル後にデジタルコード化される。   As shown in the figure, sampling is performed during the periods (1) and (2), and digital coding is performed after a half cycle of CLK.

図6に、演算部3の構成を示す。演算部3は、平均検出回路31、反転回路32、補正処理回路33及び逓倍信号出力回路34を有する。   FIG. 6 shows the configuration of the calculation unit 3. The calculation unit 3 includes an average detection circuit 31, an inverting circuit 32, a correction processing circuit 33, and a multiplied signal output circuit 34.

CLKはAD変換部2へ入力されるものと同じものであり、クロックジェネレータ1から入力される。ENOUT[3:0]は、AD変換部2の出力信号である。ABSELは、図10に示すように、ENOUTのデータが、A相、B相どちらの変換データであるかを1サイクルごとに示す信号であり、クロックジェネレータ1において生成される。   CLK is the same as that input to the AD converter 2 and is input from the clock generator 1. ENOUT [3: 0] is an output signal of the AD conversion unit 2. As shown in FIG. 10, ABSEL is a signal that indicates whether the ENOUT data is converted data of A phase or B phase for each cycle, and is generated in the clock generator 1.

ADATAは、ASEL=1の時にCLKの立ち上がりでENOUTをラッチした信号であり、A相の変換データをラッチしたものである。BDATAは、ASEL=0の時にCLKの立ち上がりでENOUTをラッチした信号であり、B相の変換データをラッチしたものである。   ADATA is a signal obtained by latching ENOUT at the rising edge of CLK when ASEL = 1, and is obtained by latching A-phase conversion data. BDATA is a signal obtained by latching ENOUT at the rising edge of CLK when ASEL = 0, and is obtained by latching B-phase conversion data.

BFAD及びBFBDは、それぞれA相、B相の1サイクル前のデータがラッチされる。   In BFAD and BFBD, data of one cycle before the A phase and the B phase are latched, respectively.

平均検出回路31は、ADATA、BDATA、BFAD及びBFBD信号を基に、A相及びB相のそれぞれについて最小値及び最大値を検出し、その最小値及び最大値から平均値を算出する回路である。平均検出回路は、A相の平均値としてAAVEREGを、B相の平均値としてBAVEREGを出力する。なお、平均検出回路31の構成については後段で詳細に説明する。   The average detection circuit 31 is a circuit that detects a minimum value and a maximum value for each of the A phase and the B phase based on the ADATA, BDATA, BFAD, and BFBD signals, and calculates an average value from the minimum value and the maximum value. . The average detection circuit outputs AAVEREG as the average value of the A phase and BAVEREG as the average value of the B phase. The configuration of the average detection circuit 31 will be described in detail later.

反転回路32は、A/D変換部2から入力されるEOUTを平均検出回路31から入力されるAAVREGで反転させてXDATAとして出力する。
反転処理回路は次のような処理を行う
assign XDATA=AAVEREG-(ENOUT-AAVEREG);
The inversion circuit 32 inverts EOUT input from the A / D conversion unit 2 with AAVREG input from the average detection circuit 31 and outputs the result as XDATA.
The inversion processing circuit performs the following processing
assign XDATA = AAVEREG- (ENOUT-AAVEREG);

補正処理回路33は、A相信号とB相信号とのずれを補正するための回路であり、次のような処理を行う。
assign ABDIFF=AAVEREG-BAVEREG;
assign BDATAX=ENOUT+ABDIFF
assign XBDATA=AAVEREG-(BDATAX-AAVEREG);
The correction processing circuit 33 is a circuit for correcting a shift between the A phase signal and the B phase signal, and performs the following processing.
assign ABDIFF = AAVEREG-BAVEREG;
assign BDATAX = ENOUT + ABDIFF
assign XBDATA = AAVEREG- (BDATAX-AAVEREG);

XADATAは、ENOUTからAAVEREGを引いた値をAAVEREGから減じた結果であり、後段のフリップフロップ(FF)でADATABとしてラッチされる。BDATAXは、AAVEREGとBAVEREGとの差分をENOUTに加算した結果であり、後段のFFでBDATA2としてラッチされる。XBDATAは、BDATAXをAAVEREGで反転させた計算結果であり、後段のFFにおいてBDATABとしてラッチされる。
B相のデータをAAVEREGとBAVEREGとの差分で補正することで、図14に示すように、B相のデータをA相の平均値を中心とする信号へ補正できる。
XADATA is a result of subtracting AAVEREG from ENOUT from AAVEREG, and is latched as ADATAB by a subsequent flip-flop (FF). BDATAX is the result of adding the difference between AAVEREG and BAVEREG to ENOUT, and is latched as BDATA2 by the subsequent FF. XBDATA is a calculation result obtained by inverting BDATAX with AAVEREG, and is latched as BDATAB in the subsequent FF.
By correcting the B phase data with the difference between AAVEREG and BAVEREG, the B phase data can be corrected to a signal centered on the average value of the A phase, as shown in FIG.

逓倍信号出力回路34は、エンコーダの1周期を逓倍した信号を出力する回路であり、次のような処理を行う。
assign AOUT0=(ADATA>=ADATAB)?1b'1:1'B0;
assign AOUT1=(BDATA>=BDATAB)?1'b1:1'B0;
assign AOUT2=(ADATA>=BDATAB)?1'b1:1'B0;
assign AOUT3=(ADATA>=BDATA2)?1'b1:1'B0:
assign EXOUT0=AOUT0^AOUT1;
assign EXOUT1=AOUT2^AOUT3;
assign EXOUT=EXOUT=EXOUT0^EXOUT1;
The multiplication signal output circuit 34 outputs a signal obtained by multiplying one cycle of the encoder, and performs the following processing.
assign AOUT0 = (ADATA> = ADATAB)? 1b'1: 1'B0;
assign AOUT1 = (BDATA> = BDATAB)? 1'b1: 1'B0;
assign AOUT2 = (ADATA> = BDATAB)? 1'b1: 1'B0;
assign AOUT3 = (ADATA> = BDATA2)? 1'b1: 1'B0:
assign EXOUT0 = AOUT0 ^ AOUT1;
assign EXOUT1 = AOUT2 ^ AOUT3;
assign EXOUT = EXOUT = EXOUT0 ^ EXOUT1;

逓倍信号AOUT、EXOUTは、ADATA、ADATAB、BDATA2、BDATABを基にして、図6中に示す論理式によって算出される。   The multiplied signals AOUT and EXOUT are calculated by the logical expressions shown in FIG. 6 based on ADATA, ADATAB, BDATA2, and BDATAB.

図7に、平均検出回路31の構成を示す。また、図8に平均検出回路の動作タイミングを示す。   FIG. 7 shows the configuration of the average detection circuit 31. FIG. 8 shows the operation timing of the average detection circuit.

平均検出回路31は、A相カウンタ311、B相カウンタ312、A相フラグ判定部313、B相フラグ判定部314、A相最大値・最小値袖手粒315、B相最大値・最小値抽出部316、A相最大値・最小値選択部317、B相最大値・最小値選択部318及び平均値出力部319を有する。   The average detection circuit 31 includes an A-phase counter 311, a B-phase counter 312, an A-phase flag determination unit 313, a B-phase flag determination unit 314, an A-phase maximum value / minimum value sleeve grain 315, and a B-phase maximum value / minimum value extraction. A unit 316, a phase A maximum / minimum value selector 317, a phase B maximum / minimum value selector 318, and an average value output unit 319.

A相カウンタ311は、A相の入力データとバッファされているA相のデータとを比較し、バッファされているデータよりも入力データの方が大きい状態が所定サイクル連続したか否かを判断する。
A相カウンタ311は、次のような処理を行う。
always @(posedge CLK)begin
if (aict==2'b11 | BFAD>ADATA)aint<=2'b00;
else if(BFAD<ADATA)aict<=aint+1;
else aict<=aict;
end
assign AUPFLG=(aict==2'b10);
always @(posedge CLK)begin
if(aict2==2'b11 | BFAD<ADATA)aict2<=2'b00;
else if(BFAD>ADATA)aict2<=aict2+1;
else aict2<=aict2;
end
assign ADOWNFLG=(aict2==2'b10);
The A-phase counter 311 compares the A-phase input data with the buffered A-phase data, and determines whether or not a state in which the input data is larger than the buffered data continues for a predetermined cycle. .
The A phase counter 311 performs the following processing.
always @ (posedge CLK) begin
if (aict == 2'b11 | BFAD> ADATA) aint <= 2'b00;
else if (BFAD <ADATA) aict <= aint + 1;
else aict <= aict;
end
assign AUPFLG = (aict == 2'b10);
always @ (posedge CLK) begin
if (aict2 == 2'b11 | BFAD <ADATA) aict2 <= 2'b00;
else if (BFAD> ADATA) aict2 <= aict2 + 1;
else aict2 <= aict2;
end
assign ADOWNFLG = (aict2 == 2'b10);

B相カウンタ312は、B相の入力データとバッファされているB相のデータとを比較し、バッファされているデータよりも入力データの方が大きい状態が所定サイクル連続したか否かを判断する。
B相カウンタ312は、次のような処理を行う。
always @(posedge CLK)begin
if (aict==2'b11 | BFBD>BDATA)aint<=2'b00;
else if(BFBD<BDATA)bict<=bint+1;
else bict<=bict;
end
assign BUPFLG=(bict==2'b10);
always @(posedge CLK)begin
if(bict2==2'b11 | BFBD<BDATA)bict2<=2'b00;
else if(BFBD>BDATA)bict2<=bict2+1;
else bict2<=bict2;
end
assign BDOWNFLG=(bict2==2'b10);
The B-phase counter 312 compares the B-phase input data with the buffered B-phase data, and determines whether or not a state in which the input data is larger than the buffered data continues for a predetermined cycle. .
The B-phase counter 312 performs the following processing.
always @ (posedge CLK) begin
if (aict == 2'b11 | BFBD> BDATA) aint <= 2'b00;
else if (BFBD <BDATA) bict <= bint + 1;
else bict <= bict;
end
assign BUPFLG = (bict == 2'b10);
always @ (posedge CLK) begin
if (bict2 == 2'b11 | BFBD <BDATA) bict2 <= 2'b00;
else if (BFBD> BDATA) bict2 <= bict2 + 1;
else bict2 <= bict2;
end
assign BDOWNFLG = (bict2 == 2'b10);

AUPFLGは、ADATAがBFADよりも大きい場合にONする信号で、ADOWNFLGは、ADATAがBFADよりも小さい場合にONする信号である。BUPFLGは、BDATAがBFBDよりも大きい場合にONする信号で、BDOWNFLGは、BDATAがBFBDよりも小さい場合にONする信号である。
ADATA(又はBDATA)がBFAD(又はBFBD)よりも2サイクル続けて大きい(又は小さい)場合に、ADATA(又はBDATA)がBFAD(又はBFBD)よりも大きい(又は小さい)と判断する。例えば、ADATAが1サイクルの間BFADを上回っても、次のサイクルでBFADを下回ったらAUPFLGはONしない。このようにすることで、ノイズなどの影響を無くすためにヒステリシスを入れた場合と同様の効果が得られる。なお、上記の回数は任意に変更可能であることは言うまでもない。
AUPFLG is a signal that is turned on when ADATA is larger than BFAD, and ADOWNFLG is a signal that is turned on when ADATA is smaller than BFAD. BUPFLG is a signal that is turned on when BDATA is larger than BFBD, and BDOWNFLG is a signal that is turned on when BDATA is smaller than BFBD.
When ADATA (or BDATA) is larger (or smaller) than BFAD (or BFBD) for two consecutive cycles, it is determined that ADATA (or BDATA) is larger (or smaller) than BFAD (or BFBD). For example, even if ADATA exceeds BFAD for one cycle, AUPFLG does not turn ON if it falls below BFAD in the next cycle. By doing so, the same effect as when hysteresis is added to eliminate the influence of noise and the like can be obtained. Needless to say, the number of times can be arbitrarily changed.

A相フラグ判定部313は、AUPFLG又はADOWNFLGがONになっているか否かを判断する。
A相フラグ判定部313は、次のような動作を行う。
always @(posedge CLK)begin
if (ADOWNFLG) AUPREG<=1'b0;
else if(AUPREG==1'b1)AUPREG<=1'b1;
else AUPREG<=AUPREG;
end
always @(posedge CLK)begin
if(AUPFLG) ADNREG<=1'b0;
else if (ADOWNFLG=1'b1)ADNREG<=1b1;
else ADNREG<=ADNREG;
end
A-phase flag determination unit 313 determines whether AUPFLG or ADOWNFLG is ON.
The A-phase flag determination unit 313 performs the following operation.
always @ (posedge CLK) begin
if (ADOWNFLG) AUPREG <= 1'b0;
else if (AUPREG == 1'b1) AUPREG <= 1'b1;
else AUPREG <= AUPREG;
end
always @ (posedge CLK) begin
if (AUPFLG) ADNREG <= 1'b0;
else if (ADOWNFLG = 1'b1) ADNREG <= 1b1;
else ADNREG <= ADNREG;
end

AUPREGは、AUPFLGがONするとONとなり、ADOWNFLGがONしたらOFFする信号である。ADNREGは、AUPREGとは逆に、ADOWNFLGがONしたらONとなり、AUPFLGがONしたらOFFする信号である。   AUPREG is a signal that is turned on when AUPFLG is turned on and turned off when ADOWNFLG is turned on. In contrast to AUPREG, ADNREG is a signal that is turned on when ADOWNFLG is turned on and turned off when AUPFLG is turned on.

B相フラグ判定部314は、BUPFLG又はBDOWNFLGがONになっているか否かを判断する。
B相フラグ判定部314は、次のような動作を行う。
always @(posedge CLK)begin
if (BDOWNFLG) BUPREG<=1'b0;
else if(BUPREG==1'b1)BUPREG<=1'b1;
else BUPREG<=BUPREG;
end
always @(posedge CLK)begin
if(BUPFLG) BDNREG<=1'b0;
else if (BDOWNFLG=1'b1)BDNREG<=1b1;
else BDNREG<=BDNREG;
end
The B phase flag determination unit 314 determines whether BUPFLG or BDOWNFLG is ON.
The B-phase flag determination unit 314 performs the following operation.
always @ (posedge CLK) begin
if (BDOWNFLG) BUPREG <= 1'b0;
else if (BUPREG == 1'b1) BUPREG <= 1'b1;
else BUPREG <= BUPREG;
end
always @ (posedge CLK) begin
if (BUPFLG) BDNREG <= 1'b0;
else if (BDOWNFLG = 1'b1) BDNREG <= 1b1;
else BDNREG <= BDNREG;
end

BUPREGは、BUPFLGがONするとONとなり、BDOWNFLGがONしたらOFFする信号である。BDNREGは、BUPREGとは逆に、BDOWNFLGがONしたらONとなり、BUPFLGがONしたらOFFする信号である。   BUPREG is a signal that is turned on when BUPFLG is turned on and turned off when BDOWNFLG is turned on. In contrast to BUPREG, BDNREG is a signal that is turned on when BDOWNFLG is turned on and turned off when BUPFLG is turned on.

A相最大値・最小値抽出部315は、A相信号の変化を監視して最大値及び最小値を抽出する。A相信号最大値・最小値抽出部315は、次のような処理を行う。
always @(posedge CLK)begin
if (ADOWNFLG) AMAX<=4'b0111;
else if(AMAX<=ADATA)AMAX<=ADATA;
else AMAX<=AMAX;
end
always @(posedge CLK)begin
if(AUPFLG) AMIN<=4'b0111;
else if(AMIN>=ADATA)AMIN<=ADATA;
else AMIN<=AMIN;
end
The A-phase maximum / minimum value extraction unit 315 monitors changes in the A-phase signal and extracts maximum and minimum values. The A-phase signal maximum value / minimum value extraction unit 315 performs the following processing.
always @ (posedge CLK) begin
if (ADOWNFLG) AMAX <= 4'b0111;
else if (AMAX <= ADATA) AMAX <= ADATA;
else AMAX <= AMAX;
end
always @ (posedge CLK) begin
if (AUPFLG) AMIN <= 4'b0111;
else if (AMIN> = ADATA) AMIN <= ADATA;
else AMIN <= AMIN;
end

AMAXは、ADNREGがONの間は中間値(ここでは演算部3が4bitの構成だるため“7”)であり、ADNREGがOFFの間はADATAがAMAXよりも大きければADATAが取り込まれる。この動作によってADATAの最大値が検出される。一方、AMINは、AUPREGがONの間は中間値であり、AUPREGがOFFの間はADATAがAMINよりも小さければADATAが取り込まれる。この動作によってADATAの最小値が検出される。   AMAX is an intermediate value while ADNREG is ON (here, “7” because the arithmetic unit 3 has a 4-bit configuration), and ADATA is captured when ADATA is greater than AMAX while ADNREG is OFF. By this operation, the maximum value of ADATA is detected. On the other hand, AMIN is an intermediate value while AUPREG is ON, and ADATA is taken in if ADATA is smaller than AMIN while AUPREG is OFF. By this operation, the minimum value of ADATA is detected.

B相最大値・最小値抽出部316は、B相信号の変化を監視して最大値及び最小値を抽出する。B相信号最大値・最小値抽出部316は、次のような処理を行う。
always @(posedge CLK)begin
if (BDOWNFLG) BMAX<=4'b0111;
else if(BMAX<=BDATA)BMAX<=BDATA;
else BMAX<=BMAX;
end
always @(posedge CLK)begin
if(BUPFLG) BMIN<=4'b0111;
else if(BMIN>=BDATA)BMIN<=BDATA;
else BMIN<=BMIN;
end
The B-phase maximum / minimum value extraction unit 316 monitors changes in the B-phase signal and extracts maximum and minimum values. The B-phase signal maximum value / minimum value extraction unit 316 performs the following processing.
always @ (posedge CLK) begin
if (BDOWNFLG) BMAX <= 4'b0111;
else if (BMAX <= BDATA) BMAX <= BDATA;
else BMAX <= BMAX;
end
always @ (posedge CLK) begin
if (BUPFLG) BMIN <= 4'b0111;
else if (BMIN> = BDATA) BMIN <= BDATA;
else BMIN <= BMIN;
end

BMAX及びBMINは、AMAX及びAMINと同様にして出力値が決定され、上記同様にBDATAの最大値及び最小値を検出する。   The output values of BMAX and BMIN are determined in the same manner as AMAX and AMIN, and the maximum value and the minimum value of BDATA are detected in the same manner as described above.

A相最大値・最小値選択部317は、A相信号の最大値及び最小値を所定のタイミングでラッチする。A相最大値・最小値選択部317は、次のような処理を行う。
assign aulat=adownfig & !adwreg;
assign adnlat=aupflg & !aupreg;
always @(posedge CLK)begin
if(auplat) AMAX2<=AMAX;
else AMAX2<=AMAX2;
end
always @(posedge CLK)begin
if(adnlat)AMIN2<=AMIN;
else AMIN<=AMIN2;
end
assign ALAT=auplat||adnlat;
The A-phase maximum / minimum value selector 317 latches the maximum and minimum values of the A-phase signal at a predetermined timing. The A-phase maximum / minimum value selection unit 317 performs the following processing.
assign aulat = adownfig &! adwreg;
assign adnlat = aupflg &! aupreg;
always @ (posedge CLK) begin
if (auplat) AMAX2 <= AMAX;
else AMAX2 <= AMAX2;
end
always @ (posedge CLK) begin
if (adnlat) AMIN2 <= AMIN;
else AMIN <= AMIN2;
end
assign ALAT = auplat || adnlat;

AMAX2は、ADOWNFLG&!ADNREGの論理式の結果auplatが正の場合のCLKの立ち上がりでラッチされる。ADOWNFLG&!ADNREGの論理式の結果auplatが正とは、ADATAが減少し始めた時の最初の1サイクルでONされる信号である。
AMIN2は、AUPFLG&!AUPREGの論理式の結果adnlatが正の場合のCLKの立ち上がりでラッチされる。AUPFLG&!AUPREGの論理式の結果adnlatが正とは、ADATAが増加し始めた時の最初の1サイクルでONされる信号である。
AMAX2 is ADOWNNFLG &! Latched at the rising edge of CLK when the result of the logic expression of ADNREG is positive. ADOWNFLG &! A positive of the result of the logical expression of ADNREG is a signal that is turned ON in the first cycle when ADATA starts to decrease.
AMIN2 is AUPFLG &! Latched at the rising edge of CLK when the result of the AUPREG logical expression adnlat is positive. AUPFLG &! The positive result adnreg of AUPREG is a signal that is turned ON in the first cycle when ADATA begins to increase.

B相最大値・最小値選択部318は、B相信号の最大値及び最小値を所定のタイミングでラッチする。B相最大値・最小値選択部318は、次のような処理を行う。
assign bulat=bdownfig & !bdnreg;
assign bdnlat=bupflg & !bupreg;
always @(posedge CLK)begin
if(buplat) BMAX2<=BMAX;
else BMAX2<=BMAX2;
end
always @(posedge CLK)begin
if(bdnlat)BMIN2<=BMIN;
else BMIN<=BMIN2;
end
assign BLAT=buplat||bdnlat;
The B-phase maximum / minimum value selection unit 318 latches the maximum and minimum values of the B-phase signal at a predetermined timing. The B-phase maximum value / minimum value selection unit 318 performs the following processing.
assign bulat = bdownfig &! bdnreg;
assign bdnlat = bupflg &! bupreg;
always @ (posedge CLK) begin
if (buplat) BMAX2 <= BMAX;
else BMAX2 <= BMAX2;
end
always @ (posedge CLK) begin
if (bdnlat) BMIN2 <= BMIN;
else BMIN <= BMIN2;
end
assign BLAT = buplat || bdnlat;

BMAX2は、BDOWNFLG&!BDNREGの論理式の結果buplatが正の場合のCLKの立ち上がりでラッチされる。BDOWNFLG&!BDNREGの論理式の結果buplatが正とは、BDATAが減少し始めた時の最初の1サイクルでONされる信号である。
BMIN2は、BUPFLG&!BUPREGの論理式の結果bdnlatが正の場合のCLKの立ち上がりでラッチされる。BUPFLG&!BUPREGの論理式の結果bdnlatが正とは、BDATAが増加し始めた時の最初の1サイクルでONされる信号である。
BMAX2 is BDOWNNFLG &! Latched at the rising edge of CLK when the Bupreg logical expression result buplat is positive. BDOWNNFLG &! A positive bupreg as a result of the logical expression of BDNREG is a signal that is turned on in the first cycle when BDATA starts to decrease.
BMIN2 is BUPFLG &! Latched at the rising edge of CLK when bdnlat is positive as a result of the logical expression of BUPREG. BUPFLG &! The positive bdnlat as a result of the logical expression of BUPREG is a signal that is turned ON in the first cycle when BDATA starts to increase.

なお、ALATは、auplatとadnlatとの論理和信号、BLATはbuplatとbdnlatとの論理和信号である。   ALAT is a logical sum signal of auplat and adnlat, and BLAT is a logical sum signal of buplat and bdnlat.

平均値出力部319は、A相信号の平均値及びB相信号の平均値を出力する。平均値出力部319は、次のような処理を行う。
assign aave=(AMAX2-AMIN2)/2+AMIN2;
assign bave=(BMAX2-BMIN2)/2+BMIN2;
always @(posedge CLKS)begin
if(ALAT)AAVEREG<=aave;
else AAVEREG<=AAVEREG;
end
always @(posedge CLK)begin
if(BLAT)BAVEREG<=bave;
else BAVEREG<=BAVEREG<=BAVEREG;
end
Average value output section 319 outputs the average value of the A-phase signal and the average value of the B-phase signal. The average value output unit 319 performs the following processing.
assign aave = (AMAX2-AMIN2) / 2 + AMIN2;
assign bave = (BMAX2-BMIN2) / 2 + BMIN2;
always @ (posedge CLKS) begin
if (ALAT) AAVEREG <= aave;
else AAVEREG <= AAVEREG;
end
always @ (posedge CLK) begin
if (BLAT) BAVEREG <= bave;
else BAVEREG <= BAVEREG <= BAVEREG;
end

AAVEREGは、AMAX2、AMIN2の平均値がALATでONでCLKの立ち上がりでラッチされる。BAVEREGは、BMAX2、BMIN2の平均値がBLATがONでCLKの立ち上がりでラッチされる。   AAVEREG is latched at the rising edge of CLK when the average value of AMAX2 and AMIN2 is ALAT and ON. BAVEREG is latched at the rising edge of CLK when the average value of BMAX2 and BMIN2 is BLAT ON.

このような回路構成とすることにより、図9に示すように、AINの変化に対応してAMAX2、AMIN2及びAAVEREGが追従できる。   By adopting such a circuit configuration, as shown in FIG. 9, AMAX2, AMIN2, and AAVEREG can follow the change of AIN.

図11に、A相とB相との間にオフセットがあった場合の演算回路の動作を示す。ここではオフセットの値が“2”の場合を示すが、BDATAがオフセット(ABDIFF)分加算されてBDATA2となり、A相とのオフセット調整がされている。ここではBDATAをAAVEREGで補正する方式を示しているが、ADATAをBAVEREGで補正しても同様の効果が得られる。   FIG. 11 shows the operation of the arithmetic circuit when there is an offset between the A phase and the B phase. Here, the case where the offset value is “2” is shown, but BDATA is added by the amount of the offset (ABDIFF) to become BDATA2, and the offset adjustment with the A phase is performed. Here, a method of correcting BDATA by AAVEREG is shown, but the same effect can be obtained by correcting ADATA by BAVEREG.

図12に、BDATA2にオフセット調整を行わない回路構成での信号波形を示す。この場合には、オフセット調整を行う場合(図11に示す波形)と比較して1周期の逓倍誤差が大きくなる。   FIG. 12 shows signal waveforms in a circuit configuration in which offset adjustment is not performed on BDATA2. In this case, the multiplication error of one cycle becomes larger than that in the case of performing offset adjustment (the waveform shown in FIG. 11).

図13に、AD変換部2の出力及び演算部3の入力が5ビットである場合の信号波形を示す。図11に示す4ビットの場合と比較して、逓倍誤差はさらに減少する。このように、AD変換部2の出力及び演算部3の入力ビット数を大きくすることで、逓倍の精度を高めることができる。   FIG. 13 shows a signal waveform when the output of the AD conversion unit 2 and the input of the calculation unit 3 are 5 bits. Compared to the case of 4 bits shown in FIG. 11, the multiplication error is further reduced. Thus, by increasing the output of the AD conversion unit 2 and the number of input bits of the calculation unit 3, the accuracy of multiplication can be increased.

本実施形態にかかるエンコーダ位置検回路は、A/D変換にチョッパ型のコンパレータを用い、かつA相、B相の信号を一つのA/D変換回路で時分割でA/D変換するため、チップサイズの縮小できる。これにより製造コストを低減できる。しかも、オフセットの影響を受けることなく逓倍信号を出力できる。   The encoder position detection circuit according to the present embodiment uses a chopper type comparator for A / D conversion, and performs A / D conversion of A-phase and B-phase signals in a time-sharing manner by one A / D conversion circuit. The chip size can be reduced. Thereby, manufacturing cost can be reduced. In addition, the multiplied signal can be output without being affected by the offset.

〔第2の実施形態〕
本発明を好適に実施した第2の実施形態について説明する。
エンコーダ位置検出回路の構成は第1の実施形態と同様である。ただし、本実施形態においては、演算部3の構成が第1の実施形態と相違する。
[Second Embodiment]
A second embodiment in which the present invention is suitably implemented will be described.
The configuration of the encoder position detection circuit is the same as that of the first embodiment. However, in this embodiment, the structure of the calculating part 3 is different from 1st Embodiment.

図21に、本実施形態における演算部3の構成を示す。本実施形態において、演算部3は、平均検出回路31、反転回路32、補正処理回路33’及び逓倍信号出力回路34’を有する。   FIG. 21 shows a configuration of the calculation unit 3 in the present embodiment. In the present embodiment, the calculation unit 3 includes an average detection circuit 31, an inverting circuit 32, a correction processing circuit 33 ', and a multiplied signal output circuit 34'.

平均値検出回路31及び反転回路32は、第1の実施形態の演算部3のものと同様である。   The average value detection circuit 31 and the inverting circuit 32 are the same as those of the calculation unit 3 of the first embodiment.

補正処理回路33’は、A相信号とB相信号とのずれを補正するための回路であり、次のような処理を行う。
assign ABDIFF=AAVEREG-BAVEREG;
assign BDATAX=(ENOUT+BFBD)/2+ABDIFF
assign XBDATA=AAVEREG-(BDATAX-AAVEREG);
The correction processing circuit 33 ′ is a circuit for correcting a shift between the A phase signal and the B phase signal, and performs the following processing.
assign ABDIFF = AAVEREG-BAVEREG;
assign BDATAX = (ENOUT + BFBD) / 2 + ABDIFF
assign XBDATA = AAVEREG- (BDATAX-AAVEREG);

逓倍信号出力回路34’は、エンコーダの1周期を逓倍した信号を出力する回路であり、次のような処理を行う。
assign AOUT0=(ADATA>=ADATAB)?1b'1:1'B0;
assign AOUT1=(BDATA2>=BDATAB)?1'b1:1'B0;
assign AOUT2=(BFAD>=BDATAB)?1'b1:1'B0;
assign AOUT3=(BFAD>=BDATA2)?1'b1:1'B0:
assign EXOUT0=AOUT0^AOUT1;
assign EXOUT1=AOUT2^AOUT3;
assign EXOUT=EXOUT=EXOUT0^EXOUT1;
The multiplied signal output circuit 34 ′ is a circuit that outputs a signal obtained by multiplying one cycle of the encoder, and performs the following processing.
assign AOUT0 = (ADATA> = ADATAB)? 1b'1: 1'B0;
assign AOUT1 = (BDATA2> = BDATAB)? 1'b1: 1'B0;
assign AOUT2 = (BFAD> = BDATAB)? 1'b1: 1'B0;
assign AOUT3 = (BFAD> = BDATA2)? 1'b1: 1'B0:
assign EXOUT0 = AOUT0 ^ AOUT1;
assign EXOUT1 = AOUT2 ^ AOUT3;
assign EXOUT = EXOUT = EXOUT0 ^ EXOUT1;

本実施形態においては、演算部3は、逓倍用信号を生成する比較データにA相、B相の時間差を補正する構成としている。
補正は、B相データについて1サイクル前のデータとの相加平均をとり、その結果を比較用のB相データとしている。また、A相データについては、B相データと同期させるために1サイクル前のデータであるBFADを比較用のA相データとしている。
In this embodiment, the calculating part 3 is set as the structure which correct | amends the time difference of A phase and B phase to the comparison data which produces | generates the signal for multiplication.
In the correction, the arithmetic average of the B phase data and the data one cycle before is taken, and the result is used as the B phase data for comparison. As for the A-phase data, BFAD, which is data one cycle before, is used as the A-phase data for comparison in order to synchronize with the B-phase data.

AD変換部2におけるAD変換は、A相、B相を時分割して行われる。この方法は、A相、B相のアナログ入力に対してサンプリングクロックが高速の場合には、A相、B相のサンプリング時間差による影響は微小であるが、アナログ入力に対してサンプリングクロックが高速で無い場合には、サンプリングの時間差を考慮する必要がある。   The AD conversion in the AD conversion unit 2 is performed by time-sharing the A phase and the B phase. In this method, when the sampling clock is high for the A-phase and B-phase analog inputs, the influence of the sampling time difference between the A-phase and the B-phase is small, but the sampling clock is high-speed for the analog input. If not, it is necessary to consider the sampling time difference.

サンプリングを同時に行うためには、A相及びB相の各々用にサンプリングホールドアンプを設ければ良いが、これを設けると回路の製造コストが増大する。   In order to perform sampling simultaneously, a sampling hold amplifier may be provided for each of the A phase and the B phase. However, if this is provided, the manufacturing cost of the circuit increases.

図22に、アナログ入力に対してサンプリングクロックが十分大きくない場合の、第1の実施形態に係るエンコーダ検出回路の信号波形を示す。A相、B相のサンプリング誤差を明確にするためにA相、B相は同一波形を入力しているが、ADATAとBDATA2とではデータが一致していない。   FIG. 22 shows signal waveforms of the encoder detection circuit according to the first embodiment when the sampling clock is not sufficiently large with respect to the analog input. In order to clarify the sampling errors of the A phase and the B phase, the same waveform is input to the A phase and the B phase, but the data does not match between ADATA and BDATA2.

図23に、アナログ入力に対してサンプリングクロックが十分大きくない場合の本実施形態に係るエンコーダ検出回路の信号波形絵を示す。図示するように、本実施形態では、上記演算を行うことにより、A相、B相データのサンプリング時間差が補正される。図24(a)にアナログ入力信号を、図24(b)に本実施形態にかかるエンコーダ検出回路が備える演算部3の出力信号を、図24(c)に第1の実施形態にかかるエンコーダ検出回路が備える演算部3の出力信号を示す。図示するように、本実施形態では、第1の実施形態と比較してA相とB相との誤差が低減する。   FIG. 23 shows a signal waveform picture of the encoder detection circuit according to the present embodiment when the sampling clock is not sufficiently large with respect to the analog input. As shown in the figure, in the present embodiment, the sampling time difference between the A phase and B phase data is corrected by performing the above calculation. 24A shows an analog input signal, FIG. 24B shows an output signal of the arithmetic unit 3 included in the encoder detection circuit according to this embodiment, and FIG. 24C shows an encoder detection according to the first embodiment. The output signal of the calculating part 3 with which a circuit is provided is shown. As shown in the drawing, in this embodiment, the error between the A phase and the B phase is reduced as compared with the first embodiment.

本実施形態にかかるエンコーダ位置検回路は、A/D変換にチョッパ型のコンパレータを用い、かつA相、B相の信号を一つのA/D変換回路で時分割でA/D変換するため、チップサイズの縮小できる。これにより製造コストを低減できる。しかも、オフセットの影響を受けることなく逓倍信号を出力できる。   The encoder position detection circuit according to the present embodiment uses a chopper type comparator for A / D conversion, and performs A / D conversion of A-phase and B-phase signals in a time-sharing manner by one A / D conversion circuit. The chip size can be reduced. Thereby, manufacturing cost can be reduced. In addition, the multiplied signal can be output without being affected by the offset.

また、特許文献3に開示される発明には、デジタル演算処理で行うA相、B相の位相調整に12ステップを要するため、エンコーダ出力が高速の場合には対応できないという問題があるが、本実施形態にかかるエンコーダ検出装置は、A相、B相の時分割によるサンプリング誤差を補正する回路構成としているため、サンプリングクロックに対してエンコーダの周波数が高くなっても誤差の影響が小さい。すなわち、エンコーダ出力が高速の場合にも対応可能である。   Further, the invention disclosed in Patent Document 3 has a problem that it cannot cope with a high-speed encoder output because it requires 12 steps for phase adjustment of the A phase and the B phase performed by digital arithmetic processing. Since the encoder detection apparatus according to the embodiment has a circuit configuration that corrects a sampling error due to time division of the A phase and the B phase, the influence of the error is small even if the frequency of the encoder is higher than the sampling clock. That is, it is possible to cope with a case where the encoder output is high speed.

なお、上記各実施形態は本発明の好適な実施の一例であり、本発明はこれらに限定されることなく様々な変形が可能である。   Each of the above embodiments is an example of a preferred embodiment of the present invention, and the present invention is not limited to these and can be variously modified.

本発明を好適に実施した第1の実施形態にかかるエンコーダ位置検出回路の構成を示す図である。It is a figure which shows the structure of the encoder position detection circuit concerning 1st Embodiment which implemented this invention suitably. AD変換部の内部構成及びクロックジェネレータとの接続状態を示す図である。It is a figure which shows the internal structure of an AD conversion part, and a connection state with a clock generator. エンコーダ回路の構成を示す図である。It is a figure which shows the structure of an encoder circuit. エンコード回路の構成を示す図である。It is a figure which shows the structure of an encoding circuit. AD変換部の動作タイミングを示す図である。It is a figure which shows the operation timing of an AD conversion part. 演算部の構成を示す図である。It is a figure which shows the structure of a calculating part. 平均検出回路の構成を示す図である。It is a figure which shows the structure of an average detection circuit. 平均検出回路の動作タイミングを示す図である。It is a figure which shows the operation | movement timing of an average detection circuit. (a)は平均検出回路に入力されるA相信号を表す図であり、(b)はA相信号を基に平均検出回路の内部で変換される値を示す図である。(A) is a figure showing the A phase signal input into an average detection circuit, (b) is a figure which shows the value converted inside an average detection circuit based on an A phase signal. 演算部の動作タイミングを示す図である。It is a figure which shows the operation timing of a calculating part. 演算部の動作タイミングを示す図である。It is a figure which shows the operation timing of a calculating part. B相信号にオフセット補正を施さない場合の演算部の動作タイミングを示す図である。It is a figure which shows the operation | movement timing of the calculating part when not performing offset correction to a B-phase signal. 演算部が5bitの演算を行う構成の場合の動作タイミングを示す図である。It is a figure which shows the operation | movement timing in case the calculating part is a structure which calculates 5 bits. (a)はB相信号を基に平均検出回路の内部で変換される値を示す図であり、(b)は、A相信号とA相信号の平均値及びB相信号の平均値との関係を示す図である。(A) is a figure which shows the value converted inside an average detection circuit based on a B-phase signal, (b) is an A-phase signal, the average value of an A-phase signal, and the average value of a B-phase signal. It is a figure which shows a relationship. 従来技術によるエンコーダ検出装置の構成を示す図である。It is a figure which shows the structure of the encoder detection apparatus by a prior art. 従来技術によるエンコーダ検出装置の信号波形を示す図である。It is a figure which shows the signal waveform of the encoder detection apparatus by a prior art. A相信号、B相信号にオフセットが発生した状態を示す図である。It is a figure which shows the state which offset generate | occur | produced in the A phase signal and the B phase signal. A相信号、B相信号にオフセットが発生した状態を示す図である。It is a figure which shows the state which offset generate | occur | produced in the A phase signal and the B phase signal. 特許文献2に開示される発明の構成及び動作を示す図である。It is a figure which shows the structure and operation | movement of the invention disclosed by patent document 2. FIG. 特許文献3に開示される発明の構成及び動作を示す図である。It is a figure which shows the structure and operation | movement of the invention disclosed by patent document 3. FIG. 本発明を好適に実施した第2の実施形態にかかるエンコーダ検出装置が備える演算部の構成を示す図である。It is a figure which shows the structure of the calculating part with which the encoder detection apparatus concerning 2nd Embodiment which implemented this invention suitably is provided. 第1の実施形態にかかるエンコーダ検出装置が備える演算部の動作タイミングを示す図である。It is a figure which shows the operation | movement timing of the calculating part with which the encoder detection apparatus concerning 1st Embodiment is provided. 第2の実施形態にかかるエンコーダ検出装置が備える演算部の動作タイミングを示す図である。It is a figure which shows the operation | movement timing of the calculating part with which the encoder detection apparatus concerning 2nd Embodiment is provided. (a)はアナログ入力信号を示す図であり、(b)は第2の実施形態に係る演算部の出力を示す図であり、(c)は、第1の実施形態にかかる演算部の出力を示す図である。(A) is a figure which shows an analog input signal, (b) is a figure which shows the output of the calculating part which concerns on 2nd Embodiment, (c) is the output of the calculating part concerning 1st Embodiment. FIG.

符号の説明Explanation of symbols

1 クロックジェネレータ
2 AD変換部
3 演算部
4 モータ制御部
31 平均検出回路
32 反転回路
33、33’ 補正処理回路
34、34’ 逓倍信号出力回路
311 A相カウンタ
312 B相カウンタ
313 A相フラグ判定部
314 B相フラグ判定部
315 A相最大値・最小値抽出部
316 B相最大値・最小値抽出部
317 A相最大値・最小値選択部
318 B相最大値・最小値選択部
319 平均値出力部
DESCRIPTION OF SYMBOLS 1 Clock generator 2 AD conversion part 3 Operation part 4 Motor control part 31 Average detection circuit 32 Inversion circuit 33, 33 'Correction processing circuit 34, 34' Multiplication signal output circuit 311 A phase counter 312 B phase counter 313 A phase flag determination part 314 B-phase flag determination unit 315 A-phase maximum / minimum value extraction unit 316 B-phase maximum / minimum value extraction unit 317 A-phase maximum / minimum value selection unit 318 B-phase maximum / minimum value selection unit 319 Average value output Part

Claims (3)

インクリメンタルエンコーダから90度の位相差で出力されるA相信号及びB相信号を時分割して被比較電圧とし、基準電圧VRTと基準電圧VRBとの間に直列に接続された抵抗間の電圧を比較電圧とするチョッパ型コンパレータを備えるAD変換手段と、
前記AD変換手段から出力されるデータを基に前記A相信号及び前記B相信号のオフセット誤差をそれぞれ補正した後、前記A相信号を反転させた反転A相信号と前記B相信号を反転させた反転B相信号とを生成し、前記A相信号、前記反転A相信号、前記B相信号及び前記反転B相信号に基づいて、前記インクリメンタルエンコーダの1周期を逓倍した逓倍信号を1サイクルで生成する演算手段と、
前記AD変換手段及び前記演算手段へ動作クロックを供給するクロックジェネレータとを有することを特徴とするエンコーダ位置検出回路。
The A-phase signal and B-phase signal output with a phase difference of 90 degrees from the incremental encoder are time-divided to be compared voltages, and the voltage between resistors connected in series between the reference voltage VRT and the reference voltage VRB is AD conversion means including a chopper type comparator as a comparison voltage;
After correcting the offset error of the A phase signal and the B phase signal based on the data output from the AD conversion means, the inverted A phase signal and the B phase signal obtained by inverting the A phase signal are inverted. The inverted B phase signal is generated, and a multiplied signal obtained by multiplying one cycle of the incremental encoder based on the A phase signal, the inverted A phase signal, the B phase signal, and the inverted B phase signal is generated in one cycle. A computing means to generate;
An encoder position detection circuit comprising: a clock generator for supplying an operation clock to the AD conversion means and the calculation means.
前記A相信号と1サイクル前のA相信号又は前記B相信号と1サイクル前のB相信号との相加平均を算出することにより、前記A相信号のサンプリング時間と前記B相信号のサンプリング時間とを仮想的に一致させることを特徴とする請求項1記載のエンコーダ位置検出回路。   By calculating an arithmetic average of the A phase signal and the A phase signal one cycle before or the B phase signal and the B phase signal one cycle before, the sampling time of the A phase signal and the sampling of the B phase signal are calculated. 2. The encoder position detection circuit according to claim 1, wherein time is virtually matched. 前記基準電圧VRTと前記基準電圧VRBとの間には、2以上の抵抗が直列に接続されていることを特徴とする請求項1又は2記載のエンコーダ位置検出回路。   3. The encoder position detection circuit according to claim 1, wherein two or more resistors are connected in series between the reference voltage VRT and the reference voltage VRB.
JP2004331117A 2004-11-15 2004-11-15 Encoder position detecting circuit Withdrawn JP2006138822A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004331117A JP2006138822A (en) 2004-11-15 2004-11-15 Encoder position detecting circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004331117A JP2006138822A (en) 2004-11-15 2004-11-15 Encoder position detecting circuit

Publications (1)

Publication Number Publication Date
JP2006138822A true JP2006138822A (en) 2006-06-01

Family

ID=36619737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004331117A Withdrawn JP2006138822A (en) 2004-11-15 2004-11-15 Encoder position detecting circuit

Country Status (1)

Country Link
JP (1) JP2006138822A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018084A (en) * 2010-07-08 2012-01-26 Aisan Ind Co Ltd Rotational position sensor
JP2018021901A (en) * 2016-07-20 2018-02-08 Tdk株式会社 Angle sensor and angle sensor system
CN111351512A (en) * 2020-03-13 2020-06-30 中国科学院长春光学精密机械与物理研究所 Incremental photoelectric encoder signal processing device and processing method
US10836429B2 (en) 2016-07-20 2020-11-17 Tdk Corporation Angle sensor and angle sensor system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018084A (en) * 2010-07-08 2012-01-26 Aisan Ind Co Ltd Rotational position sensor
US8736259B2 (en) 2010-07-08 2014-05-27 Aisan Kogyo Kabushiki Kaisha Rotation position sensor
JP2018021901A (en) * 2016-07-20 2018-02-08 Tdk株式会社 Angle sensor and angle sensor system
US10836429B2 (en) 2016-07-20 2020-11-17 Tdk Corporation Angle sensor and angle sensor system
CN111351512A (en) * 2020-03-13 2020-06-30 中国科学院长春光学精密机械与物理研究所 Incremental photoelectric encoder signal processing device and processing method

Similar Documents

Publication Publication Date Title
EP1869412B1 (en) Proximity detector having a sequential flow state machine
JP4760909B2 (en) PWM signal generation circuit
KR100473813B1 (en) Digital duty cycle correction circuit for multi-phase clock and method thereof
US10784882B2 (en) Analog to digital converter device and method of calibrating clock skew
US7576677B2 (en) Pipeline A/D converter converting analog signal to digital signal
EP2618490A2 (en) Pipelined analog-to-digital converter having reduced power consumption
JP4626581B2 (en) Digitizer
US20140145868A1 (en) Analog-digital converter and analog-digital conversion method
JP2008131298A (en) Analog/digital conversion device, and analog/digital conversion correction method
JP4684028B2 (en) Pipeline A / D converter
JP2002033663A (en) Method for canceling on-line offset in flash analog/ digital converter having interpolation comparator array
JP2006138822A (en) Encoder position detecting circuit
JP6564378B2 (en) ANALOG / DIGITAL CONVERTER, ELECTRONIC DEVICE, AND METHOD FOR CONTROLLING ANALOG / DIGITAL CONVERTER
JP3927478B2 (en) D / A converter
JP2006025365A (en) D/a converter with offset compensation function, and offset compensation method of d/a converter
CN115250337A (en) Column analog-to-digital converter and local counting method thereof
JP5190014B2 (en) Integrating AD conversion circuit and AD conversion method
KR19990045472A (en) Analog-to-digital conversion device with synchronous output signal
KR100667907B1 (en) Analog to digital converter
JP4540829B2 (en) Analog to digital converter
JP2008076382A (en) Serial encoder data conversion circuit, and servo drive system
JP3792363B2 (en) A / D converter
TWI734560B (en) Time-interleaved digital-to-analog converter and associated method
JP5510639B2 (en) AD converter
US11588492B2 (en) Analog to digital converter and a method for analog to digital conversion

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205