STMicroelectronics VL53L5CX 다중 구역 비행 시간 범위 센서

STMicroelectronics VL53L5CX 다중 구역 비행 시간 범위 센서

소개

이 사용자 매뉴얼은 ULD(Ultra Lite Driver) API를 사용하여 VL53L5CX ToF(Time-of-Flight) 센서를 다루는 방법을 설명하는 것을 목적으로 합니다. 장치, 교정 및 출력 결과를 프로그래밍하는 주요 기능에 대해 설명합니다.

VL53L5CX는 STMicroelectronics Flight Sense 제품군을 향상시키는 최첨단 ToF, 다중 구역 거리 측정 센서입니다. 소형 리플로우 가능 패키지에 내장된 이 제품은 SPAD 어레이, 물리적 적외선 필터 및 회절 광학 요소(DOE)를 통합하여 다양한 커버 유리 소재를 사용하여 다양한 주변 조명 조건에서 최고의 범위 성능을 달성합니다.

다중 구역 거리 측정은 넓은 8° 대각선 필드를 사용하여 최대 8×63 구역까지 가능합니다. view (FoV)는 다음과 같습니다.
소프트웨어로 인해 감소되었습니다. VL53L5CX의 각 구역은 최대 4Hz의 주파수에서 최대 60미터까지 대상의 거리를 측정합니다.

STMicroelectronics의 특허받은 히스토그램 알고리즘 덕분에 VL53L5CX는 FoV 내에서 다양한 물체를 감지할 수 있습니다.
히스토그램은 또한 60cm를 초과하는 커버 유리 누화에 대한 내성을 제공합니다.
소개

참고문헌
VL53L5CX 데이터시트(DS13754).

두문자어 및 약어

약어/약어 정의
암사슴 회절 광학 요소
시야각 의 분야 view
아이제이씨 집적 회로(직렬 버스)
Kcps/SPAD 스패드당 초당 킬로 카운트(SPAD 어레이에 들어가는 광자 수를 정량화하는 데 사용되는 단위)
숫양 랜덤 액세스 메모리
에스씨엘 직렬 클럭 라인
재림교회 직렬 데이터
스패드 단일 광자 사태 다이오드
토프 비행 시간
울드 울트라 라이트 드라이버
VCSEL 수직 공동 표면 방출 다이오드
VHV 매우 높은 거래량tage
엑스톡 크로스토크

기능 설명

시스템 종료view

VL53L5CX 시스템은 하드웨어 모듈과 호스트에서 실행되는 울트라 라이트 드라이버 소프트웨어(VL53L5CX ULD)로 구성됩니다(아래 그림 참조). 하드웨어 모듈에는 ToF 센서가 포함되어 있습니다. STMicroelectronics는 이 문서에서 "드라이버"라고 하는 소프트웨어 드라이버를 제공합니다. 이 문서에서는 호스트에서 액세스할 수 있는 드라이버의 기능에 대해 설명합니다. 이러한 기능은 센서를 제어하고 거리 측정 데이터를 가져옵니다.
시스템 종료view

효과적인 오리엔테이션

이 모듈에는 대상의 캡처된 이미지를 뒤집는(수평 및 수직으로) Rx 조리개 위의 렌즈가 포함되어 있습니다. 결과적으로 SPAD 배열의 왼쪽 하단에 있는 영역 0으로 식별된 영역은 장면의 오른쪽 상단에 있는 대상에 의해 조명됩니다.
효과적인 오리엔테이션

회로도 및 I²C 구성

드라이버와 펌웨어 간의 통신은 최대 1MHz까지 작동할 수 있는 I²C에 의해 처리됩니다. 구현에는 SCL 및 SDA 라인에 대한 풀업이 필요합니다. 자세한 내용은 VL53L5CX 데이터시트를 참조하세요.
VL53L5CX 장치의 기본 I²C 주소는 0x52입니다. 그러나 다른 장치와의 충돌을 피하기 위해 기본 주소를 변경하거나 더 큰 시스템 FoV를 위해 시스템에 여러 VL53L5CX 모듈을 쉽게 추가할 수 있습니다. I²C 주소는 vl53l5cx_set_i2c_address() 함수를 사용하여 변경할 수 있습니다.

