新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 三种方式解决USB接口与串口设备之间互连问题

三种方式解决USB接口与串口设备之间互连问题

作者:时间:2012-02-01来源:网络收藏
  由于具有即插即用的特性,现已出现只有USB口而没有传统接口的PC,那么在这样的计算机上如何使用旧式基于串行接口的设备呢?本文介绍了三种方法,并对各自的优缺点进行了详细的讨论。

  过去PC用户在接入新设备时还需要安装相应的驱动程序,对于非专业用户来讲不仅麻烦而且容易出错,他们一直希望在连接新外设时能减少这些让人困惑的难题。通过去除串口、并口以及PS2口等老式端口,然后用诸如USB之类即插即用端口加以替代,最终用户现在终于能够体验到这一方面的显著改善(图1)。

  USB为消费类电子产品提供了轻松的扩展功能,许多设备操作系统本身就可以提供支持,不要求外设开发人员提供驱动程序,从而使添加外设变得更为简单。同时通过集线器扩展总线功能使普通用户能够方便地添加更多外设,无传统接口的PC目前已成为现实,正在向普通用户提供着种种便利。

  但是,许多业界专业人士或嵌入式应用人员却并不像普通用户那样对无传统接口PC的出现这么振奋。许多应用一直采用各种UART接口,既不需要也不希望有什么改变。不管是RS-232、RS-422还是RS-485,UART连接方式数十年来一直是低带宽通信的主流。就控制、监控与小容量数据传输而言,UART连接提供了一种成本低廉使用方便的解决方案,应用系统开发人员在上面已耗费了大量时间与金钱,同时对其性能也感到满意。

  针对定制专用产品系统级设计与实施,技术人员创建出多年来一直稳定的系统架构,可提供所有必需的功能与性能,为系统处理器实现这些功能而开发的固件也都假定采用UART连接来传输数据,此外在产品整个生命周期中还开发并优化了主机应用软件,也是假定采用UART连接。因此上述任何一项如要改变都需巨额投资,而且对专业用户而言,无传统接口PC的优势并不明显。

设计人员的选择

  那么面对目前不断涌现的新型无传统接口PC,嵌入式设计人员有什么对策呢?答案是可采用三种基本方法调整系统,使之适应无传统接口PC。第一种方法是进行全面的系统再设计,使设备本身能够支持USB连接;第二种方法是使用目前市面上出现的USB至RS-232适配器;第三种方法则是采用为系统应用定制的USB至UART适配器。我们下面不妨分别看看这三种方式的优缺点。

  全面系统再设计方法将涉及很多工作。例如很可能需要新的系统处理器或微控制器,转为本身具备USB支持的新控制器,或选用新端口桥接方案,包括存储器映射接口或并行主机处理器接口。采用本机具备USB支持方案的好处在于可使数据传输量提高。

  除了硬件改变之外,还需进行软件方面的改动。采用新处理器很可能要新的固件,因为处理器或微控制器固件必须适应新的数据发送与接收方法;还要修改主机用户应用软件,以适应新的连接方法,目前接到串口的软件要直接接到新端口。除了应用软件之外,无论是USB还是其它端口连接改变,主机驱动程序也应相应修改。如果应用程序可调整为适用于本机具备USB支持所提供的驱动程序,外设OEM厂商就不必再为其设备提供安装盘,而且如果基本功能无需特定用户应用软件的话,它还可以兼容于新型PC实现即插即用。

  第二种方法是采用众多市面上现有的USB至串行转接口(dongle)或线缆。许多不同供应商均可提供这类设备,它能够迅速连接到无传统接口的PC,并创建虚拟COM口(VCP)。假定应用软件可映射至任何COM端口,则只需简单对应用重新映射即可访问新的VCP。每种接口都可提供VCP驱动程序,驱动程序必须安装在PC上才能启用端口,许多接口经调整均能适用于诸如PDA托架(cradles)或串行调制解调器等特定应用。

  尽管这种方法能够帮助尽快将产品投放市场,但设计人员还应考虑对产品总体战略方面的影响。使用现成产品将使设计人员在兼容性、质量或与其产品结合使用的配件品牌控制上受到限制,可能导致维修服务增加,并使客户对产品产生负面评价,与控制成本或持续提供所选接口相关的供货问题也应在考虑之列。最后,这种方法就每单个产品而言成本也是相当高的。

  第三种方法则是设计自己的专用USB至串行接口或嵌入式连接桥。这能最大限度利用现有可选设备的优势,并克服其诸多缺点,这种方法有助于让连接桥对外部系统与主机应用软件看起来都像是VCP。它同样需要VCP驱动程序,但可调整适应于具体应用。构建本机接口或嵌入式连接桥将有助于实现对兼容性、质量、品牌、成本与供应的控制。嵌入式连接桥方式要求对主板进行更改,但其BOM成本低于外部接口。我们可以更进一步来看看下面两种方法。

