使用飞行时间传感器增强实际应用
扫描二维码
随时随地手机看文章
飞行时间 (ToF) 传感器是一项突破性技术,它能实现精确的距离测量,因而让许多行业发生天翻地覆的变化。ToF传感器的主要优势包括速度和精度。ToF传感器通过测量光或信号传播所需的时间,就可以非常精确地确定距离,即使在动态环境中也不例外。这些传感器已被广泛应用于各种实际应用,在诸如机器人、增强现实和汽车等领域提供增强功能。
图源:PALERM089/Stock.adobe.com
在汽车行业中,ToF传感器在提高安全性能方面发挥着关键作用。这些传感器集成在高级辅助驾驶系统 (ADAS) 中,以实现自适应巡航控制、车道保持辅助和防撞系统。通过精确测量道路上车辆与物体之间的距离,ToF传感器有助于实现更安全的驾驶体验,并为自动驾驶汽车的发展铺平道路。随着技术的不断发展,ToF传感器有望用于更广泛的应用,进一步重塑我们与周遭世界互动的方式。
本项目将为读者提供所需必要步骤的详细演练,以便成功组装ams OSRAM TMF8821-Shield开发板并对其编程。此外,本文还提供每个示例的概述。
项目材料与资源
开始进行项目之前,请确保备好所有需要的产品、软件和资源。
项目物料清单 (BOM)
•ams OSRAM TMF8821-SHIELD传感器开发板
•NXP Semiconductors LPCXpresso55S69开发板 (LPC55S69-EVK)
项目代码和软件
•LPC55S69 SDK下载
•19.zip
•MCUXpresso IDE(需登录方可下载)
其他资源
•ams OSRAM TMF8821-SHIELD快速入门指南
•TMF882X_Driver_User_Guide(包含在TMF882x_Driver_SDK_Source文件中)
•TMF882X_Software_Development_Kit_Getting_Started_Guide(包含在TMF882x_Driver_SDK_Source文件中)
其他硬件
•Micro USB转USB Type-A(已含)
•基于Windows的个人电脑
项目技术概述
本项目旨在探索ams OSRAM TMF8821-SHIELD传感器开发板和NXP Semiconductors LPCXpresso55S69开发板的功能。
ams OSRAM TMF882X-SHIELD传感器开发板
ams OSRAM TMF8821-SHIELD传感器开发板(图1)专为评估TMF8821多区直接飞行时间 (dToF) 传感器量身提供多功能解决方案。此开发平台采用我们熟知的Arduino UNO外形尺寸,因此有利于快速评估TMF8821的功能。
图1:ams OSRAM TMF8821-SHIELD传感器开发板。(图源:贸泽电子)
该平台的核心配备了TMF8821传感器,并且方便地安装在单独的分离板上。这种设计特性有助于将传感器无缝集成到原型硬件布局中。传感器分离板的尺寸紧凑,仅为20mm×12mm,为各种应用场景提供了灵活性。
TMF8821-SHIELD的主要特性如下所示:
•Arduino UNO外形尺寸
•TMF8821传感器牢固地安装在分离板上
•玻璃盖片样品种类齐全,厚度范围为0.5mm至0.8mm
•气隙垫片样品丰富,厚度有0.17mm、0.25mm、0.38mm和0.5mm可选
•方便的分离板Vdd电流检测测试点
•整合重置按钮,以增强可用性
•板载低压差 (LDO) 稳压器和I²C电平转换器,进一步增强平台的功能。
NXP LPCXpresso55S69开发板
NXP Semiconductors LPCXpresso55S69开发板 (LPC55S69-EVK)(图2)是专为评估和开发基于Arm® Cortex®-M33架构的LPC55S6x微控制器单元 (MCU) 而定制的平台。该开发板与MCUXpresso工具套件完全集成,提供了可简化开发的丰富资源。MCUXpresso套件包含设备驱动程序、中间件、快速开发功能、配置工具,甚至还包括可免费获取的可选集成开发环境 (IDE)。
图2:NXP Semiconductors LPCXpresso55S69开发板。(图源:贸泽电子)
LPCXpresso55S69开发板是一款综合性、多功能工具集,旨在帮助开发人员利用LPC55S6x MCU的功能,推进Arm Cortex-M33框架内的高效评估和开发流程。
LPCXpresso55S69开发板的主要特性如下:
•LPC55S69双核Arm Cortex-M33 MCU,工作速度高达100MHz
•板载高速USB连接,带Link2调试探头,提供CMSIS-DAP和SEGGER J-Link协议选项
•经由板载调试探头、从LPC55S69目标器件到USB的UART和SPI端口桥接功能
•用于外部调试探头的硬件支持
•三个用户LED、复位按钮、三个ISP按钮以及用于增强型控制的用户按钮
•配备4位SDIO microSD卡插槽,用于扩展存储选项
•集成NXP MMA8652FCR1加速度计,用于运动检测
•立体声音频编解码器,带线路输入/输出功能
•高速和全速USB端口,带micro A/B连接器,适用于主机或器件应用
•Mikroe Click board™扩展选项,用于增加多功能性
•与Arduino UNO兼容的LPCXpresso-V3扩展站点
•Digilent Pmod™兼容扩展/主机连接器,可容纳各种扩展模块
开发项目
该项目不论是组装还是在软件方面都非常简单。
硬件安装
硬件的安装不需要任何工具。将TFM882x扩展板与NXP LPC55S69-EVK的Arduino排针对齐,如图3所示轻轻将扩展板插入。
图3:将ams OSRAM TMF882X-SHIELD连接到NXP LPC55S69-EVK开发板。(图源:ams OSRAM)
软件安装
本指南将全程指导您完成每个步骤,以成功设置运行ams OSRAM软件开发工具包 (SDK) 中提供的任何示例所需的环境。
下载及安装
本项目需要下载三个软件:ams OSRAM软件开发套件、NXP MCUXpresso IDE和MCUXpresso SDK。
ams OSRAM软件开发套件
下载运行在NXP LPC55S69-EVK上的ams OSRAM SDK。使用“项目代码和软件”章节提供的链接下载TMF882X_Driver_SDK_Source_vX.XX.zip文件,确保下载最新版本。本项目使用的版本为v1.19,链接参见“资源”章节(图4)。
图4:从ams OSRAM网站下载TMF882x Driver SDK。(图源:贸泽电子)
下载完成后,将文件解压缩,并在解压所得文件的document文件夹中找到“Software Development Kit Getting Started Guide”文件。
MCUXpresso IDE
下载并安装最新版本的NXP MCUXpresso IDE(链接位于“项目资料与资源”章节),我们将使用它来连接到NXP板(图5)。
图5:MCUXpresso IDE下载页面。(图源:贸泽电子)
下载成功后,运行安装程序,根据屏幕上的说明完成安装,包括安装设备驱动程序或控制器(图6)。
图6:MCUXpresso安装窗口。(图源:贸泽电子)
MCUXpresso SDK
安装完IDE后,接下来安装MCUXpresso SDK。如果是第一次启动IDE,“Welcome”(欢迎)选项卡中将出现下载并安装SDK的选项(图7)。
图7:MCUXpresso IDE SDK安装欢迎画面。(图源:贸泽电子)
或者,您也可以点击MCUXpresso IDE任务栏中的蓝色X图标来安装SDK(图8)。
图8:MCUXpresso SDK安装图标。(图源:贸泽电子)
此时将出现一个窗口,显示板列表(图9)。在窗口右上方的“Filter”(筛选条件)搜索栏中,输入“lpcxpresso55s69”,然后在板列表中单击“Install”(安装),如出现多个可用选项,请确保只选择最新版本。按照屏幕上的说明进行安装。完成后,选择“File”(文件),然后点击“Restart”(重启),重新启动MCUXpresso IDE。
图9:MCUXpresso SDK搜索和选择。(图源:贸泽电子)
如果一切安装无误,您将在“Installed SDKs”(已安装的SDK)窗口看到已成功安装的SDK(图10)。
图10:“Installed SDKs”(已安装的SDK)窗口。(图源:贸泽电子)
组合
安装完所有必要软件后,现在开始编程并运行提供的示例。
硬件编程
将micro-USB电缆的USB-A端插入编程PC、micro-USB端插入板左侧标有Debug Link(调试链接)的USB连接器上,如图11所示。
图11:组装完成的硬件,并且插入了USB电缆以进行编程。(图源:贸泽电子)
接下来,导入本演示的示例项目。
打开MCUXpresso IDE。
单击File(文件),然后单击Import…(导入)。
在Import(导入)窗口中,单击General(通用)并选择Existing Projects into Workspace(将现有项目导入工作区)。
选择Select root directory(选择根目录)单选按钮,单击Browse…(浏览),进入解压缩后的ams OSRAM软件开发套件中。
选择TMF882X_example_simple folder,然后单击Select Folder(选择文件夹)(图12)。
图12:选择要导入的示例程序。(图源:贸泽电子)
在“Import”(导入)窗口的“Projects”(项目)部分中,选择示例程序左边的复选框(图13)。
选择Copy projects into workspace(将项目复制到工作区)
完成后单击Finish(完成)。
图13:导入项目选项。(图源:NXP)
项目加载成功并连接到开发板后,构建并运行项目。
在MCUXpresso IDE中,单击Project(项目),然后单击Build All(构建全部)。
通过控制台窗口确认构建已完成并且未发生错误(图14)。
图14:控制台窗口显示项目构建已完成。(图源:贸泽电子)
单击绿色的Debug(调试)按钮运行项目(图15)。此操作将打开“Debug Configurations”(调试配置)窗口。
图15:调试按钮。(图源:NXP)
在“Debug Configurations”(调试配置)窗口中,选择TMF882X_example_simple Link Server Debug(TMF882X_example_simple Link Server调试),然后选择窗口右下角的“Debug”(调试)按钮(图16)。
图16:“Debug Configurations”(调试配置)窗口。(图源:贸泽电子)
此时会打开一个窗口,以验证LPCXpresso55S69与编程PC之间是否已建立连接。如果“Supported Probes”(支持的探头)部分中“MCUXpresso IDE LinkServer”旁边的复选框尚未选中,则选择该复选框(图17),然后单击OK(确定)。
图17:LinkServer连接窗口。(图源:贸泽电子)
调试程序将启动并对设备进行编程。接下来,启动终端窗口:
在“Terminal”(终端)窗口中,选择“Open a Terminal”(打开终端)图标(图18)。
图18:“Terminal”(终端)窗口。(图源:贸泽电子)
从下拉菜单中选择Serial Terminal(串行终端),然后单击OK(确定)。
确保串行端口设置如图所示,更改串行端口以匹配设备(图19),然后单击OK(确定)。
图19:终端设置。(图源:NXP)
单击绿色的Resume(继续)图标,从断点处开始继续运行应用程序(图20)。
图20:调试继续按钮。(图源:NXP)
完成后,软件会告诉您按开发板上的ISP按钮开始测量。运行期间,绿色LED将亮起,终端窗口将显示测量结果(图21)。如要停止,只需点击“Resume”(恢复)图标右侧的方形红色“Terminate”(终止)按钮,即可终止调试会话。
图21:ToF串行输出的简单示例。(图源:贸泽电子)
本示例提供包含最少配置的基本演示,展示了一个非常简单的用例。该示例使用默认的3×3区域,以厘米为单位测量并打印结果。按下NXP开发板上的ISP按钮将开始测量,运行测量时绿色LED指示灯亮起。
软件文件夹中的其他示例可以更深入地介绍设备功能,例如工厂校准和配置8×8区域。
结语
飞行时间 (ToF) 传感器可以迅速、准确地执行距离测量,即使在复杂环境下亦是如此。将ams OSRAM TMF8821-Shield开发板与NXP Semiconductors LPCXpresso55S69开发板相结合,可为工程师开发从机器人到汽车等行业的产品提供一种快速高效的方法,让他们能够进一步探索ToF传感器的功能。
作者简介
Joseph Downing于2011年加入贸泽电子,担任技术支持专员,后转为技术内容专员。此外,Joseph还曾就职于Intel、Radisys和Planar等电子行业公司,拥有20多年的工作经验。作为一名狂热的创客,Joseph帮助管理并向应用与技术专栏(Mouser.com网站)以及贸易展会提供技术项目和材料。