
外文资料:一个数字增强分辨率的旋转编码器系统(英文).pdf
6页5RWDU\?(QFRGHU?6\VWHP?ZLWK?’LJLWDOO\?,QFUHDVHG 5HVROXWLRQ)DELR? the number of traces is equal to the number of resolution bits. On the other hand, in an incremental encoder a pulse is generated each time a transparent zone passes above the collimating slit and, therefore, each time the angle of rotation changes by a predetermined amount. Such an encoder needs to count pulses to measure an angle, and has a fixed number of traces on the disc. Control systems for mechanical position require absolute encoders with resolution up to 16 bits, thus leading to large discs, difficult to realise with existing serigraphy techniques.In this paper, we propose a method for increasing the resolution of a rotary encoder without actually increasing the number of traces on the disc. The proposed approach uses an encoder system of mixed absolute/incremental type. It is made up of a disc with 13 traces, 11 carrying an absolute Gray code and 2 providing incremental information. Fig. 1 shows the four outmost traces of the disc (two absolute and two incremental traces).Figure 1. Detail of the mixed absolute/incremental encoder disc The output signal is extracted by 13 photodiodes, 13 readout channels and a dedicated digital signal processing unit (EPU16, 16 bit Encoder Processing Unit). The proposed approach allows the angular position to be determined with 16 bits of accuracy in binary code. Moreover, our solution allows the user to program the resolution over a certain range. Photodiodes, analogue readout channels and the digital processing unit are integrated onto the same chip. In next sections, we will describe the logic blocks that constitute the EPU16 unit, which performs the following main functions: • Gray code to binary code conversion (from the absolute section); • programmable resolution; • increase of maximum resolution from 13 to 16 bits (from the incremental section). EPU16 has been designed using VHDL [2].?$5 • a clock signal (4 MHz); • a reset signal; • a load signal for programming the unit of measure for angles. The 16-bit output bus carries the angular information measured by the sensor and processed by EPU16.DEMUX19GRAY2BIN11BIN2ANG16LOADRESETCLOCKINBUS(19 bit)OUTBUS(16 bit)EPU16GRAYSCALEABS11INC2ABSCH1CH2INC51ST STAGE2ND STAGEFigure 2. Schematic diagram of the digital processing unit EPU16?*5$ with the 5-bit incremental signal Inc5, thus producing a 16-bit binary-coded signal Bin. Then it calculates the output data through the relationship:162ScaleBinOutbus⋅=In this way, the possible input word collisions (i.e., the events when two or more input words correspond to the same output word) are proportionally distributed along the whole circle.?5(62/87,21?,1&5($6(?%) of the absolute binary code, as is shown in Fig. 3. To achieve a correct result from the interpolation process, the allowed maximum frequency of the incremental signal is maxinc,I = 2048 Hz, cor-responding to 60 rpm. This limitation comes from the sampling frequency used in the A/D conversion. However, this does not result in performance degradation of the whole system, because motion control requires a fine regulation only at very low rotation speed.10th bit11th bit12th trace13th traceAngleFigure 3. Absolute and incremental signals from the outmost four traces To achieve a resolution increase of 5 bits through interpolation, 32 stored samples would be needed for each reference. However, it is possible to reduce the number of stored samples by suitably processing the input incremental values. In the interpolated word Inc5, the 3 most significant bits Inc5 correspond to one eighth of a sinewave period. They are calculated directly using the following relationships: ≤>=>, we obtain the two least significant bits Inc5 by a comparison with four values of the sine and cosine references in the interval (0, π/4). To obtain a more area-efficient storing, we combined the two reference signals into the function )sin()cos(1)ref([[[−−=. The function ref([) is periodicalwith period π/2. As shown in Fig. 4, it is very close to linearity, and can beapproximated by 4)ref([[ ≈ for ]4/ , 0[∈[.After this linearisation, only 12 samples with 3-bit resolution need to be stored. The maximum non-linearity error introduced in the interpolation process is about 61LSB. EPU16 has been synthesised from VHDL, and its layout has been generated in a 0.8 µm CMOS technology. The silicon area occupied by the digital processing unit (without the A/D converters) is 1.27 mm2.0pi/163pi/16pi/4.25.50.751ref(x)cos(x)sin(x)pi/8Figure 4. Plot of sin([), cos([) and ref([) for ]4/ , 0[∈[ (first eighth of the period)?&21&/86,21A resolution enhancement technique for rotary encoders has been presented in this paper. The proposed approach is based on mixed absolute/incremental encoding. It increases the encoder resolution up to 16 bits, while using a 13-bit encoder disc. The dedicated digital processing circuitry is programmable and allows output data to be expressed in the unit of measure sele。
