I2C从机仿真测试介绍

开关

I2C从机仿真测试介绍

UTP自动化测试系统支持对I2C通信进行自动化测试,支持自动仿真各类I2C外设同被测控制板的通信。

宏控UTP系统支持以下I2C从机通信测试:

支持对7bit地址和10bit地址进行验证

本文介绍的I2C从机仿真测试机器人,用于仿真器件(I2C从机端)对单片机(MCU)进行自动化测试。

本文以USB接口的I2C硬件模块为例进行I2C通信测试的介绍。具体关系参考下图

快速入门

硬件连接与配置

请参考硬件测试模块手册进行硬件连接

获取硬件模块和相应文档,请在点击下面连接获取

硬件配置及资料获取

测试工具下载

安装包下载前请先注册并登录UTP测试平台,登录后才可以下载

点击链接下载页面,进入安装包下载页面,选配测试工具,并提交下载

下载完成,解压,双击文件夹中的“AntbotBoxRTC.exe”启动测试工具

登录并配置测试机器人

双击“AntbotBoxRTC.exe”启动测试工具

启动软件后出现如下界面,在此界面输入用户名密码进行登录:

登录完成,弹出测试机器人盒子界面:

右键点击“I2C从机仿真测试机器人”下方的I2CSlaveAnbot节点,在弹出的菜单中点击“添加Antbot”:

弹出基本信息设置界面,根据需要修改测试机器人名称,然后点击“确定”按钮:

进入更多信息设置界面,下面是对此界面的介绍:

USB端口:为机器中连接的I2C测试硬件连接顺序,如有多个硬件连接,第一个为0,第二个为1,依次类推;

I2C地址模式:根据实际情况可选择地址模式为I2C_ADDRMOD_7BIT和I2C_ADDRMOD_10BIT;

I2C地址:根据通信中的实际的I2C从机地址进行填写,支持10进制和16进制,例如10进制40和16进制0x28。

配置完成后点击“OK”按钮:

新创建的测试机器人显示如下图:

如需要对某个已创建的测试机器人的配置信息进行调整,可以先在“测试机器人列表”中选中该测试机器人,

然后在右侧的页面进行调整,可以修改测试机器人名称,修改配置信息。

创建测试用例并执行

打开网页客户端,点击“登录”按钮:

输入用户名密码进行登录:

然后点击“立即登录”,即可进入测试工作区:

导入协议:点击协议管理或者相同图标,进入协议管理界面

点击导入按钮选择“I2C通信协议.json”打开,示例协议在下载的UtpEmbTestSuite内的示例协议中,然后点击“确定”按钮,

新建项目:点击“新建项目”按钮创建测试项目:

填写项目基本信息,然后点击“提交”按钮:

项目创建成功:

点击“进入项目”按钮,进入测试项目:

点击“用例管理”页面右侧的“测试机器人管理”,进行测试机器人配置:

点击测试机器人管理中的“+”,新建测试机器人:

先选择“嵌入式测试”,再选择“I2C从机仿真测试”类型的测试机器人,再填写测试机器人名称,进行协议文件选择 协议类型选择genericBusFrame,协议文件选择“I2C通信协议.json”,完成测试机器人的配置:

机器人配置完成:

然后,再次点击“测试机器人管理”,收起该页面:

后续步骤请参考"总线通用快速入门"中的编辑测试用例

点击此链接查看如何进行测试用例创建与执行查看

此链接为总线通用快速入门操作,仅供参考

功能介绍

本章介绍I2C从机测试机器人的命令,UTP测试系统封装了通用的测试命令,用户只需要进行测试命令的插入组合即可完成测试用例的编辑。

I2C通信测试属于总线通信测试的一种,关于总线命名请参考附录


向主控单元发送数据

UTP系统支持直接发送十六进制数,也支持通过协议消息自动构建数据进行发送。

示例场景1:

模拟传感器向I2C主控单元发送采样构建数据。

示例命令:

示例场景2:

通过I2C从机向I2C主机发送十六进制数

示例命令:

周期发送数据包

UTP系统支持向主控单元发送周期性数据。

示例场景:

主机需要从机按一定频率发送信号进行识别

示例命令:

检查主控单元数据包

接收被测系统发出的I2C数据包并进行检查。

示例场景:

接收并检查数据帧,检查数据包中的字段值是否满足条件,检查数据包是否满足预设条件,检查数据包的时序和接收到的时间等。

示例命令:检查接收到的消息的字段值是否同预期一致

示例命令:检查被测系统发出的周期消息的周期时间

示例命令:检查被测系统是否在规定时间内发出预期消息

自动回复主控单元数据包

可以通过I2C从机通信测试机器人对被测系统-主控单元发出I2C数据包进行自动回复。

示例场景:

被测系统发出消息A,I2C测试机器人接收到A后自动回复消息B。

下图中先定义了"I2C消息2"的ID为"messagelD紧接着将"messagell配置为"I2C消息1“的回复消息

示例命令:自动回复

查看通信的数据时序

可以通过I2C从机查看与主机的通信过程,包含时间戳

示例场景:

测试系统通过查看所有接收及发送的消息判断通信是否保持应答

示例命令:

对主控单元进行监控

UTP系统支持采集并监视被测系统指定通道输出的信号,支持用户自定义监控集。

示例场景:

I2C测试机器人监控被测设备具体某一指标的变化。

监控方式

附录 测试机器人命令

对于I2C通信测试的命令可以参考文档《总线测试协议及测试命令介绍.pdf》