Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Embedded SMBus v1.1电压阈值_Embedded_Pic_I2c_Smbus - Fatal编程技术网

Embedded SMBus v1.1电压阈值

Embedded SMBus v1.1电压阈值,embedded,pic,i2c,smbus,Embedded,Pic,I2c,Smbus,我计划使用PIC18F26K83,并与使用SMBus 1.1版的智能电池进行通信。因此,从PIC的数据表中可以看出,我需要从RxyI2C寄存器中为SMBus选择适当的输入阈值。位0和1用于选择该阈值,但没有关于SMBus 1.1版的信息(见下文) TH:I2C输入阈值选择位 11=SMBus 3.0(1.35 V)输入阈值 10=SMBus 2.0(2.1 V)输入阈值 01=I2C特定输入阈值 00=标准GPIO输入上拉,通过INLVLxy寄存器启用 在互联网上,我找不到SMBus v1.1的

我计划使用PIC18F26K83,并与使用SMBus 1.1版的智能电池进行通信。因此,从PIC的数据表中可以看出,我需要从RxyI2C寄存器中为SMBus选择适当的输入阈值。位0和1用于选择该阈值,但没有关于SMBus 1.1版的信息(见下文)

TH:I2C输入阈值选择位

11=SMBus 3.0(1.35 V)输入阈值

10=SMBus 2.0(2.1 V)输入阈值

01=I2C特定输入阈值

00=标准GPIO输入上拉,通过INLVLxy寄存器启用

在互联网上,我找不到SMBus v1.1的输入阈值。所以我的问题是:

SMBus v1.1的输入阈值电压是多少?或者我应该如何设置相关位以使用RxyI2C寄存器中的SMBus v1.1?

IC的数据表。 声明IC支持SMBus v2.0和v3.0。 比较SMBus v2.0和v1.1,在电压方面存在一些差异,但SMBus v1.1和v2.0上的电气差异应足够接近,以便共同工作。 至于后向兼容性,请注意SMBus v1.1的上拉阻力。SMBus v2.0的建议上拉恢复时间接近标准I2C,因此无法在SMBus v1.1上运行

因此,在SMBus 2.0配置中使用微控制器,并具有与SMBus v1.1兼容的上拉电阻,应该可以正常工作

下面是我用来实现SMBus v1.1的文档的链接


不是一个编程问题-试试看?这可能是一个有点编程问题,但好吧,我会这样做。是的,我在评论之前犹豫了一下-很遗憾我们没有嵌入式StackExchange来处理电子和编程的混合问题。的确,这将是非常好的。谢谢你,是的,我使用RB1I2C=0x02;这是2.1 V的输入阈值。我也使用SMBus v1.1,您认为20 K上拉电阻器适合吗?我关于SMBus的经验证明,SMBus v1.1上的不同电池具有不同的公差。大多数主机(主设备)可以在更宽的高状态和lov状态电压范围内正常工作。因此,我最好的建议是使用两个电位计,以12-20k欧姆开始。20k欧姆可以正常工作,但微调电阻可能会提供更好的性能。“15k可能足够了”。(另外,请记住~50cm是距离主设备->从设备的最大距离),但在这种情况下,我不会在接收缓冲区中获得任何数据,对吗?否则我就得不到信号传输的确认。这就是SMBus的棘手之处。错误的上拉将意味着您无法从电池获得确认。或者更糟糕的是,您发送给电池的信息不正确。要么电池根本看不到信息,要么更糟。。数据损坏会返回错误的数据。如果您以前没有使用过i2c和/或SMBus,我强烈建议您阅读“SmartBatteryDataspecification”。以及系统管理总线规范和“ReadThis”(Bren Tronics“实现SMBus接口”。)我使用多个“BB-2590/u”电池。“当时是70791BK”。是的,我用的是同一种面糊,解决了这个问题。谢谢你的指导!