Datasheet
Table Of Contents
- General Description
- Key Features
- Applications
- System Diagrams
- Contents
- Figures
- Tables
- Legal
- Product Family
- 1 Terms and Definitions
- 2 Block Diagram
- 3 Pinout
- 4 Characteristics
- 5 Functional Description
- 5.1 Features Description
- Driving LRA and ERM Actuators
- Automatic LRA Resonant Frequency Tracking
- Wideband LRA Support
- I2C and PWM Input Streaming
- Low Latency I2C/GPI Wake-Up from IDLE State
- Three GPI Sequence Triggers for up to Six Independent Haptic Responses
- On-Board Waveform Memory with Amplitude, Time, and Frequency Control
- Active Acceleration and Rapid Stop for High-Fidelity Haptic Feedback
- Continuous Actuator Diagnostics and Fault Handling
- No Software Requirements with Embedded Operation
- Differential Output Drive
- Current Driven System
- Configurable EMI Suppression
- Automatic Short Circuit Protection
- Ultra-Low Power Consumption with State Retention
- Ultra-Low Latency in STANDBY State
- Supply Monitoring, Reporting, and Automatic Output Limiting
- Open- and Closed-Loop Modes
- Open-Loop Sine/Custom Wave Drive Support
- Small Solution Footprint
- Additional Features
- 5.2 Functional Modes
- 5.3 Resonant Frequency Tracking
- 5.4 Active Acceleration and Rapid Stop
- 5.5 Wideband Frequency Control
- 5.6 Device Configuration and Playback
- 5.7 Advanced Operation
- 5.7.1 Frequency Tracking
- 5.7.2 Rapid Stop
- 5.7.3 Initial Impedance Update
- 5.7.4 Amplitude PID
- 5.7.5 Wideband Operation
- 5.7.6 Custom Waveform Operation
- 5.7.7 Embedded Operation
- 5.7.8 Polarity Change Reporting for Half-Period Control in DRO Mode
- 5.7.9 Loop Filter Configuration
- 5.7.10 UVLO Threshold
- 5.7.11 Edge Rate Control
- 5.7.12 Double Output Current Range
- 5.7.13 Supply Monitoring, Reporting, and Automatic Output Limiting
- 5.7.14 BEMF Fault Limit
- 5.7.15 Increasing Impedance Detection Accuracy
- 5.7.16 Frequency Pause during Rapid Stop
- 5.7.17 Frequency Pause during Rapid Stop
- 5.7.18 Coin ERM Operation
- 5.8 Waveform Memory
- 5.9 General Data Format
- 5.10 I2C Control Interface
- 5.1 Features Description
- 6 Register Overview
- 7 Package Information
- 8 Ordering Information
- 9 Application Information
- 10 Layout Guidelines
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
44 of 76
© 2019 Dialog Semiconductor
For example, assuming ACCELERATION_EN = 1, the snippet shown in Figure 25 creates a
waveform that ramps from zero to an amplitude of 1111 over a period of 2 timebases, then step from
1111 to 1000, and remains there for 4 timebases. The length (in milliseconds) of a timebase is
specified using the TIMEBASE frame bits, see Section 5.8.3.
Description
RMP
TIME[6:4]
AMP[3:0]
Ramp
1
0
0
1
1
1
1
1
Step
0
0
1
1
1
0
0
0
P1
Amplitude
Timebase
P2
1111
1000
1 2 3 4 5 6 7
Figure 25: Snippet Ramp and Step with ACCELERATION_EN = 1
If a constant drive level of longer than 8 timebases is required, set RMP = 0 for subsequent PWL
points.
A generic example of a snippet is shown in Figure 26. Pn represents the PWL pair located at
amplitude An and with time step Tn, where n represents the PWL pair number. Note that a snippet
played at the start of a non-looped sequence will start from a default point P0 set at zero amplitude;
however, if the snippet is not at the start of a sequence or is read during the looping of a sequence,
the starting point will be the last played PWL point.
P1
T1
P2
P3
P4
P5
Pn
P0
T2 T3 T4 T5 TnT0 = 0
A1
A2
A3
A4
A5
An
Amplitude
[%]
Time
Time
P1
T1
P2
P3
P4
P5
Pn
P0
T2 T3 T4 T5 TnT0 = 0
A1
A2
A3
A4
A5
An
Amplitude
[%]
P1
T1
P2
P3
P4
P5
Pn
P0
T2 T3 T4 T5 TnT0 = 0
A1
A2
A3
A4
A5
An
Amplitude
[%]
RMP = 1 for all PWL points
RMP = 0 for all PWL points
Time
Figure 26: Snippet Example
Note 1 A built-in snippet containing a single silent PWL point (amplitude = 0) is available by setting
SNP_ID = 0. The duration is set to 2 timebases. Because of the existence of this snippet, customer
defined snippets start at SNP_ID = 1. The snippet is inherent to the decoding and is not actually stored
in the waveform memory. The number of snippets (byte 0) does not include snippet 0 and there is no
end pointer for snippet 0 stored in the waveform memory.