Mô-đun cảm biến VL53L8CX
Hướng dẫn sử dụng
Giới thiệu
Mục đích của hướng dẫn sử dụng này là giải thích cách xử lý cảm biến Thời gian bay (ToF) của VL53L8X, sử dụng API trình điều khiển siêu nhẹ (ULD). Nó mô tả các chức năng chính để lập trình thiết bị, hiệu chuẩn và kết quả đầu ra.
Dựa trên công nghệ FlightSense của ST, VL53L8CX kết hợp một thấu kính metasurface hiệu quả (DOE) được đặt trên bộ phát laze cho phép chiếu một foV hình vuông 45° x 45° lên hiện trường.
Khả năng đa vùng của nó cung cấp ma trận 8×8 vùng (64 vùng) và có thể hoạt động ở tốc độ nhanh (60 Hz) lên đến 400 cm.
Nhờ chế độ tự trị với ngưỡng khoảng cách có thể lập trình, VL53L8CX hoàn hảo cho bất kỳ ứng dụng nào yêu cầu phát hiện người dùng năng lượng thấp. Các thuật toán đã được cấp bằng sáng chế của ST và cấu trúc mô-đun sáng tạo cho phép VL53L8CX phát hiện, trong mỗi vùng, nhiều đối tượng trong FoV với sự hiểu biết sâu sắc. Các thuật toán biểu đồ ST đảm bảo khả năng chống nhiễu xuyên âm của kính che ngoài 60 cm.
Giống như tất cả các cảm biến Thời gian bay (ToF) dựa trên công nghệ FlightSense của ST, VL53L8CX ghi lại, trong mỗi vùng, một khoảng cách tuyệt đối bất kể màu sắc và độ phản xạ của mục tiêu.
Nằm trong một gói có thể chỉnh lại dòng thu nhỏ tích hợp mảng SPAD, VL53L8CX đạt được hiệu suất khác nhau tốt nhất trong các điều kiện ánh sáng xung quanh khác nhau và cho nhiều loại vật liệu kính che phủ.
Tất cả các cảm biến ToF của ST đều tích hợp VCSEL phát ra ánh sáng hồng ngoại 940 nm hoàn toàn vô hình, hoàn toàn an toàn cho mắt (chứng nhận Loại 1).

Từ viết tắt và chữ viết tắt
| Từ viết tắt/viết tắt | Sự định nghĩa |
| SỞ HỮU | yếu tố quang học nhiễu xạ |
| Quan điểm | lĩnh vực của view |
| I2C | mạch liên tích hợp (bus nối tiếp) |
| Kcp/SPAD | Kilo-count trên giây trên spad (đơn vị được sử dụng để định lượng số lượng photon vào mảng SPAD) |
| ĐẬP | bộ nhớ truy cập ngẫu nhiên |
| SCL | dòng đồng hồ nối tiếp |
| SDA | dữ liệu nối tiếp |
| SPAD | diode tuyết lở đơn photon |
| ToF | Thời gian của chuyến bay |
| ULD | trình điều khiển siêu nhẹ |
| VCSEL | diode phát quang bề mặt khoang dọc |
| Xtalk | giao thoa |
Mô tả chức năng
2.1 Hệ thống kết thúcview
Hệ thống VL53L8CX bao gồm một mô-đun phần cứng và phần mềm trình điều khiển siêu nhẹ (VL53L8CX ULD) chạy trên máy chủ (xem hình bên dưới). Mô-đun phần cứng chứa cảm biến ToF. STMicroelectronics cung cấp trình điều khiển phần mềm, được gọi trong tài liệu này là “trình điều khiển”. Tài liệu này mô tả các chức năng của trình điều khiển mà máy chủ có thể truy cập được. Các chức năng này điều khiển cảm biến và nhận dữ liệu khác nhau.

2.2 Định hướng hiệu quả
Mô-đun bao gồm một thấu kính trên khẩu độ RX, giúp lật (theo chiều ngang và chiều dọc) hình ảnh được chụp của mục tiêu. Do đó, vùng được xác định là vùng 0, ở phía dưới bên trái của mảng SPAD, được chiếu sáng bởi một mục tiêu nằm ở phía trên bên phải của cảnh.

2.3 Sơ đồ và cấu hình I2C/SPI
Giao tiếp giữa trình điều khiển và phần sụn được xử lý bởi I2C hoặc SPI. Khả năng tối đa của I2C là 1 MHz và khả năng tối đa của SPI là 20 MHz. Việc triển khai từng giao thức truyền thông yêu cầu kéo lên như được mô tả trong biểu dữ liệu VL53L8CX.
Thiết bị VL53L8CX có địa chỉ I2C mặc định là 0x52. Tuy nhiên, có thể thay đổi địa chỉ mặc định để tránh xung đột với các thiết bị khác hoặc để tạo điều kiện thêm nhiều mô-đun VL53L8CX vào hệ thống để có hệ thống lớn hơn. Có thể thay đổi địa chỉ I2C bằng hàm vl53l8cx_set_i2c_address(). Để sử dụng SPI, bộ cảm biến đa năng được nối dây bằng cách sử dụng cấu hình nô lệ độc lập (chân NCS).


