目录
- 1. 概述
- 2. 测试准备
- 2.1 工具准备
- 3. IIC通讯测试
- 3.1 引脚说明
- 3.2 测试步骤
- 3.2.1 TFLuna-IIC 与 PC 建立连接
- 3.2.2 获取测距值
- 3.2.3 更改 slave 地址
1. 概述
通过本文档的概述,能够让初次使用测试者快速了解测试 IIC 通信协议需要的工具以及查看哪些对应的 IIC 协议说明书,通过 PC 连接完成 IIC 通信协议的产品测试。
本文档适用的产品型号: TFLuna-IIC(测试前确认产品硬件版本以及固件版本)
2. 测试准备
2.1 工具准备
工具 | 数量 |
---|---|
PC 上位机 windows 系统 | 1台 |
USBCOM2I2C 转换器 | 1台 |
4P 杜邦线 | 1台 |
TFLuna-IIC | 1台 |
3. IIC通讯测试
3.1 引脚说明
注意:这里使用 TFLuna-IIC 进行测试,如果你测试的是其他硬件版本,请查阅对应的产品说明书进行电气接口的针脚定义确认。
3.2 测试步骤
3.2.1 TFLuna-IIC 与 PC 建立连接
连接 USB-UART 转换器,查看电脑 COM 驱动是否识别转换器。
注意:如果没有识别 USB-IIC 转换器请查阅:USBCOM2I2C 使用手册
,下载并安装驱动。
USBCOM212C内部采用FTDI原装进口芯片,Windows驱动下载地址:http://www.ftdichip.com/Drivers/CDM/CDM21216 Setup.exe
其它操作系统驱动,可访问已下地址下载:
http://www.ftdichip.com/Drivers/VCP.htm
打开串口助手,选择正确端口号,波特率设置:9600 ,取消 RTS 选项,无校验(校验选择“none”),打开串口连接。
引脚 5 接地时,TFLuna 启动为 IIC 通信模式。IIC 通信由主机发起,TFLuna-IIC 做为从机只能被动收发数据。主机向雷达写入配置指令帧后,需要等待足够长的时间,等待处理完该指令后,再进行读取反馈操作,建议等待时间为 100ms。
3.2.2 获取测距值
TFLuna-IIC 的默认从机地址是 0x10,则通过串口获取 TFLuna-IIC 的测量距离的命令为: 53 20 05 5A 05 00 01 60 50 53 21 09 50
,发送指令操作如下图。
命令解释:
0x53: USB-I²C 转换器的 S 命令,发起 start 信号(详见转接器使用手册);
…
0x20: 写操作(IIC 协议规定高 7 位代表从节点的寻址地址,最低位代表读/写,0 为写操作,1 为读操作。从机地址 0x10(DEC),0x10 的 2 进制表示 00010000。高 7 位代表地址故先左移一位为 00100000,最低位写为 0,所以是 00100000 即 0x20(DEC));
0x05: 写入 5 个字节数据;
5A 05 00 01 60: 获取测距结果。TFLuna 在 IIC 模式下读取距离指令如下图;
0x53: USB-I²C 转换器的 S 命令,发起 start 信号(详见转接器使用手册);
0x21: 读操作(高 7 位代表地址,最低位代表读/写。从机地址 0x10,0x10 的二进制表示 0001 0000,高七位是地址故先左移一位为 00100000,最低位读为 1,所以是 00100001 即 0x21);
0x09: 读取 9 个字节数据;
0x50: USB-I²C 转接器的 P 命令,发起 stop 信号(详见转接器使用手册);
发送上述指令后,TFLuna-IIC 返回 9 个字节的数据,数据格式如下图:
例如返回数据:59 59 A9 00 0F 3E 60 09 11,数据解释如下:
…
0x59 0x59: 帧头
0xA9: 距离值低 8 位;
0x00: 距离值高 8 位(距离值 0x00A9,10 进制表示即 169cm);
0x0F: 强度值低 8 位;
0x3E: 强度值高 8 位(强度值 0x3E0F 即 15887);
0x60: 温度低 8 位 ;
0x09: 温度高 8 位(温度值 2400/8-256=44°);
0x11: 校验位 11;
3.2.3 更改 slave 地址
更改 slave 地址命令格式如下图,TFLuna-IIC 默认地址为 0x10。例如,要将 slave 地址更改为 20,需要发送指令:53 20 05 5A 05 0B 20 8A 50 53 21 05 50。
命令解释如下:
0x53: USB-I²C 转换器的 S 命令,发起 start 信号;
…
0x20: 写操作;
0x05: 写入 5 个字节数据;
5A 05 0B 20 8A: 修改 I2C 从机地址。要将从机地址改为 20,则 ADDR=20(DEC);SU 为和校验位。
0x50: USB-I²C 转接器的 P 命令,发起 stop 信号;
0x53: USB-I²C 转换器的 S 命令,发起 start 信号;
0x21: 读操作;
0x05: 读取 5 个字节数据;
0x50: USB-I²C 转接器的 P 命令,发起 stop 信号;
…
发送指令操作如下图所示,配置成功返回 4 字节 0x00。
将地址修改为 20 后,获取测距值的指令为:53 40 05 5A 05 00 01 60 50 53 41 09 50。命令含义参考 3.2.2.解释。
更多详情请参考 SJ-PM-TFLuna A05 说明书。