实测微雪 USB 转 RS232/RS485/TTL,三个接口同时接会发生什么

最近买了微雪的 USB TO RS232/485/TTL 工业隔离转换器

拿到手后,我第一感觉是:这个产品是不是设计得不够完善?

原因很简单。

同系列另外两款产品都有拨码开关:

  • USB TO UART/I2C/SPI/JTAG:通过拨码切换 UART、SPI、I²C、JTAG 等模式。
  • USB TO RS232/485:通过拨码切换 RS232、RS485,并可开启/关闭 120Ω 终端电阻。

而这款 USB TO RS232/485/TTL 却没有任何切换拨码,但官方说明又写着:

RS232、RS485、TTL 不能同时使用。

当时我的想法是:

既然不能同时使用,为什么不像另外两款一样做一个切换拨码?


于是我做了个测试

我分别在 TTL、RS232、RS485 三个接口接上设备,同时向转换器发送数据。

测试结果有点出乎意料。

三个接口可以同时连接,在数据不发生冲突的情况下,也可以同时正常通信。

例如三个接口分别以不同周期发送数据时,大多数情况下都能正常收到。

只有当两个接口刚好在同一时刻发送数据时,才会出现数据冲突,表现为乱码、丢字符或者数据混在一起。


我理解官方这句话真正的意思了

官方写的是:

RS232、RS485、TTL 不能同时使用。

但根据我的实测,我觉得更容易理解的说法应该是:

三个接口可以同时连接,也可以分别正常通信,但不能同时向 USB 发送数据,否则可能发生数据冲突。

也就是说,它并不是三个独立串口,而是共享同一个 USB 串口通道。


我的看法

测试之前,我一直觉得:

没有切换拨码,却写着”不能同时使用”,这个设计有点不完美。

但测试之后,我反而觉得:

产品本身并没有问题,真正容易让人误解的是官方这句话。

如果官方改成下面这种描述,我觉得会更直观:

RS232、RS485、TTL 可同时连接,但多个接口不能同时发送数据。

这样大家第一眼就能理解产品的工作方式,也不会像我一样,因为没有拨码而误以为产品设计存在问题。


本文涉及产品:

  • 图1:Waveshare USB TO UART/I2C/SPI/JTAG
  • 图2:Waveshare USB TO RS232/485
  • 图3:Waveshare USB TO RS232/485/TTL(本文测试对象)

说明:本文结论来自个人实际测试,仅供参考。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注