NJRC NJU39610D2

NJU39610
MICROSTEPPING MOTOR CONTROLLER WITH DUAL DAC
■ GENERAL DESCRIPTION
■ PACKAGE OUTLINE
NJU39610 is a dual 7-bit+sign, Digital-to-Analog Converter
(DAC) especially developed to be used together with the
NJM3771, Precision Stepper Motor driver in micro-stepping
applications. The NJU39610 has a set of input registers
connected to an 8-bit data port for easy interfacing directly to
a microprocessor. The NJU39610 is well suited for highspeed micro-stepping application.
NJU39610D2
NJU39610FM2
■ FEATURES
• Analog control voltages from 3 V down to 0.0 V
• High-speed microprocessor interface
• Automatic fast/slow current decay control
• Full-scale error
±1 LSB
• Fast conversion speed
3 µs
• Matches NJM3771
• Packages
DIP22/PLCC28
■ BLOCK DIAGRAM
V DD
V Ref
NJU39610
DA- Data 1
WR
Sign 1
E
C
D
E1
R
CS
Level 1
Digit
Comp
E1
E
CD 1
C
D
E
E2
C
D/A
R
DA 1
D
A0
R
Level 2
E3
DA
E
C
D/A
2
D
A1
R
E4
DA- Data 2
D7 - D0
Digit
Comp
E
CD 2
C
R
D
R
POR
R
V
ss
Figure 1. Block Diagram
E
D
C
RESET
E4
Sign 2
NJU39610
D6
8
15
A0
D5
9
14
D0
D4
10
13
D1
D3
11
12
D2
VSS
CS
A1
A0
N/C
2
1
28
27
26
D2
N/C
8
V ref
9
DA 1
N/C
NJU
39610FM2
22
N/C
21
D3
10
20
D4
11
19
D5
18
A1
23
N/C
16
7
17
7
D7
D1
Reset
D6
CS
6
D0
24
16
17
WR
NJU
39610D2
25
6
D7
VSS
5
5
15
18
VDD
N/C
DA 2
14
CD 2
WR
Sign 2
19
VDD
20
4
Sign 2
3
CD 1
CD 2
Sign 1
3
DA 2
13
Reset
21
12
22
2
CD 1
1
Sign 1
V ref
DA 1
4
■ PIN CONFIGURATIONS
Figure 2. Pin configurations
■ PIN DESCRIPTION
Refer to figure 2.
DIP
PLCC
Symbol
Description
1
2
3
9
10
12
VRef
DA1
Sign1
4
13
CD1
5
6
14
15
VDD
WR
7
8
9
10
11
12
13
14
15
16
17
19
20
21
23
24
25
27
D7
D6
D5
D4
D3
D2
D1
D0
A0
16
28
A1
17
1
CS
18
2
VSS
19
3
CD2
20
4
Sign2
21
22
6
7
DA2
Reset
Voltage reference supply pin, 2.5 V nominal (3.0 V maximum)
Digital-to-Analog 1, voltage output. Output between 0.0 V and VR - 1 LSB.
Sign 1, TTL/CMOS level. To be connected directly to NJM3771 Phase input.
Databit D7 is transfered non inverted from NJU39610 data input.
Current Decay 1, TTL/CMOS level. The signal is automatically generated when
decay level is programmed. LOW level = fast current decay.
Voltage Drain-Drain, logic supply voltage. Normally +5 V.
Write, TTL/CMOS level, input for writing to internal registers.
Data is clocked into flip flops on positive edge.
Data 7, TTL/CMOS level, input to set data bit 7 in data word.
Data 6, TTL/CMOS level, input to set data bit 6 in data word.
Data 5, TTL/CMOS level, input to set data bit 5 in data word.
Data 4, TTL/CMOS level, input to set data bit 4 in data word.
Data 3, TTL/CMOS level, input to set data bit 3 in data word.
Data 2, TTL/CMOS level, input to set data bit 2 in data word.
Data 1, TTL/CMOS level, input to set data bit 1 in data word.
Data 0, TTL/CMOS level, input to set data bit 0 in data word.
Address 0, TTL/CMOS level, input to select data transfer,
A0 selects between cannel 1 (A0 = LOW) and channel 2 (A0 = HIGH).
Address 1, TTL/CMOS level, input to select data transfer. A1 selects between normal
D/A register programming (A1 = LOW) and decay level register programming (A1 = HIGH).
Chip Select, TTL/CMOS level, input to select chip and activate data transfer
from data inputs. LOW level = chip is selected.
Voltage Source-Source. Ground pin, 0 V reference for all signals and
measurements unless otherwise noted.
Current Decay 2, TTL/CMOS level. The signal is automatically generated
when decay level is programmed. LOW level = fast current decay .
Sign 2. TTL/CMOS level. To be connected directly to NJM3771 sign input.
Data bit D7 is transfered non-inverted from NJU39610 data input.
Digital-to-Analog 2, voltage output. Output between 0.0 V and Vref - 1 LSB.
Reset, digital input resetting internal registers.
HIGH level = Reset, VRes ≥ 3.5 V = HIGH level. Pulled low internally.
5
8
11
18
22
26
N/C
Not Connected
NJU39610
■ 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, NJU39610 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 ErrorFull-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.
NJU39610 is monotonic to 7 bits.
■ FUNCTIONAL DESCRIPTION
Each DAC channel contains two registers, a digital comparator, a flip flop, and a D/A converter. A block diagram is
shown on the first page. One of the registers stores the current level, below which, fast current decay is initiated.
The status of the CD outputs determines a fast or slow current decay to be used in the driver.
The digital comparator compares each new value with the previous one and the value for the preset level for fast
current decay. If the new value is strictly lower than both of the others, a fast current decay condition exists. The flip
flop sets the CD output. The CD output is updated each time a new value is loaded into the D/A register. The fast
current decay signals are used by the driver circuit, NJM3771, to change the current control scheme of the output
stages. This is to avoid motor current dragging which occurs at high stepping rates and during the negative current
slopes, as illustrated in figure 9. Eight different levels for initiation of fast current decay can be selected.
The sign outputs generate the phase shifts, i.e., they reverse the current direction in the phase windings.
Output
Output
Output
Gain
error
Actual
More
than 2
bits
Less
than 2
bits
Negative
difference
Input
Correct
Endpoint
non-linearity
Positive
difference
Input
Offset error
Full scale
Input
Figure 5. Errors in D/A conversion.
Figure 4. Errors in D/A conversion.
Figure 3. Errors in D/A conversion.
Differential non-linearity of more than Differential non-linearity of less than 1 Non-linearity, gain and offset errors.
bit, output is monotonic.
1 bit, output is non-monotonic.
NJU39610
Data Bus Interface
NJU39610 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 two address pins control data transfer to the four internal D-type registers. Data is transferred according
to figure 10 and on the positive edge of the write signal.
Current Direction, Sign1 & Sign2
These bits are transferred from D7 when writing in the respective DA register. A0 and A1 must be set according to
the data transfer table in figure 10.
Current Decay, CD1 & CD2
CD1 and CD2 are two active low signals (LOW = fast current decay). CD1 is active if the previous value of DA-Data1
is strictly larger than the new value of DA-Data1 and the value of the level register LEVEL1 (L61 … L41) is strictly
larger than the new value of DA-Data1. CD1 is updated every time a new value is loaded into DA-Data1.
The logic definition of CD1 is:
CD1 = NOT{[(D6 … D0) < (Q61 … Q01)] AND[(D6 …D4) < (L61 … L41)]}
Where (D6 … D0) is the new value being sent to DA-Data1 and (Q61 … Q01) is DA-Data1’s old value. (L61 … L41) are
the three bits for setting the current decay level at LEVEL1.
The logic definition of CD2 is analog to CD1:
CD2 = NOT{[(D6 … D0) < (Q62 … Q02)] AND[(D6 …D4) < (L62 … L42)]}
Where (L62 … L42) is the level programmed in channel 2’s level register. (D6 … D0) and (Q62 … Q02) are the new and
old values of DA-Data2.
The two level registers, LEVEL1 and LEVEL2, consist of three flip flops each and they are compared against the
three most significant bits of the DA-Data value, sign bit excluded.
T2
I2 [mA]
[mNm]
DA output [V]
T max
Current dragging
Tnom
Tmin
I
t
CD
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
0
0
1
A0
0
0
1
1
X
[mNm]
Time
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.
A1
0
1
0
1
X
Figure 7. Motor current dragging at
high step rates and current decay
influence. Fast current decay will
make it possible for the current to
follow the ideal sine curve. Output
shown without sign shift.
Data Transfer
D7 —> Sign1, (D6—D0) —> (Q61—Q01), New value —> CD1
(D6—D4) —> (L61—L41)
D7 —> Sign2, (D6—D0) —> (Q62—Q02), New value —> CD2
(D6—D4) —> (L62—L42)
No Transfer
Figure 8. Table showing how data is transfered inside NJU39610.
NJU39610
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.
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.
Write time = incorrect position
Double pulse write signal
Useful time = correct
position
Actual data = true position
Normal resolution
Time
Ideal data = desired position
Figure 9. 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.
Time
Useful time = compromise position
with equally spaced angles
Single pulse write signal
Useful time = almost
correct position
"Ideal data" = desired
position
Figure 10. Single pulse programming, in- and output signals.
Actual data = true position
Note increased resolution
NJU39610
■ ABSOLUTE MAXIMUM RATINGS
Parameter
Pin no.*
Symbol
Min
Max
Unit
Voltage
Supply
Logic inputs
Reference input
5
6- 17
1
VDD
VI
VR
-0.3
-0.3
6
VDD+0.3
VDD+ 0.3
V
V
V
Current
Logic inputs
6- 17
II
-0.4
+0.4
mA
Tstg
Topr
-55
-20
+150
+85
°C
°C
Temperature
Storage temperature
Operating ambient temperature
* refers to DIP package
■ RECOMMENDED OPERATING CONDITIONS
Parameter
Symbol
Min
Typ
Max
Unit
Supply voltage
VDD
4.75
5.0
5.25
V
Reference voltage ( @ VDD=5V)
VR
0
2.5
3.8
V
NJU39610
■ ELECTRICAL CHARACTERISTICS
Electrical characteristics over recommended operating conditions.
Parameter
Logic Inputs
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
tR
Reference Input
Input resistance
RRef
Logic Outputs
Logic HIGH output current
Logic LOW output current
Write propagation delay
IOH
IOL
tpWR
Reset propagation delay
tpR
DAC Outputs
Nominal output voltage
VDA
VSS < VIR < VDD -0.01
VSS < VI < VDD -1
Valid for A0, A1 60
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
-
1
1
3
0.1
0.8
mA
µA
-
V
V
V
V
pF
60
70
50
80
-
ns
0
0
0
-
ns
ns
ns
ns
ns
ns
ns
6
9
-
kohm
1.7
-
-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.
NJU39610
t cs
t ch
CS
t as
t ah
A0-A1
t dh
t ds
D0-D7
t WR
WR
t DAC
DA
t pwr
Sign, CD
Figure 11. Timing
t res
Reset
t pres
Sign, CD
Figure 12. Timing of Reset
NJU39610
■ 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 micro-processor.
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. NJU39610 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 14.
■ User Hints
Never disconnect ICs or PC Boards when power is supplied.
Choose 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 NJM3771
will take care of it. A normal stepper motor might give satisfactory result, but while microstepping, a “microsteppingadapted” 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 NJU39610 can handle programs which generate microsteps at a desired resolution as well as quarter
stepping, half stepping, full stepping, and wave drive.
Fast or Slow Current Decay?
There is a difference between static and dynamic operation of which the actual application must decide upon when
to use fast or slow current decay. Generally slow decay is used when stepping at slow speeds. This will give the
benefits of low current ripple in the drive stage, a precise and high overall average current, and normal current
increase on the positive edge of the sine-cosine curves. Fast current decay is used at higher speeds to avoid
current dragging with lost positions and incorrect step angles as a result.
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.
NJU39610
■ Programming NJU39610
There are basically two different ways of programming the NJU39610. 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 figure9. 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 10. The
advantages are:
• higher microstep resolution
• smoother motion
The disadvantages are:
• higher torque ripple
• compromise positions with almost-correct step angles
NJU39610
Counter
PROM
D0-D7
NJU39610
NJM3771
A0
WR
CS
CE
A1
Clock Up/Dn
Vref
Step
Voltage
Reference
Control Logic
Direction
Figure 13. Typical blockdiagram of an application without a microprocessor.
V MM
V CC (+5 V)
+
0.1 µF
0.1 µF
11
5
14
V
V DD
D0
Sign1
CD1
7
To
µP
+2.5V
15
16
6
17
22
1
D7
NJU39610
A0
A1
WR
CS
RESET
V Ref
DA1
Sign2
CD2
V SS
DA2
3
7
4
8
2
9
20
16
19
15
21
14
V
CC
20
V
MM1
MM2
Phase 1
CD1
V R1
MA1
4
MB1
1
NJM3771
MA2
Phase 2
CD 2
V R2
RC GND
12
18
3
+5 V 15 kΩ
5, 6,
17, 18
3 300 pF
GND
(V CC )
MB2
C1
E1
2
10
C2
22
STEPPER
MOTOR
E2
1 kΩ
820 pF
820 pF
RS
19
21
13
1 kΩ
1.0 Ω
10 µF
1.0 Ω
Pin numbers refer
to DIP package.
RS
GND (V MM )
Figure 14. 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.