我想将 RS422 总线(通过驱动器 IC)连接到运行 Linux 的 i.MX8+ 处理器的所有 UART 端口。但是,有些 UART 不支持硬件中的控制信号(RE/DE)。
我正在考虑从软件驱动控制信号,例如使用自定义驱动程序,但在网上找不到与此类似的内容,这让我怀疑这是否可能。
您可能不需要在软件中对这些信号执行任何操作,具体取决于您的应用程序。如果您的链接是点对点 - 而不是总线 - 您可以简单地将DE连接到+ve电源轨,可能通过上拉电阻是一个好主意(将其连接到逻辑高电平)和/RE连接到0v(将其连接到逻辑低)。 DE 启用发送器,/RE 启用接收器。如果您想要的只是点对点连接,那么永久激活这些连接也没有什么坏处。
我认为它们在 RS485 应用中更重要,它的使用更像是多点总线,因此能够将线路驱动器置于三态模式(以便其他人可以驱动线路)变得很重要。
你的问题有点令人困惑,因为你说
RS422 bus
。 RS422 对许多人来说意味着类似于差分 RS232 串行点对点连接,而 RS485 意味着某种电气总线(需要启用/禁用),在顶部运行 ModBus 或 Profinet 等协议。如果我很困惑,并且您想要 ModBus 或 Profinet 之类的东西,那么您将需要一个到 DE 和 /RE 的软件连接。