This 33970 is a single-packaged, Serial Peripheral Interface (SPI)
controlled, dual step motor gauge driver integrated circuit (IC). This
monolithic IC consists of four dual output H-Bridge coil drivers and the
associated control logic. Each pair of H-Bridge dri ve rs is used to
automatically control the speed, direction, and magnitude of current
through the two coils of a two-phase instrumentation step motor,
similar to an MMT-licensed AFIC
The 33970 is ideal for use in automotive instrumentation systems
requiring distributed and flexible step motor gauge driving. The
device also eases the transition to step motors from air core motors
by emulating the air core pointer movement with little additional
processor bandwidth utilization.
Features
• MMT-Licensed Two-Phase Step Motor Compatible
• Minimal Processor Overhead Required
• Fully Integrated Pointer Movement and Position State Machine
with Air Core Movement Emulation
• 4096 Possible Steady State Pointer Positions
• 340° Maximum Pointer Sweep
• Fixed Maximum Acceleration and Deceleration of 4500°/s2
• Maximum Pointer Velocity of 400°/s
• Analog Microstepping (12 Steps/Degree of Pointer Movement)
• Pointer Calibration and Return to Zero
• SPI-Controlled 16-Bit Word
• Calibratable Internal Clock
• Low Sleep Mode Current
• Backward Compatible with MC33991
• Improved Pointer Movement, Diagnostics, and Return to Zero (RTZ)
• Pb-Free Packaging Designated by Suffix Code EG
6405.
IMPROVED GAUGE DRIVER
ORDERING INFORMATION
Device
MC33970DW/R2
MCZ33970EG/R2
33970
INTEGRATED CIRCUIT
DW SUFFIX
EG SUFFIX (Pb-FREE)
98ASB42344B
24-PIN SOICW
Temperature
Range (T
-40°C to 125°C24 SOICW
)
A
Package
V
PWR
33970
V
5.0 V
Regulator
DD
MCU
Figure 1. 33970 Simplified Application Diagram
* This document contains certain information on a new product.
Specifications and information herein are subject to change without notice.
14VDDInputVoltage
15RSTInputReset
16VPWRInputBattery Voltage
21
22
23
24
COS0+
COS0−
SIN0+
SIN0−
GNDGroundGround
SIN1−
SIN1+
COS1−
COS1+
OutputH-Bridge Outputs 0
OutputH-Bridge Outputs 1
Each pin is the output pin of a half bridge, designed to source or sink
current.
These pins serve as the ground for the source of the low-side output
transistors as well as the logic portion of the device.
This pin is connected to a chip select output of a LSI IC.
This pin is connected to the SCLK pin of the master device and acts as a
bit clock for the SPI port.
This pin is connected to the SPI Serial Data Input pin of the master
device, or to the SI pin of the next device in a daisy chain.
This pin is connected to the SPI Serial Data Output pin of the master
device from which it receives output command data.
This is a multiplexed output pin, for the non-driven coil, during a Return to
Zero (RTZ) event.
This SPI and logic power supply input will work with 5.0 V supplies.
This input has an internal active pull-up.
Power supply.
Each of these pins are the output pin of a half bridge, designed to source
or sink current.
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor3
ELECTRICAL CHARACTERISTICS
MAXIMUM RATINGS
ELECTRICAL CHARACTERISTICS
MAXIMUM RATINGS
Table 2. Maximum Ratings
All voltages are with respect to ground unless otherwise noted. Exceeding these ratings may cause a malfunction or
permanent damage to the device.
RatingsSymbolValueUnit
ELECTRICAL RATINGS
Power Supply Voltage
Steady State
Input Pin Voltage
SIN +/- COS +/- Continuous Per Output Current
ESD Voltage
(1)
(2)
(3)
Human Body Model
Machine Model
THERMAL RATINGS
Storage Temperature
Operating Junction Temperature
Thermal Resistance
Junction to Ambient
Junction to Lead
THERMAL RESISTANCE
Peak Package Reflow Temperature During Reflow
(4), (5)
Notes
1.Exceeding voltage limits on Input pins may cause permanent damage to the device.
2.Output continuous output rating so long as maximum junction temperature is not exceeded. Operation at 125°C ambient temperature
will require maximum output current computation using package thermal resistances.
3.ESD1 testing is performed in accordance with the Human Body Model (C
accordance with the Machine Model (C
= 200 pF, R
ZAP
ZAP
= 0 Ω).
4.Pin soldering temperature limit is for 10 seconds maximum duration. Not designed for immersion soldering. Exceeding these limits may
cause malfunction or permanent damage to the device.
5.Freescale’s Package Reflow capability meets Pb-free requirements for JEDEC standard J-STD-020C. For Peak Package Reflow
Temperature and Moisture Sensitivity Levels (MSL),
Go to www.freescale.com, search by part number [e.g. remove prefixes/suffixes and enter the core ID to view all orderable parts. (i.e.
MC33xxxD enter 33xxx), and review parametrics.
V
PWR(SUS)
I
OUTMAX
= 100 pF, R
ZAP
V
V
T
R
R
T
V
IN
ESD1
ESD2
STG
T
J
JA
θ
JL
θ
PPRT
-0.3 to 41
-0.3 to 7.0V
40mA
±2000
±200
-55 to 150°C
-40 to 150°C
°C/W
60
20
Note 5
= 1500 Ω), ESD2 testing is performed in
ZAP
V
V
°C
33970
Analog Integrated Circuit Device Data
4Freescale Semiconductor
STATIC ELECTRICAL CHARACTERISTICS
ELECTRICAL CHARACTERISTICS
STATIC ELECTRICAL CHARACTERISTICS
Table 3. Static Electrical Characteristics
Characteristics noted under conditions 4.75 V < VDD < 5.25 V, -40°C < TA < 125°C, GND = 0 V unless otherwise noted. Typical
values noted reflect the approximate parameter means at T
CharacteristicSymbolMinTypMaxUnit
POWER INPUT
Supply Voltage Range
Fully Operational
Limited Operational
VPWR Supply Current
Gauge 1 and 2 Outputs ON, No Output Loads
VPWR Supply Current (All Outputs Disabled)
Reset = Logic [0], VDD = 5.0 V
Reset = Logic [0], VDD = 0 V
Overvoltage Detection Level
Undervoltage Detection Level
Logic Supply Voltage Range (5.0 V Nominal Supply)
Under VDD Logic Reset
VDD Supply Current
Sleep: Reset Logic [0]
Outputs Enabled
POWER OUTPUTS
Microstep Output (Measured Across Coil Outputs)
SIN0,1, ± (COS0,1, ±) (refer to Table 1)
Full Step Active Output (Measured Across Coil Outputs)
SIN0, 1, ± (COS0, 1, ±) (see Figure 9, page 23)
Steps 1, 3 (0, 2)
Microstep, Full Step Output (Measured from Coil Low Side to Ground)
SIN0, 1, ± (COS0, 1, ±), I
Notes
6.Outputs and logic remain active; however, the larger coil voltage levels may be clipped. The reduction in drive voltage may result in a
loss of position control.
7.The logic will reset at some level below the specified Limited Operational minimum.
8.Outputs will disable and must be re-enabled via the PECCR command.
9.Outputs remain active; however, the reduction in drive voltage may result in a loss of position control.
(6), (7)
OUT
(8)
(9)
= 30 mA
= 25°C under nominal conditions unless otherwise noted.
A
V
PWR
I
PWR(ON)
6.5
4.0
–
–
26
26
–4.06.0
I
PWSLP1
I
PWRSLP2
V
PWROV
V
PWRUV
V
DD
V
DDUV
I
DD(OFF)
I
DD(ON)
V
ST6
V
ST5
V
ST4
V
ST3
V
ST2
V
ST1
V
ST0
V
FS
–
–
42
15
60
25
263238V
5.05.66.2V
4.55.05.5V
––4.5V
4.82
0.94 V
0.84 V
0.68 V
0.47 V
0.23 V
-0.1
–
–
ST6
ST6
ST6
ST6
ST6
40
1.0
5.3
0.97 V
0.87 V
0.71 V
0.50 V
0.26 V
0.0
ST6
ST6
ST6
ST6
ST6
65
1.8
6.0
1.0 V
0.96 V
0.8 V
0.57 V
0.31 V
0.1
ST6
ST6
ST6
ST6
ST6
4.95.36.0
V
LS
0.00.10.3
V
mA
µA
µA
mA
V
V
V
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor5
Input Logic High Voltage
Input Logic Low Voltage
Input Logic Voltage Hysteresis
Input Logic Pull Down Current (SI, SCLK)
Input Logic Pull-Up Current (CS, RST)
SO High-State Output Voltage (IOH = 1.0 mA)
SO Low-State Output Voltage (IOL = -1.6 mA)
SO Tri-State Leakage Current (CS≥ 3.5 V)
Input Capacitance
SO Tri-State Capacitance
ANALOG TO DIGITAL CONVERTER (RTZ ACCUMULATOR COUNT)
ADC Gain
(10), (13)
Notes
10.This parameter is guaranteed by design; however, it is not production tested.
11.VDD = 5.0 V.
12.Capacitance not measured. This parameter is guaranteed by design; however, it is not production tested.
13.Reference Figure 8, RTZ Accumulator (Typical)
(10)
(10)
(10)
(11)
(11)
(10)
(12)
(12)
= 25°C under nominal conditions unless otherwise noted.
A
V
FB
I
LIM
OT
OT
HYST
V
IH
V
IL
V
IN(HYST)
I
DWN
I
UP
V
SOH
V
SOL
I
SOLK
C
IN
C
SO
G
ADC
SD
–V
+ 0.5 V
ST6
+ 1.0V
ST6
40100170mA
155–180°C
8.0–16°C
2.0––V
––0.8V
–100–mV
3.0–20µA
5.0–20µA
0.8 V
DD
––V
–0.20.4V
-5.005.0µA
–4.012pF
––20pF
100188270Counts/V/
ms
33970
Analog Integrated Circuit Device Data
6Freescale Semiconductor
DYNAMIC ELECTRICAL CHARACTERISTICS
ELECTRICAL CHARACTERISTICS
DYNAMIC ELECTRICAL CHARACTERISTICS
Table 4. Dynamic Electrical Characteristics
Characteristics noted under conditions 4.75 V < VDD < 5.25 V, -40°C < TA < 125°C, GND = 0 V unless otherwise noted. Typical
values noted reflect the approximate parameter means at TA = 25°C under nominal conditions unless otherwise noted.
CharacteristicSymbolMinTypMaxUnit
POWER OUTPUT AND CLOCK TIMINGS
SIN, COS Output Turn ON Delay Time (Time from Rising CS Enabling
Outputs to Steady State Coil Voltages and Currents)
SIN, COS Output Turn OFF Delay Time (Time from Rising CS Disables
Outputs to Steady State Coil Voltages and Currents)
(14)
(14)
Uncalibrated Oscillator Cycle Time
Calibrated Oscillator Cycle Time
Cal Pulse = 8.0 µs, PECCR D4 = Logic [0]
Cal pulse = 8.0 µs, PECCR D4 = Logic [1]
Maximum Pointer Speed
Maximum Pointer Acceleration
SPI INTERFACE TIMING
(15)
(15)
(16)
Recommended Frequency of SPI Operation
Falling Edge of CS to Rising Edge of SCLK (Required Setup Time)
Falling Edge of SCLK to Rising Edge of CS (Required Setup Time)
SI to Falling Edge of SCLK (Required Setup Time)
(17)
Required High State Duration of SCLK (Required Setup Time)
Required Low State Duration of SCLK (Required Setup Time)
Falling Edge of SCLK to SI (Required Hold Time)
(17)
(17)
(17)
(17)
(17)
SO Rise Time
CL = 200 pF
SO Fall Time
CL = 200 pF
SI, CS, SCLK, Incoming Signal Rise Time
SI, CS, SCLK, Incoming Signal Fall Time
Falling Edge of RST to Rising Edge of RST (Required Setup Time)
Rising Edge of CS to Falling Edge of CS (Required Setup Time)
Rising Edge of RST to Falling Edge of CS (Required Setup Time)
(18)
(18)
(17)
(17), (19)
(17)
Notes
14.Maximum specified time for the 33970 is the minimum guaranteed time needed from the microcontroller.
15.The minimum and maximum value will vary proportionally to the internal clock tolerance. These numbers are based on an ideally
calibrated clock frequency of 1.0
MHz. These are not 100 percent tested.
16.The device shall meet all SPI interface timing requirements specified in the SPI Interface Timing section of this table, over the temperature
range specified. Digital interface timing is based on a symmetrical 50 percent duty cycle SCLK Clock Period of 333 ns. The device shall
be fully functional for slower clock speeds. See
Figure 4 and 5.
17.The maximum setup time specified for the 33970 is the minimum time needed from the microcontroller to guarantee correct operation.
18.Rise and Fall time of incoming SI, CS, and SCLK signals suggested for design consideration to prevent the occurrence of double pulsing.
19.The value is for a 1.0 MHz calibrated internal clock. The value will change proportionally as the internal clock frequency changes
Analog Integrated Circuit Device Data
Freescale Semiconductor7
ELECTRICAL CHARACTERISTICS
DYNAMIC ELECTRICAL CHARACTERISTICS
Table 4. Dynamic Electrical Characteristics
Characteristics noted under conditions 4.75 V < VDD < 5.25 V, -40°C < TA < 125°C, GND = 0 V unless otherwise noted. Typical
values noted reflect the approximate parameter means at TA = 25°C under nominal conditions unless otherwise noted.
CharacteristicSymbolMinTypMaxUnit
(22)
(20)
(21)
t
SO(EN)
t
SO(DIS)
t
VALID
––145ns
–1.34.0µs
–65105
Time from Falling Edge of CS to SO Low Impedance
Time from Rising Edge of CS to SO High Impedance
Time from Rising Edge of SCLK to SO Data Valid
0.2 V
≤ SO ≥ 0.8 VDD, CL = 200 pF
DD
Notes
20.Time required for output status data to be terminated at SO. 1.0 kΩ load on SO
21.Time required for output status data to be available for use at SO. 1.0 kΩ load on SO.
22.Time required to obtain valid data out from SO following the rise of SCLK.
ns
33970
Analog Integrated Circuit Device Data
8Freescale Semiconductor
RST
CS
SCLK
SI
t
WRST
0.7 V
0.2 V
DD
0.2 V
DD
t
EN
0.7 V
t
LEAD
DD
DD
0.7 V
0.2 V
DD
DD
TIMING DIAGRAMS
t
WSCLKh
t
LEAD
t
WSCLKl
t
SI(HOLD)
ELECTRICAL CHARACTERISTICS
0.7 V
DD
t
RSI
t
FSI
t
LAG
TIMING DIAGRAMS
t
CS
V
IN
V
IL
V
IH
V
IL
V
IH
V
IL
V
IH
Don’t CareValidValidDon’t CareDon’t Care
V
IL
SCLK
SO
Low-to-High
SO
High-to-Low
Figure 4. Input Timing Switching Characteristics
0.7 V
0.2 V
DD
t
FSI
1.0 V
DD
3.5 V
0.2 V
0.7 V
t
SO(EN)
DD
t
DD
t
SO(DIS)
t
RSI
VALID
50%
t
RSO
t
FSO
V
OH
V
OL
V
OH
V
OL
V
OH
V
OL
Figure 5. Valid Data Delay Time and Valid Time Waveforms
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor9
FUNCTIONAL DESCRIPTION
INTRODUCTION
FUNCTIONAL DESCRIPTION
INTRODUCTION
This 33970 is a single-packaged, Serial Peripheral
Interface (SPI) controlled, dual step motor gauge driver
integrated circuit (IC). This monolithic IC consists of four dual
output H-Bridge coil drivers and the associated control logic.
Each pair of H-Bridge drivers is used to automatically control
the speed, direction, and magnitude of current through the
two coils of a two-phase instrumentation step motor, similar
to an MMT-licensed AFIC
6405.
FUNCTIONAL PIN DESCRIPTION
H-Bridge Outputs 0 (COS0+, COS0-, SIN0+, SIN0-)
Each pin is the output pin of a half bridge, designed to
source or sink current. The H-Bridge pins linearly drive the
sine and cosine coils of two separate step motors to provide
four-quadrant operation.
GROUND (GND)
These pins serve as the ground for the source of the lowside output transistors as well as the logic portion of the
device. They also help dissipate heat from the device.
CHIP SELECT (CS)
The CS pin enables communication with the master
device. When this pin is in a logic [0] state, the 33970 is
capable of transferring information to, and receiving
information from, the master. The 33970 latches data in from
the Input Shift registers to the addressed registers on the
rising edge of
when CS is logic [0]. When CS is logic high, signals at the
SCLK and SI pins are ignored and the SO pin is tri-stated
(high impedance).
state to a logic
internal pull-up (lUP) connected to the pin, as specified in the
section of the Static Electrical Characteristics table entitled
CONTROL I/O, which is found on page 6.
CS. The output driver on the SO pin is enabled
CS will only be transitioned from a logic [1]
[0] state when SCLK is a logic [0]. CS has an
SERIAL CLOCK (SCLK)
SCLK clocks the Internal Shift registers of the 33970
device. The Serial Input (SI) pin accepts data into the Input
Shift register on the falling edge of the SCLK signal, while the
Serial Output pin (SO) shifts data information out of the SO
Line Driver on the rising edge of the SCLK signal. It is
important that the SCLK pin be in a logic [0] state whenever
CS makes any transition. SCLK has an internal pull down
the
), as specified in the section of the Static Electrical
(l
DWN
Characteristics table entitled
on page 6. When CS is logic [1], signals at the SCLK and SI
pins are ignored and SO is tri-stated (high impedance). Refer
to the data transfer timing diagrams in
on page 12.
CONTROL I/O, which is found
Figure 6 and Figure 7
The 33970 is ideal for use in automotive instrumentation
systems requiring distributed and flexible step motor gauge
driving. The device also eases the transition to step motors
from air core motors by emulating the air core pointer
movement with little additional processor bandwidth
utilization.
SERIAL OUTPUT (SO)
The SO data pin is a tri-stateable output from the Shift
register. The Status register bits are the first 16 bits shifted
out. Those bits are followed by the message bits clocked in
FIFO, when the device is in a daisy chain connection or being
sent words that are multiples of 16 bits. Data is shifted on the
rising edge of the SCLK signal. The SO pin will remain in a
high impedance state until the
state.
CS pin is put into a logic low
SERIAL INPUT (SI)
The SI pin is the input of the Serial Peripheral Interface
(SPI). Serial Input (SI) information is read on the falling edge
of SCLK. A 16-bit stream of serial data is required on the SI
pin, beginning with the most significant bit (MSB). Messages
that are not multiples of 16 bits (e.g., daisy chained device
messages) are ignored. After transmitting a 16-bit word, the
CS pin must be de-asserted (logic [1]) before transmitting a
new word. SI information is ignored when CS is in a logic high
state.
Multiplexed Output (RTZ)
This is a multiplexed output pin, for the non-driven coil,
during a Return to Zero (RTZ) event.
Voltage (VDD)
This SPI and logic power supply input will work with 5.0 V
supplies.
RESET (RST)
If the master decides to reset the device, or place it into a
sleep state, the
RST pin will force all internal logic to the known default
the
state. This input has an internal active pull-up.
RST pin is driven to a logic [0]. A logic [0] on
BATTERY VOLTAGE (VPWR)
Power supply.
33970
Analog Integrated Circuit Device Data
10Freescale Semiconductor
FUNCTIONAL DESCRIPTION
FUNCTIONAL PIN DESCRIPTION
H-BRIDGE OUTPUTS 1 (SIN1-, SIN1+, COS1-,
COS1+)
Each of this pins is the output pin of a half bridge, designed
to source or sink current. The H-Bridge pins linearly drive the
sine and cosine coils of two separate step motors to provide
four-quadrant operation.
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor11
FUNCTIONAL DEVICE OPERATION
OPERATIONAL MODES
FUNCTIONAL DEVICE OPERATION
OPERATIONAL MODES
SPI PROTOCOL DESCRIPTION
The SPI interface has a full-duplex, three-wire
synchronous, 16-bit serial synchronous interface data
transfer and four I/O lines associated with it: Chip Select (
CS),
Serial Clock (SCLK), Serial Input (SI), and Serial Output
LOGIC COMMANDS AND REGISTERS
This section provides a description of the 33970 SPI behavior. To follow the explanations below, refer to Table 5 and to the
timing diagrams shown in Figure 6 and Figure 7.
Table 5. Data Transfer Timing
PinDescription
CS (1-to-0)
CS (0-to-1)
SO
SI
SO pin is enabled.
33970 configuration and desired output states are transferred and executed according to the data in
the Shift registers.
Will change state on the rising edge of the SCLK pin signal.
Will accept data on the falling edge of the SCLK pin signal.
(SO). The SI/SO pins of the 33970 follow a first in/first out
(D15/D0) protocol with both input and output words
transferring the most significant bit first. All inputs are
compatible with 5.0 V CMOS logic levels.
The Input Shift register captures data at the falling edge of
the SCLK clock. The SCLK clock pulses exactly 16
times only
inside the transmission windows (CS in a logic [0] state). By
the time the CS signal goes to logic [1] again, the contents of
the Input Shift register are transferred to the appropriate
internal register, to the address contained in bits 15:13. The
minimum time
CS should be kept high depends on the
internal clock speed. That data is specified in the SPI
INTERFACE TIMING section of the Static Electrical
Characteristics, which is found on
page 7. It must be long
enough so the internal clock is able to capture the data from
the Input Shift register and transfer it to the internal registers.
DATA OUTPUT
At the first rising edge of the SCLK clock, with the CS at
[0], the contents of the selected Status Word register
logic
are transferred to the Output Shift register. The first 16 bits
clocked out are the status bits. If data continues to clock in
before the
CS transitions to a logic [1], the device begins to
shift out the data previously clocked in FIFO after the CS first
transitioned to logic [0].
COMMUNICATION MEMORY MAPS AND
REGISTER DESCRIPTIONS
The 33970 device is capable of interfacing directly with a
microcontroller via the 16-bit SPI protocol described and
specified below. The device is controlled by the
microprocessor and reports back status information via the
SPI. This section provides a detailed description of all
registers accessible via serial interface. The various registers
control the behavior of this device.
A message is transmitted by the master beginning with the
MSB (D15) and ending with the LSB (D0). Multiple messages
can be transmitted in succession to accommodate those
applications where daisy chaining is desirable, or to confirm
transmitted data, as long as the messages are all multiples of
bits. Data is transferred through daisy-chained devices, as
16
illustrated in Figure 7, page 12. If an attempt is made to latch
in a message smaller than 16 bits wide, it is ignored.
The 33970 uses six registers to configure the device,
control the state of the four H-bridge outputs, and determine
the type of status information that is clocked back to the
master. The registers are addressed via D15:D13 of the
incoming SPI word (refer to
Table 6).
MODULE MEMORY MAP
Various registers of the 33970 SPI module are addressed
by the three MSBs of the 16-bit word received serially.
Functions to be controlled include:
• Individual gauge drive enabling
• Power-up/down
• Internal clock calibration
• Gauge pointer position and velocity
• Gauge pointer zeroing
• Air core motor movement emulation
• Status information
Status reporting includes:
• Individual gauge overtemperature condition
• Battery overvoltage
• Battery undervoltage
• Pointer zeroing status
• Internal clock status
• Confirmation of coil output changes that should result in
pointer movement
• Real time pointer position information
• Real time pointer velocity step information
• Pointer movement direction
• Command pointer position status
• RTZ accumulator value
Table 6 provides the registers available to control the
above functions.
Table 6. Module Memory Map
Address
[15:13]
000Power, Enable, Calibration,
and Configuration Register
001Maximum Velocity RegisterVELRPage 15
010Gauge 0 Position RegisterPOS0RPage 15
011Gauge 1 Position RegisterPOS1RPage 15
100Gauge Return to 0 RegisterRTZRPage 16
101Gauge Return to 0
110Not Used––
111Reserved for Test––
RegisterNameSee Page
PECCRPage 13
RTZCRPage 17
Configuration
Register
REGISTER DESCRIPTIONS
The following section describes the registers, their
addresses, and their impact on device operation.
Address 000 — Power, Enable, Calibration, and
Configuration Register (PECCR)
The Power, Enable, Calibration, and Configuration
Register is illustrated in
33970 using this register allows the master to
(1)
independently enable or disable the output drivers of the
two-gauge controllers, (2)
(3) disable the air core emulation, (4) select the direction of
the pointer movement during pointer positioning and zeroing,
configure the device for the desired status information to
(5)
be clocked out into the SO pin, or (6) send a null command
for the purpose of reading the status bits. This register is also
used to place the 33970 into a low current consumption
mode.
Each of the gauge drivers can be enabled by writing a
[1] to their assigned address bits, PE0 and PE1
logic
respectively. This feature could be used to disable a driver if
Table 7, page 14. A write to the
calibrate the internal clock,
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor13
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
it is failing or is not being used. The device can be placed into
a standby current mode by writing a logic [0] to both PE0 and
PE1. During this state, most current consuming circuits are
biased off. When in the Standby mode, the internal clock will
remain ON.
The internal state machine utilizes a ROM table of step
times defining the duration that the motor will spend at each
microstep as it accelerates or decelerates to a commanded
position. The accuracy of the acceleration and velocity of the
motor is directly related to the accuracy of the internal clock.
Although the accuracy of the internal clock is temperature
independent, the non-calibrated tolerance is +70% to -35%.
The 33970 was designed with a feature allowing the internal
clock to be software calibrated to a tighter tolerance of ±10%,
using the
CS pin and a reference time pulse provided by the
microcontroller.
Calibration of the internal clock is initiated by writing a
logic [1] to PE3. The calibration pulse, which must be 8.0 µs
for an internal clock speed of 1.0 MHz, will be sent on the CS
pin immediately after the SPI word is sent. No other SPI lines
will be toggled. A clock calibration will be allowed only if the
gauges are disabled or the pointers are not moving, as
indicated by status bits MOV0 and MOV1. Additional details
are provided in the
INTERNAL CLOCK CALIBRATION
section, beginning on page 26.
Some applications may require a guaranteed maximum
pointer velocity and acceleration. Guaranteeing these
maximums requires that the nominal internal clock frequency
fall below 1.0
clock will always be below 1.0
MHz. The frequency range of the calibrated
MHz if bit PE4 is logic [0] when
initiating a calibration command, followed by an 8.0 µs
reference pulse. The frequency will be centered at 1.0 MHz if
bit PE4 is logic
[1].
Some applications may require a slower calibrated clock
due to a lower motor gear reduction ratio. Writing a logic [1]
to bit PE2 will slow the internal oscillator by one-third. Slowing
the clock accommodates a longer calibration pulse without
overrunning the internal counter— a con d i ti on de si g ne d to
generate a CAL fault indication. For example, calibration for
a clock frequency of 667
kHz would require a calibration
pulse of 12 µs. Unless the internal oscillator is slowed by
writing PE2 to logic [1], a 12 µs calibration pulse may overrun
the counter and generate a CAL fault indication.
Some applications may require faster pointer positioning
than is provided with the air core motor emulation feature.
This feature is enabled with the device that is in the default
mode. Writing logic
[1] to bit PE5 will disable the air core
emulation and provide a constant acceleration and
deceleration at the maximum rate.
Bit D6 is logic [0] during a PECCR commands.
The default Pointer Position 0 (PE7 = 0) will be the farthest
counter-clockwise position. A logic [1] written to bit PE7 will
change the location of the position 0, for the Gauge selected
by bit PE8, to the farthest clockwise position. A change in
position 0 of only one, or both, of the two coils can be
accomplished by using bits PE8 and PE7. Performing an RTZ
will always move the pointer to position
0. Exercise care
when writing to PECCR bits PE8 and PE7 in order to prevent
accidental changes of the position 0 locations.
Bits PE11:PE8 determine the content of the bits clocked
out of the SO pin. When bit PE11 is at logic
[0], the clocked
out bits will provide device status. If a logic [1] is written to bit
PE11, the bits clocked out of the SO pin, depending upon the
state of bits PE10:PE8, provides either:
• Accumulator information and detection status during
the RTZ (PE10 logic [0])
• Real time pointer position location at the time CS goes
low (PE10 logic [1] and PE9 logic [0]), or
• The real time step position of the pointer as described
in the velocity
Table 21, page 24 (PE10, PE9, and PE8
logic [1]).
Additional details are provided in the SO Communication
section beginning on page 18.
If bit PE12 is logic [1] during a PECCR command, the state
of PE11:PE0 is ignored. This is referred to as the null
command and can be used to read device status without
affecting device operation.
Table 7. Power, Enable, Calibration, and Configuration Register (PECCR)
Address 000
BitsD12D11D10D9D8D7D6D5D4D3D2D1D0
Read
Write
The bits in Table 7 are write-only.
PE12 (D12) — Null Command for Status Read
• 0 = Disable
• 1 = Enable
PE11 (D11) — Status Select bit. This bit selects the
information clocked out of the SO pin.
• 0 = Device Status (the logic states of PE10, PE9, and
33970
–––––––––––––
PE12PE11PE10PE9PE8PE70PE5PE4PE3PE2PE1PE0
• 1 = RTZ Accumulator Value, Gauge 0 or 1 Pointer
position, or Gauge 0 and 1 Velocity ramp position
(depending upon the logic states of PE10, PE9, and
PE8)
PE10 (D10) — RTZ Accumulator or Pointer Status Select
bit. This bit is recognized only when PE11 = 1.
• 0 = RTZ Accumulator Value and status
PE8 don’t cares)
• 1 = Pointer Position or Speed
Analog Integrated Circuit Device Data
14Freescale Semiconductor
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
PE9 (D9) — Pointer Position or Pointer Speed Select bit.
This bit is recognized only if PE11 and PE10 = 1.
• 0 = Gauge 0 or Gauge 1 Pointer Position
• 1 = Gauge 0 and Gauge 1 Pointer Speed
PE8 (D8) — Pointer Position Gauge Select bit. Also the
Position 0 of the selected gauge is determined by the PE7
selection. This bit is recognized only if PE11 and PE10 = 1
and PE9 = 0.
• 0 = Gauge 0 position
• 1 = Gauge 1 position
PE7 (D7) — Position 0 Location Select bit. This bit
determines the Position 0 of the gauge selected by PE8. RTZ
direction will always be to the position 0.
• 0 = Position 0 is the most CCW (counterclockwise)
position
• 1 = Position 0 is the most CW (clockwise) position
PE6 (D6) — This bit must be transmitted as logic [0] for
valid PECCR commands.
PE5 (D5) — Air Core Motor Emulation bit. This bit is
enabled or disabled (acceleration and deceleration is
constant if disabled).
• 0 = Enable
• 1 = Disable
PE4 (D4) — Clock Calibration Frequency Selector
• 0 = Maximum f =1.0 MHz (for 8.0 µs calibration pulse)
PE3 (D3) — Clock Calibration Enable bit. This bit enables
or disables the clock calibration.
• 0 = Disable
•1 = Enable
PE2 (D2) — Oscillator Adjustment
•0 = t
CLU
• 1 = 0.66 x t
CLU
PE1 (D1) — Gauge 1 Enable bit. This bit enables or
disables the output driver of Gauge 1.
• 0 = Disable
•1 = Enable
PE0 (D0) — Gauge 0 Enable bit. This bit enables or
disables the output driver of Gauge 0.
• 0 = Disable
•1 = Enable
Address 001 — Maximum Velocity Register (VELR)
The Gauge Maximum Velocity Register is used to set a
maximum velocity for each gauge (refer to
Table 8). Bits
V7:V0 contain a position value from 1– 225 that is
representative of the velocity position value described in
Table 21, page 24. The table value becomes the maximum
velocity until it is changed to another value. If a maximum
value is chosen greater than the maximum velocity in the
acceleration table, the maximum table value becomes the
maximum velocity. If the motor is turning at a speed greater
than the new maximum, the motor immediately moves down
the velocity ramp until the speed falls equal to or below it.
Velocity for each motor can be changed simultaneously or
independently by writing V8 and/or V9 to a logic
V12:V10 must be at logic
[0] for valid VELR commands.
[1]. Bits
Table 8. Maximum Velocity Register (VELR)
Address 001
BitsD12D11D10D9D8D7D6D5D4D3D2D1D0
Read
Write
The bits in Table 8 are write-only.
V12:V10 (D12:D10) — These bits must be transmitted as
logic
V9 (D9) — Gauge 1 Velocity. Specifies whether the
maximum velocity determined in the V7: V0 field will apply to
Gauge 1.
• 0 = Velocity does not apply to Gauge 1
• 1 = Velocity applies to Gauge 1
V8 (D8) — Gauge 0 Velocity. Specifies whether the
maximum velocity specified in the V7: V0 field will apply to
Gauge 0.
• 0 = Velocity does not apply to Gauge 0
• 1 = Velocity applies to Gauge 0
–––––––––––––
000V9V8V7V6V5V4V3V2V1V0
V7:V0 (D7:D0) — Maximum Velocity. Specifies the
Table 21. This velocity will
[0] for valid VELR commands
maximum velocity position from
remain the maximum of the intended gauge until changed by
command. Velocities can range from position 1 (00000001)
to position 225 (11111111).
Addresses 010 and 011 — Gauge 0/1 Position Registers
(POS0R, POS1R)
Gauge 0 Position Register (SI Addresses 010) bits
11: P0 0 are written to when communicating the desired
P0
pointer positions, and Gauge 1 Position Register (SI Address
011) bits P1
11: P1 0 are written to when communicating the
desired pointer positions. Commanded positions can range
from 0 to 4095. The D12 bit must be at logic
[0] for valid
POS0R and POS1R commands.
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor15
The bits in Table 9 are write-only.
P0 12 (D12) — This bit must be transmitted as logic [0] for
valid commands.
P0 11:P0 0 (D11:D0) — Desired pointer position of
Gauge 0. Pointer positions can range from 0
(000000000000) to position 4095 (111111111111). For a
step motor requiring 12
microsteps per degree of pointer
movement, the maximum pointer sweep is 341.25°.
.
Table 10. Gauge 1 Position Register (POS1R)
Address 011
BitsD12D11D10D9D8D7D6D5D4D3D2D1D0
Read
Write
The bits in Table 10 are write-only.
P1 12 (D12) — This bit must be transmitted as logic [0] for
valid commands.
P1 11:P1 0 (D11:D0) — Desired pointer position of
Gauge 1. Pointer positions can range from 0
(000000000000) to position 4095 (111111111111). For a
step motor requiring 12
movement, the maximum pointer sweep is 341.25°
(4095 ÷ 12).
driven coil is integrated and its results are stored in an
accumulator.
A logic [1] written to bit RZ1 enables a Return to Zero for
Gauge 0 if RZ0 is logic [0], and Gauge 1 if RZ0 is logic [1],
respectively. Similarly, a logic [0] written to bit RZ1 disables a
0 when RZ0 is logic [0], and
microsteps per degree of pointer
Return to Zero for Gauge
Gauge 1 when RZ0 is logic [1], respectively.
Bits D12:D5 and D3:D2 must be at logic [0] for valid RTZR
commands.
Bit RZ4 is used to enable an unconditional RTZ event. A
Address 100 — Gauge Return to Zero Register (RTZR)
Gauge Return to Zero Register (RTZR) (refer to Table 11)
is written to return the gauge pointers to the zero position.
During an RTZ event, the pointer is returned to zero using full
steps, where only one coil is driven at any point in time. The
[0] results in a typical RTZ event, automatically
logic
providing a Stop when a stall condition is detected. A logic [1]
will result in RTZ movement, causing a Stop if a logic [0] is
written to bit RZ0. This feature is useful during development
and characterization of RTZ requirements.
back electromotive force (EMF) signal present on the non-
Table 11. Return to Zero Register (RTZR)
Address 100
BitsD12D11D10D9D8D7D6D5D4D3D2D1D0
Read
Write
The register bits in Table 11 are write-only.
RZ12:RZ5 (D12:D5) — These bits must be transmitted as
logic
RZ4 (D4) — This bit is used to enable an unconditional
RTZ event.
• 0 = Automatic Return to Zero
• 1 = Unconditional Return to Zero
–––––––––––––
00000000RZ40RZ2RZ1RZ0
RZ3 (D3) — This bit must be transmitted as logic [0] for
valid commands.
[0] for valid commands.
RZ2 (D2) — Return to Zero Direction bit. This bit is used to
properly sequence the integrator, depending upon the
desired zeroing direction.
• 0 = Return to Zero will occur in the CCW direction
= 0)
(PE7
• 1 = Return to Zero will occur in the CW direction
(PE7
= 1)
33970
Analog Integrated Circuit Device Data
16Freescale Semiconductor
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
RZ1 (D1) — Return to Zero Direction. This bit commands
the selected gauge to return the pointer to zero position.
• 0 = Return to Zero Disabled
• 1 = Return to Zero Enabled
RZ0 (D0) — Gauge Select: Gauge 0/Gauge 1. This bit
selects the gauge to be commanded.
• 0 = Selects Gauge 0
• 1 = Selects Gauge 1
Address 101 — Gauge Return to Zero Configuration
Register
Gauge Return to Zero Configuration Register (RTZCR) is
used to configure the Return to Zero Event (refer to
Table 12). It is written to modify the step time, or rate; at
which the pointer moves during an RTZ event. Also, the
integration blanking time, which is the time immediately
following the transition of a coil from a driven state to an open
state in the RTZ mode, is adjustable with this command.
Finally, this command is used to adjust the threshold of the
RTZ integration register.
The values used for this register should be selected during
development to optimize the RTZ for each application.
Selecting an RTZ step rate resulting in consistently
successful zero detections depends on a clear understanding
of the motor characteristics. Specifically, resonant
frequencies exist due to the interaction between the motor
and the pointer. This command allows movement of the RTZ
pointer speed away from these frequencies. Also, some
motors require a significant amount of time for the pointer to
settle to a steady state position when moving from one full
step position to the next. Consistent and accurate integration
values require the pointer be stationary at the end of the full
step time.
Bits RC3:RC0, RC12:RC11, and RC4 determine the time
spent at each full step during an RTZ event. Bits RC3:RC0
are used to select a
(1111) in increments of 4.096 ms (refer to
∆t ranging from 0 ms (0000) to 61.44 ms
Table 13). The ∆t
is multiplied by the factor M, which is defined by bits
RC12:RC11. The product is then added to the blanking time,
selected using bit RC4, to generate the full step time. The
multiplier selected with RC12:RC11 will be 1
4
(10) as illustrated in the equations below. Note that the
(00), 2 (01), or
RC12:RC11 value of 8 (11) is not recommended for use in a
product design application, because of the potential for an
RTZ accumulator internal overflow, due to the long time step.
The blanking time is either 512
.
µs when RC4 is logic [0], or
Table 12. RTZCR SI Register Assignment
µs when it is logic [1].The full step time is generated
768
using the following equations:
When D3:D0 (RC3:RC0) ≠ 0000
Full Step (t) = ∆t x M + blanking (t)(1)
When D3:D0 (RC3:RC0) = 0000
Full Step (t) = blanking (t) + 2.048 ms(2)
Note In equation (2), a 2.048 ms offset is added to the full
step time when the RC:3:RC0 = 0000. The full step time
default value after a logic reset is 12.80 ms
(RC12:RC11
= 00, RC4 = 0, and RC3:RC0 = 0011).
If there are two full steps per degree of pointer movement,
the pointer speed is 1/(FullStep
x 2) deg/s.
Detecting pointer movement is accomplished by
integrating the EMF present in the non-driven coil during the
RTZ event. The integration circuitry is implemented using a
Sigma-Delta converter resulting in the placement of a value
in the 15-bit RTZ accumulator at the end of each full step. The
value in the RTZ accumulator represents the change in flux
and is compared to a threshold. Values above the threshold
indicate a pointer is moving. Values below the threshold
indicate a stalled pointer, thereby resulting in the cessation of
the RTZ event.
The RTZ accumulator bits are signed and represented in
two’s complement. After a full step of integration, a sign bit of
0 is the indicator of an accumulator exceeding the decision
threshold of 0, and the pointer is assumed to still be moving.
Similarly, if the sign bit is logic [1] after a full step of
integration, the accumulator value is negative and the pointer
is assumed to be stopped. The integrator and accumulator
are initialized after each full step. If the PECCR command is
written to clock out the RTZ accumulator values via the SO,
the OD14 bit corresponds to the sign bit of the RTZ
accumulator.
Accurate pointer stall detection depends on a correctly
preloaded accumulator for specific gauge, pointer, and full
step combinations. Bits RC10:RC5 are used to offset the
initial RTZ accumulator value, properly detecting a stalled
motor. The initial accumulator value at the start of a full step
of integration is negative. If the accumulator was correctly
preloaded, a free-moving pointer will result in a positive value
at the end of the integration time, and a stalled pointer will
result in a negative value. The preloaded values associated
with each combination of bits RC10:RC5 are illustrated in
Table 14. The accumulator should be loaded with a value
resulting in an accumulator MSB to a logic [1] when the motor
is stalled. For the default mode, after a power-up or any reset,
the 33970 device sets the accumulator value to -1.
Address 101
BitsD12D11D10D9D8D7D6D5D4D3D2D1D0
Read
Write
–––––––––––––
RC12RC11RC10RC9RC8RC7RC6RC5RC4RC3RC2RC1RC0
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor17
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
The bits in Table 12 are write-only.
RC12:RC11 (D12:D11) — These bits, along with RC3:RC0
(D3:D0) and RC4 (D4), determine the full step time and,
therefore, the rate at which the pointer will move during an
RTZ event. The values of D12:D11 determine the multiplier
(M) is used in equation (1) (refer to
page 17).
RC12:RC11 = M
• 00 = 1
• 01 = 2
• 10 = 4
• 11 = 8 (Not to be used for design)
RC10:RC5 (D10:D5) — These bits determine the value
preloaded into the RTZ integration accumulator to adjust the
detection threshold. Values range from -1 (00000000) to 1099 (11111111) as shown in
Table 14.
RC4 (D4) — This bit determines the RTZ blanking time
(blanking (t)).
• 0 = 512 µs
• 1 = 768 µs
RC3:RC0 (D3:D0) — These bits, along with RC12:RC11
(D12:D11) and RC4 (D4), determine the time variables used
to calculate the full step times with equations (1) or (2)
illustrated above. RC3:RC0 determines the
∆t time. The ∆t
values range from 0 (0000) to 61.440 ms (1111) and are
shown in Table 13. The default ∆t is 0 (0011).
Note Equation (2) (refer to page 17) is only used to
calculate the full step time if RC3:RC0 = 0000. Use
equation (1) for all other combinations of RC3:RC0.
When the CS pin is pulled low, the internal status register,
as configured with the PECCR command bits PE11:PE8, is
loaded into the output register and the data is clocked out
MSB (OD15) first. Following a
CS transition 0 to 1, the device
determines if the shifted-in message was of a valid length (a
valid message length is one that is greater than 0 bits and a
multiple of 16 bits), and if so, latches the incoming data into
the appropriate registers.
.
.
.
Preload Value
(PV)
.
.
.
Initial Accumulator
Value = (-16
x PV) -1
.
.
.
At this time, the SO pin is tri-stated and the status register
is now able to accept new status information. Fault status
information will be latched and held until the Device Status
Output register is selected and it is clocked out via the SO. If
the message length was determined to be invalid, the fault
information will not be cleared and will be transmitted again
during the next valid SPI message. Pointer status information
bits (e.g., pointer position, velocity, and commanded position
status) will always reflect the real time state of the pointer.
33970
Analog Integrated Circuit Device Data
18Freescale Semiconductor
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
Any bits clocked out of the SO pin after the first 16 are
representative of the initial message bits clocked into the SI
pin since the CS pin first transitioned to a logic [0]. This
feature is useful for daisy-chaining devices as well as
message verification.
As described above, the last valid write to bits PE11:PE8
of the PECCR command determines the nature of the status
5. Gauge 1 and 2 Pointer Velocity Status (refer to
Table 19, page 22)
Once a specific status type is selected, it will not change
until either the PECCR command bits PE11:PE8 (D11:D8)
are written to select another or the device is reset. Each of the
Status types and the PECCR bit necessary to select them are
described below.
data that is clocked out of the SO pin.
There are five different types of status information
available:
1. Device Status (refer to Table 15 below)
Device Status Information
Most recent valid PECCR command resulting in the
Device Status output:
2. RTZ Accumulator Status (refer to Table 16, page 20)
3. Gauge 0 Pointer Position Status (refer to Table 17,
page 21)
4. Gauge 1 Pointer Position Status (refer to Table 18,
The bits in Table 15 are read-only bits.
DIR1 (OD15) — This bit indicates the direction Gauge 1
overvoltage event will automatically disable the driver
outputs. Because the pointer may not be in the expected
position, the master may want to re-calibrate the pointer
• 0 = Toward position 0
• 1 = Away from position 0
DIR0 (OD14) — This bit indicates the direction Gauge 0
• 0 = Toward position 0
• 1 = Away from position 0
position with an RTZ command after the voltage returns to a
normal level. For an overvoltage event, both gauges must be
re-enabled as quickly as this flag returns to logic
state machine will continue to operate properly as long as
is within the normal range.
V
DD
• 0 = Normal range
• 1 = Battery voltage exceeded V
PWROV
[0]. The
0POS1 (OD13) — This bit indicates the configured Position
0 for Gauge 1.
• 0 = Farthest CCW
•1 = Farthest CW
0POS0 (OD12) — This bit indicates the configured Position
0 for Gauge 0.
• 0 = Farthest CCW
•1 = Farthest CW
CMD1 (OD11) — This bit indicates whether Gauge 1 is at
the most recently commanded position.
• 0 = At commanded position
• 1 = Not at commanded position
CMD0 (OD10) — This bit indicates whether Gauge 0 is at
the most recently commanded position.
• 0 = At commanded position
• 1 = Not at commanded position
OV (OD9) — Overvoltage Indication. A logic [1] on this bit
indicates V
voltage exceeded the upper limit of V
PWR
PWROV
since the last SPI communication (refer to the Static Electrical
Characteristics table under
POWER INPUT, page 5). An
UV (OD8) — Undervoltage Indication. A logic 1] on this bit
indicates the V
voltage fell below V
PWR
PWRUV
since the last
SPI communication (refer to the Static Electrical
Characteristics table under
POWER INPUT, page 5). An
undervoltage event is just flagged; however, at some voltage
level below 4.0
V, the outputs turn OFF and the state
machine resets. Because the pointer may not be in the
expected position, the master may want to re-calibrate the
pointer position with an RTZ command after the voltage
returns to a normal level. For an undervoltage event, both
gauges may need to be re-enabled as quickly as this flag
returns to logic
properly as long as V
[0]. The state machine will continue to operate
is within the normal range.
DD
• 0 = Normal range
• 1 = Battery voltage fell below V
PWRUV
CAL (OD7) — Calibrated Clock out of Specification. A
[1] on this bit indicates the clock count calibrated to a
logic
value outside the expected range given the tolerance
specified by t
in the Dynamic Electrical Characte ri sti cs
CLC
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor19
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
table under POWER OUTPUT AND CLOCK TIMINGS,
page 7.
• 0 = Clock within spec
• 1 = Clock out of spec
OVUV (OD6) — Undervoltage or Overvoltage Indication. A
logic [1] on this bit indicates the V
below the V
since the last SPI communication (refer to
PWRUV
the Static Electrical Characteristics table under
voltage fell to a level
PWR
POWER
INPUT, page 5). An undervoltage event is just flagged, while
an overvoltage event automatically disables the drive
outputs. Because the pointer may not be in the expected
position, the master may want to re-calibrate the pointer with
an RTZ command after the voltage returns to normal level.
For an overvoltage event, both gauges must be re-enabled
as soon as this flag returns to logic
[0]. The state machine will
continue to operate properly as long as VDD is within the
normal range.
• 0 = Normal range
• 1 = Battery voltage fell below V
V
PWROV
PWRUV
or exceeded
MOV1 (OD5) — This bit identifies Gauge 1 Movement
since last SPI communication. A logic [1] on this bit indicates
the Gauge 1 pointer position changed since the last SPI
command. This information allows the master to confirm the
pointer is moving as commanded.
• 0 = Gauge 1 position has not changed since the last SPI
command
• 1 = Gauge 1 pointer position has changed since the last
SPI command
MOV0 (OD4) — Gauge 0 Movement Since last SPI
Communication. A logic [1] on this bit indicates the Gauge 0
pointer position has changed since the last SPI command.
This information allows the master to confirm the pointer is
moving as commanded.
• 0 = Gauge 0 position has not changed since the last SPI
command
• 1 = Gauge 0 pointer position has changed since the last
SPI command
RTZ1 (OD3) — RTZ1 Is Enabled or Disabled. A logic [1] on
this bit indicates Gauge 1 is in the process of returning to the
zero position as requested with the RTZ command. This bit
will continue to indicate a logic [1] until the SPI message
following a detection of the zero position, or the RTZ feature
is commanded OFF using the RTZ message.
• 0 = Return to Zero disabled
• 1 = Return to Zero enabled successfully
RTZ0 (OD2) — RTZ0 Is Enabled or Disabled. A logic [1] on
this bit indicates Gauge 0 is in the process of returning to the
zero position as requested with the RTZ command. This bit
continues to indicate a logic [1] until the SPI message
following a detection of the zero position, or the RTZ feature
is commanded OFF using the RTZ message.
• 0 = Return to Zero disabled
• 1 = Return to Zero enabled successfully
OT1 (OD1) — Gauge 1 Junction Overtemperature. A
logic [1] on this bit indicates that the coil drive circuitry
dedicated to drive Gauge 1 has exceeded the maximum
allowable junction temperature since the last SPI
communication and that Gauge
1 has been disabled. It is
recommended that the pointer be re-calibrated using the RTZ
command after re-enabling the gauge using the PECCR
command. This bit remains logic
[1] until the gauge is
enabled.
• 0 = Temperature within range
• 1 = Gauge 1 maximum allowable junction temperature
condition has been reached
OT0 (OD0) — Gauge 0 Junction Overtemperature. A
logic [1] on this bit indicates that the coil drive circuitry
dedicated to drive Gauge 0 has exceeded the maximum
allowable junction temperature since the last SPI
communication and that Gauge
0 has been disabled. It is
recommended that the pointer be re-calibrated using the RTZ
command after re-enabling the gauge using the PECCR
command. This bit remains logic
[1] until the gauge is re-
enabled.
• 0 = Temperature within range
• 1 = Gauge 0 maximum allowable junction temperature
condition is reached
RTZ Accumulator Status Information
Most recent valid PECCR command resulting in the RTZ
The bits in Table 16 are read-only bits.
RTZ (OD15) — RTZ Bit Is Enabled or Disabled. A logic [1]
command. This bit will continue to indicate a logic [1] until the
SPI message following a detection of the zero position, or the
RTZ feature is commanded OFF using the RTZ message.
• 0 = Return to Zero disabled
Analog Integrated Circuit Device Data
20Freescale Semiconductor
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
• 1 = Return to Zero enabled successfully
ACC14:ACC0 (OD14:OD0) — These 15 bits are from the
RTZ accumulator. They represent the integrated signal
present on the non-driven coil during an RTZ event. These
bits are logic [0] after power-on reset, or after the
RST pin
transitions from logic [0] to [1]. After an RTZ event, they will
represent the last RTZ accumulator result before the RTZ
was stopped. ACC14 is the MSB and is the sign bit used for
zero detection.
Figure 8. RTZ Accumulator (Typical)
The analog-to-digital converter's linear input range covers
the expected magnitude of motor back e.m.f. signals, which
is_usually less than 500mV. Input signals greater than this
will not cause any damage (the circuit is connected to the
motor H-Bridge drivers, and thus is exposed to the full
magnitude of the drive voltages), but may cause some small
loss of linearity. A typical plot of output vs. input is shown in
Figure 8 for 4ms step times.
Gauge 0 Pointer Position Status Information
Most recent valid PECCR command resulting in the
Gauge 0 Pointer Position status output:
D11D10D9D8
1100
Table 17. Gauge 0 Pointer Position Status Output Register
velocity position value (refer to Table 21, page 24) indicating
the actual velocity of Gauge 1 pointer at the time CS
transitions to a logic
velocity position value (refer to Table 21) indicating the
actual velocity of Gauge 0 pointer at the time CS transitions
to a logic
1V71V61V51V41V31V21V11V00V70V60V50V40V30V20V10V0
––––––––––––––––
The bits in Table 19 are read-only bits.
1V7:1V0 (OD15:OD8) — These eight bits represent the
A requirement of the state machine is to ensure the
deceleration phase begins at the correct time and pointer
position. When commanded, the motor will accelerate
constantly to the maximum velocity, then move toward the
[0].
0V7:0V0 (OD7:OD0) — These eight bits represent the
commanded position. Eventually, the pointer will reach the
calculated location where the movement has to decelerate,
slowing safely to a stop at the desired position. During the
deceleration phase, the motor will not exceed the maximum
[0].
deceleration.
During normal operation, both step motor rotors are
STATE MACHINE OPERATION
The two-phase step motor has maximum allowable
velocities and acceleration and deceleration.The purpose of
the step motor state machine is to drive the motor with
maximum performance while remaining within the motor’s
voltage, velocity, and acceleration constraints.
microstepped with 24
Figure 9). A complete electrical revolution results in two
degrees of pointer movement. There is a second (smaller)
state machine in the IC controlling these microsteps. This
state machine receives clockwise or counter-clockwise index
commands at intervals, stepping the motor in the appropriate
direction by adjusting the current in each coil. Normalized
values are provided in
Analog Integrated Circuit Device Data
Freescale Semiconductor23
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
Table 20. Coil Step Value
* Denotes normalized values.
The motor is stepped by providing index commands at
intervals. The time between steps defines the motor velocity,
and the changing time defines the motor acceleration.
The state machine uses a table to define the allowed time
and also the maximum velocity. A useful side effect of the
table is that it also allows the direct determination of the
position at which the velocity should reduce to allow the
motor to stop at the desired position.
The motor equations of motion are generated as follows.
(The units of position are steps, and velocity and acceleration
are in steps/second and steps/second².)
From an initial position of 0 with an initial velocity (u), the
motor position (s) at a time (t) is:
2
1
atuts+=
2
For unit steps, the time between steps is:
2
++−
auu
=⇒
t
2
a
This defines the time increment between steps when the
motor is initially travelling at a velocity u. In the ROM, this time
is quantized to multiples of the system clock by rounding
upwards, ensuring acceleration never exceeds the allowed
value. The actual velocity and acceleration is calculated from
the time step actually used.
Using
v2 = u2 + 2as
and
v = u + at
and solving for v in terms of u, s, and t gives:
/
2
v =
- u
t
The correct value of t to use in this equation is the
quantized value obtained above.
From these equations a set of recursive equations can be
generated to give the allowed time step between motor
indexes when the motor is accelerating from a stop to its
maximum velocity.
Starting from a position p of 0 and a velocity v of 0, these
equations define the time interval between steps at each
position. To drive the motor at maximum performance, index
commands are given to the motor at these intervals. A table
is generated giving the time step
⎡
⎢
t
=∆
n
⎢
⎢
⎡⎤
whereindicates rounding up.
=
v
n
∆
t at an index position n.
0
=
p
0
0
=
v
0
2
−−
nn
a
−
v
n
∆
t
n
⎤
avv
2
++−
11
⎥
⎥
⎥
12−
Pn = n
Note Pn = n. This means on the n th step the motor has
indexed by n positions and has been accelerating steadily at
the maximum allowed rate. This is critical because it also
indicates the minimum distance the motor must travel while
decelerating to a stop. For example, the stopping distance is
also equal to the current value of n.
The algorithm of pointer movement can be summarized in
two steps:
1. The pointer is at the previously commanded position
and is not moving.
2. A command to move to a pointer position (other than
the current position) has been received. Timed index
pulses are sent to the motor driver at an everincreasing rate, according to the time steps in
Table 21, until:
a. The maximum velocity (default or selected) is
reached after which the step time intervals will no
longer decrease; or,
b. The distance in steps that remain to travel are less
than the current step time index value. The motor
then decelerates by increasing the step times
according to
Table 21 until the commanded position
is reached. The state machine controls the
deceleration so that the pointer reaches the
commanded position efficiently.
An example of the velocity table for a particular motor is
provided in Table 21. This motor’s maximum speed is
4800 microsteps/s (at 12 microsteps/degrees), and its
maximum acceleration is 54000 microsteps/s
Timing-related functions on the 33970 (e.g., pointer
velocities, acceleration, and Return To Zero Pointer speeds)
depend upon a precise, consistent time reference to control
the pointer accurately and reliably. Generating accurate time
references on an integrated circuit can be accomplished;
however, they tend to be costly due to the large amount of die
33970
area required for trim pads and the associated trim
procedure. One possibility is an externally generated clock
signal; however, this requires a dedicated pin on the device
and controller. Another expensive approach would require
the use of an additional crystal or resonator.
The internal clock in the 33970 is temperature
independent and area efficient; however, it can vary up to 70
Analog Integrated Circuit Device Data
26Freescale Semiconductor
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
percent due to process variation. Using the existing SPI
inputs and the precision timing reference already available to
the microcontroller, the 33970 allows clock calibration to
within ±10 percent.
Calibrating the internal 1.0 MHz clock is initiated by writing
a logic [1] to PECCR bit PE3 (see Figure 10, page 27). The
8.0 µs calibration pulse that is then provided by the controller
will ideally result in an internal 33970 clock speed of 1.0
MHz.
The pulse is sent on the CS pin immediately after the SPI
word is sent. No other SPI lines should be toggled. At the
moment the
CS pin transitions from logic [1] to logic [0], an
internal 7-bit counter counts the number of cycles of an
internal 8.0
MHz clock. The counter stops when the CS pin
transitions from logic [0] to logic [1]. The value in the counter
D15
SI
SCLK
CS
PECCR Command
Figure 10. Gauge Enable and Clock Calibration Exa m pl e
Some applications may require a guaranteed maximum
pointer velocity and acceleration. Guaranteeing these
maximums requires nominal internal clock frequency falls
below 1.0
will always be below 1.0
MHz. The frequency range of the calibrated clock
MHz if PECCR bit PE4 is logic [0]
prior to initiating a calibration command, followed by an
8.0 µs reference pulse. The frequency will be centered at
MHz if bit D4 is logic [1].
1.0
The33970 can be fooled into calibrating faster or slower
than the optimal frequency by sending a calibration pulse
longer or shorter than the intended 8.0 µs. As long as the
count remains between 4 and 15, there will be no clock
calibration flag. For applications requiring a slower calibrated
— e.g., a motor designed with a gear ratio of 120:1
clock
microsteps/deg) — the user will have to provide a longer
(8
calibration pulse. The device allows a SPI-selectable slowing
of the internal oscillator, using the PECCR command, so that
the calibration divisor safely falls within the 4-to-15 range
when calibrating with a longer time reference. For example,
for the 120:1 motor, the pulse would be 12
µs. The result of this slower calibration results in the
8.0
µs instead of
longer step times necessary to generate pointer movements
represents the number of cycles of the 8.0
MHz clock
occurring in the 8.0 µs window; it should range from 32 to
119. An offset is added to this number to help center or skew
the calibrated result to generate a desired maximum or
nominal frequency. The modified counter value is truncated
bits to generate the calibration divisor, which should
by 4
range from 4 to 15. The 8.0
calibration divisor, resulting in a calibrated 1.0
MHz clock is divided by the
MHz clock. If
the calibration divisor lies outside the range of 4 to 15, the
33970 flags the CAL bit of the status bits, indicating the
calibration procedure was not successful. A clock calibration
is allowed only if the gauges are disabled or the pointers are
not moving, as indicated by status bits MOV1 and MOV0.
D0
µ
s Calibration Pulse
8.0
meeting acceleration and velocity requirements. The
resolution of the pointer positioning decreases from
0.083
deg/microstep (180:1) to 0.125 deg/microstep (120:1).
The pointer sweep range increases from approximately
degrees to over 500 degrees.
340
Note Be aware that a fast calibration could result in
violations of the motor acceleration and velocity maximums,
resulting in missed steps.
POINTER DECELERATION
Constant acceleration and deceleration of the pointer
produces relatively choppy movements when compared to
those of an air core gauge. Air core behavior can be
simulated with appropriate ramp modification during
deceleration. This shaping can be accomplished by adding
repetitive steps at several of the last step values as the
pointer decelerates. The default movement in the 33970 uses
this ramp modification feature. An example is shown in
Figure 11. If the maximum acceleration and deceleration of
the pointer is desired, the repetitive steps can be disabled by
writing logic
[1] to the PECCR bit PE5.
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor27
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
VELOCITY
Accelerat
8
7
6
5
4
3
2
1
n=0
24
24
23
22
21
20
19
18
17
e
16
15
14
13
12
11
10
9
23
22
21
20
19
18
17
16
15
HOLDCNT =2
De
c
14
el
e
13
12
r
a
11
te
10
9
8
7
6
2
5
3
4
3
3
3
4
2
6
1
0
STEPS
Figure 11. Deceleration Ramp
RETURN TO ZERO CALIBRATION
Many step motor applications require that the IC detect
when the motor is stalled after commanded to return to the
zero position for calibration purposes. The stalling occurs
when the pointer hits the end stop on the gauge bezel, which
is usually at the zero position. It is important that when the
pointer reaches the end stop it immediately stops without
bouncing away.
The 33970 device provides the ability to automatically and
independently return each of the two pointers to the zero
position via the RTZR and RTZCR SPI commands. An
automatic RTZ is initiated using the RZ0, RZ1, and RZ2 bits.
Unconditional RTZ movement is initiated using the RZ0, RZ2,
and RZ4 bits. During an RTZ event, all commands related to
the gauge being returned are ignored until the pointer has
successfully zeroed or the RTZR bit RZ1 is written to disable
the event. Once an RTZ event is initiated, the device reports
back via the SO pin that an RTZ is underway.
The RTZCR command is used to set the RTZ pointer
speed, choose an appropriate blanking time, and preload the
integration accumulator with an appropriate offset. On
reaching the end stop, the device reports back to the
microcontroller via the status message that the RTZ was
successful. The RTZ automatically disables, allowing other
commands to be valid. In the event the master determines an
RTZ sequence is not working properly (i.e., the RTZ taking
too long), it can disable the command via the RTZR bit RZ1.
RTZCR bits RC10:RC5 are written to preload the
accumulator with a predetermined value that will assure an
accurate pointer stall detection. This preloaded value is
determined during application development by disabling the
automatic shutdown feature of the device with the RTZR bits
RZ4 and RZ2. This operating mode allows the master to
monitor the RTZ event, using the accumulator information
available via the SO if the device is configured to provide the
RTZ Accumulator Status. The unconditional RTZ event can
be turned OFF using the RTZR bit RZ1.
If the Position 0 location bit is in the default logic [0] mode,
then during an RTZ event the pointer is returned counterclockwise (CCW) using full steps at a constant speed
determined by the RTZCR RC3:RC0 and RC12:RC11 bits
during RTZ configuration (see
Figure 12). Full steps are used
during an RTZ so that only one coil of the motor is being
driven at any time. The coil not being driven is used to
determine if the pointer is moving. If the pointer is moving, the
EMF signal that is present in the non-driven coil is processed
by integrating the signal present on the opened pin of the coil
while essentially grounding the other end.
33970
Analog Integrated Circuit Device Data
28Freescale Semiconductor
I
MAX
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
I
COIL
I
COIL
I
MAX
I
MAX
I
0
0
MAX
01 2 30
01 2 30
Figure 12. Full Steps Counterclockwise
The IC automatically prepares the non-driven coil at each
step, waits for a predetermined blanking time, then
processes the signal for the duration of the full step. When
the pointer reaches the stop and no longer moves, the
dissipating flux is detected. The processed results are placed
in the RTZ accumulator, then compared to a decision
threshold. If the signal exceeds the decision threshold, the
pointer is assumed to be moving. If the threshold value is not
exceeded, the drive sequence is stopped if RTZR bit RZ4 is
[0]. If bit RZ4 is logic [1], the RTZ movement will
logic
continue indefinitely until the RTZR bit RZ1 is used to stop the
RTZ event.
A pointer that is not on a full step location or that is in
magnetic alignment prior to the RTZ event may cause a false
RTZ detection. More specifically, an RTZ event beginning
from a non-full step position may result in an abbreviated
integration value potentially interpreted as a stalled pointer.
Advancing the pointer by at least 12 microsteps clockwise (if
PE7 = 0) to the nearest full step position (e.g., 0, 6, 12, 18,
24, etc.) prior to initiating an RTZ ensures the magnetic fields
line up and increases the chances of a successful pointer
stall detection. It is important that the pointer be in a static, or
commanded, position before starting the RTZ event.
Because the time duration and the number of steps the
pointer moves prior to reaching the commanded position can
vary depending upon its status at the time a position change
is communicated, the master should assure sufficient
elapsed time prior to starting an RTZ. If an RTZ is desired
after first enabling the outputs or after forcing a reset of the
device, the pointer should first be commanded to move 12
microsteps clockwise to the nearest full step location.
Because the pointer was in a static position at default, the
SINE
COSINE
master could determine the number of microsteps the device
has taken by monitoring and counting the MOV0. MOV1
device status bit transitions to confirm the pointer is again in
a static position. Alternatively, the user could monitor the
device status bits CMD1 and CMD2.
Only one gauge at a time can be returned to the zero
position. The gauge not returning to zero can continue to be
controlled. An RTZ should not begin until the gauge to be
calibrated is at a static position and its pointer is at a full step
position. An attempt to calibrate a gauge while the other is in
the process of an RTZ event is ignored by the device. In most
applications of the RTZR command, it is possible to avoid a
visually obvious sequential calibration by first bringing the
pointers back close to their previous zero positions, then recalibrating them sequentially.
After completion of an RTZ, the 33970 automatically
assigns the zero-step position to the full step position at the
end-stop location. Because the actual zero position could lie
anywhere within the full step where the zero was detected,
the assigned zero position could be within a window of ±0.5
degree. An RTZ can be used to detect stall, even if the
pointer already rests on the end stop when an RTZ sequence
is initiated. However, it is recommended the pointer be
advanced by at least 12
microsteps to the nearest full step
prior to initiating the RTZ.
RTZ OUTPUT
During an RTZ event the non-driven coil is analyzed to
determine the state of the motor. The 33970 multiplexes the
coil voltages and provides the signal from the non-driven coil
to the RTZ pin.
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor29
FUNCTIONAL DEVICE OPERATION
LOGIC COMMANDS AND REGISTERS
DEFAULT MODE
Default mode refers to the state of the 33970 after an
internal or external reset prior to SPI communication. An
internal reset occurs during V
power-up or if V
DD
PWR
falls
below 4.0 V. An external reset is initiated by the RST pin
driven to a logic
[0]. With the exception of the RTZCR full step
time, all of the specific pin functions and internal registers will
operate as though all of the addressable configuration
register bits were set to logic
[0]. This means, for example, all
of the outputs will be disabled after a power-up or external
reset, and SO flag ST6 is set, indicating an undervoltage
event. Anytime an external reset is exerted and the default is
restored, all configuration parameters (e.g., clock calibration,
maximum speed, RTZ parameters, etc.) are lost and must be
reloaded.
FAULT LOGIC REQUIREMENTS
The 33970 device indicates each of the following faults as
they occur:
• Overtemperature fault
• Undervoltage V
• Overvoltage V
PWR
PWR
• Clock out of spec
These fault bits remain enabled until they are clocked out
of the SO pin with a valid SPI message.
Overcurrent faults are not reported directly; however, it is
likely an overcurrent condition will become a thermal issue
and be reported.
OVERTEMPERATURE FAULT REQUIREMENTS
The 33970 incorporates overtemperature protection
circuitry, which shuts off the affected gauge driver when
excessive temperatures are detected. In the event of a
thermal overload, the affected gauge driver is automatically
disabled. The overtemperature fault is flagged via the OT0
and/or OT1 device status bits. The indicating flag continues
to be set until the affected gauge is successfully re-enabled,
provided the junction temperature has fallen to a temperature
below the hysteresis level.
OVERVOLTAGE FAULT REQUIREMENTS
The device is capable of surviving V
the maximum specified in Table 2. V
an Overvoltage Shutdown condition can result in uncertain
pointer positions. Therefore, the pointer position should be
re-calibrated. The master will be notified of an overvoltage
event via the SO pin if the device status is selected.
Overvoltage detection and notification occurs regard l ess of
whether the gauge(s) are enabled or disabled.
voltages within
PWR
levels resulting in
PWR
OVERCURRENT FAULT REQUIREMENTS
Output currents are limited to safe levels allowing the
device to rely on thermal shutdown to protect itself.
UNDERVOLTAGE FAULT REQUIREMENTS
Undervoltage V
pointer positions. Therefore, the internal clock and the pointer
position may require re-calibration. The state machine
continues with V
the coil voltages may be clipped. The master can be notified
of an undervoltage event via the SO pin. Undervoltage
detection and notification are disabled if both outputs are
disabled.
conditions may result in uncertain
PWR
voltage levels as low as 4.0 V; however,
PWR
RESET (SLEEP MODE)
The device can reset internally or externally. If the VDD
level falls below the V
Characteristics table under POWER INPUT, page 5), the
device resets and powers up in the Default mode. Similarly,
RST pin is driven to a logic [0], the device resets to its
If the
default state. The device consumes the least amount of
current (IDD and I
PWR
also referred to as the Sleep mode.
level (refer to the Static Electrical
DDUV
) when the RST pin is logic 0]. This is
33970
Analog Integrated Circuit Device Data
30Freescale Semiconductor
TYPICAL APPLICATIONS
INTRODUCTION
TYPICAL APPLICATIONS
INTRODUCTION
The 33970 is an extremely versatile device used in a
variety of applications. Table 22 provides a step-by-step
example of configuring and using many of the features
designed into the IC.
Table 22. 33970 Setup, Configuration, and Usage Example
Step CommandDescription
1PECCR
2RTZCR
(a) Enable Gauges
-Bit PE0: Gauge 0
-Bit PE1: Gauge 1
(b) Clock Calibration
-Bit PE3: Enables Calibration Procedure
-Bit PE4: Set clock f = 1.0 MHz maximum or nominal
(c) Send 8.0 µs pulse on CS to calibrate 1.0 MHz clock
(a) Set RTZ Full Step Time
-Bits RC3:RC0
(b) Set RTZ Blanking Time
-Bit RC4
(c) Preload RTZ Accumulator
-Bits RC12:RC11 and RC10:RC5
This example is intended to give a generic overview how
the device could be used. Further, it is intended to familiarize
users with some of its capabilities.
Reference Table
and or Figure
Table 7 (page 14),
Figure 10 (page 27)
Table 12 (page 17),
Table 13 (page 18)
Table 14 (page 18)
3POS0R
4POS1R
5PECCR
6RTZ
(d) Check SO for an Out-of-Range Clock Calibration
-Is bit CAL logic [1]? If so, then repeat Steps 1 and 2
(a) Move pointer to position 12 prior to RTZ
(a) Move pointer to position 12 prior to RTZ
(b) Check SO to see if Gauge 0 has moved
-Is bit MOV0 (OD4) logic [1]? If so then the Gauge 0 has moved to the first microstep
(a) Send null command to see if gauges have moved
-Bit PE12
(b) Check SO to see if Gauge 0 (Gauge 1) has moved
-Is bit MOV0 (OD4) (MOV1 (OD5)) logic [1]? If so, then Gauge 0 (Gauge 1) moved
another microstep. Keep track of movement and if 12 steps are finished and both gauges
are at a static position, then RTZ. Otherwise, repeat steps (a) and (b)
-Bit CMD0 (OD10) (CMD1 (OD11)) could also be monitored to determine that the
pointer is static
(a) Return one gauge at a time to the zero stop using RTZ command
-Bit RZ0 selects the gauge
-Bit RZ1 is used to enable or disable an RTZ
-Bits RZ2 is used to select the direction (along with PE7)
(b) Select the RTZ accumulator bits to clock out on the SO bits using bits PE11:PE10. These
will be used if characterizing the RTZ.
Table 7 (page 14),
Table 15 (page 19)
Table 9 (page 16)
Table 10 (page 16)
Table 7 (page 14),
Table 15 (page 19)
Table 7 (page 14)
Table 7 (page 14),
Table 15 (page 19)
Table 11 (page 16)
Table 7 (page 14),
Table 16 (page 20)
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor31
TYPICAL APPLICATIONS
INTRODUCTION
Table 22. 33970 Setup, Configuration, and Usage Example (continued)
Step CommandDescription
7PECCR
(a) Check the Status of the RTZ by sending the null command to monitor SO bit RTZ0, RTZ1
of Device Status SO
-Bit PE12 is the null command
(b) Is RTZ0 (OD2) logic [0]? If not, Gauge 0 still returning and null command should be
resent.
8RTZ
(a) Return the other gauge to the zero stop. If the second gauge is driving a different pointer
than the first, a new RTZCR command may be required to change the Full Step time.
9PECCR
(a) Check the Status of the RTZ by sending the null command to monitor SO, bit RTZ1 (OD3)
- Bit PE12 is the null command
(b) Is RTZ1 (OD3) logic [0]? If not, Gauge 1 still returning and null command should be
resent.
10VELR
(a) Change the maximum velocity of the gauge
- Bits V8:V9 determine which gauge(s) will change the maximum velocity
- Bits V7:V0 determine the maximum velocity position from Table 21, Velocity Table
11POS0R
(a) Position Gauge 0 pointer
- Bits P011:P00: Desired Pointer Position
(b) Check SO for Out-of-Range V
PWR
-Bit OVUV (OD6) logic [1]? If so, use UV (OD8) and OV (OD9) to decide whether to
RTZ after valid V
PWR
Reference Table
and or Figure
Table 7 (page 14),
Table 15 (page 19)
Table 11 (page 16)
Table 7 (page 14),
Table 15 (page 19)
Table 7 (page 15),
Table 21 (page 24)
Table 9 (page 16),
Table 21 (page 24)
12POS1R
13POS0R
14POS1R
(c) Check SO for overtemperature
-Bit OT0 logic [1]? If so, enable driver again. If OT0 continues to indicate
overtemperature, shut down Gauge 0
-If RTZ0 returns to normal, re-establish the zero reference by RTZ command
(a) Position Gauge 1 pointer
- Bits P1 11:P1 0: Desired Pointer Position
(b) Check SO for Out-of-Range V
PWR
-Bit OVUV logic [1]? If so, use UV (OD8) and OV (OD9) to decided whether to RTZ
after valid V
PWR
(c) Check SO for overtemperature
- Bit OT1 logic [1]? If so, enable driver again. If OT1 continues to indicate overtemperature,
shut down Gauge 1.
- If OT1 returns to normal, re-establish the zero reference by RTZ command
(a) Return the pointers close to zero position using POS0R
(b) Move pointer position at least 12 microsteps CW to the nearest full step prior to RTZ
(c) Return the pointers close to zero position using POS1R
(d) Move pointer position at least 12 microsteps CW to the nearest full step position prior to
RTZ
(e) Check SO to see if Gauge 0 has moved
- Bit MOV0 logic [1]? If so, Gauge 0 moved to the first microstep
Table 10 (page 16),
Table 21 (page 24)
Table 9 (page 16)
Table 10 (page 16)
Table 10 (page 16),
Table 15 (page 19)
33970
Analog Integrated Circuit Device Data
32Freescale Semiconductor
Table 22. 33970 Setup, Configuration, and Usage Example (continued)
TYPICAL APPLICATIONS
INTRODUCTION
Step CommandDescription
15PECCR
16RTZ
17PECCR
18RTZ
19PECCR
(f) Send null command to see if gauges have moved
- Bits PE12
(g) Check SO to see if Gauge 0 (Gauge 1) moved
- Bit MOV0 (MOV1) logic [1]? If so, Gauge 0 (Gauge 1) moved another microstep. Keep
track of movement. If 12 steps are finished, and both gauges are at a static position, then
RTZ. Otherwise repeat steps (a) and (b)
- Bit CMD0 (OD10) (CMD1 (OD1)) could also be monitored to determine that the pointer is
static
(a) Return one gauge at a time to the zero stop using RTZ command
- Bit RZ0 selects the gauge
- Bit RZ1 is used to enable or disable an RTZ
- Bit RZ2 is used to select the direction (along with PE7)
(b) Select the RTZ accumulator bits clocking out on the SO bits using bits PE11:PE10. These
will be used if characterizing the RTZ
(a) Check the status of the RTZ by sending the null command to monitor SO bit RTZ0
- Bit PE12 is the null command
(b) Is RTZ0 logic [0]? If not, Gauge 0 still returning and null command should be resent
(c) Return the other gauge to the zero stop. If the second gauge is driving a different pointer
than the first, a new RTZCR command may be required to change the Full Step time
(a) Check the status of the RTZ by sending the null command to monitor SO bit RTZ1
- Bit PE12 is the null command
Reference Table
and or Figure
Table 7 (page 14),
Table 15 (page 19)
Table 7 (page 14),
Table 11 (page 16),
Table 16 (page 20)
Table 7 (page 14),
Table 15 (page 19)
Table 11 (page 16),
Table 14 (page 18)
Table 7 (page 14),
Table 15 (page 19)
20PECCR
(b) Is RTZ1 logic [0]? If not, Gauge 1 still returning and null command should be resent
(a) Disable both gauges and go to standby
- Bit PE0:PE1 are used to disable the gauges
(b) Put the device to sleep
- RST pin is pulled to logic [0]
Table 11 (page 16)
Table 7 (page 14)
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor33
PACKAGING
PACKAGE DIMENSIONS
PACKAGING
PACKAGE DIMENSIONS
For the most current package revision, visit www.freescale.com and perform a keyword search using the “98A” listed below.
DW SUFFIX
EG SUFFIX (Pb-FREE)
33970
24-PIN
PLASTIC PACKAGE
98ASB42344B
ISSUE F
Analog Integrated Circuit Device Data
34Freescale Semiconductor
REVISION HISTORY
REVISIONDATEDESCRIPTION OF CHANGES
2.0
3.0
8/2006
1/2007
• Implemented Revision History page
• Converted to Freescale format
• Corrected Symbol notation for Microstep Outp ut (M ea su red Across Coil Outputs)
SIN0,1, ± (COS0,1, ±) (refer to Table 1) and Output Flyback Clamp
• Added maximum pointer calculation on page 16
• Corrected detect threshold upper range from 4081 to 1009
• Changed internal clock variation from 35% to 70%
• Changed EMF to flux on page 28
• Added MCZ33970EG/R2 to the Ordering Information block
• Revised Internal Block Diagram to enhance readability
• Added parameter Peak Package Reflow Temperature During Reflow
and notes
• Added ADC Gain
(4)
and
(5)
(10), (13)
• Made wording additions to Address 101 — Gauge Return to Zero Configuration Register
on page 17 and RC12:RC11 = M on page 18
• Added RTZ Accumulator (Typical) on page 21 and accompanying te xt
to Static Elecrtrical Characteristics table.
REVISION HISTORY
(10)
(4), (5)
on page 4
33970
Analog Integrated Circuit Device Data
Freescale Semiconductor35
How to Reach Us:
Home Page:
www.freescale.com
Web Support:
http://www.freescale.com/support
USA/Europe or Locations Not Listed:
Freescale Semiconductor, Inc.
Technical Information Center, EL516
2100 East Elliot Road
Tempe, Arizona 85284
+1-800-521-6274 or +1-480-768-2130
www.freescale.com/support
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
support.japan@freescale.com
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
Technical Information Center
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
+800 2666 8080
support.asia@freescale.com
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-441-2447 or 303-675-2140
Fax: 303-675-2150
LDCForFreescaleSemiconductor@hibbertgroup.com
RoHS-compliant and/or Pb-free versions of Freescale products have the functionality
and electrical characteristics of their non-RoHS-compliant and/or non-Pb- free
counterparts. For further information, see http://www.freescale.com or contact your
Freescale sales representative.
For information on Freescale’s Environmental Products program, go to http://
www.freescale.com/epp.
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits base d on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to
any products herein. Freescale Semiconductor makes no warranty, representation or
guarantee regarding the suitability of its products for any particular purpose, nor does
Freescale Semiconductor assume any liability arising out of the application o r use of any
product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. “Typical” parameters that may be
provided in Freescale Semiconductor data sheet s and/or specifications can and do vary
in different applications and actual performance may vary over time. All operating
parameters, including “Typicals”, must be validated for each customer application by
customer’s technical experts. Freescale Semiconductor does not convey any license
under its patent rights nor the rights of others. Freescale Semiconductor products are
not designed, intended, or authorized for use as components in systems intended for
surgical implant into the body, or other applications intended to support or sustain life,
or for any other application in which the failure of the Freescale Semiconduct or product
could create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended or
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and
its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fee s arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners.