Datasheet

Table Of Contents
DA7280
LRA/ERM Haptic Driver with Multiple Input Triggers,
Integrated Waveform Memory and Wideband Support
Datasheet
Revision 3.0
30-Jul-2019
CFR0011-120-00
46 of 76
© 2019 Dialog Semiconductor
Byte
Number
Register Bit
Definitions
Description
1
SNP_ID_L[2:0]
SNP_ID_L is mandatory and contains the LSBs of the snippet ID (SNP_ID).
Up to eight snippets can be addressed.
2
SNP_ID_LOOP[3:0]
SNP_ID_LOOP is the loop multiplier of the snippet identified by
SNP_ID_L/H and shows how many times a snippet is looped. If not
present, the loop multiplier is 1. The number of loop iterations is equal to
SNP_ID_LOOP + 1 (that is, 0 = 1 iteration, 15 = 16 iterations). When the
loop multiplier is > 1, playback begins from P1 instead of P0, see Figure
26, after the first playback loop is complete.
2
FREQ_CMD
If FREQ_CMD = 1, the frame is a 3-byte command with frequency
information. The frequency information is stored in FREQ[7:0].
2
FREQ[8]
Drive frequency MSB. The total frequency range is represented by the 9-bit
concatenation of FREQ[8] and FREQ[7:0] (possible values: 0 to 511),
which corresponds to the range 1 Hz to 1024 Hz. The LSB step size is 2 Hz
and values below 25 Hz are interpreted as 25 Hz. The result is also
converted from frequency to period and stored in the
FRQ_LRA_PER_ACT_x registers for read-back.
2
SNP_ID_H
SNP_ID_H is the MSB of the snippet ID (SNP_ID). This can be used to
increase the range of addressable snippets from 8 to 16. This bit is optional
and if not present SNP_ID_H = 0.
3
FREQ[7:0]
Drive frequency LSBs. The total frequency range is represented by the 9-
bit concatenation of FREQ[8] and FREQ[7:0] (possible values: 0 to 511),
which corresponds to the range 1 Hz to 1024 Hz. The LSB step size is 2 Hz
and values below 25 Hz are interpreted as 25 Hz. The result is also
converted from frequency to period and stored in the
FRQ_LRA_PER_ACT_x registers for read-back.
Note: The frequency command should be used only when FREQ_TRACK_EN = 0, otherwise the
frequency tracking loop will update the frequency away from the set one.
Note: The If FREQ_TRACK_EN = 0 and a frequency update containing frame is played, the new
frequency will be maintained for all subsequent frames or sequences until a new frame with a new
frequency command is played. Assume that Sequence 0 contains no frames with frequency
commands, Sequence 1 has a frame with command setting the frequency at 150 Hz, and Sequence
2 has one at 200 Hz. If Sequence 0 is played after Sequence 1, it will be played at 150 Hz. If
Sequence 0 is played after Sequence 2, it will be played at 200 Hz.
5.8.4 Sequence Definition
A sequence is built up of one or more frames, see Figure 28, and written to memory using the format
described in Section 5.8.1.
Sequence
Frame0 Frame1 Frame2 FrameN
Each frame points to an individual snippet with certain playback parameters
Figure 28: Sequence Structure
Note: Only sequences can be played. It is not possible to point directly to a snippet (although a
sequence can be created which contains only one snippet).
Note: If a sequence ends on a non-zero value, zero is assumed to follow and the device will end the
haptic playback at the end of the sequence.
Note: The starting amplitude at the beginning of a frame or snippet is dependent on the ending
amplitude of the previous frame or snippet. The starting amplitude at the start of a sequence is zero,
see Figure 26.