树莓派与 I2C 设备搭建真假问答游戏
双向电平转换器
在某些情况下,需要实现双向的电压转换,例如两个设备通过同一根线进行双向通信时。以 I2C 协议为例,信号需要在低电压(3.3V)的树莓派和高电压的 I2C 设备之间双向传输。这种情况与其他一些通信协议的电路稍有不同,因为 I2C 使用上拉电阻,我们可以利用这一特性。
这里所介绍的电路基于 Adafruit 和 SparkFun 在其双向电平转换器中使用的电路,围绕小型 breakout 板上的表面贴装 MOSFET 构建。该板有四个通道,每个通道的电路相同,都使用了 BSS138 MOSFET。由于表面贴装器件(SMD)使用起来较为麻烦,且电平转换器价格不贵,建议直接购买电平转换板。不过,了解电平转换的工作原理还是很有必要的。
该电路以一种不常见的方式使用 MOSFET,其漏极(Drain)和源极(Source)用于连接电路的左右两侧:
- 当两侧均为高电平时,MOSFET 关闭,两个上拉电阻利用各自的电源电压确保两侧都为高电平。
- 当低电压信号(左侧)变为低电平时,MOSFET 处于正向配置,由于栅极的输入,MOSFET 导通,将高电压端也拉低。
- 当高电压端(右侧)变为低电平时,由于 MOSFET 的内部特性,允许小电流反向流动。此时,源极连接的电压下降,导致 MOSFET 导通,并根据通过 MOSFET 连接的低信号进一步拉低源极。
另一种选择是使用合适的集成电路(IC),如 74LVC245。但由于 I2C 需要上拉电阻,74LVC245 与 I2C 不兼容,不过它可用于 SPI 和其他不需要上拉电阻的传感器。
超级会员免费看
订阅专栏 解锁全文
619

被折叠的 条评论
为什么被折叠?



