稳定可靠的I2C通信的设计计算
求解


各种工作电压的最大上升时间由I2C标准指定,并通过上拉电阻确定。根据该时间和总线电容,我们可以计算允许的最大上拉电阻(Rp)。当电压为5V,时钟频率为400kHz时,给定总线电容CBUS为100pF,则规定的最大上升时间(TR)为300ns。
公式3:符合I2C上升时间标准的最小上拉电阻。






高电平总输入电流(IIH)
即使没有器件拉低线的电平,线仍处于逻辑高电平时,电流仍会继续流过上拉电阻。该电流由总线上器件的数字输入的泄漏产生,也可能是质量较差的PCB材料以及焊接残留物所导致。其中一些因素是无法预见的,但采用高质量材料和良好的制造工艺时,输入引脚泄漏是主要原因。
根据图2,没有器件拉低总线电平时,线的电平需要高于VIH才能被视为逻辑高电平。泄漏电流会限制Rp的最大值,这样其两端的电压降不会阻止线的电平被拉高至VIH以上。对于VIH规范,还应谨慎留出一些保护裕量,以防止噪声尖峰将电压拉低至VIH电平以下。要在高噪声环境下稳定工作,I2C规范建议采用0.2 Vdd作为高出VIH的适当裕量。
公式4:逻辑高输入电平上的额外裕量。



通常会在器件的数据手册中给出数字输入的泄漏电流,对于Microchip的I2C EEPROM器件,最大输入泄漏电流(IlIEE)为1µA。组成系统的最少元件是单片机I2C主器件和I2C从器件。对于本例,采用一个输入泄漏电流(IlIMCU)为1µA的单片机和四个I2C EEPROM器件,允许100%裕量,IIH为10µA。
公式5:已定义总线的引脚泄漏产生的泄漏电流。



应用欧姆定律,我们可以确定符合这些规范的Rp最大值。
公式6:确保逻辑高电平的最小上拉电阻值。






电阻值计算
通过计算电源电压、总线电容和泄漏电流,我们可以得出RP值的范围。


评论