I2C 上拉电阻:使用外部和内部
I2C pull-up resistor: using an external one along with the internal
我正在 PIC18F4550 和外部 eeprom 存储器之间实现 I2C 连接。我知道内部上拉电阻不起作用,这就是我要使用外部上拉电阻的原因。但是,我在同一个端口中使用最后 4 个引脚与矩阵键盘连接,为此我必须为整个端口启用内部上拉电阻(该微控制器不提供仅针对那些你想要的)。即使我使用外部电阻器,内部上拉是否会以任何方式影响连接?
它将创建内部和外部上拉电阻的并联连接。考虑到控制器数据表中规定的弱上拉电流,内部上拉电流在 12-100 kOhms 之间。
通常结果取决于外部电阻的值,计算所选值和内部电阻的两种边缘情况,这里有一些关于 I2C 电阻与速度的信息:
http://www.ti.com/lit/an/slva689/slva689.pdf(考虑描述为上述两者的并联连接)
根据我的经验:如果你选择一个相当小的外部电阻,这应该不是一个大问题。通常小于 2kOhms vs 100kOhms 可能被简单地认为是 2000kOhms。对于 12kOhms,这种舍入当然不太正确。
更一般的规则是:所得电阻越大,流过的电流越小,导致寄生电容充电越慢,从而限制了连接速度。如果您想获得更多相关知识,google RC 电路 impulse/step 响应、低通无源 RC 滤波器和相关主题。
祝你设计顺利!
我正在 PIC18F4550 和外部 eeprom 存储器之间实现 I2C 连接。我知道内部上拉电阻不起作用,这就是我要使用外部上拉电阻的原因。但是,我在同一个端口中使用最后 4 个引脚与矩阵键盘连接,为此我必须为整个端口启用内部上拉电阻(该微控制器不提供仅针对那些你想要的)。即使我使用外部电阻器,内部上拉是否会以任何方式影响连接?
它将创建内部和外部上拉电阻的并联连接。考虑到控制器数据表中规定的弱上拉电流,内部上拉电流在 12-100 kOhms 之间。
通常结果取决于外部电阻的值,计算所选值和内部电阻的两种边缘情况,这里有一些关于 I2C 电阻与速度的信息: http://www.ti.com/lit/an/slva689/slva689.pdf(考虑描述为上述两者的并联连接)
根据我的经验:如果你选择一个相当小的外部电阻,这应该不是一个大问题。通常小于 2kOhms vs 100kOhms 可能被简单地认为是 2000kOhms。对于 12kOhms,这种舍入当然不太正确。
更一般的规则是:所得电阻越大,流过的电流越小,导致寄生电容充电越慢,从而限制了连接速度。如果您想获得更多相关知识,google RC 电路 impulse/step 响应、低通无源 RC 滤波器和相关主题。
祝你设计顺利!