UM3006 User manual Getting started with the AEK-SNS-2TOFM1 evaluation board for car power liftgate applications Introduction AEK-SNS-2TOFM1 evaluation board offers an innovative approach based on Time-of-Flight (ToF) sensors for car power liftgate applications. This board represents a more cost-effective and reliable solution compared to the standard "kick under the bumper" solution.
AEK-SNS-2TOFM1 components (top view) The following figure shows the AEK-SNS-2TOFM1 bottom components: VL53L1X Time-of-Flight ranging sensor based on ST FlightSense technology Figure 3. AEK-SNS-2TOFM1 components (bottom view) The board hosts the SPC582B60E1 automotive microcontroller that belongs to the Chorus family, with a high performance e200z2 single core 32-bit CPU running at 80 MHz clock, a 1088 KB flash memory, and a 96 KB SRAM in a compact eTQFP64 package.
UM3006 Software overview Software overview AEK-SNS-2TOFM1 board contains a preloaded demonstration firmware. It is ready to be tested. If you have modified the flash memory code and you want to reinstall the original version, use the SPC5-UDESTK programmer plugged on the JTAG connector. The source code is included in AutoDevKit 1.6.1 (or higher). Among other demos, you can find one called “SPC582Bxx_RLA AEK_SNS_2TOFM1_1M_with_CAN_for_footdetection-...
UM3006 Software overview 1.2.1 Gesture recognition The gesture consists in crossing the detection base (that is, the distance between the two ToF sensors) in both directions, as shown in the figure below. Figure 6. Gesture on the detection base The algorithm is based on the idea that the foot detection state can have one of the following values: •...
UM3006 Software overview Figure 8. Accepted sequence The detect_foot () function, cyclically called by the microcontroller, implements the algorithm. The foot detection functions can be divided in: System State Detect that detects the state of the system: – if sensor 1 detects an object, the state becomes 1 –...
Figure 9. ToF principle According to the ToF principle, the sensors used in the AEK-SNS-2TOFM1 embed: • an emitter that is a vertical cavity surface emitting laser (VCSEL); •...
VL53L1X VL53L1X is a state-of-the-art, Time-of-Flight (ToF), laser-ranging sensor, enhancing the ST FlightSense product family. It is the fastest miniature ToF sensor on the market. It features an accurate ranging up to 4 m and fast ranging frequency up to 50 Hz.
UM3006 VL53L1X Figure 13. VL53L1X-SATEL top and bottom views The embedded VL53L1X ToF sensor uses the I²C protocol for communication. The I²C bus on the VL53L1X has a maximum speed of 400 kbits/s and uses a default device address (0x52). You can connect the VL53L1X-SATEL to an MCU board through different connection types, as shown in the figure...
UM3006 VL53L1X 2.2.4 Power up and boot sequence The ToF sensor has two different options for the power-up and boot sequence: • Option 1: the XSHUT pin is connected and controlled from the host. This option optimizes the power consumption as the sensor can be completely powered off when not used, and then woken-up again. The hardware standby mode is defined as the period when the power supply is present and the XSHUT is low.
UM3006 AutoDevKit software library for ToF sensors 2.2.5 Ranging sequence The following figure shows the combination of the driver commands and the system states. Figure 17. Ranging sequence Power supply XShut GPIO1 (interrupt) Stop Start Clear Driver command rang. 1 rang.
UM3006 How to access the AEK_SNS_VL53L1X1 API ULD API functions: VL53L1X_BootState VL53L1X_SensorInit Examples: VL53L1X_SetTimingBudget VL53L1X_SetOffset VL53L1X_StartRanging VL53L1X_CheckForDataReady Trigger GPIO1 pin VL53L1X_GetDistance VL53L1X_ClearInterrupt VL53L1X_StopRanging How to access the AEK_SNS_VL53L1X1 API To simplify API access, a struct(AEK_TOF_METHODS) method has been implemented in the AEK-SNS- VL53L1X1 component developed in the AutoDevKit.
UM3006 How to create a simple AEK-SNS-VL53L1X1 application Finally, fill the main() function and build the target application. How to create a simple AEK-SNS-VL53L1X1 application This example allows you to create an application with one sensor. The goal is to detect an object when it is within a threshold that it is set between 50 and 150 millimeters.
UM3006 How to create a simple AEK-SNS-VL53L1X1 application Step 5. Click on the [Allocation] button below the AEK-SNS-VL53L1X1 list. Then, click [OK] in the confirmation window. This operation delegates automatic pin allocation to the AutoDevKit. Figure 23. AEK_SNS_VL53L1X1 component configuration 1.
UM3006 Available demos for AEK-SNS-VL53L1X1 Step 10. Place the previous source code inside the main() function. #include “components.h” #include “AEK_SNS_VL53L1X1.h” int main(void) { VL53L1X_Result_t result; volatile uint8_t irq_state; /* Initialization of all the imported components in the order specified in the application wizard.
Page 19
SPC58ECxx_RLA AEK_SNS_VL53L1X1 - FULL Demo Double Sensor Ranging - Test Application In this demo, we use two AEK-SNS-2TOFM1 boards in polling mode with the FULL library. The boards have both the same settings. In this way, we can detect the objects in two different areas.
UM3006 How to upload the demos for AEK-SNS-2TOFM1 How to upload the demos for AEK-SNS-2TOFM1 Follow the procedure below to import the demos into SPC5-STUDIO. Step 1. Select [Import samples from application library] from the [Common tasks] panel. An import application wizard appears.
UM3006 Available ULD APIs Available ULD APIs Note: For details on how to access the AEK_SNS_VL53L1X1 API, refer to Section 2.4 Table 2. List of available ULD APIs Name Description ULD_GetErrorSensorState(AEK_TOF_DEV Returns the sensor state index,AEK_TOF_ERROR *state) ULD_SetIRQSensorState(AEK_TOF_DEV index) Sets the IRQ variable ULD_GetIRQSensorState(AEK_TOF_DEV index, volatile Gets the IRQ variable uint8_t *state)
Page 22
UM3006 Available ULD APIs Name Description ULD_GetSignalPerSpad(AEK_TOF_DEV index, uint16_t Returns the returned signal per SPAD in *signalPerSp); kcps/SPAD ULD_GetAmbientPerSpad(AEK_TOF_DEV index, uint16_t Returns the ambient per SPAD in kcps/SPAD *amb); ULD_GetSignalRate(AEK_TOF_DEV index, uint16_t Returns the returned signal in kcps *signalRate); Returns the current number of enabled ULD_GetSpadNb(AEK_TOF_DEV index, uint16_t *spNb);...
Page 23
UM3006 Available ULD APIs Name Description Performs the crosstalk calibration. It finds ULD_CalibrateXtalk(AEK_TOF_DEV index, uint16_t the crosstalk compensation value, applies TargetDistInMm, uint16_t *xtalk); the correction, and returns the crosstalk correction value UM3006 - Rev 1 page 23/38...
UM3006 Bill of materials Bill of materials Table 3. AEK-SNS-2TOFM1 bill of materials Item Q.ty Ref. Part/value Description Manufacturer Order code 10µF, 1206, 25 SMD ceramic C1, C4 Wurth Elektronik 885012208069 V, ±10% capacitors C2, C3, C5, C7, C9, C20, C21,...
Page 30
UM3006 Bill of materials Item Q.ty Ref. Part/value Description Manufacturer Order code WR-WTB THT, Male vertical pitch 2.54mm, Wurth Elektronik 61900211121 locking header WR-BHD THT, vertical, pitch Male box header Wurth Elektronik 61201421621 2.54 mm, 14 pins 5A, ±20% WE- LHMI SMT, size Power inductor Wurth Elektronik 74437349047...
Page 31
- Chorus family Automotive high L9616, SO-8 speed can bus L9616 transceiver Time-of-Flight ranging sensor VL53L1CXV0FY U6, U7 based on ST VL53L1CXV0FY/1 /1, optical FlightSense technology 8-bit dual supply 1.71 V to 5.5 V ST2378ETTR, level translator ST2378ETTR TSSOP-20...
AEK-SNS-2TOFM1 versions PCB version Schematic diagrams Bill of materials AEK$SNS-2TOFM1A AEK$SNS-2TOFM1A schematic diagrams AEK$SNS-2TOFM1A bill of materials 1. This code identifies the AEK-SNS-2TOFM1 evaluation board first version. It is printed on the board PCB. UM3006 - Rev 1 page 32/38...
UM3006 AEK-SNS-2TOFM1 regulatory compliance information AEK-SNS-2TOFM1 regulatory compliance information Formal Notice Required by the U.S. Federal Communications Commission FCC NOTICE This kit is designed to allow: (1) Product developers to evaluate electronic components, circuitry, or software associated with the kit to determine whether to incorporate such items in a finished product and (2) Software developers to write software applications for use with the end product.
Page 38
ST’s terms and conditions of sale in place at the time of order acknowledgment. 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’...
Need help?
Do you have a question about the AEK-SNS-2TOFM1 and is the answer not in the manual?
Questions and answers