회로도 및 I²C 구성

I²C 버스의 다른 장치에 영향을 주지 않고 장치의 I²C 주소가 변경되도록 하려면 변경되지 않는 장치의 I²C 통신을 비활성화하는 것이 중요합니다. 절차는 다음과 같습니다.

  1. 정상적으로 시스템 전원을 켭니다.
  2. 주소가 변경되지 않을 장치의 LPn 핀을 아래로 당깁니다.
  3. I²C 주소가 변경된 장치의 LPn 핀을 위로 당깁니다.
  4. set_i2c_address() 함수를 사용하여 장치에 I²C 주소를 프로그래밍합니다.
  5. 재 프로그래밍되지 않는 장치의 LPn 핀을 위로 당깁니다.

이제 모든 장치를 I²C 버스에서 사용할 수 있습니다. 새 I²C 주소가 필요한 시스템의 모든 VL53L5CX 장치에 대해 위 단계를 반복합니다.

패키지 콘텐츠 및 데이터 흐름

드라이버 아키텍처 및 콘텐츠

VL53L5CX ULD 패키지는 53개의 폴더로 구성되어 있습니다. 드라이버는 폴더 / VL5LXNUMXCX_ULD_API에 있습니다.
드라이버는 필수와 선택으로 구성되어 있습니다. file에스. 선택 과목 files는 plugins ULD 기능을 확장하는 데 사용됩니다.
각 플러그인은 "vl53l5cx_plugin"이라는 단어로 시작합니다(예: vl53l5cx_plugin_xtalk.h). 이용자가 제안된 내용을 원하지 않는 경우 plugins, 다른 드라이버 기능에 영향을 주지 않고 제거할 수 있습니다. 다음 그림은 필수 항목을 나타냅니다. files 및 선택적 plugins.
드라이버 아키텍처 및 콘텐츠

사용자는 또한 두 가지를 구현해야 합니다. files는 /Platform 폴더에 있습니다. 제안된 플랫폼은 빈 셸이며 전용 기능으로 채워져야 합니다.

메모: 플랫폼.h file ULD를 사용하기 위한 필수 매크로가 포함되어 있습니다. 모든 file 콘텐츠는 ULD를 올바르게 사용하기 위해 필수입니다.

교정 흐름

누화(Xtalk)는 SPAD 어레이에서 수신되는 신호의 양으로 정의되며, 이는 모듈 상단에 추가된 보호 창(커버 유리) 내부의 VCSEL 빛 반사로 인해 발생합니다. VL53L5CX 모듈은 자체 교정이 되어 있어 별도의 교정 없이 사용할 수 있습니다.

모듈이 커버 유리로 보호되는 경우 누화 교정이 필요할 수 있습니다. VL53L5CX는 히스토그램 알고리즘 덕분에 60cm를 초과하는 누화에 면역입니다. 그러나 60cm 미만의 짧은 거리에서는 Xtalk가 실제 반환되는 신호보다 클 수 있습니다. 이는 잘못된 목표 판독값을 제공하거나 목표물이 실제보다 더 가깝게 보이게 만듭니다. 모든 누화 교정 기능은 Xtalk 플러그인(옵션)에 포함되어 있습니다. 사용자는 file 'vl53l5cx_plugin_xtalk'.

누화는 한 번 교정할 수 있으며 나중에 재사용할 수 있도록 데이터를 저장할 수 있습니다. 반사율이 알려진 고정 거리의 타겟이 필요합니다. 필요한 최소 거리는 600mm이고 타겟은 전체 FoV를 커버해야 합니다. 설정에 따라 사용자는 다음 표에 제안된 대로 누화 교정에 맞게 설정을 수정할 수 있습니다.

테이블 1. 교정에 사용 가능한 설정

환경 최소 STMicroelectronics에서 제안 맥스
거리 [mm] 600 600 3000
s의 개수amp레 1 4 16
반사율[%] 1 3 99

