一、LD2450简介

一、LD2450简介

文章目录

前言一、LD2450简介特点引脚定义

二、使用步骤上位机使用方法通信协议协议格式数据输出协议

雷达命令配置方式串口解析示例

前言

运动目标跟踪是指在区域内实时跟踪运动目标所在的位置,实现对区域内运动目标测距、测角和测速。LD2450是海凌科24G毫米波雷达系列中的的运动目标跟踪传感器模组,包含极简化24 GHz雷达传感器硬件和智能算法固件。本方案主要应用在家庭、办公和酒店等普通室内场景,实现对运动人体的定位跟踪。传感器硬件由AloT毫米波雷达芯片、高性能一发两收微带天线和低成本MCU及外围辅助电路组成。智能算法固件采用FMCW波形和雷达芯片专有的先进信号处理技术

一、LD2450简介

特点

24 GHz ISM频段整合智能毫米波雷达芯片和智能算法固件精准运动目标定位和跟踪最远探测距离6m超小模组尺寸: 15mm x 44mm挂壁安装方位角±60°,俯仰角±35°多种连接方式,带有插针和插座接口

引脚定义

二、使用步骤

上位机使用方法

用USB转串口工具正确连接模组串口;打开ICLM_MTT.exe上位机工具软件,点击检测设备按钮,上位机软件自动通过串口搜索LD2410模块; 检测到模块后,上位机软件会有如下图的提示 然后点击开始按钮,上位机软件将会接收LD2450模块上报的检测数据,并实时显示在软件面上。显示内容包括:在扇形图上的最多三个目标的实时位置,每个目标的距离、角度和速度信息;

通信协议

协议格式

数据输出协议

LD2450模组通过串口与外界通信,雷达串口默认波特率为 256000,1停止位,无奇偶校验位。雷达输出检测到的目标信息,包括在区域中的x坐标,y坐标,以及目标的速度值。雷达上报的数据格式如下表所示,每秒上报10帧。 其中单个目标具体包含的信息如下表所示 数据示例: AA FF 03 00 0E 03 B1 86 10 00 40 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 CC 该组数据表示雷达当前跟踪到了一个目标即目标1(示例中蓝色字段),目标2和目标3(分别对应示例中的红色和黑色字段)不存在,故其相应数据段为 0x00。将目标1的数据转换为相关信息的过程展示如下: 目标1 x坐标:0x0E + 0x03 * 256 = 782, 0 - 782 = -782 mm 目标1 y坐标:0xB1 + 0x86 * 256 = 34481, 34481 - 2^15 = 1713 mm 目标1速度:0x10 + 0x00 * 256 = 16, 0 -16 =-16 cm/s 目标1距离分辨率:0x40 +0x01* 256 = 320 mm

雷达命令配置方式

LD2450雷达执行一条配置命令的过程包含上位机“发送命令”与雷达“回复命令ACK”两个环节。若雷达无ACK回复或回复ACK失败,则说明雷达执行配置命令失败。 如前所述,向雷达发送任何其他命令前,开发者需先发送“使能配置”命令,然后在规定时间内发送配置命令。命令配置完成之后,发送“结束配置”命令告知雷达配置已经结束。 例如,若要读取雷达配置参数,首先上位机发送“使能配置”命令;待收到雷达ACK成功后,再发送“读取参数”命令;待收到雷达ACK成功后,最后发送“结束配置”命令;待雷达ACK成功后,表明完整的读取参数动作结束。 雷达命令配置流程如下图所示。

串口解析示例

ret = tls_uart_read(TLS_UART_1, (u8 *)rec_buf, len); /* 读取串口的数据 存放到

rec_buf*/

if (ret <= 0)

{

break;

}

// 解析数据 rec_buf ret=30

for (int i = 0; i < ret; i++)

{

if (rec_buf[i] == 0xAA && rec_buf[i + 1] == 0xFF)

{

if (i + 6 < ret)

{

// 解析x和y距离

u16 x_distance = rec_buf[i + 4] | (rec_buf[i + 5] << 8);

u16 y_distance = rec_buf[i + 6] | (rec_buf[i + 7] << 8);

// 检查x_distance的最高位

if (rec_buf[i + 5] & 0x80)

{

// x_distance最高位为1,表示正数,减去最高位的1。y永远为正直接减去0x8000

x_distance -= 0x8000;

y_distance -= 0x8000;

// 输出距离

printf("x:%d,y:%d\r\n", x_distance, y_distance);

}

else // 最高位为0 表示x负距离。y永远为正直接减去0x8000

{

y_distance -= 0x8000;

// 输出距离

printf("x:%d,y:%d\r\n", x_distance, y_distance);

}

// 偏移索引以跳过已处理的数据

i += 7;

}

}

}

相关推荐

为什么显示未知号码 显示原因及解决方法
365bet体育投注在线

为什么显示未知号码 显示原因及解决方法

📅 06-30 👁️ 9704
微信双开哪个软件好用?Windows 微信双开应用推荐
365bet体育投注在线

微信双开哪个软件好用?Windows 微信双开应用推荐

📅 07-04 👁️ 3141
丹麦VS突尼斯(2022世界杯)
365bet比分

丹麦VS突尼斯(2022世界杯)

📅 08-23 👁️ 6190