Để cho phép một thiết bị thay đổi địa chỉ I2C của nó mà không ảnh hưởng đến các thiết bị khác trên bus I2C, điều quan trọng là
vô hiệu hóa giao tiếp I2C của các thiết bị không bị thay đổi. Thủ tục như sau:
- Bật nguồn hệ thống như bình thường.
- Kéo chân LPn của thiết bị xuống sẽ không bị thay đổi địa chỉ.
- Kéo chân LPn của thiết bị đã thay đổi địa chỉ I2C.
- Lập trình địa chỉ I2C cho thiết bị bằng hàm set_i2c_address().
- Kéo chân LPn của thiết bị không được lập trình lại lên.
Tất cả các thiết bị bây giờ sẽ có sẵn trên xe buýt I2C. Lặp lại các bước trên cho tất cả các thiết bị trong hệ thống yêu cầu địa chỉ I2C mới.
Nội dung gói và luồng dữ liệu
3.1 Kiến trúc và nội dung trình điều khiển
Gói VL53L8CX ULD bao gồm bốn thư mục. Trình điều khiển nằm trong thư mục /VL53L8CX_ULD_API.
Trình điều khiển bao gồm bắt buộc và tùy chọn fileS. Không bắt buộc files là plugins được sử dụng để mở rộng các tính năng của ULD.
Mỗi plugin bắt đầu bằng từ “vl53l8cx_plugin” (ví dụ: vl53l8cx_plugin_xtalk.h). Nếu người dùng không muốn đề xuất plugins, chúng có thể được gỡ bỏ mà không ảnh hưởng đến các tính năng khác của trình điều khiển. Hình dưới đây thể hiện sự bắt buộc files và tùy chọn plugins.
Ghi chú:
Người dùng cũng cần thực hiện hai files nằm trong thư mục /Platform. Nền tảng được đề xuất là một vỏ rỗng và phải được lấp đầy bằng các chức năng chuyên dụng.
Nền tảng.h file chứa các macro bắt buộc để sử dụng ULD. Tất cả file nội dung là bắt buộc để sử dụng đúng ULD.
3.2 Lưu lượng hiệu chuẩn
Nhiễu xuyên âm (Xtalk) được định nghĩa là lượng tín hiệu nhận được trên mảng SPAD, do sự phản xạ ánh sáng VCSEL bên trong cửa sổ bảo vệ (kính che) được thêm vào phía trên mô-đun. Mô-đun VL53L8CX được tự hiệu chỉnh và có thể được sử dụng mà không cần bất kỳ hiệu chuẩn bổ sung nào.
Có thể cần hiệu chuẩn Xtalk nếu mô-đun được bảo vệ bằng kính che. VL53L8CX miễn nhiễm với Xtalk ngoài 60 cm nhờ thuật toán biểu đồ. Tuy nhiên, ở khoảng cách ngắn dưới 60 cm, Xtalk có thể lớn hơn tín hiệu trả về thực tế. Điều này cho phép đọc mục tiêu sai hoặc làm cho mục tiêu có vẻ gần hơn so với thực tế. Tất cả các chức năng hiệu chuẩn của Xtalk đều có trong plugin Xtalk (tùy chọn). Người dùng cần sử dụng file 'vl53l8cx_plugin_xtalk'.
Xtalk có thể được hiệu chuẩn một lần và dữ liệu có thể được lưu lại để sử dụng lại sau này. Cần có một mục tiêu ở khoảng cách cố định, với hệ số phản xạ đã biết. Khoảng cách tối thiểu cần thiết là 600 mm và mục tiêu phải bao phủ toàn bộ foV. Tùy thuộc vào thiết lập, người dùng có thể sửa đổi cài đặt để điều chỉnh hiệu chuẩn Xtalk, như được đề xuất trong bảng sau.
Bảng 1. Các cài đặt có sẵn để hiệu chuẩn
| Cài đặt | Tối thiểu | Được đề xuất bởi STMicroelectronics |
Tối đa |
| Khoảng cách [mm] | 600 | 600 | 3000 |
| Số lượng samptập | 1 | 4 | 16 |
| Phản xạ [%] | 1 | 3 | 99 |
Ghi chú:
Tăng số lượng samples tăng độ chính xác nhưng cũng tăng thời gian hiệu chuẩn. Thời gian so với số samples là tuyến tính và các giá trị tuân theo thời gian chờ gần đúng:
- 1 giâyample ≈ 1 giây
- 4 giâyampgiây ≈ 2.5 giây
- 16 giâyampgiây ≈ 8.5 giây
Hiệu chỉnh được thực hiện bằng hàm vl53l8cx_Calibre_xtalk(). Chức năng này có thể được sử dụng bất cứ lúc nào.
Tuy nhiên, cảm biến phải được khởi tạo trước. Hình dưới đây thể hiện quy trình hiệu chuẩn xtalk.
Hình 7. Quy trình hiệu chỉnh Xtalk

