记录一个USB转I2C工具(CH341T)GUI的坑
专栏:好用工具分享 Dec. 4, 2024, 7:17 p.m. 430 阅读
记录一个USB转I2C工具(CH341T)GUI的坑,推荐一款正点原子的逻辑分析仪。

要测试一个i2c接口的PMIC芯片,这个i2c设备地址是0x74。网上买了一款USB转I2C的模块。但遇到一个奇怪的问题,单字节读写是好的,连续读写多字节不行。本想咨询一下淘宝商家,却意外发现淘宝店铺已倒闭。

45dd4ed2eebd696fd0ff505f1718eaab.jpg

44b1ea044aad45f6e3344a1274686cbe.jpg

问题是这样发现的

首先,测试了i2c单byte写,是OK了。

image.png

再测试多字节写,却写不进去。发送界面如下:

image.png

操作没什么特别的。

问题是这样找到的

用正点原子的逻辑分析仪,抓单字节写的波形如下:

image.png

image.png

再抓多字节写的波形:

image.png

image.png

发现问题了,指定的0x74,变成了0x3A。看来问题就出在设备地址上。

解释

一般设备地址是7bit,0x74其实是0b1110100。在发送i2c第一字节时,末尾还需要拼上一个0(写)。USB转I2C的模块在发送单字节时,人性化对设备地址做了处理,输入框与实际发送的做了偏移。而多字节时,工具是以原始数据发送,即发送0x74(对应的设备地变成了0x3A),所以出错了。

在验证时,我们把多字节的框里填写0xE8,即0x74左移1bit,重抓波形,结果正确。

image.png

image.png

推荐

在测试中,正点原子的逻辑分析仪帮了大忙,帮助我们找到的问题的原因。有需要的朋友可以淘宝搜索购买。

image.png

 

感谢阅读,更多文章点击这里:【专栏:好用工具分享】
最新20篇 开设专栏