MIDI IN : 许多电路

电器工程 串行 UART 光隔离器 迷笛
2022-02-03 09:59:36

我正在使用 6N138 光隔离器构建一个 MIDI IN 到串行端口 RX cicruit(用于 Raspberry Pi、Arduino 或其他任何东西......)。

但是我发现很多不同的电路,不知道为什么会有这么多不同,选择哪一个:

这些是正确的吗?

  1. 首先,这个带有 470 Ohm 和 1KOhm 电阻器 来源: electro-tech-online.com

  2. 另一个,分别带有 1KOhm 和 3.3KOhm 电阻


(来源:dernulleffekt.de

  1. 官方一个midi.org,电阻值不同,但不是基于6N138...

http://www.midi.org/images/midihw.gif

最后一件事(可能在这里跑题了):如果我想连接到 Raspberry Pi 的 GPIO 的 RX,我应该使用 3.3V 的光隔离器而不是 5V,以防止与 GPIO 的 RX 断开吗?

1个回答

具有达林顿输出的光耦合器(如 6N138)非常慢,尤其是当输出晶体管应关闭时。

为了获得足够快的输出信号上升时间,输出晶体管的基极需要接地(通过电阻器),以便可以快速去除基极电荷。4.7 kΩ 和 10 kΩ 之间的任何值都可以正常工作。

此外,输出信号的上升时间还取决于上拉电阻(下图 R1)的值。较小的值会导致更快的上升时间,但当光耦合器将输出拉低时,非常小的值会增加功耗。在实践中,通常使用大约 1 kΩ。

6N138 需要 5V 电源,树莓派不支持5V 信号。但是,可以使用集电极开路输出来转换信号电平。只需将上拉电阻连接到 3.3 V,如下所示:

6N138 带电平转换

如果可能,忘记 6N138 并使用带数字输出的光耦合器(如规范中的 Sharp PC900 或 H11L1);如果您需要节省空间,请使用 TLP2361 之类的 SO-5 芯片(具有 CMOS 输出,因此不需要上拉电阻)。