今回はSTから販売されているマルチゾーンToF測距センサVL53L5について少し試食したので、その内容を紹介します。
今までもSTからToF測距センサVL53LXXシリーズが出ていましたが、VL53L5の特徴として最長4mまでの測距距離と最大64(8x8)の測距ゾーンを実現しています。デフォルト設定では4x4のマルチゾーンですが、設定変更で8x8のマルチゾーンに対応します。
VL53L5の評価ボード、VL53L5CX-SATELを使ってみました。従来のVL53LXの評価ボードとピン配列が異なっているため、注意が必要です。VL53L5CX-SATELは1列のピンになっています。少し戸惑った点としてVL53L5自体にないPWRENピンが評価ボードのピンにあり、評価ボード上のレギュレータの有効化ピンになっています。PWRENピンを3.3Vに接続して、AVDDからの5Vを3.3Vに落とすレギュレータを有効化します。
サンプルコードを実行したところ、デフォルト設定の4x4で取得できることが確認できました。ただ、従来のLVL53LXシリーズとの大きな違いとして、センサ自体がマイコンを搭載しているため、センサの初期化の際にセンサのファームウェアのロードが必要です。それに伴ってセンサドライバのコードサイズが非常に大きくなっています。手元にあったROMサイズ64kBのSTM32F303K8ではでは入らず、STM32F401REでサンプルコードを実行しました。
ビルドした際の出力を確認すると下記のようにサンプルコードだけで100kB近く使用していることが分かりました。
RAM: 1856 B 96 KB 1.89%
FLASH: 105800 B 512 KB 20.18%
FLASH: 105800 B 512 KB 20.18%
VL53L5は最大64のマルチゾーン対応で非常に魅力的なセンサですが、それに合わせてセンサドライバが大きいということが分かりました。機能の制限や実装方法を工夫することで多少小さくできる余地はありますが、従来のセンサに比べて大きいということは変わりません。VL53L5を使用する場合はプログラムサイズが少なくとも128kB以上のマイコンを使用する必要がありそうです。