Main Content

Impact Detection Using LIS3DH Inertial Wakeup Interrupt

This example shows how to use the Inertial wake-up interrupt of LIS3DH linear accelerometer connected to a TI's™ C2000-based hardware to sense the impact of the sensor.

The sensor block is placed inside the downstream function-call subsystem. The output of the sensor block is sent to a MATLAB Function block where the data is averaged, and impact is detected.

Supported Hardware

To run this example, you can use any TI C2000 hardware. For your convenience, the following hardware is preconfigured to execute the example:

  • TI Delfino F28377S


Before you start this example, complete the Getting Started with Texas Instruments C2000 Microcontroller Blockset.

Required Hardware

  • Supported TI C2000 hardware

  • LIS3DH sensor

  • USB cable

  • Breadboard wires

Hardware Connection

  • Connect the INT1 pin of the LIS3DH sensor to pin 60 on the TI C2000 hardware.

  • Connect the SDA, SCL, 3.3V, and GND pin of the TI C2000 hardware to the respective pins on the LIS3DH sensor.

Hardware Configuration in the Model

Open the c28x_i2c_lis3dh_inertialwakeupinterrupt Simulink model.

The model is preconfigured to work with TI Delfino F28377S. If you are using a different C2000 hardware, change the hardware board by performing the following steps:

1. Navigate to Modeling > Model Settings to open the Configuration Parameters dialog box.

3. Open the Hardware Implementation pane, and from the Hardware board list, select the type of TI C2000 board that you are using.

3. Click Apply and OK to close the dialog box.

Configure the Impact Detection on LIS3DH for Interrupt Service Routine (ISR)

1. In the model, open the External Interrupt block, and specify the values for CPU interrupt numbers, PIE interrupt numbers, and Simulink task priorities, and Preemption flags. For more information on working with External Interrupts, see External Interrupt Workflow for Texas Instruments C2000 Processors.

The LIS3DH sensor block is placed in the Initialize Function subsystem.

2. Ensure that the Inertial wake-up is selected for Detect parameter and also ensure that Generate Interrupt parameter is selected and INT1 is selected for Interrupt pin.

Initiate Monitor and Tune Action for the Model

During Monitor and Tune action, the model is deployed as a C code on the hardware. The code obtains real-time data from the hardware. The data acquisition and parameter tuning are done while the application is running on the hardware.

Note: Ensure that the TI C2000 hardware you are using has sufficient memory to run the application on hardware.

1. On the Hardware tab, in the Mode section, select Run on board (External Mode) and then click Monitor & Tune.

The lower-left corner of the model window displays status while Simulink prepares, downloads, and runs the Simulink model on the hardware. During simulation, the pin 60 on TI C2000 hardware generates an interrupt on every rising edge of the signal, which triggers the function-call subsystem.

2. Tap the sensor to verify the output in the display data area of the model.