메모: 의 수 증가amp파일은 정확도를 높이지만 보정 시간도 늘립니다. s의 수에 상대적인 시간amples는 선형이며 값은 대략적인 제한 시간을 따릅니다.

  • 1초amp르 ≈ 1초
  • 4초amp레 ≈ 2.5초
  • 16초amp레 ≈ 8.5초

교정은 vl53l5cx_calibrate_xtalk() 함수를 사용하여 수행됩니다. 이 기능은 언제든지 사용할 수 있습니다. 단, 센서를 먼저 초기화해야 합니다. 다음 그림은 누화 교정 흐름을 나타냅니다.
교정 흐름

범위 흐름

다음 그림은 측정값을 얻는 데 사용되는 범위 지정 흐름을 나타냅니다. 레인징 세션을 시작하기 전에 Xtalk 보정 및 선택적 함수 호출을 사용해야 합니다. 레인징 세션 중에는 get/set 기능을 사용할 수 없으며 '온더플라이' 프로그래밍이 지원되지 않습니다.
범위 흐름

사용 가능한 기능

VL53L5CX ULD API에는 사용자가 사용 사례에 따라 센서를 조정할 수 있는 여러 기능이 포함되어 있습니다. 드라이버에서 사용할 수 있는 모든 기능은 다음 섹션에 설명되어 있습니다.

초기화
VL53L5CX 센서를 사용하기 전에 초기화를 완료해야 합니다. 이 작업을 수행하려면 사용자가 다음을 수행해야 합니다.

  1. 센서 전원 켜기(VDDIO, AVDD, LPn 핀이 High로 설정되고 핀 I2C_RST가 0으로 설정됨)
  2. vl53l5cx_init() 함수를 호출합니다. 이 기능은 펌웨어(~84KB)를 모듈에 복사합니다. 이는 I²C 인터페이스를 통해 코드를 로드하고 부팅 루틴을 수행하여 초기화를 완료함으로써 수행됩니다.

센서 재설정 관리

장치를 재설정하려면 다음 핀을 토글해야 합니다.

  1. 핀 VDDIO, AVDD 및 LPn 핀을 로우로 설정합니다.
  2. 10ms 동안 기다립니다.
  3. VDDIO, AVDD 및 LPn 핀을 하이로 설정합니다.

메모: I2C_RST 핀만 토글하면 I²C 통신이 재설정됩니다.

해결

해상도는 사용 가능한 영역의 수에 해당합니다. VL53L5CX 센서에는 4×4(16개 구역) 및 8×8(64개 구역)의 두 가지 해상도가 있습니다. 기본적으로 센서는 4×4로 프로그래밍됩니다.
vl53l5cx_set_solution() 함수를 사용하면 사용자가 해상도를 변경할 수 있습니다. 레인징 주파수는 분해능에 따라 달라지므로 이 기능은 레인징 주파수를 업데이트하기 전에 사용해야 합니다. 또한 해상도를 변경하면 결과를 읽을 때 I²C 버스의 트래픽 크기도 늘어납니다.

범위 주파수

범위 지정 주파수는 측정 주파수를 변경하는 데 사용할 수 있습니다. 4×4 해상도와 8×8 해상도는 최대 주파수가 다르기 때문에 해상도를 선택하여 사용하여야 합니다. 최소 및 최대 허용 값은 다음 표에 나열되어 있습니다.

테이블 2. 최소 및 최대 측정 주파수

해결 최소 범위 주파수[Hz] 최대 레인징 주파수[Hz]
4×4 1 60
8×8 1 15

레인징 주파수는 vl53l5cx_set_ranging_frequency_hz() 함수를 사용하여 업데이트할 수 있습니다. 기본적으로 레인징 주파수는 1Hz로 설정됩니다.

범위 모드

레인징 모드를 사용하면 고성능 레인징 또는 저전력 소비 사이에서 레인징을 선택할 수 있습니다. 제안된 두 가지 모드가 있습니다.

  • 연속: 장치가 사용자가 정의한 범위 주파수로 프레임을 연속적으로 포착합니다. VCSEL은 모든 레인징 중에 활성화되므로 최대 레인징 거리와 주변 내성이 더 좋습니다. 이 모드는 빠른 범위 측정 또는 고성능에 적합합니다.
  • 자율: 기본 모드입니다. 장치는 사용자가 정의한 범위 주파수로 프레임을 지속적으로 포착합니다. VCSEL은 vl53l5cx_set_integration_time_ms() 함수를 사용하여 사용자가 정의한 기간 동안 활성화됩니다. VCSEL이 항상 활성화되는 것은 아니므로 전력 소비가 줄어듭니다. 레인징 주파수가 감소하면 이점이 더욱 분명해집니다. 이 모드는 저전력 애플리케이션에 권장됩니다.

