如何将 pcf8563 rtc 和 24lc512 eeprom 与 sda 和 scl 上的 1K 上拉电阻连接起来

how interface both pcf8563 rtc and 24lc512 eeprom with 1K pullup resistor on sda and scl

我一直在研究将 24lc512pcf8563 连接在一起的代码。在 pcf8563 的分线板上,SDASCL 线上有两个 1K 上拉电阻,因此我计划对 eeprom 使用相同的电阻。
我有一个用于 eeprom 的代码,它在使用 4.7K 上拉电阻之前工作得很好,所以为了使代码适用于 1K 上拉电阻,我做了以下更改。(编码是用 XC8 编译器为 PIC16f877a 完成的)

SSPSTAT=0x80  
SSPADD=(_XTAL_FREQ/(4*c))-1 //where c is 400,000  

但遗憾的是,代码无法正常工作,因为 expected.Could 有人请帮我说说我应该在早期代码中进行哪些更改,以便它可以与 1K 上拉电阻一起工作。

提前致谢:)

数据表说 R = tr/Cb 在哪里 tr 是上升时间(最大指定为 1us) Cb 是每条总线线路的容性负载,具有指定的最大值。 400 pF.

1x10^6 / 400x10^12 = 2500,所以如果接近最大电容,2.7K 是最佳选择。

1K 欧姆虽然听起来有点低,但我会尝试拆下电阻器并使用 2.7 至 4.7k 欧姆代替。如果总线线路短,只需要一套。

使用示波器检查信号形状。如果痕迹不是很好和方形,那么您需要调整电阻器或缩短总线线。如果上升时间超过1us也可能有问题。

使用低得多的总线速度会更有意义,电容不会有什么大不了的。对于压延机和小型 eeprom,100K 甚至更低的速度在大多数情况下已经足够快了。