我正在使用 I 2 C 将PIC18F46K22(主)连接到PIC18F4620 (从) 。设备之间的导线约为 30cm。我使用 400kHz 没有转换速率控制。稍后,我将在距主机约 5 厘米(距另一个从机约 35 厘米)上添加另一个 18F4620。
如何计算 SCL 作为 SDA 线所需的上拉电阻?
我在哪里放置引体向上(靠近主人,靠近奴隶,两者,在中间,......)有关系吗?
我正在使用 I 2 C 将PIC18F46K22(主)连接到PIC18F4620 (从) 。设备之间的导线约为 30cm。我使用 400kHz 没有转换速率控制。稍后,我将在距主机约 5 厘米(距另一个从机约 35 厘米)上添加另一个 18F4620。
如何计算 SCL 作为 SDA 线所需的上拉电阻?
我在哪里放置引体向上(靠近主人,靠近奴隶,两者,在中间,......)有关系吗?
上拉通常位于主设备附近。
本应用笔记介绍了一些计算。本质上,上拉的大小将由总总线电容和总线上设备的下拉能力定义:
和
在哪里是所需的逻辑低电压,是灌电流,并且是总线电容。
当然,一旦构建了样本,最好的办法就是确定波形范围并进行任何需要的调整。
当线路被拉低时,驱动器引脚(主机上的 SCL,或主机或从机上的 SDA)提供电流 V/R 来执行此操作;因此,如果它是 5V 的 10k 电阻,驱动器将需要吸收 0.5 mA。更大的电阻意味着需要更少的电流,但线路会拉得更慢(尤其是在长线路上),这可能会限制您的速率。较小的电阻器拉起来更快,但在某些时候你会烧坏驱动器引脚(检查数据表)。3.3K到10K大概没问题;如果是 3.3V 可能是 2.2K-4.7K
将它们电气放置在哪里并不重要,但是如果电缆可能断开连接,则最好靠近主设备;或者你可以在每一端放置一个 10k 的上拉电阻,而不是一个 4k7,这样可以在电缆断开连接时让两端都保持愉快。
通常,对于 +-20cm 的电缆长度,100kHz 的 SCL 对 10k 会很满意。随着频率和/或长度的增加,您可能会低至 1k。