레인징 모드는 vl53l5cx_set_ranging_mode() 함수를 사용하여 변경할 수 있습니다.

통합 시간

통합 시간은 자율 범위 모드(섹션 4.5: 범위 모드 참조)에서만 사용할 수 있는 기능입니다. 이를 통해 사용자는 VCSEL이 활성화된 동안 시간을 ​​변경할 수 있습니다. 범위 지정 모드가 연속으로 설정된 경우 통합 시간을 변경해도 효과가 없습니다. 기본 통합 시간은 5ms로 설정되어 있습니다.
통합 시간의 효과는 4×4 및 8×8 분해능에 따라 다릅니다. 분해능 4×4는 8개의 통합 시간으로 구성되고 8×XNUMX 분해능은 XNUMX개의 통합 시간으로 구성됩니다. 다음 그림은 두 해상도에 대한 VCSEL 방출을 나타냅니다.
통합 시간

모든 통합 시간 + 1ms 오버헤드의 합은 측정 기간보다 낮아야 합니다. 그렇지 않으면 범위 기간이 자동으로 늘어납니다.

전원 모드

전원 모드를 사용하면 장치를 사용하지 않을 때 전력 소비를 줄일 수 있습니다. VL53L5CX는 다음 전원 모드 중 하나로 작동할 수 있습니다.

  • Wake-up: 장치가 HP 유휴(고출력) 상태로 설정되어 지침을 기다립니다.
  • 절전: 장치가 저전력 상태인 LP 유휴(저전력)로 설정됩니다. Wake-up 모드로 설정될 때까지 장치를 사용할 수 없습니다.

이 모드는 펌웨어와 구성을 유지합니다.
전원 모드는 vl53l5cx_set_power_mode() 함수를 사용하여 변경할 수 있습니다. 기본 모드는 깨우기입니다.

메모: 사용자가 전원 모드를 변경하려면 장치가 레인징 상태에 있지 않아야 합니다.

가는 사람

대상에서 반환된 신호는 가장자리가 날카로운 깨끗한 펄스가 아닙니다. 가장자리가 기울어져 인접 구역에 보고된 거리에 영향을 줄 수 있습니다. 샤프너는 가려진 눈부심으로 인해 발생하는 신호의 일부 또는 전체를 제거하는 데 사용됩니다.

전직amp다음 그림에 표시된 le는 FoV의 중심에 있는 100mm에 가까운 타겟과 500mm 더 뒤에 있는 또 다른 타겟을 나타냅니다. 샤프너 값에 따라 가까운 타겟이 실제보다 더 많은 영역에 나타날 수 있습니다.
가는 사람

샤프너는 vl53l5cx_set_sharpener_percent() 함수를 사용하여 변경할 수 있습니다. 허용되는 값은 0%에서 99% 사이입니다. 기본값은 5%입니다.

대상 주문

VL53L5CX는 구역당 여러 대상을 측정할 수 있습니다. 히스토그램 처리 덕분에 호스트는 보고된 대상의 순서를 선택할 수 있습니다. 두 가지 옵션이 있습니다.

  • 가장 가까운: 가장 가까운 대상이 가장 먼저 보고된 대상입니다.
  • 가장 강력함: 가장 강력한 대상은 처음 보고된 대상입니다.

vl53l5cx_set_target_order() 함수를 사용하여 대상 순서를 변경할 수 있습니다. 기본 순서는 가장 강함입니다.

전직amp다음 그림에서 le는 두 대상의 감지를 나타냅니다. 하나는 반사율이 낮은 100mm에서 하나는 반사율이 높은 700mm에서 하나입니다.

대상 주문

영역당 여러 대상

