I2C上拉电阻计算


10

我正在尝试使用ATxmega16A4U微控制器来驱动此I2C LCD显示器

列出的这两种器件都可在最高400 kHz的I2C时钟频率下工作。这两个设备是I2C总线上唯一的设备。

但是,计算上拉电阻器边界的计算会得出一些相当奇怪的值。

计算I2C最小上拉电阻值:

[R一世ñ=VCC-0.43一种=966.7Ω

查看uC数据手册,第92页列出了最大引脚输入电容10pF。

但是对于LCD,它在第8页上有一个称为Capacitive load represent by each bus lineCb的东西,其最大值为400pF。我以为我应该将此值加到10pF uC输入电容上,但这看起来确实很高,计算也很麻烦。

例如,当我尝试计算400kHz时钟的最大上拉电阻值时:

[R一种X=300ñs10pF+400pF=731.7Ω

我是否误解了LCD数据表?显然,最大允许上拉电阻值不能小于最小允许值。

同样,如果我假设最大净总线电容为400pF,我将得到:

[R一种X=300ñs400pF=750Ω

仍低于最大允许值。

Answers:


11

Atmel数据表中有一个错别字,对于100kHz情况,上升时间应该是1000ns,而不是100ns(它不必低于400ns情况下的400kHz情况),您将得到:

1个üs400pF=2.5ķΩ; 对于100kHz的情况

LCD数据表(几乎可以肯定)表示最大总线电容,而不是它加到总线上的电容。它可能会增加约10pF。您可以使用LCR表进行检查,也可以仅使用2k电阻进行设置并查看上升时间。

许多设备并不完全符合官方的400kHz规范,因此最好参考这些以了解400kHz可以工作的条件(总线电容,上拉/电流源等),尤其请参阅第6节(例如,参见第47页的注释4:

[4]为了以400 kHz驱动全总线负载,在0.6 V VOL时需要6 mA IOL。不符合该规格的部件仍可以工作,但不能在400 kHz和400 pF下工作)

此外,这些表非常有用,并希望与您的计算相符:

I2C上拉


是的,我注意到了有关数据表的内容。400kHz信号的上升时间应比100kHz信号的上升时间短:D
helloworld922 2013年

1

您的计算很有意义。此TI应用笔记中有类似的计算(第4.1节)。注意,他们使用V cc = 1.8V来计算R min

可以想象C b是LCD可以工作的最大总线电容,而不是LCD加到总线上的电容。您可以通过测量I 2 C输入的RC常数来测试其电容。这将提供数量级的完整性检查。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.