USB代替RS232


13

RS232是不受欢迎,因为它使用的是和主要由USB [取代维基百科这个问题中提到的问题也无济于事。

因此,在一种新的系统设计中,人们可能会想到使用USB代替串行端口进行通信。但是,看起来RS232仍然是串行通信协议/端口的首选。

这是为什么?我知道更换可与RS232一起使用的旧机器的成本很高,但是是什么阻止了系统设计人员使用USB而不是RS232?

Answers:


12

至少在微控制器级别:

  1. 串行端口(通常是TTL或LVTTL)仍然是最常见的通信方式,因为大多数简单的微控制器都没有USB控制器。

    例如:大多数8位AVR或PIC微控制器没有USB,少数32位ARM微控制器有USB,但是它们通常都具有串行端口。

  2. 从TTL / LVTTL串行通信到RS-232的转换需要“简单”的逻辑电平转换,这可以通过非常便宜的IC(MAX232 / MAX3232)来完成。

  3. 当您的微控制器没有USB控制器时,从TTL / LVTTL串行通信转换为USB通常需要使用价格稍高的IC(FTDI),该IC没有任何通孔封装选项,仅表面安装。

  4. 通常,在使用USB设备时必须注意一些与协议有关的细节,例如它可能从USB主机请求的当前级别。使用串行端口,您只需要担心3到5个固定参数,这些参数必须在系统中保持一致(波特率,停止位号,奇偶校验等)。


9

简单,我想。USB实现(芯片和驱动程序软件)通常比RS232更为复杂,RS232甚至可以在许多8位微控制器中找到。尽管USB具有许多协议机制,并且旨在通过总线与许多参与者进行交流,但RS232连接却没有任何机制。相反,它是通过线路发送字节的“稀有”形式。

尽管Arduino和USB到串行适配器的日益普及表明,有希望USB最终将像以前的RS232一样占主导地位。


5

我认为RS232留下来的最大原因是在嵌入式硬件中实现常见用例的简便性-例如在两个设备之间发送序列ASCII字节进行控制。在USB可用的更高速度下发送信息的用例,不值得在实现USB协议的信令所导致的复杂性之间进行权衡。

随着对更高速度的要求出现,如果RS-485凭借其非常简单的物理接口和高(高达10Mb / s)的数据速率而变得更加普遍,我不会感到惊讶。


4
  • 硬件设计人员简单易懂,程序员易于使用
  • 可靠性
  • 在许多系统中众所周知并得到支持

特别是在机器人领域,当我们被迫使用USB代替RS232时(我们的新PC没有RS232端口)。我们面临许多问题:

  1. 任何USB插座断开连接都需要付出很大的努力才能恢复系统。有时,这会导致严重的系统故障,我们不得不重启PC。

  2. 如有电击或危险,请拔下电源插头。

  3. 编程时间过多


2

通信延迟是USB1.1或USB2.0不能总是很好地替代RS232的另一个原因。USB1.1或USB2.0总线上的数据分别格式化为1ms或125us帧,这迫使最小接收发送延迟等于两个帧周期(实际上通常更多)。这是现代PC硬件的重要考虑因素,通常没有内置的RS232端口,而是使用USB / RS232转换器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.