VL53L5CX는 구역당 최대 XNUMX개의 대상을 측정할 수 있습니다. 사용자는 센서가 반환하는 대상 수를 구성할 수 있습니다.

메모: 감지할 두 대상 사이의 최소 거리는 600mm입니다.

드라이버에서는 선택할 수 없습니다. 이는 'Platform.h'에서 수행되어야 합니다. file. 매크로 VL53L5CX_NB_ TARGET_PER_ZONE은 1과 4 사이의 값으로 설정되어야 합니다. 섹션 4.9: 대상 순서에 설명된 대상 순서는 감지된 대상의 순서에 직접적인 영향을 미칩니다. 기본적으로 센서는 구역당 최대 하나의 타겟만 출력합니다.

메모: 영역당 대상 수가 늘어나면 필요한 RAM 크기도 늘어납니다.

Xtalk 마진

Xtalk 여백은 Xtalk 플러그인을 통해서만 사용할 수 있는 추가 기능입니다. .c 및 .f files 'vl53l5cx_plugin_xtalk'를 사용해야 합니다.

여백은 센서 상단에 커버 유리가 있는 경우 감지 임계값을 변경하는 데 사용됩니다. 누화 교정 데이터를 설정한 후 커버 유리가 감지되지 않도록 임계값을 늘릴 수 있습니다. 예를 들어amp즉, 사용자는 단일 장치에서 누화 교정을 실행하고 다른 모든 장치에 대해 동일한 교정 데이터를 재사용할 수 있습니다. Xtalk 마진은 누화 보정을 조정하는 데 사용될 수 있습니다. 아래 그림은 Xtalk 마진을 나타냅니다.
Xtalk 마진

감지 임계값

일반적인 거리 측정 기능 외에도 센서는 미리 정의된 특정 기준에 따라 물체를 감지하도록 프로그래밍할 수 있습니다. 이 기능은 API에 기본적으로 포함되지 않는 옵션인 "감지 임계값" 플러그인을 사용하여 사용할 수 있습니다. 그만큼 file'vl53l5cx_plugin_Detection_thresholds'라는 이름을 사용해야 합니다.
이 기능은 사용자가 정의한 조건이 충족될 때 핀 A3(INT)에 대한 인터럽트를 트리거하는 데 사용할 수 있습니다. 세 가지 가능한 구성이 있습니다.

  • 해상도 4×4: 영역당 하나의 임계값 사용(총 16개 임계값)
  • 해상도 4×4: 구역당 32개의 임계값 사용(총 XNUMX개의 임계값)
  • 해상도 8×8: 영역당 하나의 임계값 사용(총 64개 임계값)
    어떤 구성을 사용하든 임계값을 만드는 절차와 RAM 크기는 동일합니다. 각 임계값 조합에 대해 여러 필드를 채워야 합니다.
  • Zone id: 선택한 영역의 ID(섹션 2.2: 효과적인 방향 참조)
  • 측정: 잡을 측정(거리, 신호, SPAD 수, …)
  • 유형: 측정 창(창 안, 창 밖, 낮은 임계값 미만, …)
  • 낮은 임계값: 트리거에 대한 낮은 임계값 사용자. 사용자는 형식을 설정할 필요가 없으며 API에서 자동으로 처리합니다.
  • 높은 임계값: 트리거에 대한 높은 임계값 사용자입니다. 사용자는 형식을 설정할 필요가 없습니다. API에 의해 자동으로 처리됩니다.
  • 수학 연산: 영역당 4×4 – 2 임계값 조합에만 사용됩니다. 사용자는 하나의 영역에서 여러 임계값을 사용하여 조합을 설정할 수 있습니다.

모션 인디케이터

VL53L5CX 센서에는 장면에서 모션 감지를 허용하는 펌웨어 기능이 내장되어 있습니다. 모션 표시기는 순차적 프레임 사이에서 계산됩니다. 이 옵션은 플러그인 'vl53l5cx_plugin_motion_indicator'를 사용하여 사용할 수 있습니다.

모션 표시기는 vl53l5cx_motion_indicator_init() 함수를 사용하여 초기화됩니다. 센서 해상도를 변경하려면 전용 함수 vl53l5cx_motion_indicator_set_solution()을 사용하여 모션 표시기 해상도를 업데이트하세요.

