Datasheet
DRV2667
www.ti.com
SLOS751A –MARCH 2013–REVISED JANUARY 2014
DIRECT PLAYBACK FROM RAM
The Direct Playback from RAM Mode (Mode 2) makes use of the on-chip 2 kB of RAM for internal waveform
storage. This mode allows for immediate, low-latency recall of arbitrary haptic waveforms with very little
intervention from the host processor. Haptic waveforms, be they simple or complex, may be stored in this
memory at opportune times when immediate processor response is not critical. Examples of this are when the
end-user product is being powered up and initialized or when an application is being launched.
The waveforms are stored as 8-bit, two's-complement, Nyquist-rate data points, and are played from RAM at an
8 kHz data rate. Up to 250 milliseconds of total waveform playback time may be stored in the Mode 2 format in
the 2 kB memory. The waveform sizes are completely customizable, so many small waveforms may be stored or
fewer long ones. The sum of the waveform lengths must not be greater than the 2 kB RAM size.
For more details on the utilization of the Direct Playback from RAM mode, see the "Device Programming"
section.
WAVEFORM SYNTHESIS OPERATION
The Waveform Synthesis playback mode (Mode 3) is a very powerful and an efficient way of utilizing the
DRV2667 RAM while retaining all of the low-latency and low processor overhead benefits of Mode 2. In this
mode, the actual playback data is not explicitly stored, it is synthesized on-the-fly based on simple sinusoidal
waveform "chunks". Each sinusoidal chunk consists of the following bytes:
1. Amplitude
2. Frequency
3. Number of Cycles (Duration)
4. Envelope
Using this method, multiple chunks may be cascaded together to form a wide variety of haptic effects. In addition
to programming frequency, amplitude and duration bytes, the envelope byte allows individual amplitude ramps of
various rates to be applied to the beginning and end of each chunk. The Waveform Synthesis Mode equips the
user with powerful tools to store a virtually infinite tapestry of effects in device memory.
For more details on the utilization of the Waveform Synthesis Mode, see the "Device Programming" section.
WAVEFORM SEQUENCER
For Mode 2 and Mode 3 as described above, waveform identifiers are stored sequentially into a waveform
header at the beginning of the waveform memory. Each waveform may be called out from memory during
playback by its individual waveform identifier using the waveform sequencer. The waveform sequencer allows
the user to cascade up to eight waveforms together, which can be played either as a direct waveform or a
synthesized waveform using the Mode 2 and Mode 3 methods. Once the waveform memory and the waveform
sequencer are populated, this powerful feature allows the host processor to fire a chain of up to eight cascaded
effects with a single I
2
C register write.
For more details on the memory header and utilization of the waveform sequencer, see the "Device
Programming" section.
WAVEFORM TIMEOUT
The DRV2667 has a timeout period after digital playback has ended. This timeout period allows the user time to
send a subsequent waveform before the device logic puts the device into idle mode. This allows the host
processor time to cue up and/or fire an adjoining waveform from memory. After the timeout expires, the device
must re-enter the 2 ms startup sequence before the next waveform plays. The timeout period is register-
selectable to be 5, 10, 15, or 20 ms.
RAMP DOWN BEHAVIOR
If the user leaves the state of the DAC at any level other than mid-scale (0x00), the DAC will automatically ramp
down at a safe rate after the timeout period has expired. If the DRV2667 is properly programmed, the ramp down
sequence will never be used. It is a failsafe for any unavoidable interruptions to the playback process. Any writes
to the FIFO during the ramp down period will be discarded. Any writes to the GO bit will be ignored.
Copyright © 2013–2014, Texas Instruments Incorporated Submit Documentation Feedback 11
Product Folder Links: DRV2667