专用外部接口

  专用外部接口方案与购买市场上现有接口很像,但可以克服后者所有的缺点。现有系统实现方案不需要改变,硬件也无需修改,只需将串行接口与设备的现有串行接口相对应即可。通过设计自身接口,还可针对诸如RS-232、RS-422、RS-485、LVDS等具体的应用需求优化线路驱动器或收发器。大多数商用接口都局限于RS-232,且不能用于其它串行接口。

  同样,主机应用软件也不需要任何更改。唯一的潜在问题就是应用是否会映射至不同的COM口,或其是否会一直映射至特定的COM口。如果它一直映射至特定的COM端口,则我们建议改变软件,让最终用户来修改COM端口映射。由于上述方法确实在计算机上创建了新的VCP,因此要为产品提供VCP驱动程序。通过设计并构建自己的接口而不是使用现有接口,可使设备具有根据具体应用需求定制驱动程序的能力,这将实现更好的功能,并在最终设备与接口间实现更好的兼容性。

  上述方法的另一优势在于能够让一种终端设备盒既用于带传统接口的PC,又可用于新型无传统接口PC,它最大的劣势在于总体实施成本。如果根据每个单元来分摊开发成本,并加到外部接口实际BOM成本中,那么这很可能是总体实施成本最高的一种方法。

嵌入式桥接

  嵌入式桥接方法将接口放置于终端设备线路板上,基本属于外部接口的板级实现方式。将USB至串行口桥接嵌入到“盒”中,尽管它仍是VCP连接但看上去却像是本机USB器件(图2)。

  对系统处理器与主机PC而言它看上去像VCP,就像专用外部接口,所以软件所需更改极小,任何改变都应与专用外部接口一样。

  通过将桥接器件置于板上,不但可以大大节约单位器件成本,还能避免与外部接口附件相关的诸如印刷电路板、机箱或封装、连接器等硬件方面的费用,此外还可通过将桥接器件置于板上节省电子元器件。桥接器件与系统处理器或微控制器之间不再需要任何诸如RS-232、RS-422、RS-485等串行线缆收发器。显然,具有系统处理器的板级桥接器要求更改线路板布局,但即使将开发成本一起分摊到产品使用寿命中,它很可能仍然是成本最低的实施方案。此方法的总开发成本低于整个系统再设计的成本,单位成本也低于任何一种外部接口方法。

选择新型驱动程序

  所有USB至串行端口桥接法的共同问题是需要新的虚拟COM口驱动程序,这种过滤器驱动程序将用户应用程序生成的COM命令转换为桥接器件在USB端口上接收的USB协议,桥接器件随后负责将上述USB命令转换回串行命令,驱动程序使USB器件对操作系统(OS)看起来像是COM口器件。

  这会使得用户忽略实际是通过USB连接进行通信这一事实,而为应用软件给出标准的COM口通信指令。设计人员如不希望对应用软件及系统透明,就无需VCP过滤器驱动程序。如果可以接受上面任何一项更改,系统重新设计中给出的方法(本机驱动程序)则可作为一种专用方法,不可用于市面上现有的接口。



评论


相关推荐

技术专区

关闭