目录
1. 概述
通过本文档的概述,能够让初次使用测试者快速了解测试 IIC 通信协议需要的工具以及查看哪些对应的 IIC 协议说明书,通过 PC 连接完成 IIC 通信协议的产品测试。
本文档适用的产品型号: TFmini-Plus-IIC(测试前确认产品硬件版本以及固件版本)
2. 测试准备
2.1 工具准备
工具 | 数量 |
---|---|
PC 上位机 windows 系统 | 1台 |
USBCOM2I2C 转换器 | 1台 |
4P 杜邦线 | 1台 |
TFmini-Plus-IIC | 1台 |
2.2通讯协议转换
TFmini-Plus 出厂默认通讯协议是 UART 串行通讯,如果要测试 IIC 通讯协议,需要在 UART 通讯模式下通过发送指令进行通讯协议转换,把 TFmini-Plus 的通讯接口协议转换成 IIC。具体操作步骤如下:
步骤1: 通过 USB-UART 转接板连接 TFmini-Plus 与 PC 端,如图 1 所示(具体工具可以查阅 TFmini-Plus 说明书);
连接 USB-UART 转换器,查看电脑 COM 驱动是否识别转换器,如果无法识别驱动器请更新驱动。
步骤2:
1) 打开串口助手,选择正确的端口号,波特率:115200。
2) 更改 IIC 通讯协议,发送通信接口设置指令:5A 05 0A 01 6A ;发送保存配置指令:5A 04 11 6F ;
3)断电重启,设备启动为 IIC 模式。现在 TFmini-Plus 已经改为 IIC 协议,可以进行 IIC 通讯测试。
3. IIC通讯测试
3.1 引脚说明
注意:这里使用 TFmini-Plus-IIC 进行测试,如果你测试的是其他硬件版本,请查阅对应的产品说明书进行电气接口的针脚定义确认。
3.2 测试步骤
3.2.1 TFmini-Plus-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”),打开串口连接。
通过查阅 TFmini-Plus-IIC 的产品说明书了解 IIC 模式数据时序。与串口通信不同,I2C 通信由主机发起,雷达做为从机只能被动收发数据。主机向雷达写入配置指令帧后,需要等待足够长的时间,等待处理完该指令后,再进行读取反馈操作,建议等待时间为 100ms。详见下表:
3.2.2 获取测距值
TFmini-Plus-IIC 的地址是 0x10,则通过串口获取 TFmini-Plus-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: 获取测距结果。TFmini-Plus 在 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 信号(详见转接器使用手册);
发送上述指令后,TFmini-Plus-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 地址命令格式如下图,TFmini-Plus-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-TFmini-Plus A05 说明书。