3.3 Phạm vi lưu lượng
Hình dưới đây biểu thị luồng khác nhau được sử dụng để nhận các phép đo. Phải sử dụng hiệu chuẩn Xtalk và các lệnh gọi chức năng tùy chọn trước khi bắt đầu phiên phân loại. Không thể sử dụng các chức năng get/set trong một phiên khác nhau và lập trình 'on-the-fly' không được hỗ trợ.

Các tính năng có sẵn
API ULD của VL53L8CX bao gồm một số chức năng, cho phép người dùng điều chỉnh cảm biến, tùy thuộc vào trường hợp sử dụng. Tất cả các chức năng có sẵn cho trình điều khiển được mô tả trong các phần sau.
4.1 Khởi tạo
Việc khởi tạo phải được thực hiện trước khi sử dụng cảm biến VL53L8CX. Thao tác này yêu cầu người dùng phải:
- Bật nguồn cảm biến (các chân VDDIO, AVDD, CORE_1V8 và LPn được đặt thành Cao
- Gọi hàm vl53l8cx_init(). Chức năng sao chép phần sụn (~84 Kbyte) vào mô-đun. Điều này được thực hiện bằng cách tải mã qua giao diện I2C/SPI và thực hiện quy trình khởi động để hoàn tất quá trình khởi tạo.
4.2 Quản lý thiết lập lại cảm biến
Để đặt lại thiết bị, cần bật các chân sau:
- Đặt các chân VDDIO, AVDD và CORE_1V8 ở mức thấp.
- Chờ 10ms.
- Đặt các chân VDDIO, AVDD và CORE_1V8 lên cao.
Ghi chú:
Chỉ chuyển đổi chân I2C_RST sẽ đặt lại giao tiếp I2C.
4.3 Độ phân giải
Độ phân giải tương ứng với số vùng khả dụng. Cảm biến VL53L8CX có hai độ phân giải khả dụng: 4×4 (16 vùng) và 8×8 (64 vùng). Theo mặc định, cảm biến được lập trình ở 4×4.
Chức năng vl53l8cx_set_resolution() cho phép người dùng thay đổi độ phân giải. Vì tần số dao động phụ thuộc vào độ phân giải, chức năng này phải được sử dụng trước khi cập nhật tần số dao động. Ngoài ra, việc thay đổi độ phân giải cũng làm tăng kích thước lưu lượng trên bus I2C/SPI khi kết quả được đọc.
4.4 Phạm vi tần số
Dải tần số có thể được sử dụng để thay đổi tần số đo. Vì tần số tối đa khác nhau giữa độ phân giải 4×4 và 8×8 nên cần sử dụng chức năng này sau khi chọn độ phân giải. Các giá trị tối thiểu và tối đa cho phép được liệt kê trong bảng sau.
Bảng 2. Tần số khác nhau tối thiểu và tối đa
| Nghị quyết | Tần số khác nhau tối thiểu [Hz] | Tần số phạm vi tối đa [Hz] |
| 4×4 | 1 | 60 |
| 8×8 | 1 | 15 |
Tần số dao động có thể được cập nhật bằng chức năng vl53l8cx_set_ranging_frequency_hz(). Theo mặc định, tần số dao động được đặt thành 1 Hz.
4.5 Chế độ thay đổi
Chế độ phạm vi cho phép người dùng lựa chọn giữa phạm vi hiệu suất cao hoặc mức tiêu thụ điện năng thấp.
Có hai chế độ được đề xuất:
- Liên tục: Thiết bị liên tục lấy các khung hình với tần suất khác nhau do người dùng xác định. VCSEL được kích hoạt trong tất cả các phạm vi, vì vậy khoảng cách phạm vi tối đa và khả năng miễn nhiễm xung quanh sẽ tốt hơn. Chế độ này được khuyên dùng cho các phép đo phạm vi nhanh hoặc hiệu suất cao.
- Tự chủ: Đây là chế độ mặc định. Thiết bị liên tục lấy các khung hình với tần số khác nhau do người dùng xác định. VCSEL được bật trong khoảng thời gian do người dùng xác định, sử dụng hàm vl53l8cx_set_integration_time_ms(). Vì VCSEL không phải lúc nào cũng được bật nên mức tiêu thụ điện năng sẽ giảm. Những lợi ích rõ ràng hơn với tần suất dao động giảm. Chế độ này được khuyến nghị cho các ứng dụng năng lượng thấp.
Chế độ phạm vi có thể được thay đổi bằng chức năng vl53l8cx_set_ranging_mode().
4.6 Thời gian tích hợp
Thời gian tích hợp là một tính năng chỉ khả dụng khi sử dụng chế độ Phạm vi tự động (tham khảo Phần 4.5 Chế độ phạm vi).
Nó cho phép người dùng thay đổi thời gian trong khi VCSEL được kích hoạt. Thay đổi thời gian tích hợp nếu chế độ Phạm vi được đặt thành liên tục không có hiệu lực. Thời gian tích hợp mặc định được đặt thành 5 ms.
Ảnh hưởng của thời gian tích hợp là khác nhau đối với độ phân giải 4×4 và 8×8. Độ phân giải 4×4 bao gồm một lần tích hợp và độ phân giải 8×8 bao gồm bốn lần tích hợp. Các số liệu sau đây thể hiện mức phát thải VCSEL cho cả hai độ phân giải.

Tổng của tất cả thời gian tích hợp + chi phí 1 ms phải thấp hơn khoảng thời gian đo. Nếu không, khoảng thời gian khác nhau sẽ tự động tăng lên.
4.7 Chế độ nguồn
Chế độ năng lượng có thể được sử dụng để giảm mức tiêu thụ điện năng khi thiết bị không được sử dụng. VL53L8CX có thể hoạt động ở một trong các chế độ nguồn sau:
- Đánh thức: Thiết bị được đặt ở chế độ chờ HP (công suất cao), chờ hướng dẫn.
- Ngủ: Thiết bị được đặt ở chế độ chờ LP (công suất thấp), trạng thái năng lượng thấp. Không thể sử dụng thiết bị cho đến khi được đặt ở chế độ đánh thức. Chế độ này giữ lại phần sụn và cấu hình.
Có thể thay đổi chế độ nguồn bằng chức năng vl53l8cx_set_power_mode(). Chế độ mặc định là đánh thức.
Ghi chú:
Nếu người dùng muốn thay đổi chế độ nguồn, thiết bị không được ở trạng thái khác nhau.
4.8 Máy mài
Tín hiệu được trả về từ mục tiêu không phải là một xung rõ ràng với các cạnh sắc nét. Các cạnh dốc ra xa và có thể ảnh hưởng đến khoảng cách được báo cáo trong các vùng lân cận. Công cụ mài sắc được sử dụng để loại bỏ một số hoặc tất cả tín hiệu do ánh sáng chói che khuất gây ra.
Người cũample hiển thị trong hình dưới đây biểu thị một mục tiêu gần ở 100 mm ở giữa foV và một mục tiêu khác, ở phía sau xa hơn ở 500 mm. Tùy thuộc vào giá trị độ sắc nét, mục tiêu gần có thể xuất hiện ở nhiều vùng hơn so với vùng thực.
Hình 11. Examptập tin cảnh sử dụng một số giá trị làm sắc nét

Có thể thay đổi công cụ mài bằng chức năng vl53l8cx_set_sharpener_percent(). Các giá trị được phép nằm trong khoảng từ 0% đến 99%. Giá trị mặc định là 5%.
4.9 Lệnh mục tiêu
VL53L8CX có thể đo một số mục tiêu trên mỗi vùng. Nhờ xử lý biểu đồ, máy chủ có thể chọn thứ tự của các mục tiêu được báo cáo. Có hai lựa chọn:
- Gần nhất: Mục tiêu gần nhất được báo cáo đầu tiên
- Mạnh nhất: Mục tiêu mạnh nhất là mục tiêu được báo cáo đầu tiên
Thứ tự mục tiêu có thể được thay đổi bằng hàm vl53l8cx_set_target_order(). Thứ tự mặc định là Strongest.
Người cũample trong hình dưới đây biểu thị việc phát hiện hai mục tiêu. Một ở 100 mm với độ phản xạ thấp và một ở 700 mm với độ phản xạ cao.

4.10 Nhiều mục tiêu trên mỗi vùng
VL53L8CX có thể đo tối đa bốn mục tiêu trên mỗi vùng. Người dùng có thể định cấu hình số lượng mục tiêu được cảm biến trả về.
Ghi chú:
Khoảng cách tối thiểu giữa hai mục tiêu cần phát hiện là 600 mm.
Không thể lựa chọn từ trình điều khiển; nó phải được thực hiện trong 'platform.h' file. vĩ mô
VL53L8CX_NB_ TARGET_PER_ZONE cần được đặt thành giá trị từ 1 đến 4. Thứ tự mục tiêu được mô tả trong Phần 4.9 Thứ tự mục tiêu tác động trực tiếp đến thứ tự của mục tiêu được phát hiện. Theo mặc định, cảm biến chỉ xuất ra tối đa một mục tiêu trên mỗi vùng.
Ghi chú:
Số lượng mục tiêu trên mỗi vùng tăng lên sẽ làm tăng kích thước RAM cần thiết.
4.11 Lề Xtalk
Lề Xtalk là một tính năng bổ sung chỉ khả dụng khi sử dụng plugin Xtalk. .c và .f files 'vl53l8cx_plugin_xtalk' cần được sử dụng.
Lề được sử dụng để thay đổi ngưỡng phát hiện khi có mặt kính che trên đỉnh của cảm biến. Ngưỡng có thể được tăng lên để đảm bảo rằng lớp kính phủ không bao giờ được phát hiện sau khi cài đặt dữ liệu hiệu chỉnh Xtalk.
Ví dụample, người dùng có thể chạy hiệu chuẩn Xtalk trên một thiết bị duy nhất và sử dụng lại cùng một dữ liệu hiệu chuẩn cho tất cả các thiết bị khác. Có thể sử dụng lề Xtalk để điều chỉnh hiệu chỉnh Xtalk. Hình bên dưới thể hiện lề Xtalk.
Hình 13. Lề Xtalk

4.12 Ngưỡng phát hiện
Ngoài các khả năng đo phạm vi thông thường, cảm biến có thể được lập trình để phát hiện một đối tượng theo một số tiêu chí được xác định trước. Tính năng này khả dụng bằng cách sử dụng plugin “ngưỡng phát hiện”, đây là một tùy chọn không được bao gồm theo mặc định trong API. Các files được gọi là 'vl53l8cx_plugin_detection_thresholds' cần được sử dụng.
Tính năng này có thể được sử dụng để kích hoạt ngắt cho chân A1 (INT) khi các điều kiện do người dùng xác định được đáp ứng. Có ba cấu hình có thể:
- Độ phân giải 4×4: sử dụng 1 ngưỡng cho mỗi vùng (tổng cộng 16 ngưỡng)
- Độ phân giải 4×4: sử dụng 2 ngưỡng cho mỗi vùng (tổng cộng 32 ngưỡng)
- Độ phân giải 8×8: sử dụng 1 ngưỡng cho mỗi vùng (tổng cộng 64 ngưỡng)
Bất kể cấu hình nào được sử dụng, quy trình tạo ngưỡng và kích thước RAM đều giống nhau. Đối với mỗi kết hợp ngưỡng, một số trường cần được điền: - Id vùng: id của vùng được chọn (tham khảo Mục 2.2 Định hướng hiệu quả)
- Đo lường: đo lường để bắt (khoảng cách, tín hiệu, số lượng SPAD,…)
- Loại: cửa sổ đo lường (trong cửa sổ, ngoài cửa sổ, dưới ngưỡng thấp, …)
- Ngưỡng thấp: người dùng có ngưỡng thấp để kích hoạt. Người dùng không cần đặt định dạng, nó sẽ tự động được xử lý bởi API.
- Ngưỡng cao: người dùng có ngưỡng cao đối với trình kích hoạt. Người dùng không cần đặt định dạng, nó sẽ tự động được xử lý bởi API.
- Hoạt động toán học: chỉ được sử dụng cho các tổ hợp ngưỡng 4×4 – 2 trên mỗi vùng. Người dùng có thể đặt kết hợp bằng cách sử dụng một số ngưỡng trong một vùng.
4.13 Tự ngắt
Tính năng ngắt tự động dừng được sử dụng để hủy bỏ phiên thay đổi phạm vi trong quá trình đo. Theo mặc định, không thể dừng cảm biến trong quá trình đo vì cần phải hoàn thành các phép đo khung. Tuy nhiên, bằng cách sử dụng tự động dừng, các phép đo khung bị hủy bỏ khi kích hoạt ngắt.
Tính năng tự động dừng rất hữu ích khi được kết hợp với ngưỡng phát hiện. Khi một mục tiêu được phát hiện, phép đo hiện tại sẽ tự động bị hủy bỏ. Tự động dừng có thể được sử dụng trong máy trạng thái của khách hàng để nhanh chóng chuyển sang cấu hình cảm biến khác.
Có thể bật tính năng tự ngắt ngắt bằng cách sử dụng hàm vl53l8cx_set_detection_threshold_auto_stop().
Sau khi phép đo bị hủy bỏ, bạn nên dừng cảm biến bằng cách sử dụng chức năng vl53l8cx_stop_ranging().
4.14 Chỉ báo chuyển động
Cảm biến VL53L8CX có tính năng Phần sụn nhúng cho phép phát hiện chuyển động trong một cảnh. Chỉ báo chuyển động được tính toán giữa các khung liên tiếp. Tùy chọn này có sẵn bằng cách sử dụng plugin 'vl53l8cx_plugin_motion_indicator'.
Chỉ báo chuyển động được khởi tạo bằng hàm vl53l8cx_motion_indicator_init(). Nếu người dùng muốn thay đổi độ phân giải của cảm biến, anh ta phải cập nhật độ phân giải của chỉ báo chuyển động bằng chức năng chuyên dụng: vl53l8cx_motion_indicator_set_resolution().
Người dùng cũng có thể thay đổi khoảng cách tối thiểu và tối đa để phát hiện chuyển động. Chênh lệch giữa khoảng cách tối thiểu và tối đa không được lớn hơn 1500 mm. Theo mặc định, khoảng cách được khởi tạo với giá trị từ 400 mm đến 1500 mm.
Kết quả được lưu trữ trong trường 'motion_indicator'. Trong trường này, mảng 'chuyển động' đưa ra giá trị chứa cường độ chuyển động trên mỗi vùng. Giá trị cao biểu thị sự thay đổi chuyển động cao giữa các khung hình. Một chuyển động điển hình cho giá trị từ 100 đến 500. Độ nhạy này phụ thuộc vào thời gian tích hợp, khoảng cách mục tiêu và hệ số phản xạ mục tiêu.
Một sự kết hợp lý tưởng cho các ứng dụng năng lượng thấp là sử dụng chỉ báo chuyển động với chế độ Phạm vi tự động và các ngưỡng phát hiện được lập trình trên chuyển động. Điều này cho phép phát hiện các biến thể chuyển động trong foV với mức tiêu thụ điện năng tối thiểu.
4.15 Chân đồng bộ bên ngoài
Một nguồn kích hoạt bên ngoài có thể được sử dụng để đồng bộ hóa việc mua lại. Khi đồng bộ hóa bên ngoài được kích hoạt, VL53L8CX chờ một ngắt trên chân SYNC để bắt đầu quá trình thu nhận tiếp theo. Để sử dụng tính năng này, chân SYNC (B1) cần được kết nối như được mô tả trong biểu dữ liệu sản phẩm.
Không có yêu cầu cụ thể để sử dụng đồng bộ hóa bên ngoài. Tuy nhiên, dải tần VL53L8CX phải cao hơn tần số tín hiệu bên ngoài.
Có thể bật hoặc tắt đồng bộ hóa bên ngoài bằng cách sử dụng chức năng vl53l8cx_set_external_sync_pin_enable(). Phạm vi có thể được bắt đầu như bình thường bằng cách sử dụng chức năng vl53l8cx_start_ranging(). Khi người dùng muốn dừng cảm biến, nên bật chân SYNC để hủy tạm dừng phần sụn VL53L8CX.
Quy trình chủ đề để sử dụng chốt đồng bộ hóa bên ngoài được hiển thị bên dưới trong Phần 4.15.
Hình 14. Luồng đồng bộ hóa bên ngoài

kết quả khác nhau
5.1 Dữ liệu có sẵn
Một danh sách đầy đủ các dữ liệu mục tiêu và môi trường có thể được xuất ra trong các hoạt động khác nhau. Bảng sau đây mô tả các tham số có sẵn cho người dùng.
Bảng 3. Đầu ra khả dụng sử dụng cảm biến VL53L8CX
|
Yếu tố |
Nb byte (RAM) | Đơn vị |
Sự miêu tả |
| Môi trường xung quanh mỗi SPAD | 256 | Kcp/SPAD | Phép đo tốc độ xung quanh được thực hiện trên mảng SPAD, không phát xạ photon hoạt động, để đo tốc độ tín hiệu xung quanh do nhiễu. |
| Số lượng mục tiêu được phát hiện |
64 |
Không có | Số mục tiêu được phát hiện trong khu vực hiện tại. Giá trị này phải là giá trị đầu tiên cần kiểm tra để biết tính hợp lệ của phép đo. |
| Số lượng SPAD được kích hoạt | 256 | Không có | Số lượng SPAD được kích hoạt cho phép đo hiện tại. Mục tiêu ở xa hoặc có độ phản xạ thấp sẽ kích hoạt nhiều SPAD hơn. |
|
Tín hiệu mỗi SPAD |
256 x nb mục tiêu được lập trình |
Kcp/SPAD |
Số lượng photon đo được trong VCSEL
mạch đập. |
|
phạm vi sigma |
128 x nb mục tiêu được lập trình |
milimet |
Công cụ ước tính Sigma cho tiếng ồn trong khoảng cách mục tiêu được báo cáo. |
|
Khoảng cách |
128 x nb mục tiêu được lập trình | milimet | Khoảng cách mục tiêu |
| trạng thái mục tiêu | 64 x nb mục tiêu được lập trình | Không có | Hiệu lực của các phép đo. Xem Phần 5.5 Diễn giải kết quả để biết thêm thông tin. |
| Phản xạ | 64 mục tiêu số x được lập trình | Phần trăm | Hệ số phản xạ mục tiêu ước tính theo phần trăm |
| Chỉ báo chuyển động | 140 | Không có | Cấu trúc chứa kết quả chỉ thị chuyển động. Trường 'chuyển động' chứa cường độ chuyển động. |
Ghi chú:
Đối với một số phần tử (tín hiệu trên mỗi spad, sigma,…) quyền truy cập vào dữ liệu sẽ khác nếu người dùng đã lập trình nhiều hơn 1 mục tiêu trên mỗi vùng (xem Phần 4.10 Nhiều mục tiêu trên mỗi vùng). gặp người yêu cũampmã le để biết thêm thông tin.
5.2 Tùy chỉnh lựa chọn đầu ra
Theo mặc định, tất cả các đầu ra VL53L8CX đều được bật. Nếu cần, người dùng có thể tắt một số đầu ra cảm biến.
Vô hiệu hóa các phép đo không khả dụng trên trình điều khiển; nó phải được thực hiện trong 'platform.h' file. Người dùng có thể khai báo các macro sau để tắt đầu ra:
#xác định VL53L8CX _DISABLE_AMBIENT_PER_SPAD
#xác định VL53L8CX _DISABLE_NB_SPADS_ENABLED
#xác định VL53L8CX _DISABLE_NB_TARGET_DETECTED
#xác định VL53L8CX _DISABLE_SIGNAL_PER_SPAD
#define VL53L8CX _DISABLE_RANGE_SIGMA_MM
#xác định VL53L8CX _DISABLE_DISTANCE_MM
#xác định VL53L8CX _DISABLE_TARGET_STATUS
#xác định VL53L8CX _DISABLE_REFLECTANCE_PERCENT
#xác định VL53L8CX _DISABLE_MOTION_INDICATOR
Do đó, các trường không được khai báo trong cấu trúc kết quả và dữ liệu không được chuyển đến máy chủ lưu trữ.
Kích thước RAM và kích thước I2C/SPI được giảm xuống.
Để đảm bảo tính nhất quán của dữ liệu, ST khuyên bạn nên luôn bật 'số lượng mục tiêu được phát hiện' và 'trạng thái mục tiêu'. Nó cho phép lọc các phép đo tùy thuộc vào trạng thái mục tiêu (tham khảo Phần 5.5 Diễn giải kết quả).
5.3 Nhận kết quả khác nhau
Trong phiên phân loại, có hai cách để biết liệu có sẵn dữ liệu phân loại mới hay không:
- Chế độ thăm dò ý kiến: Liên tục sử dụng chức năng vl53l8cx_check_data_ready(). Nó phát hiện số lượng luồng mới do cảm biến trả về.
- Chế độ ngắt: Chờ một ngắt xuất hiện trên chân A1 (INT). Ngắt sẽ tự động bị xóa sau ~100 μs.
Khi dữ liệu mới sẵn sàng, kết quả có thể được đọc bằng hàm vl53l8cx_get_ranging_data(). Nó trả về một cấu trúc được cập nhật có chứa tất cả đầu ra đã chọn. Vì thiết bị không đồng bộ nên không có ngắt nào cần xóa để tiếp tục phiên khác nhau.
Tính năng này có sẵn cho cả chế độ phạm vi liên tục và tự trị.
5.4 Sử dụng định dạng firmware thô
Sau khi truyền dữ liệu khác nhau qua I2C/SPI, sẽ có sự chuyển đổi giữa định dạng chương trình cơ sở và định dạng máy chủ. Thao tác này thường được thực hiện để có khoảng cách khác nhau tính bằng milimét làm đầu ra mặc định của cảm biến. Nếu người dùng muốn sử dụng định dạng chương trình cơ sở, macro sau phải được xác định trong nền tảng file:
VL53L8CX#xác định VL53L8CX _USE_RAW_FORMAT
5.5 Diễn giải kết quả
Dữ liệu do VL53L8CX trả về có thể được lọc để tính đến trạng thái mục tiêu. Trạng thái cho biết giá trị đo lường. Danh sách trạng thái đầy đủ được mô tả trong bảng sau.
Bảng 4. Danh sách trạng thái mục tiêu khả dụng
| trạng thái mục tiêu | Sự miêu tả |
| 0 | Dữ liệu phạm vi không được cập nhật |
| 1 | Tốc độ tín hiệu quá thấp trên mảng SPAD |
| 2 | giai đoạn mục tiêu |
| 3 | Công cụ ước tính Sigma quá cao |
| 4 | Tính nhất quán của mục tiêu không thành công |
| 5 | Phạm vi hợp lệ |
| 6 | Vòng quanh không được thực hiện (Thường là phạm vi đầu tiên) |
| 7 | Tính nhất quán của tỷ lệ không thành công |
| 8 | Tốc độ tín hiệu quá thấp đối với mục tiêu hiện tại |
| 9 | Phạm vi hợp lệ với xung lớn (có thể do mục tiêu được hợp nhất) |
| 10 | Phạm vi hợp lệ, nhưng không có mục tiêu nào được phát hiện ở phạm vi trước đó |
| 11 | Tính nhất quán của phép đo không thành công |
| 12 | Mục tiêu bị mờ bởi mục tiêu khác, do máy mài |
| 13 | Đã phát hiện mục tiêu nhưng dữ liệu không nhất quán. Thường xuyên xảy ra đối với các mục tiêu phụ. |
| 255 | Không phát hiện mục tiêu nào (chỉ khi số lượng mục tiêu được phát hiện được bật) |
Để có dữ liệu nhất quán, người dùng cần lọc trạng thái mục tiêu không hợp lệ. Để đưa ra xếp hạng độ tin cậy, mục tiêu có trạng thái 5 được coi là hợp lệ 100%. Trạng thái 6 hoặc 9 có thể được xem xét với giá trị độ tin cậy là 50 %. Tất cả các trạng thái khác đều có độ tin cậy dưới 50%.
5.6 Lỗi trình điều khiển
Khi xảy ra lỗi khi sử dụng cảm biến VL53L8CX, trình điều khiển sẽ trả về một lỗi cụ thể. Bảng sau đây liệt kê các lỗi có thể xảy ra.
Bảng 5. Danh sách các lỗi có sẵn khi sử dụng trình điều khiển
| trạng thái mục tiêu | Sự miêu tả |
| 0 | Không có lỗi |
| 127 | Người dùng lập trình cài đặt không chính xác (độ phân giải không rõ, tần số dao động quá cao,…) |
| 255 | Lỗi lớn. Thường là lỗi hết thời gian chờ, do lỗi I2C/SPI. |
| khác | Sự kết hợp của nhiều lỗi được mô tả ở trên |
Ghi chú:
Máy chủ có thể triển khai nhiều mã lỗi hơn bằng nền tảng files.
Bảng 6. Lịch sử sửa đổi tài liệu
| Ngày | Phiên bản | Thay đổi |
| 13-23-XNUMX | 1 | Bản phát hành đầu tiên |
THÔNG BÁO QUAN TRỌNG – ĐỌC KỸ
STMicroelectronics NV và các công ty con (“ST”) bảo lưu quyền thay đổi, chỉnh sửa, cải tiến, sửa đổi và cải tiến đối với các sản phẩm ST và/hoặc đối với tài liệu này bất kỳ lúc nào mà không cần thông báo trước. Người mua nên lấy thông tin liên quan mới nhất về sản phẩm ST trước khi đặt hàng. Các sản phẩm của ST được bán theo các điều khoản và điều kiện bán hàng của ST tại thời điểm xác nhận đơn hàng.
Người mua chịu toàn bộ trách nhiệm về việc lựa chọn, cân nhắc và sử dụng các sản phẩm ST và ST không chịu trách nhiệm về việc hỗ trợ ứng dụng hoặc thiết kế các sản phẩm của người mua.
ST không cấp bất kỳ giấy phép nào, dù là rõ ràng hay ngụ ý, cho bất kỳ quyền sở hữu trí tuệ nào ở đây.
Việc bán lại các sản phẩm ST với các điều khoản khác với thông tin được nêu ở đây sẽ làm mất hiệu lực bất kỳ bảo hành nào mà ST cấp cho sản phẩm đó.
ST và logo ST là thương hiệu của ST. Để biết thêm thông tin về thương hiệu ST, hãy tham khảo www.st.com/trademarks. Tất cả tên sản phẩm hoặc dịch vụ khác là tài sản của chủ sở hữu tương ứng của họ.
Thông tin trong tài liệu này thay thế và thay thế thông tin đã cung cấp trước đó trong bất kỳ phiên bản nào trước đây của tài liệu này.
© 2023 STMicroelectronics – Bảo lưu mọi quyền
Tài liệu / Tài nguyên
![]() |
Mô-đun cảm biến ST VL53L8CX [tập tin pdf] Hướng dẫn sử dụng UM3109, Module cảm biến VL53L8CX, VL53L8CX, Module cảm biến, Module |




