NJU39612 MICROSTEPPING MOTOR CONTROLLER WITH DUAL DAC ■ GENERAL DESCRIPTION ■ PACKAGE OUTLINE NJU39612 is a dual 7-bit+sign; Digital-to-Analog Converter (DAC) developed to be used in micro stepping applications together with the dual stepper motor driver. The NJU39612 has a set of input registers connected to an 8-bit data port for easy interfacing directly to a microprocessor. Two registers are used to store the data for each seven-bit DAC, the eighth bit being a sign bit (sign/magnitude coding). NJU39612E2 ■ FEATURES • Analog control voltages from 3V down to 0.0V • High-speed microprocessor interface • Full -scale error ±1 LSB • Fast conversion speed 3 µs • Matches the dual stepper motor drivers • Package EMP20 ■ BLOCK DIAGRAM V DD V Ref NJU39612 Sign 1 WR DA- Data 1 E1 E CS C D D/A DA 1 R E2 A0 DA- Data 2 DA D/A 2 E C D7 - D0 D R Sign 2 POR RESET R V ss Figure 1. Block Diagram NJU39612 ■ PIN CONFIGURATION Vref 1 20 Reset DA1 2 19 DA2 18 Sign2 Sign1 3 17 Vss VDD 4 WR 5 NJU39612E2 16 CS D7 6 15 NC D6 7 14 A0 D5 8 13 D0 D4 9 12 D1 D3 10 11 D2 Figure 2. Pin configuration ■ PIN DESCRIPTION Refer to figure 2. EMP Symbol Description 1 VRef Voltage reference supply pin, 2.5 V nominal (3.0 V maximum) 2 DA1 Digital-to-Analog 1, voltage output. Output between 0.0 V and Vref - 1 LSB. 3 Sign1 Sign 1, TTL/CMOS level. To be connected directly to NJM377x phase input. Databit D7 is transfered non inverted from NJU39612 data input. 4 VDD Voltage Drain-Drain, logic supply voltage. Normally +5 V. 5 WR Write, TTL/CMOS level, input for writing to internal registers. Data is clocked into flip flops on positive edge. 6 D7 Data 7, TTL/CMOS level, input to set data bit 7 in data word. 7 D6 Data 6, TTL/CMOS level, input to set data bit 6 in data word. 8 D5 Data 5, TTL/CMOS level, input to set data bit 5 in data word. 9 D4 Data 4, TTL/CMOS level, input to set data bit 4 in data word. 10 D3 Data 3, TTL/CMOS level, input to set data bit 3 in data word. 11 D2 Data 2, TTL/CMOS level, input to set data bit 2 in data word. 12 D1 Data 1, TTL/CMOS level, input to set data bit 1 in data word. 13 D0 Data 0, TTL/CMOS level, input to set data bit 0 in data word. 14 A0 Address 0, TTL/CMOS level, input to select data transfer, A0 selects between cannel 1 (A0 = LOW) and channel 2 (A0 = HIGH). 15 NC Not connected 16 CS Chip Select, TTL/CMOS level, input to select chip and activate data transfer from data inputs. LOW level = chip is selected. 17 VSS Voltage Source-Source. Ground pin, 0 V reference for all signals and measurements unless otherwise noted. 18 Sign2 Sign 2. TTL/CMOS level. To be connected directly to NJM377x phase input. Data bit D7 is transfered non-inverted from NJU39612 data input. 19 DA2 Digital-to-Analog 2, voltage output. Output between 0.0 V and Vref - 1 LSB. 20 Reset Reset, digital input resetting internal registers. HIGH level = Reset, VRes ≥ 3.5 V = HIGH level. Pulled low internally. NJU39612 ■ DEFINITION OF TERMS Resolution Resolution is defined as the reciprocal of the number of discrete steps in the DAC output. It is directly related to the number of switches or bits within the DAC. For example, NJU39612 has 27, or 128, output levels and therefor has 7 bits resolution. Remember that this is not equal to the number of microsteps available. Linearity Error Linearity error is the maximum deviation from a straight line passing through the end points of the DAC transfer characteristic. It is measured after adjusting for zero and full scale. Linearity error is a parameter intrinsic to the device and cannot be externally adjusted. Power Supply Sensitivity Power supply sensitivity is a measure of the effect of power supply changes on the DAC full-scale output. Settling Time Full-scale current settling time requires zero-to-full-scale or full-scale-to-zero output change. Settling time is the time required from a code transition until the DAC output reaches within ± 1/2LSB of the final output value. Full-scale Error Full-scale error is a measure of the output error between an ideal DAC and the actual device output. Differential Non-linearity The difference between any two consecutive codes in the transfer curve from the theoretical 1LSB, is differential non-linearity Monotonic If the output of a DAC increases for increasing digital input code, then the DAC is monotonic. A 7-bit DAC which is monotonic to 7 bits simply means that increasing digital input codes will produce an increasing analog output. NJU39612 is monotonic to 7 bits. ■ FUNCTIONAL DESCRIPTION Each DAC channel contains one register and a D/A converter. A block diagram is shown on the first page. The sign outputs generate the phase shifts, i.e., they reverse the current direction in the phase windings. Data Bus Interface NJU39612 is designed to be compatible with 8-bit microprocessors such as the 6800, 6801, 6803, 6808, 6809, 8051, 8085, Z80 and other popular types and their 16/32 bit counter parts in 8 bit data mode. The data bus interface consists of 8 data bits, write signal, chip select, and two address pins. All inputs are TTL-compatible (except reset). The address pin control data transfer to the two internal D-type registers. Data is transferred according to figure 7 and on the positive edge of the write signal. Output Output Output Gain error Actual More than 2 bits Less than 2 bits Correct Endpoint non-linearity Negative difference Positive difference Offset error Input Input Figure 3. Errors in D/A conversion. Figure 4. Errors in D/A conversion. Differential non-linearity of more than Differential non-linearity of less than 1 bit, output is non-monotonic. 1 bit, output is monotonic. Full scale Input Figure 5. Errors in D/A conversion. Non-linearity, gain and offset errors. NJU39612 Current Direction, Sign1 & Sign2 These bits are transferred from D7 when writing in the respective DA register. A0 must be set according to the data transfer table in figure 7. DA1 and DA2 These are the two outputs of DAC1 and DAC2. Input to the DACs are internal data bus (Q61 … Q01) and (Q62 … Q02). Reference Voltage VRef VRef is the analog input for the two DACs. Special care in layout, gives a very low voltage drop from pin to resistor. Any VRef between 0.0 V and VDD can be applied, but output might be non-linear above 3.0 V. Power-on Reset This function automatically resets all internal flip flops at power-on. This results in VSS voltage at both DAC outputs and all digital outputs. Reset If Reset is not used, leave it disconnected. Reset can be used to measure leakage currents from VDD. I2 [mA] T2 [mNm] T max Tnom Tmin I T1 I1 [mA] Figure 6a. Assuming that torque is proportional to the current in resp. winding it is possible to draw figure 8b. CS 0 0 1 A0 0 1 X [mNm] Figure 6b. An example of accessible positions with a given torque deviation/fullstep. Note that 1:st µstep sets highest resolution. Data points are exaggerated for illustration purpose. TNom = code 127. Data Transfer D7 —> Sign1, (D6—D0) —> (Q61—Q01) D7 —> Sign2, (D6—D0) —> (Q62—Q02) No Transfer Figure 7. Table showing how data is transfered inside NJU39612. NJU39612 ■ ABSOLUTE MAXIMUM RATINGS Parameter Pin no. Symbol Voltage Supply Logic inputs Reference input 4 5-14,16 1 VDD VI VRef -0.3 -0.3 6 VDD+ 0.3 VDD+ 0.3 Current Logic inputs 5-14,16 II -0.4 +0.4 mA Tstg Topr -55 -20 +150 +85 °C °C Temperature Storage temperature Operating ambient temperature Min Max Unit V V V ■ RECOMMENDED OPERATING CONDITIONS Parameter Symbol Supply voltage Reference voltage Rise and fall time of WR VDD VRef tr, tf Min 4.75 0 - Typ 5.0 2.5 - Max 5.25 3.8 1 Unit V V µs NJU39612 ■ ELECTRICAL CHARACTERISTICS Electrical characteristics over recommended operating conditions. Parameter Logic Input Reset logic HIGH input voltage Reset logic LOW input voltage Logic HIGH input voltage Logic LOW input voltage Reset input current Input current, other inputs Input capacitance Symbol VIHR VILR VIH VIL IIR II Internal Timing Characteristics Address setup time Data setup time Chip select setup time Address hold time Data hold time Chip select hold time Write cycle length Reset cycle length tas tds tcs tah tdh tch tWR tres Reference Input Input resistance Rref Logic Outputs Logic HIGH output current Logic LOW output current Write propagation delay IOH IOL tpwr Reset propagation delay tpres DAC Outputs Nominal output voltage VDA VSS < VIR < VDD VSS < VI < VDD Valid for A0 Valid for D0 - D7 VO = 2.4 V VO = 0.4 V From positive edge of WR. Outputs valid, Cload = 120 pF From positive edge of Reset to outputs valid, Cload = 120 pF Min Typ Max Unit 3.5 2.0 -0.01 -1 - 3 0.1 0.8 1 1 - V V V V mA µA pF 60 60 70 50 80 - 0 0 0 - ns ns ns ns ns ns ns ns 6 9 - kohm 2 - -13 5 30 -5 100 mA mA ns - 60 150 ns 0 - - 7 0.2 0.1 0.2 0.2 0.1 VRef - 1LSB 0.5 0.5 0.5 0.5 0.5 V Bits LSB LSB LSB LSB LSB - 0.1 0.3 LSB - 3 8 µs Reset open, VRef = 2.5 V Resolution Offset error Gain error Endpoint nonlinearity Differential nonlinearity Load error Power supply sensitivity Conversion speed Conditions tDAC (VDA, unloaded - VDA, loaded) Rload = 2.5 kohm, Code 127 to DAC Code 127 to DAC 4.75 V < VDD < 5.25 V For a full-scale transition to ±0.5 LSB of final value, Rload = 2.5 kohm, Cload = 50 pF. NJU39612 t cs t ch CS t as t ah A0 t dh t ds D0-D7 t WR WR t DAC DA t pwr Sign Figure 8. Timing t res Reset t pres Sign Figure 9. Timing of Reset NJU39612 ■ APPLICATIONS INFORMATION How Many Microsteps? The number of true microsteps that can be obtained depends upon many different variables, such as the number of data bits in the Digital-to-Analog converter, errors in the converter, acceptable torque ripple, single- or double-pulse programming, the motor’s electrical, mechanical and magnetic characteristics, etc. Many limits can be found in the motor’s ability to perform properly; overcome friction, repeatability, torque linearity, etc. It is important to realize that the number of current levels, 128 (27), is not the number of steps available. 128 is the number of current levels (reference voltage levels) available from each driver stage. Combining a current level in one winding with any of 128 other current levels in the other winding will make up 128 current levels. So expanding this, it is possible to get 16,384 (128 • 128) combinations of different current levels in the two windings. Remember that these 16,384 micropositions are not all useful, the torque will vary from 100% to 0% and some of the options will make up the same position. For instance, if the current level in one winding is OFF (0%) you can still vary the current in the other winding in 128 levels. All of these combinations will give you the same position but a varying torque. Typical Application The microstepper solution can be used in a system with or without a microprocessor. Without a microprocessor, a counter addresses a ROM where appropriate step data is stored. Step and Direction are the input signals which represent clock and up / down of counter. This is the ideal solution for a system where there is no microprocessor or it is heavily loaded with other tasks. With a microprocessor, data is stored in ROM / RAM area or each step is successively calculated. NJU39612 is connected like any peripheral addressable device. All parts of stepping can be tailored for specific damping needs etc. This is the ideal solution for a system where there is an available microprocessor with extra capacity and low cost is more essential than simplicity. See typical application, figure 13. ■ User Hints Never disconnect ICs or PC Boards when power is supplied. Select a motor that is rated for the current you need to establish desired torque. A high supply voltage will gain better stepping performance even if the motor is not rated for the VMM voltage, the current regulation in the drivers from New JRC will take care of it. A normal stepper motor might give satisfactory result, but while microstepping, a “microstepping-adapted” motor is recommended. This type of motor has smoother motion due to two major differences, the stator / rotor teeth relationship is non-equal and the static torque is lower. The NJU39612 can handle programs which generate microsteps at a desired resolution as well as quarter stepping, half stepping, full stepping, and wave drive. Ramping Every drive system has inertia which must be considered in the drive system. The rotor and load inertia play a big role at higher speeds. Unlike the DC motor, the stepper motor is a synchronous motor and does not change its speed due to load variations. Examining a typical stepper motor’s torque-versus-speed curve indicates a sharp torque drop-off for the “start-stop without error” curve. The reason for this is that the torque requirements increase by the cube of the speed change. For good motor performance, controlled acceleration and deceleration should be considered even though microstepping will improve overall performance. NJU39612 Time when motor is in a compromise position. Time when micro position is correct. Write signal. Motor position. Writing to channel 1. Writing to channel 2. Double pulse write signal Actual data = true position Normal resolution Ideal data = desired position Write time = incorrect position Time Useful time = correct position Figure 10. Double pulse programming, in- and output signals. Time when motor is in an intermediate position. Time when micro position is almost correct. Write signal. Motor position. Note that position is always a compromise. Writing to channel 1. Writing to channel 2. Single pulse write signal Actual data = true position Note increased resolution "Ideal data" = desired position Useful time = compromise position with equally spaced angles Figure 11. Single pulse programming, in- and output signals. Time Useful time = almost correct position NJU39612 ■ Programming NJU39612 There are basically two different ways of programming the NJU39612. They are called “single-pulse programming” and “double-pulse programming.” Writing to the device can only be accomplished by addressing one register at a time. When taking one step, at least two registers are normally updated. Accordingly there must be a certain time delay between writing to the first and the second register. This programming necessity gives some special stepping advantages. Double-pulse Programming The normal way is to send two write pulses to the device, with the correct addressing in between, keeping the delay between the pulses as short as possible. Write signals will look as illustrated in figure10. The advantages are: • low torque ripple • correct step angles between each set of double pulses • short compromise position between the two step pulses • normal microstep resolution Single-pulse Programming A different approach is to send one pulse at a time with an equally-spaced duty cycle. This can easily be accomplished and any two adjacent data will make up a microstep position. Write signals will look as in figure 11. The advantages are: • higher microstep resolution • smoother motion The disadvantages are: • higher torque ripple • compromise positions with almost-correct step angles NJU39612 D0-D7 Counter NJU39612 PROM NJM3777 A0 WR CE CS Clock Up/Dn Vref Step Voltage Reference Control Logic Direction Figure 12. Typical blockdiagram of an application without a microprocessor. V MM V CC (+5 V) + 0.1 F 0.1 F 13 4 13 V DD D0 V Sign1 3 10 11 6 To P +2.5V D7 NJU39612 14 A0 5 WR 16 CS 20 RESET 1 V Ref DA1 Sign2 2 18 8 15 14 VSS DA2 19 17 CC 20 V MM1 Phase1 Dis1 V R1 MM2 MA1 4 MB1 2 NJM3777 Phase MA2 2 Dis2 V R2 RC GND 12 17 5 V +5 V 12 k 6, 7, 18, 19 MB2 C1 E1 3 9 C2 16 21 23 E2 STEPPER MOTOR 22 Pin numbers refer to EMP package. 4700 pF GND (VCC ) 10 F 0.47 0.47 RS RS GND (V MM) Figure 13. Typical application in a microprocessor based system. The specifications on this databook are only given for information , without any guarantee as regards either mistakes or omissions. The application circuits in this databook are described only to show representative usages of the product and not intended for the guarantee or permission of any right including the industrial rights.