사용자는 움직임 감지를 위한 최소 및 최대 거리를 변경할 수도 있습니다. 최소 거리와 최대 거리의 차이는 1500mm를 초과할 수 없습니다. 기본적으로 거리는 400mm에서 1500mm 사이의 값으로 초기화됩니다.

결과는 'motion_indicator' 필드에 저장됩니다. 이 필드에서 'motion' 배열은 영역별 모션 강도를 포함하는 값을 제공합니다. 높은 값은 프레임 사이의 높은 동작 변화를 나타냅니다. 일반적인 움직임은 100에서 500 사이의 값을 제공합니다. 이 감도는 통합 시간, 대상 거리 및 대상 반사율에 따라 다릅니다.

저전력 애플리케이션을 위한 이상적인 조합은 자동 범위 지정 모드와 동작 표시기 및 동작에 프로그래밍된 감지 임계값을 사용하는 것입니다. 이를 통해 최소한의 전력 소비로 FoV의 움직임 변화를 감지할 수 있습니다.

주기적인 온도 보상

거리 측정 성능은 온도 변화에 영향을 받습니다. VL53L5CX 센서에는 스트리밍이 시작될 때 한 번 보정되는 온도 보상 기능이 내장되어 있습니다. 그러나 온도가 변화하면 보상이 새 온도에 맞춰 조정되지 않을 수 있습니다. 이 문제를 방지하기 위해 고객은 자동 VHV를 사용하여 주기적인 온도 보상을 실행할 수 있습니다. 주기적인 온도 교정을 실행하는 데 몇 밀리초 정도 걸립니다. 사용자는 기간을 정의할 수 있습니다.

이 기능을 사용하려면 고객은 다음을 수행해야 합니다.

• vl53l5cx_set_VHV_repeat_count() 함수를 호출합니다.
• 그런 다음 모든 새 교정 사이의 프레임 수를 인수로 제공합니다.

인수가 0이면 보상이 비활성화됩니다.

범위 결과

사용 가능한 데이터

범위 지정 활동 중에 대상 및 환경 데이터의 광범위한 목록이 출력될 수 있습니다. 다음 표는 사용자가 사용할 수 있는 매개변수를 설명합니다.

테이블 3. VL53L5CX 센서를 이용한 출력 가능

요소 Nb바이트(RAM) 단위 설명
SPAD 당 주변 256 Kcps/SPAD 노이즈로 인한 주변 신호 속도를 측정하기 위해 활성 광자 방출 없이 SPAD 어레이에서 주변 속도 측정을 수행했습니다.
감지된 대상 수 64 없음 현재 영역에서 감지된 대상 수입니다. 이 값은 측정 유효성을 알기 위해 확인하는 첫 번째 값이어야 합니다.
활성화된 SPAD 수 256 없음 현재 측정에 대해 활성화된 SPAD의 수입니다. 멀리 있거나 낮은 반사 대상은 더 많은 SPAD를 활성화합니다.
SPAD당 신호 프로그래밍된 256 x nb 타겟 Kcps/SPAD VCSEL 펄스 동안 측정된 광자의 양.
범위 시그마 프로그래밍된 128 x nb 타겟 밀리미터 보고된 목표 거리의 노이즈에 대한 시그마 추정기.
거리 프로그래밍된 128 x nb 타겟 밀리미터 목표 거리
대상 상태 프로그래밍된 64 x nb 타겟 없음 측정 유효성. 보다 섹션 5.5: 결과 해석 자세한 내용은.
반사율 프로그래밍된 64 x 숫자 대상 퍼센트 예상 목표 반사율(퍼센트)
모션 인디케이터 140 없음 동작 표시기 결과를 포함하는 구조입니다. '모션' 필드에는 모션 강도가 포함됩니다.

메모: 여러 요소(스페드당 신호, 시그마 등)의 경우 사용자가 구역당 하나 이상의 대상을 프로그래밍한 경우 데이터에 대한 액세스가 다릅니다(섹션 4.10: 구역당 여러 대상 참조). 예를 참조하십시오amp자세한 내용은 파일 코드를 참조하십시오.

