我正在尝试用ATxmega16A4U微控制器驱动这个 I2C LCD 显示器。
列出的这两款器件都可以使用高达 400 kHz 的 I2C 时钟频率。这两个设备是 I2C 总线上的唯一设备。
然而,上拉电阻界限的计算给出了一些相当奇怪的值。
计算 I2C 最小上拉电阻值:
\begin{方程} R_{min} = \frac{Vcc - 0.4}{3mA} = 966.7 \Omega \end{方程}
查看 uC 数据表,第 92 页列出了 10pF 的最大引脚输入电容。
然而对于 LCD,它在第 8 页上有称为Capacitive load represent by each bus line
Cb 的标记,并且列出的最大值为 400pF。我假设我应该只将此值添加到 10pF uC 输入电容,但这似乎真的很高而且计算很不稳定。
例如,当我尝试计算 400kHz 时钟的最大上拉电阻值时:
\begin{方程} R_{max} = \frac{300ns}{10pF + 400pF} = 731.7 \Omega \end{方程}
我是否误解了 LCD 数据表?显然最大允许上拉电阻值不能小于最小允许值。
同样,如果我假设最大净总线电容为 400pF,我得到:
\begin{方程} R_{max} = \frac{300ns}{400pF} = 750 \Omega \end{方程}
仍低于最大允许值。