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从机查看与主机的通信过程,包含时间戳
示例场景:
测试系统通过查看所有接收及发送的消息判断通信是否保持应答
示例命令:
对于I2C通信测试的命令可以参考文档《总线测试协议及测试命令介绍.pdf》