UM3038 비행 시간 다중 구역 측정 센서
사용자 설명서

UM3038 사용자 설명서
53° FoV의 VL7L90CX ToF(Time-of-Flight) 다중 구역 범위 센서 사용 가이드
소개
이 사용자 매뉴얼은 ULD(Ultra Lite Driver) API를 사용하여 VL53L7CX ToF(Time-of-Flight) 센서를 다루는 방법을 설명하는 것을 목적으로 합니다. 장치, 교정 및 출력 결과를 프로그래밍하는 주요 기능에 대해 설명합니다.
초광각 FoV가 필요한 애플리케이션을 위해 특별히 설계된 VL53L7CX ToF 센서는 90° 대각선 FoV를 제공합니다. ST의 FlightSense 기술을 기반으로 하는 VL53L7CX는 레이저 방출기에 배치된 효율적인 메타표면 렌즈(DOE)를 통합하여 장면에 60° x 60° 정사각형 FoV를 투사할 수 있습니다.
다중 구역 기능은 8×8 구역(64개 구역)의 매트릭스를 제공하며 최대 60cm의 빠른 속도(350Hz)에서 작동할 수 있습니다.
프로그래밍 가능한 거리 임계값이 초광각 FoV와 결합된 자율 모드 덕분에 VL53L7CX는 저전력 사용자 감지가 필요한 모든 애플리케이션에 적합합니다. ST의 특허받은 알고리즘과 혁신적인 모듈 구성을 통해 VL53L7CX는 깊이 이해를 통해 각 영역에서 FoV 내의 여러 물체를 감지할 수 있습니다. ST 히스토그램 알고리즘은 60cm 이상의 커버 글래스 누화 내성을 보장합니다.
VL53L5CX에서 파생된 두 센서의 핀아웃 및 드라이버는 호환되므로 한 센서에서 다른 센서로 간단하게 마이그레이션할 수 있습니다.
ST의 FlightSense 기술을 기반으로 하는 모든 ToF(Time-of-Flight) 센서와 마찬가지로 VL53L7CX는 대상 색상 및 반사율에 관계없이 각 영역에서 절대 거리를 기록합니다.
SPAD 어레이를 통합하는 소형 리플로우 가능 패키지에 들어 있는 VL53L7CX는 다양한 주변 조명 조건과 광범위한 커버 유리 재료에 대해 최고의 범위 성능을 달성합니다.
ST의 모든 ToF 센서는 완전히 보이지 않는 940nm IR 광선을 방출하는 VCSEL을 통합하여 눈에 완전히 안전합니다(Class 1 인증).
VL53L7CX는 로봇 공학, 스마트 스피커, 비디오 프로젝터, 콘텐츠 관리와 같이 초광각 FoV가 필요한 모든 애플리케이션에 완벽한 센서입니다. 다중 구역 기능과 90° FoV의 조합은 제스처 인식, 로봇 공학을 위한 SLAM, 스마트 빌딩을 위한 저전력 시스템 활성화와 같은 새로운 사용 사례를 향상시킬 수 있습니다.
그림 1. VL53L7CX 센서 모듈
참고문헌
VL53L7CX 데이터시트(DS13865).
두문자어 및 약어
| 약어/약어 | 정의 |
| 암사슴 | 회절 광학 요소 |
| 시야각 | 의 분야 view |
| I2C | 통합 회로(직렬 버스) |
| Kcps/SPAD | 스패드당 초당 킬로 카운트(SPAD 어레이에 들어가는 광자 수를 정량화하는 데 사용되는 단위) |
| 숫양 | 랜덤 액세스 메모리 |
| 에스씨엘 | 직렬 클럭 라인 |
| 재림교회 | 직렬 데이터 |
| 스패드 | 단일 광자 사태 다이오드 |
| 토프 | 비행 시간 |
| 울드 | 울트라 라이트 드라이버 |
| VCSEL | 수직 공동 표면 방출 다이오드 |
| 엑스톡 | 크로스토크 |
기능 설명
2.1 시스템 종료view
VL53L7CX 시스템은 하드웨어 모듈과 호스트에서 실행되는 울트라 라이트 드라이버 소프트웨어(VL53L7CX ULD)로 구성됩니다(아래 그림 참조). 하드웨어 모듈에는 ToF 센서가 포함되어 있습니다. ST는 이 문서에서 "드라이버"라고 하는 소프트웨어 드라이버를 제공합니다. 이 문서는 호스트에 액세스할 수 있는 드라이버의 기능을 설명합니다. 이러한 기능은 센서를 제어하고 범위 데이터를 가져옵니다.
그림 2. VL53L7CX 시스템 오버view
2.2 효과적인 오리엔테이션
이 모듈에는 대상의 캡처된 이미지를 뒤집는(수평 및 수직) RX 조리개 위의 렌즈가 포함되어 있습니다. 결과적으로 SPAD 배열의 왼쪽 하단에 있는 영역 0으로 식별된 영역은 장면의 오른쪽 상단에 위치한 대상에 의해 조명됩니다.
그림 3. VL53L7CX 유효 방향
2.3 회로도 및 I2C 구성
드라이버와 펌웨어 간의 통신은 I2C에서 처리하며 최대 1MHz까지 작동할 수 있습니다. 구현에는 SCL 및 SDA 라인에 풀업이 필요합니다. 자세한 내용은 VL53L7CX 데이터시트를 참조하십시오.
VL53L7CX 장치의 기본 I2C 주소는 0x52입니다. 그러나 기본 주소를 변경하여 다른 장치와의 충돌을 피하거나 더 큰 시스템 FoV를 위해 시스템에 여러 VL53L7CX 모듈을 쉽게 추가할 수 있습니다. I2C 주소는 vl53l7cx_set_i2c_address() 함수를 사용하여 변경할 수 있습니다.
그림 4. I2C 버스의 다중 센서
장치가 I2C 버스의 다른 장치에 영향을 주지 않고 I2C 주소를 변경하도록 허용하려면 변경되지 않는 장치의 I2C 통신을 비활성화하는 것이 중요합니다. 절차는 다음과 같습니다.
- 정상적으로 시스템 전원을 켭니다.
- 주소가 변경되지 않을 장치의 LPn 핀을 아래로 당깁니다.
- I2C 주소가 변경된 장치의 LPn 핀을 위로 당깁니다.
- 함수 set_i2c_address() 함수를 사용하여 I2C 주소를 장치에 프로그래밍합니다.
- 재 프로그래밍되지 않는 장치의 LPn 핀을 위로 당깁니다.
이제 모든 장치를 I2C 버스에서 사용할 수 있습니다. 새 I53C 주소가 필요한 시스템의 모든 VL7L2CX 장치에 대해 위의 단계를 반복합니다.
패키지 콘텐츠 및 데이터 흐름
3.1 드라이버 아키텍처 및 콘텐츠
VL53L7CX ULD 패키지는 53개의 폴더로 구성되어 있습니다. 드라이버는 폴더 / VL7LXNUMXCX_ULD_API에 있습니다.
드라이버는 필수와 선택으로 구성되어 있습니다. file에스. 선택 과목 files는 plugins ULD 기능을 확장하는 데 사용됩니다. 각 플러그인은 "vl53l7cx_plugin"이라는 단어로 시작합니다(예: vl53l7cx_plugin_xtalk.h). 이용자가 제안을 원하지 않는 경우 plugins, 다른 드라이버 기능에 영향을 주지 않고 제거할 수 있습니다. 다음 그림은 필수 항목을 나타냅니다. files 및 선택적 plugins.
그림 5. 드라이버 아키텍처
사용자는 또한 두 가지를 구현해야 합니다. files는 /Platform 폴더에 있습니다. 제안된 플랫폼은 빈 셸이며 전용 기능으로 채워져야 합니다.
메모: 플랫폼 h file ULD를 사용하기 위한 필수 매크로가 포함되어 있습니다. 모든 file 콘텐츠는 ULD를 올바르게 사용하기 위해 필수입니다.
3.2 교정 흐름
메모: 누화(xtalk)는 모듈 상단에 추가된 보호 창(커버 글래스) 내부의 VCSEL 빛 반사로 인해 SPAD 어레이에서 수신된 신호의 양으로 정의됩니다. VL53L7CX 모듈은 자체 보정되며 추가 보정 없이 사용할 수 있습니다.
모듈이 커버글래스로 보호되는 경우 Xtalk 보정이 필요할 수 있습니다. VL53L7CX는 히스토그램 알고리즘 덕분에 60cm 이상의 xtalk에 영향을 받지 않지만 60cm 미만의 짧은 거리에서는 xtalk가 실제 반환된 신호보다 클 수 있어 잘못된 목표 판독값을 제공하거나 목표가 실제보다 더 가깝게 나타날 수 있습니다. 모든 xtalk 보정 기능은 xtalk 플러그인(선택 사항)에 포함되어 있습니다. 사용자는 다음을 사용해야 합니다. file `vl53l7cx_plugin_xtalk'.
xtalk는 한 번 보정할 수 있으며 나중에 재사용하기 위해 데이터를 저장할 수 있습니다. 반사율이 알려진 고정 거리의 대상이 필요합니다. 필요한 최소 거리는 600mm이며 대상은 전체 FoV를 커버해야 합니다. 설정에 따라 사용자는 다음 표에 제안된 대로 Xtalk 보정을 적용하기 위해 설정을 수정할 수 있습니다.
표 1. 보정에 사용 가능한 설정
| 환경 | 최소 | ST가 제안한 | 맥스 |
| 거리 [mm] | 600 | 600 | 3000 |
| s의 개수amp레 | 1 | 4 | 16 |
| 반사율[%] | 1 | 3 | 99 |
메모 증분asing the number of samp파일은 정확도를 높이지만 보정 시간도 늘립니다. s의 수에 상대적인 시간amples는 선형이며 값은 대략적인 제한 시간을 따릅니다.
- 1초amp르 1초
- 4초amp레 2.5초
- 16초amp레 8.5초
보정은 vl53l7cx_calibrate_xtalk() 함수를 사용하여 수행됩니다. 이 기능은 언제든지 사용할 수 있습니다. 그러나 먼저 센서를 초기화해야 합니다. 다음 그림은 Xtalk 보정 흐름을 나타냅니다.
그림 6. Xtalk 보정 흐름
3.3 범위 지정 흐름
다음 그림은 측정값을 얻는 데 사용되는 범위 지정 흐름을 나타냅니다. 레인징 세션을 시작하기 전에 Xtalk 보정 및 선택적 함수 호출을 사용해야 합니다. 레인징 세션 중에는 get/set 기능을 사용할 수 없으며 '온더플라이' 프로그래밍이 지원되지 않습니다.
그림 7. VL53L7CX를 사용한 레인징 흐름
사용 가능한 기능
VL53L7CX ULD API에는 사용 사례에 따라 사용자가 센서를 조정할 수 있는 여러 기능이 포함되어 있습니다. 드라이버에서 사용할 수 있는 모든 기능은 다음 섹션에서 설명합니다.
4.1 초기화
VL53L7CX 센서를 사용하기 전에 초기화를 완료해야 합니다. 이 작업을 수행하려면 사용자가 다음을 수행해야 합니다.
- 센서 전원 켜기(VDDIO, AVDD, LPn 핀이 High로 설정되고 핀 I2C_RST가 0으로 설정됨)
- vl53l7cx_init() 함수를 호출합니다. 이 기능은 I84C 인터페이스를 통해 코드를 로드하고 부팅 루틴을 수행하여 초기화를 완료함으로써 펌웨어(~2kbytes)를 모듈에 복사합니다.
4.2 센서 리셋 관리
장치를 재설정하려면 다음 핀을 토글해야 합니다.
- 핀 VDDIO, AVDD 및 LPn 핀을 로우로 설정합니다.
- 10ms 동안 기다립니다.
- 핀 VDDIO, AVDD 및 LPn 핀을 높음으로 설정합니다. I2C_RST 핀만 토글하면 I2C 통신이 재설정됩니다.
4.3. 해결 방법
해상도는 사용 가능한 영역의 수에 해당합니다. VL53L7CX 센서에는 4×4(16개 구역) 및 8×8(64개 구역)의 두 가지 해상도가 있습니다. 기본적으로 센서는 4×4로 프로그래밍됩니다.
vl53l7cx_set_resolution() 함수를 사용하면 사용자가 해상도를 변경할 수 있습니다. 레인징 주파수는 분해능에 따라 달라지므로 레인징 주파수를 업데이트하기 전에 이 기능을 사용해야 합니다. 또한 해상도를 변경하면 결과를 읽을 때 I2C 버스의 트래픽 크기도 증가합니다.
4.4 범위 주파수
범위 지정 주파수는 측정 주파수를 변경하는 데 사용할 수 있습니다. 4×4 해상도와 8×8 해상도는 최대 주파수가 다르기 때문에 해상도를 선택하여 사용하여야 합니다. 최소 및 최대 허용 값은 다음 표에 나열되어 있습니다.
표 2. 최소 및 최대 범위 지정 주파수
| 해결 | 최소 범위 주파수[Hz] | 최대 레인징 주파수[Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
레인징 주파수는 vl53l7cx_set_ranging_frequency_hz() 함수를 사용하여 업데이트할 수 있습니다. 기본적으로 레인징 주파수는 1Hz로 설정됩니다.
4.5 레인징 모드
레인징 모드를 사용하면 고성능 레인징 또는 저전력 소비 사이에서 레인징을 선택할 수 있습니다.
제안된 두 가지 모드가 있습니다.
- 연속: 장치가 사용자가 정의한 범위 주파수로 프레임을 연속적으로 포착합니다. VCSEL은 모든 레인징 중에 활성화되므로 최대 레인징 거리와 주변 내성이 더 좋습니다. 이 모드는 빠른 범위 측정 또는 고성능에 적합합니다.
- 자율: 기본 모드입니다. 장치는 사용자가 정의한 범위 주파수로 프레임을 지속적으로 포착합니다. VCSEL은 vl53l7cx_set_integration_time_ms() 함수를 사용하여 사용자가 정의한 기간 동안 활성화됩니다. VCSEL이 항상 활성화되는 것은 아니므로 전력 소비가 줄어듭니다. 레인징 주파수가 감소하면 이점이 더욱 분명해집니다. 이 모드는 저전력 애플리케이션에 권장됩니다.
레인징 모드는 vl53l7cx_set_ranging_mode() 함수를 사용하여 변경할 수 있습니다.
4.6 통합 시간
통합 시간은 자율 범위 지정 모드에서만 사용할 수 있는 기능입니다(섹션 4.5 범위 지정 모드 참조). VCSEL이 활성화되어 있는 동안 사용자가 시간을 변경할 수 있습니다. 범위 지정 모드가 연속으로 설정된 경우 통합 시간을 변경해도 아무런 효과가 없습니다. 기본 통합 시간은 5ms로 설정됩니다.
통합 시간의 효과는 4×4 및 8×8 분해능에 따라 다릅니다. 분해능 4×4는 8개의 통합 시간으로 구성되고 8×XNUMX 분해능은 XNUMX개의 통합 시간으로 구성됩니다. 다음 그림은 두 해상도에 대한 VCSEL 방출을 나타냅니다.
그림 8. 4×4 자율 통합 시간
모든 통합 시간 + 1ms 오버헤드의 합은 측정 기간보다 낮아야 합니다. 그렇지 않으면 통합 시간 값에 맞게 레인징 기간이 자동으로 증가합니다.
4.7 전원 모드
전원 모드를 사용하면 장치를 사용하지 않을 때 전력 소비를 줄일 수 있습니다. VL53L7CX는 다음 전원 모드 중 하나로 작동할 수 있습니다.
- Wake-up: 장치가 HP 유휴(고출력) 상태로 설정되어 지침을 기다립니다.
- 절전: 장치가 저전력 상태인 LP 유휴(저전력)로 설정됩니다. Wake-up 모드로 설정할 때까지 장치를 사용할 수 없습니다. 이 모드는 펌웨어와 구성을 유지합니다.
전원 모드는 vl53l7cx_set_power_mode() 함수를 사용하여 변경할 수 있습니다. 기본 모드는 깨우기입니다.
메모 사용자가 전원 모드를 변경하려면 장치가 레인징 상태에 있지 않아야 합니다.
4.8 샤프너
대상에서 반환된 신호는 가장자리가 날카로운 깨끗한 펄스가 아닙니다. 가장자리는 기울어져 인접 구역에 보고된 거리에 영향을 줄 수 있습니다. 샤프너는 베일링 글레어로 인한 신호의 일부 또는 전부를 제거하는 데 사용됩니다. 전amp다음 그림에 표시된 le는 FoV의 중심에 있는 100mm에 가까운 타겟과 500mm 더 뒤에 있는 또 다른 타겟을 나타냅니다. 샤프너 값에 따라 가까운 타겟이 실제보다 더 많은 영역에 나타날 수 있습니다.
그림 10. 예amp여러 샤프너 값을 사용하는 장면
샤프너는 vl53l7cx_set_sharpener_percent() 함수를 사용하여 변경할 수 있습니다. 허용되는 값은 0%에서 99% 사이입니다. 기본값은 5%입니다.
4.9 대상 순서
VL53L7CX는 구역당 여러 대상을 측정할 수 있습니다. 히스토그램 처리 덕분에 호스트는 보고된 대상의 순서를 선택할 수 있습니다. 두 가지 옵션이 있습니다.
- 가장 가까운: 가장 가까운 대상이 가장 먼저 보고된 대상입니다.
- 가장 강력함: 가장 강력한 대상은 처음 보고된 대상입니다.
대상 순서는 vl53l7cx_set_target_order() 함수를 사용하여 변경할 수 있습니다. 기본 순서는 Strongest입니다.
전직amp다음 그림에서 le는 두 대상의 감지를 나타냅니다. 하나는 반사율이 낮은 100mm에서 하나는 반사율이 높은 700mm에서 하나입니다.
그림 11. 예amp대상이 2개인 히스토그램의 le

4.10 구역당 여러 대상
VL53L7CX는 구역당 최대 XNUMX개의 대상을 측정할 수 있습니다. 사용자는 센서가 반환하는 대상 수를 구성할 수 있습니다.
메모 감지할 두 대상 사이의 최소 거리는 600mm입니다. 드라이버에서 선택할 수 없습니다. 그것은 `platform.h'에서 이루어져야 한다. file. 매크로 VL53L7CX_NB_TARGET_PER_ZONE은 1과 4 사이의 값으로 설정해야 합니다. 섹션 4.9 대상 순서에 설명된 대상 순서는 감지된 대상의 순서에 직접적인 영향을 미칩니다. 기본적으로 센서는 영역당 최대 하나의 대상만 출력합니다.
메모 영역당 대상 수가 증가하면 필요한 RAM 크기가 늘어납니다.
4.11 Xtalk 마진
Xtalk 여백은 Xtalk 플러그인을 통해서만 사용할 수 있는 추가 기능입니다. .c 및 .f files 'vl53l7cx_plugin_xtalk'를 사용해야 합니다.
마진은 센서 상단에 커버 라스가 있을 때 감지 임계값을 변경하는 데 사용됩니다. X 토크 보정 데이터를 설정한 후 커버리스가 감지되지 않도록 임계값을 높일 수 있습니다. 예를 들어amp파일에서 사용자는 단일 장치에서 Xwalk 보정을 실행하고 다른 모든 장치에 대해 동일한 보정 데이터를 재사용할 수 있습니다. X 토크 마진은 X 토크 보정을 조정하는 데 사용할 수 있습니다. 아래 그림은 Xwalk 마진을 나타냅니다.
그림 12. X 토크 마진
4.12 감지 임계값
일반적인 거리 측정 기능 외에도 센서는 미리 정의된 특정 기준에 따라 물체를 감지하도록 프로그래밍할 수 있습니다. 이 기능은 API에 기본적으로 포함되지 않는 옵션인 "감지 임계값" 플러그인을 사용하여 사용할 수 있습니다. 그만큼 file`vl53l7cx_plugin_detection_thresholds'라는 s를 사용해야 합니다. 이 기능은 사용자가 정의한 조건이 충족될 때 핀 A3(INT)에 대한 인터럽트를 트리거하는 데 사용할 수 있습니다. 세 가지 가능한 구성이 있습니다.
- 해상도 4×4: 구역당 1개의 임계값 사용(총 16개의 임계값)
- 해상도 4×4: 구역당 2개의 임계값 사용(총 32개의 임계값)
- 해상도 8×8: 구역당 1개의 임계값 사용(총 64개의 임계값)
어떤 구성을 사용하든 임계값을 만드는 절차와 RAM 크기는 동일합니다.
각 임계값 조합에 대해 여러 필드를 채워야 합니다.
- Zone id: 선택한 영역의 id(섹션 2.2 유효 방향 참조)
- 측정: 잡을 측정(거리, 신호, SPAD 수, …)
- 유형: 측정 창(창 안, 창 밖, 낮은 임계값 미만, …)
- 낮은 임계값: 트리거에 대한 낮은 임계값 사용자. 사용자는 형식을 설정할 필요가 없으며 API에서 자동으로 처리합니다.
- 높은 임계값: 트리거에 대한 높은 임계값 사용자. 사용자는 형식을 설정할 필요가 없으며 API에서 자동으로 처리합니다.
- 수학 연산: 영역당 4×4 2 임계값 조합에만 사용됩니다. 사용자는 하나의 영역에서 여러 임계값을 사용하여 조합을 설정할 수 있습니다.
4.13 동작 표시기
VL53L7CX 센서에는 장면에서 모션 감지를 허용하는 임베디드 펌웨어 기능이 있습니다. 동작 표시기는 순차 프레임 간에 계산됩니다. 이 옵션은 `vl53l7cx_plugin_motion_indicator' 플러그인을 사용하여 사용할 수 있습니다.
움직임 표시기는 vl53l7cx_motion_indicator_init() 함수를 사용하여 초기화됩니다. 사용자가 센서 해상도를 변경하려면 전용 함수인 vl53l7cx_motion_indicator_set_resolution()을 사용하여 동작 표시기 해상도를 업데이트해야 합니다.
사용자는 움직임 감지를 위한 최소 및 최대 거리를 변경할 수도 있습니다. 최소 거리와 최대 거리의 차이는 1500mm를 초과할 수 없습니다. 기본적으로 거리는 400mm에서 1500mm 사이의 값으로 초기화됩니다.
결과는 '움직임 표시기' 필드에 저장됩니다. 이 필드에서 '모션' 배열은 영역별 모션 강도를 포함하는 값을 제공합니다. 높은 값은 프레임 사이의 높은 동작 변화를 나타냅니다. 일반적인 움직임은 100에서 500 사이의 값을 제공합니다. 이 감도는 통합 시간, 대상 거리 및 대상 반사율에 따라 다릅니다.
저전력 애플리케이션을 위한 이상적인 조합은 자동 범위 지정 모드와 모션 표시기 및 모션에 프로그래밍된 감지 임계값을 사용하는 것입니다. 이를 통해 최소한의 전력 소비로 FoV의 움직임 변화를 감지할 수 있습니다.
범위 결과
5.1 사용 가능한 데이터
범위 지정 활동 중에 대상 및 환경 데이터의 광범위한 목록이 출력될 수 있습니다. 다음 표는 사용자가 사용할 수 있는 매개변수를 설명합니다.
표 3. VL53L7CX 센서를 사용하여 사용 가능한 출력
| 요소 | 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 | 없음 | 동작 표시기 결과를 포함하는 구조입니다. '모션' 필드에는 모션 강도가 포함됩니다. |
참고: 여러 요소(속도당 신호, 시그마, …)의 경우 사용자가 영역당 1개 이상의 대상을 프로그래밍한 경우 데이터 액세스가 다릅니다(섹션 4.10 영역당 다중 대상 참조). 전 참조amp자세한 내용은 파일 코드를 참조하십시오.
5.2 출력 선택 사용자 지정
기본적으로 모든 VL53L7CX 출력이 활성화됩니다. 필요한 경우 사용자는 일부 센서 출력을 비활성화할 수 있습니다. 측정 비활성화는 드라이버에서 사용할 수 없습니다. '플랫폼'에서 수행해야 합니다. file. 사용자는 다음 매크로를 선언하여 출력을 비활성화할 수 있습니다.
#define VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L7CX_DISABLE_NB_SPADS_ENABLED
#define VL53L7CX_DISABLE_NB_TARGET_DETECTED
#define VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#define VL53L7CX_DISABLE_RANGE_SIGMA_MM
#define VL53L7CX_DISABLE_DISTANCE_MM
#VL53L7CX_DISABLE_TARGET_STATUS 정의
#define VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#define VL53L7CX_DISABLE_MOTION_INDICATOR
결과적으로 결과 구조에서 필드가 선언되지 않고 데이터가 호스트로 전송되지 않습니다. RAM 크기와 I2C 크기가 줄어듭니다. 데이터 일관성을 보장하기 위해 ST는 항상 '감지된 대상 수' 및 '대상 상태'를 활성화 상태로 유지할 것을 권장합니다. 대상 상태에 따라 측정을 필터링할 수 있습니다(섹션 5.5 결과 해석 참조).
5.3 레인징 결과 얻기
레인징 세션 중에 새 레인징 데이터를 사용할 수 있는지 확인하는 두 가지 방법이 있습니다.
- 폴링 모드: vl53l7cx_check_data_ready() 함수를 계속 사용합니다. 센서에서 반환된 새 스트림 수를 감지합니다.
- 인터럽트 모드: 핀 A3(GPIO1)에서 발생한 인터럽트를 기다립니다. ~100초 후에 인터럽트가 자동으로 지워집니다.
새 데이터가 준비되면 vl53l7cx_get_ranging_data() 함수를 사용하여 결과를 읽을 수 있습니다. 선택한 모든 출력을 포함하는 업데이트된 구조를 반환합니다. 장치가 비동기식이므로 레인징 세션을 계속하기 위해 해제할 인터럽트가 없습니다.
이 기능은 연속 및 자동 범위 지정 모드 모두에서 사용할 수 있습니다.
5.4 원시 펌웨어 형식 사용
I2C를 통해 레인징 데이터를 전송한 후 펌웨어 형식과 호스트 형식 간의 변환이 있습니다. 이 작업은 일반적으로 센서의 기본 출력으로 범위 거리(밀리미터)를 갖도록 수행됩니다. 사용자가 펌웨어 형식을 사용하려면 플랫폼에서 다음 매크로를 정의해야 합니다. file:
#VL53L7CX_USE_RAW_FORMAT 정의
5.5 결과 해석
대상 상태를 고려하기 위해 VL53L7CX에서 반환된 데이터를 필터링할 수 있습니다. 상태는 측정 유효성을 나타냅니다. 전체 상태 목록은 다음 표에 설명되어 있습니다.
| 대상 상태 | 설명 |
| 0 | 범위 데이터가 업데이트되지 않음 |
| 1 | SPAD 어레이에서 너무 낮은 신호 속도 |
| 2 | 대상 단계 |
| 3 | 시그마 추정기가 너무 높음 |
| 4 | 대상 일관성 실패 |
| 5 | 유효한 범위 |
| 6 | 랩 어라운드 수행되지 않음(일반적으로 첫 번째 범위) |
| 7 | 속도 일관성 실패 |
| 8 | 현재 대상에 비해 신호 속도가 너무 낮음 |
| 9 | 큰 펄스에서 유효한 범위(병합된 대상으로 인한 것일 수 있음) |
| 10 | 범위는 유효하지만 이전 범위에서 대상이 감지되지 않음 |
| 11 | 측정 일관성 실패 |
| 12 | 샤프너로 인해 대상이 다른 대상에 의해 흐려짐 |
| 13 | 대상이 감지되었지만 데이터가 일치하지 않습니다. 보조 대상에 대해 자주 발생합니다. |
| 255 | 감지된 대상 없음(감지된 대상 수가 활성화된 경우에만) |
일관된 데이터를 얻으려면 사용자가 유효하지 않은 대상 상태를 필터링해야 합니다. 신뢰 등급을 제공하기 위해 상태 5의 대상은 100% 유효한 것으로 간주됩니다. 6 또는 9의 상태는 신뢰도 값이 50%인 것으로 간주할 수 있습니다. 다른 모든 상태는 50% 신뢰 수준 미만입니다.
5.6 드라이버 오류
VL53L7CX 센서를 사용하여 오류가 발생하면 드라이버가 특정 오류를 반환합니다. 다음 표에는 가능한 오류가 나열되어 있습니다.
표 5. 드라이버를 사용하여 사용할 수 있는 오류 목록
| 대상 상태 | 설명 |
| 0 | 오류 없음 |
| 127 | 사용자가 잘못된 설정을 프로그래밍했습니다(알 수 없는 해상도, 범위 주파수가 너무 높음, ...). |
| 255 | 중대한 오류. 일반적으로 I2C 오류로 인한 시간 초과 오류입니다. |
| 다른 | 위에서 설명한 여러 오류의 조합 |
메모 플랫폼을 사용하여 호스트에서 더 많은 오류 코드를 구현할 수 있습니다. files.
개정 내역
표 6. 문서 개정 내역
| 날짜 | 버전 | 변화 |
| 2-22월-XNUMX | 1 | 최초 릴리스 |
| 2년 22월 XNUMX일 | 2 | 업데이트된 섹션 소개 섹션 4.10에 대상 간 최소 거리에 대한 참고 사항이 추가됨 구역당 다중 대상 |
중요 공지 사항을 주의 깊게 읽으십시오
STMicroelectronics NV 및 그 자회사("ST")는 언제든지 통지 없이 ST 제품 및/또는 이 문서를 변경, 수정, 개선, 수정 및 개선할 권리를 보유합니다. 구매자는 주문하기 전에 ST 제품에 대한 최신 관련 정보를 얻어야 합니다. ST 제품은 주문 확인 시점에 적용되는 ST의 판매 약관에 따라 판매됩니다.
구매자는 ST 제품의 선택, 선택 및 사용에 대해 전적인 책임을 지며 ST는 구매자 제품의 애플리케이션 지원 또는 설계에 대해 어떠한 책임도 지지 않습니다. ST는 지적 재산권에 대한 어떠한 명시적 또는 묵시적 라이선스도 부여하지 않습니다. 여기에 명시된 정보와 다른 조항으로 ST 제품을 재판매하면 해당 제품에 대해 ST가 부여한 보증이 무효화됩니다. ST 및 ST 로고는 ST의 상표입니다. ST 상표에 대한 추가 정보는 다음을 참조하십시오. www.st.com/trademarks.
다른 모든 제품 또는 서비스 이름은 해당 소유자의 자산입니다. 이 문서의 정보는 이 문서의 이전 버전에서 이전에 제공된 정보를 대체합니다.
© 2022 STMicroelectronics 판권 소유
문서 / 리소스
![]() |
ST UM3038 비행 시간 다중 구역 측정 센서 [PDF 파일] 사용자 매뉴얼 UM3038 비행 시간 다중 구역 범위 센서, UM3038, 비행 시간 다중 구역 범위 센서, 비행 시간 다중 구역, 비행 다중 구역 범위 센서, 다중 구역 범위 센서, 비행 범위 센서, 범위 센서, UM3038 센서 |




