ST VL53L5CX Time-of-Flight 8 x 8 Multizone Ranging Sensor User Manual

June 6, 2024
ST

ST VL53L5CX Time-of-Flight 8 x 8 Multizone Ranging Sensor User Manual

A software integration guide to implement the ultra light driver of the

VL53L5CX
Time-of-Flight 8 x 8 multizone ranging sensor with wide field of view

Introduction

The purpose of this user manual is to explain how to implement the platform layer required to use the VL53L5CX ultra lite driver (ULD).

Figure 1. VL53L5CX sensor module

References:

  1. VL53L5CX datasheet (DS13754)
  2. VL53L5CX ULD user manual (UM2884

1 Functional description

1.1  System overview

The VL53L5CX system is composed of a hardware module and the ULD software (VL53L5CX ULD) running on a host (see figure below). The hardware module contains the Time-of Flight (ToF) sensor. ST delivers the software driver which is referred to in this document as “the driver”. This document describes the functions of the driver which are accessible to the host. These functions control the sensor and get the ranging data.


Figure 2. VL53L5CX system overview

ToF sensor system

1.1Driver architecture and content

The VL53L5CX ULD package is composed of four folders. The driver is located in the folder / VL53L5CX_ULD_API.
To correctly use the driver, the user needs to fill the two files which are located into the “Platform” folder.
They contain the functions for I2C transactions, and miscellaneous features required by the driver. The driver architecture illustrated in the following figure.

Figure 3. VL53L5CX driver architecture

2 Memory requirements

1.1 Driver memory

As the VL53L5CX is a RAM-based sensor, firmware needs to be loaded before starting a ranging session. The firmware is automatically sent by the driver when the initialization function is called.
The firmware uses a major part of the driver (approximately 86 kbytes). The following table describes the typical size which is required by the host

Table 1. Typical memory usage

File Size (Kbytes in Flash)
API 92.6
Plugin Xtalk 2.4
Plugin detection threshold 0.4
Plugin motion detector 0.2
TOTAL 95.6

Note: Total memory may differ depending on the number of targets per zone and the enabled output. The proposed values correspond to the default driver settings. Refer to the user manual UM2884 for more information.
Note: The optimization level (typical memory usage) in GCC is -0 s.

3 Platform implementation

The actions described in this chapter need to be implemented by the user to use the driver. The empty functions are located in the “platform.c” file

1.1I2C read/write

Transactions between VL53L5CX sensor and the host are handled by I2C. The module pinout and schematics are given in the VL53L5CX datasheet (DS13754).
The user needs to implement the I2C functions to read and write the data. The minimum and maximum I2C transactions are listed in the following table.

Table 2. I2C transaction size

Setting Size (bytes)
Min I2C Read 1
Max I2C Read 3100
Min I2C Write 1
Max I2C Write 32800

I2C bandwidth
The VL53L5CX sends or receives data through I2C when one of the following conditions is met:

  • When the sensor is initialized. Firmware is loaded and a routine sequence is launched.
  • When the host gets or sets the power mode.
  • When the sensor is configured, started or stopped
  • When the ranging data is read.
  • For polling mode, when host checks if new data is ready. Depending of the I2C clock speed, the initialization routine can take time as approximately 86 kbytes need to be
    loaded. Another high I2C usage may append for high framerate, using particular configurations (all output enabled and maximum number of targets per zone). The following table gives the bandwidth for several configurations.

Table 3. IC2 bandwidth during ranging for several configurations

Driver configuration| Packet size (bytes)| Bandwidth (bytes/sec)
---|---|---
1 Hz – Resolution 4×4 – 1 target per zone

– only get distance + target status + nb target detected

| ****

124

| ****

124

1 Hz – Resolution 8×8 – 1 target per zone

– only get distance + target status + nb target detected

| ****

316

| ****

316

60 Hz – Resolution 4×4 – 4 targets per zone – all output enabled| 1008| 63000
15 Hz – Resolution 8×8 – 4 targets per zone – all output enabled| 3360| 50909

Revision history

Table 4. Document revision history

Date Version Changes
03-Jun-2021 1 Initial release

IMPORTANT NOTICE – PLEASE READ CAREFULLY

STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, please refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2021 STMicroelectronics – All rights reserved

Read More About This Manual & Download PDF:

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals