I2c的上拉电阻,不加可以吗
在硬件设计的时候就最好加上,spi也是同理,很多单片机,在普通gpio模式有上拉功能,但一但切换到专用的spi和i2c时,就没有上拉模式了,此时没有上拉,还用的spi i2c模式可能导致无法正常通讯,除非你的驱动代码用的是gpio模式驱动
阻值选择
- 标准模式(100 kbit/s)
在标准模式下,上拉电阻阻值一般可选择 4.7 kΩ - 10 kΩ。此模式下数据传输速率相对较低,总线上信号变化相对缓慢,对电容充电和放电时间要求不高,所以可以选择相对较大阻值的上拉电阻,以降低功耗。 - 快速模式(400 kbit/s)
当使用快速模式时,上拉电阻阻值建议选择 2.2 kΩ - 4.7 kΩ。快速模式下数据传输速率较快,为了保证总线信号能够快速上升和下降,需要减小上拉电阻阻值,从而加快电容的充电速度。 - 高速模式(3.4 Mbit/s)
高速模式对信号的上升和下降时间要求更为严格,此时上拉电阻阻值通常选择 1 kΩ - 2.2 kΩ。较小的阻值能够提供更大的电流,使总线电容更快地充电和放电,满足高速数据传输的要求。
上拉电阻的位置
上拉电阻应尽可能靠近电源和 I2C 总线的连接点,即靠近 VCC 和 SDA、SCL 引脚处