출력 선택 사용자 정의

기본적으로 모든 VL53L5CX 출력은 활성화되어 있습니다. 필요한 경우 사용자는 일부 센서 출력을 비활성화할 수 있습니다.
드라이버에서는 측정 비활성화를 사용할 수 없습니다. 이는 'Platform.h'에서 수행되어야 합니다. file. 사용자는 다음 매크로를 선언하여 출력을 비활성화할 수 있습니다.
#define VL53L5CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L5CX_DISABLE_NB_SPADS_ENABLED
#define VL53L5CX_DISABLE_NB_TARGET_DETECTED
#define VL53L5CX_DISABLE_SIGNAL_PER_SPAD
#define VL53L5CX_DISABLE_RANGE_SIGMA_MM
#define VL53L5CX_DISABLE_DISTANCE_MM
#VL53L5CX_DISABLE_TARGET_STATUS 정의
#define VL53L5CX_DISABLE_REFLECTANCE_PERCENT
#define VL53L5CX_DISABLE_MOTION_INDICATOR

결과적으로 필드는 결과 구조에서 선언되지 않으며 데이터는 호스트로 전송되지 않습니다. RAM 크기와 I²C 크기가 줄어듭니다.
데이터 일관성을 보장하기 위해 ST는 항상 '감지된 대상 수' 및 '대상 상태'를 활성화해 둘 것을 권장합니다. 이는 목표 상태에 따라 측정을 필터링합니다(섹션 5.5: 결과 해석 참조).

범위 결과 얻기

레인징 세션 중에 새 레인징 데이터를 사용할 수 있는지 확인하는 두 가지 방법이 있습니다.

  • 폴링 모드: vl53l5cx_check_data_ready() 함수를 계속 사용합니다. 센서에서 반환된 새 스트림 수를 감지합니다.
  • 인터럽트 모드: 핀 A3(GPIO1)에서 발생하는 인터럽트를 기다립니다. 인터럽트는 ~100μs 후에 자동으로 지워집니다.

새 데이터가 준비되면 vl53l5cx_get_ranging_data() 함수를 사용하여 결과를 읽을 수 있습니다. 선택한 모든 출력을 포함하는 업데이트된 구조를 반환합니다. 장치가 비동기식이므로 레인징 세션을 계속하기 위해 해제할 인터럽트가 없습니다.
이 기능은 연속 및 자동 범위 지정 모드 모두에서 사용할 수 있습니다.

원시 펌웨어 형식 사용

I²C를 통해 거리 측정 데이터를 전송한 후 펌웨어 형식과 호스트 형식 간에 변환이 발생합니다. 이 작업은 일반적으로 센서의 기본 출력으로 밀리미터 단위의 범위 거리를 갖도록 수행됩니다. 사용자가 펌웨어 형식을 사용하려면 플랫폼에서 다음 매크로를 정의해야 합니다. file: VL53L5CX
#VL53L5CX_USE_RAW_FORMAT 정의

결과 해석

VL53L5CX에서 반환된 데이터는 대상 상태를 고려하여 필터링될 수 있습니다. 상태는 측정 유효성을 나타냅니다. 전체 상태 목록은 다음 표에 설명되어 있습니다.

테이블 4. 사용 가능한 대상 상태 목록

대상 상태 설명
0 범위 데이터가 업데이트되지 않음
1 SPAD 어레이에서 너무 낮은 신호 속도
2 대상 단계
3 시그마 추정기가 너무 높음
4 대상 일관성 실패
5 유효한 범위
6 둘러싸기 수행되지 않음(일반적으로 첫 번째 범위)
7 속도 일관성 실패
8 현재 대상에 비해 신호 속도가 너무 낮음
9 큰 펄스에서 유효한 범위(병합된 대상으로 인한 것일 수 있음)
10 범위는 유효하지만 이전 범위에서 대상이 감지되지 않음
11 측정 일관성 실패
12 샤프너로 인해 대상이 다른 대상에 의해 흐려짐
13 대상이 감지되었지만 데이터가 일치하지 않습니다. 보조 대상에 대해 자주 발생합니다.
255 감지된 대상 없음(감지된 대상 수가 활성화된 경우에만)

