首页 > 技术知识 > 正文

1. 前言

TCA9617B datasheet中上拉电阻值分别为240 ω和820 ω。 担心设备是否会损坏,因为对于大多数I2C应用,上拉电阻的值在千欧姆范围内,但对于这个设备,上拉电阻的值小于1k欧姆。

另一个问题是通过I2C接口将传感器连接Aardvark板上。 Aardvark板工作在5V,而传感器是1.8V,所以使用TCA9617B连接两个设备。 然而,在A侧(1.8V)的I2C引脚没有输出信号。 确认了TCA9617B引脚8的电压是5V,引脚1和引脚5的电压是1.8V。 又尝试了另一种8通道的电压电平转换,LSF0108PWR,可以正常工作。

2. 查看datasheet

有一个上拉电阻可以是多大的上限。见下式: TCA9617B模块I2C通信异常问题调试

tr=满足I2C规范所需的时间。对于快速模式,它是300ns Cb=母线电容

建议先检查b侧设备的VOL是否低于0.4V检查VILC是否导致问题的一种简单方法是,可以将I2C线直接连接到b侧的GND,看看它是否转换到a侧。

TCA9617B最高工作电压为5.5V,所以不需要将其转换为3.3V。 A侧可在0.8 V ~ 5.5 V范围内工作。 B侧可在2.2 V ~ 5.5 V范围内工作。 所以只要在这个范围内工作并且A侧的电压小于或等于B侧的电压那么一切都可以工作。 还必须确保任何连接到B侧的设备能够拉出低于VILC的电压。

3. 示波器测试

用数字万用表测量方面,SDA有时低水平或1.8 v, scl总是1.8 v,我认为这意味着B面信号不成功转移到一侧 B面默认没有焊上拉电阻器因为I2C信号来自Aardvark启用内部上拉电阻。 然后我在B侧焊接2.2kohm电阻,仍然故障转移。

波形如下

TCA9617B模块I2C通信异常问题调试1

TCA9617B模块I2C通信异常问题调试2

TCA9617B模块I2C通信异常问题调试3

附上另一张在发送I2C命令时捕获的图片

TCA9617B模块I2C通信异常问题调试4

4. 逻辑分析仪分析

逻辑分析仪模拟通道如下 灰线为数字信号,从上到下为SCLB/SDAB/SCLA/SDAA; 蓝线为模拟信号,从上到下为SCLB/SDAB/SCLA/SDAA 在B面VCCB上加5V, A面没有信号,下面是整体和放大截图

TCA9617B模块I2C通信异常问题调试5

TCA9617B模块I2C通信异常问题调试6

但如果在B侧VCCB上施加3.3V,则A侧有信号

TCA9617B模块I2C通信异常问题调试7

TCA9617B模块I2C通信异常问题调试8

这里我想再提一个信息,Aardvark板输出电压是5V,但是I2C信号是3.3V,所以如果直接在B侧VCCB上使用5V,但是I2C信号是3.3V,这种不匹配会导致通信失败。 但如果用3.3V替换5V,问题就解决了。

如果在B侧施加3.3V,将SCLB/SDAB接地,SCLA/SDAA也低。 如果在B侧施加5V,将SCLB/SDAB连接到地,SCLA/SDAA为1.8V。

参考下面2/3通道,第一幅图SCLA/SDAA低,B侧接GND,第二幅图异常,SCLA/SDAA仍然是1.8V。在B侧施加3.3V TCA9617B模块I2C通信异常问题调试9

在B面施加5V TCA9617B模块I2C通信异常问题调试10

连接示意图 TCA9617B模块I2C通信异常问题调试11

LDO_VDDID_FF/SH和FF/SH_SPI/I2C是其他模块的, 用数字万用表测量,Pin1和Pin5是1.8V

5. 移除EN和飞线的电源组件来提供VCCB

检查数据表,确实EN VIH是0.7VCCB, 但应用3.3 v在VCCB上,大约是3.30.7=2.3>1.8V

TCA9617B模块I2C通信异常问题调试12

在数据表上的图表如下所示,EN应该与host对齐

TCA9617B模块I2C通信异常问题调试13

如果想在3.3V的电压下操作这个装置,这是可以的。 我不确定保持EN捆绑1.8V是否是最好的解决方案,它很好地低于EN的VIH阈值,因此在这一点上,它可能会根据每个设备的硅不同而有所不同。

猜你喜欢