广州学建网站,施工企业安全生产考核评定应分为,视频剪辑培训比较有名的学校,安徽省水利厅j建设网站IIC 是一个两线串行通信总线#xff0c;包含一个 SCL 信号和 SDA 信号#xff0c;SCL 是时钟信号#xff0c;从主设备发出#xff0c;SDA 是数据信号#xff0c;是一个双向的#xff0c;设备发送数据和接收数据都是通过 SDA 信号。 在设计 IIC 信号电路的时候我们会在 SC…IIC 是一个两线串行通信总线包含一个 SCL 信号和 SDA 信号SCL 是时钟信号从主设备发出SDA 是数据信号是一个双向的设备发送数据和接收数据都是通过 SDA 信号。 在设计 IIC 信号电路的时候我们会在 SCL 和 SDA 上加一个上拉电阻。 今天就来分享下为什么要在 IIC 信号线上加上拉电阻。
主要原因就是 IIC 芯片的 SDA 和 SCL 的引脚是开漏输出就是只有一个 NMOS 管不像推挽输出有两个 MOS 管。 当芯片 SDA 和 SCL 的引脚输出 MOS 管导通IIC 信号线电平为低电平。 当芯片 SDA 和 SCL 的引脚输出 MOS 管关闭如果没有上拉电阻IIC 信号线是处于一个高阻状态电平是未知的开漏输出是没有高电平的输出能力的。 所以加上上拉电阻后当芯片 SDA 和 SCL 的引脚输出 MOS 管关闭IIC 信号线上的电平就是一个确切的高电平。 当多个 IIC 设备通过 IIC 总线接在一起这就要求 IIC 设备间可以实现线与而芯片的 IIC 引脚是开漏输出的话就能很好的实现这个线与。只要有一个 IIC 设备的引脚电平是低电平那么相应的 SCL 或 SDA 总线也会成为一个低电平。如果 IIC 设备引脚为推挽输出多个 IIC 设备接在一条总线上很容易烧坏芯片。 IIC 上拉电阻的取值
IIC 信号的上拉电阻阻值不能太大因为 IIC 芯片 SCL 和 SDA 引脚都存在寄生电容同时 SDA 和 SCL 信号的走线也会有寄生电容整个 IIC 总线上相当于接了一个负载电容 Cl 上拉电阻过大IIC 总线高电平的驱动能力差总线电平从 0 到 1 变化时等效为这个 RC 的充电电路上拉电阻越大波形上升沿会变缓一定程度会影响 IIC 的时序可能会出现误码。所以这个上拉电阻不能太大。 IIC SDA 和 SCL 信号的上升时间和总线电容在不同的模式下有不同的要求大家可以看下这个表。 IIC 总线信号上升时间可以根据公式 Tr0.8473*R*Cl Cl 就是 IIC 总线的等效负载电容
IIC 信号上拉电阻也不能太小如果太小了当 IIC 引脚输出低电平时灌进芯片 IIC 引脚的电流会变大可能会使 IIC 信号线的低电平变大同时 IO 口电流过大还可能烧坏芯片。 我们一般要求IIC 引脚低电平时流过芯片 IIC 引脚的电流小于 3mA所以如果是 3.3V 上拉的话这个电阻就要 R(3.3-VoL)l3KΩ0.96KΩ 其中 VoL 是 IIC 引脚为低电平时的最大电压一般是 0.4V。再加上前面的这个公式我们就可以确定这个上拉电阻的取值范围。 电源电压决定上拉电阻的最小值总线负载电容决定上拉电阻的最大值。
IIC 信号上拉电阻取值常用的值就是 4.7K一般小于 10K大于 1K如果 IIC 总线比较长从设备比较多可以适当降低电阻。
如果 IIC 总线接了很多 IIC 设备是不是每个 IIC 设备都要加上拉电阻 答案是否定的我们只要在 SDA 和 SCL 总线上合适的位置各加一个上拉电阻即可如果每个设备都加上拉相当于这些电阻是并联在一起了减小了电阻值。至于上拉电阻的位置一般没有特别的要求。一般加在 IIC 的末端。