일관된 데이터를 얻으려면 사용자가 잘못된 대상 상태를 필터링해야 합니다. 신뢰 등급을 부여하기 위해 상태 5의 목표는 100% 유효한 것으로 간주됩니다. 6 또는 9의 상태는 50%의 신뢰도 값으로 간주될 수 있습니다. 다른 모든 상태는 50% 신뢰 수준보다 낮습니다.

드라이버 오류

VL53L5CX 센서를 사용하여 오류가 발생하면 드라이버가 특정 오류를 반환합니다. 다음 표에는 발생할 수 있는 오류가 나열되어 있습니다.

테이블 5. 드라이버 사용 시 발생 가능한 오류 목록

대상 상태 설명
0 오류 없음
 

127

사용자가 잘못된 설정을 프로그래밍했습니다.

(알 수 없는 해상도, 범위 주파수가 너무 높음, ...)

255 심각한 오류입니다. 일반적으로 I²C 오류로 인해 시간 초과 오류가 발생합니다.
다른 위에서 설명한 여러 오류의 조합

메모: 호스트는 플랫폼을 사용하여 더 많은 오류 코드를 구현할 수 있습니다. files.

개정 내역 

테이블 6. 문서 개정 내역

날짜 버전 변화
21년 2021월 XNUMX일 1 최초 릴리스
30-2021월-XNUMX 2 추가됨 섹션 5.4: 원시 펌웨어 형식 사용

에 새로운 대상 상태 13을 추가했습니다. 표 4. 사용 가능한 대상 상태 목록

05년 2022월 XNUMX일 3 대상 사이의 최소 최소 거리에 대한 참고 사항을 추가했습니다. 섹션 4.10: 영역당 여러 대상
10-2023월-XNUMX 4 수정됨 그림 11. 예amp두 개의 대상이 있는 히스토그램의 le
21-2024-XNUMX 5 VHV 추가(매우 높은 거래량tag전자)에 섹션 1: 두문자어 및 약어.
추가됨 섹션 4.14: 주기적인 온도 보상

중요 공지 – 주의 깊게 읽어보세요

STMicroelectronics NV 및 그 자회사("ST")는 언제든지 통지 없이 ST 제품 및/또는 이 문서를 변경, 수정, 개선, 수정 및 개선할 권리를 보유합니다. 구매자는 주문하기 전에 ST 제품에 대한 최신 관련 정보를 얻어야 합니다. ST 제품은 주문 확인 시점에 적용되는 ST의 판매 약관에 따라 판매됩니다.
구매자는 ST 제품의 선택, 선정 및 사용에 대한 전적인 책임을 지며, ST는 구매자의 제품 설계나 애플리케이션 지원에 대한 책임을 지지 않습니다.
ST는 본 계약에 따라 어떠한 지적 재산권에 대한 명시적 또는 묵시적 라이센스도 부여하지 않습니다.
여기에 명시된 정보와 다른 조항이 적용된 ST 제품을 재판매할 경우, ST가 해당 제품에 대하여 부여한 모든 보증은 무효화됩니다.
ST 및 ST 로고는 ST의 상표입니다. ST 상표에 대한 추가 정보는 다음을 참조하십시오. www.st.com/trademarks. 다른 모든 제품 또는 서비스 이름은 해당 소유자의 자산입니다.
이 문서의 정보는 이 문서의 이전 버전에서 제공된 정보를 대체하고 교체합니다.
© 2024 STMicroelectronics – 모든 권리 보유

심벌 마크

문서 / 리소스

STMicroelectronics VL53L5CX 다중 구역 비행 시간 범위 센서 [PDF 파일] 사용자 매뉴얼
VL53L5CX 다중 구역 비행 시간 거리 측정 센서, VL53L5CX, 다중 구역 비행 시간 거리 측정 센서, 비행 시간 거리 측정 센서, 비행 거리 측정 센서, 거리 측정 센서, 센서

참고문헌

댓글을 남겨주세요

이메일 주소는 공개되지 않습니다. 필수 항목은 표시되어 있습니다. *