首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
U S B与RS232接口转换器的设计
来源:本站整理  作者:佚名  2011-10-20 07:25:49



  在USB外设普及后,目前围绕在计算机周围的各式各样的连接线将有所改观,取而代之的是各种USB接口外设。同时,通过集线器或交换机扩展总线功能使普通用户能够非常方便地添加更多外设,无传统接口的计算机目前已成为现实。但RS232自1969年由美国电气工业协会推荐以来,由于接口和通信协议比较简单而在计算机串行通信领域得到广泛的使用,而且许多长期从事RS232应用系统开发的专业人士或嵌入式应用人员并不像普通用户那样对无传统接口RS232的计算机的出现感到非常满意。许多一直采用RS232接口的传统设备,使用人员既不需要也不希望改变。总之,各个方面都加剧了对添加USB/RS232转换器的需求。

  1USB与RS232接口转换设计方案的选择

      RS232与USB接口虽然都属于串行接口,但是它们的数据格式、通信协议以及信号电平定义和机械连接方式都完全不同。其中USB接口相对比较复杂,相关资料可查看参考文献。设计USB/RS232转换器的方法可以分为两大类:一类是采用全面系统的设计,采用内含USB单元的微处理器,要求它具有内置的通用异步收发器(UART)在USB与RS232之间进行信号转换,这样的控制器包括CY7C68013、PIC16C745、68HC705JB4和C541U系列等,也可以采用USB接口芯片如PDIUSBD12、USBN9604等与微控制器组合工作;第二类是采用专用的USB/RS232双向转换芯片,如CP2102、FT232BM等,这种方法不用编写芯片的固件,并且芯片生产商直接提供驱动程序,数据收发和协议转换工作全部由芯片独立完成,而无需干预。这两类方案各有利弊,本文分别采用具有代表性的芯片对这两大类方案进行了深入的研究。

  2控制器CY7C68013的功能及转换器的设计

       2.1GY7C68013的主要特点

      CY7C68013芯片包括一块增强型805l内核,能完成每个指令周期只需要4个时钟周期,时钟频率可以配置为12/24/48MHz;集成一个串行接口引擎(SIE)和一个USB2.0收发器;共有7个输入输出端口:EP0、EP1OUT、EPIlN、EP2、EP4、EP6、EP8,其中EP2、EP4、EP6、EP8分别可以被配置为批量/中断/同步传输模式,传输方向均可配置为输入和输出;内置有两组UART,可以实现在单个芯片开发电路上有两路RS232信号输入和输出。

  CY7C68013是一个全面集成的解决方案,它采用更少的电路空间,并缩短开发时间。CY7C68013结构框图如下图所示。

CY7C68013方框图

      2.2 CY7C68013的应用

      CYPRESS公司提供了CY7C68013芯片的开发工具包下载,其中包括KeiluVision2集成开发环境(限制版)、通用驱动程序EZUSB.SYS以及控制平台(controlpane1)。利用好这些开发工具可以缩短开发周期,获得较高的效率。

  USB/RS232转换系统的软件部分包括固件、应用程序和驱动程序。其中,固件程序是指运行在设备CPU中的程序,是整个程序设计的核心,可采用汇编语言和C语言设计。只有在该程序运行时,外设才能具有给定的功能。USB设备固件程序的主要功能是控制FX2接受并处理USB驱动程序的请求,实现RS232与USB接口转换。

  USB/RS232转换器的固件程序主要包括设备描述符表、固件程序架构源码、内部接口函数和中断函数。描述符表是USB设备与主机建立数据通信之前用来先向主机通报自己的具体配置。固件程序结构如下图所示,

其中内部接口函数TDInit()完成CY7C68013的初始化包括对各个端点的配置,TDSuspend()是使设备进入挂起状态的函数,TDResume()是在外部要求下重启设备的函数。通过SETUP事务处理可以设置和更改用户所需要的波特率。程序在该固件架构内部运行直到出现中断,进入中断函数。固件中包括输出端点2、输入端点6和UART中断服务程序,其中端点2、端点6分享了同一个USB中断源(INT2)。

  通用驱动用于完成外设和应用程序的通信及控制,一般可以不用编写,使用CYPRESS公司编好的驱动EZUSB.sys。应用程序也可以暂时使用已有的控制平台,如下图所示。

CY7C68013控制平台

  CY7C68013可以有两种工作方式:一种方式是用户通过控制平台把固件程序下载到FX2的RAM中使FX2的微控制器重启, 同时模拟断开与USB总线的连接以完成对外设的重新设置,这样可使主机能够根据新的设置来安装通用驱动程序,重新枚举外设为一个新的USB设备;另一种方式是固件代码存储在EEPROM 中,当设备上电时,EEPROM中的代码被自动下载到FX2芯片中的RA M 中,由8051执行。实现这个过程需要两个驱动程序,即通用驱动程序EZUSB.sys和下载固件的驱动程序。在Windows的设备驱动工具包(DDK)的支持下,对FX2软件开发包提供的EZ.LOADER驱动程序作相应的修改,就可以实现下载固件驱动程序的定制。

   CY7C68013可以有两种工作方式:一种方式是用户通过控制平台把固件程序下载到FX2的RAM中使FX2的微控制器重启, 同时模拟断开与USB总线的连接以完成对外设的重新设置,这样可使主机能够根据新的设置来安装通用驱动程序,重新枚举外设为一个新的USB设备;另一种方式是固件代码存储在EEPROM 中,当设备上电时,EEPROM中的代码被自动下载到FX2芯片中的RA M 中,由8051执行。实现这个过程需要两个驱动程序,即通用驱动程序EZUSB.sys和下载固件的驱动程序。在Windows的设备驱动工具包(DDK)的支持下,对FX2软件开发包提供的EZ.LOADER驱动程序作相应的修改,就可以实现下载固件驱动程序的定制。

  以上对CY7C68013的开发工作是在Windows环境下进行的,所开发的USB/RS232转换器属于用户自定义类设备。通过利用CYPRESS公司提供的开发平台,减少了开发周期,并证实了该方案的可行性。如果需要在其它系统中应用该设备,只需参考Windows下的驱动程序做相应修改,而固件程序不需要变动。

  3 CP2102芯片的功能与应用

      2004年,SILICON LABORA TORIES推出了USB TO RS232接口转换芯片CP21 02。该芯片作为USB/RS232双向转换芯片,一方面可以从主机接收USB数据并将其转换为RS232信息流格式发送给外设;另一方面可从RS232外设接收数据转换为USB数据格式传送回主机。这些工作全部有芯片自动完成,开发者不用考虑固件的设计。CP2102的高兼容免专利费驱动可在包括Windows 98sE/2o00/xP、MACOS.9/OS.X和Linux2.40及以上版本的操作系统上模拟成传统COM端口,并允许基于COM端口的应用很方便地转换成USB接口应用。利用USB大容量传输模式、大型数据缓冲器和自动流量控制的优势,CP2102有能力达到比传统通用异步收发端口更高大的吞吐量。其波特率支持from300bpsto1Mbps。

  CP2102内部主要由USB收发器、电源管理器、48MHZ晶体振荡器等构成,其内部构成如下图所示。
CP2102结构框图
 
  USB收发器可以提供USB 2.0规范下的全速物理接口。内含两个双数据缓冲区,一个是576字节接收缓冲区,另一个是640字节发送缓冲区,它们均用于USB数据与RS232数据的交换缓冲区。USB功能控制器包括串行接口引擎、USB协议引擎和收发缓冲控制器等的功能。提供六个控制脚(RTS发送请求、CTS线路畅通、DTR数据终端准备好、DSR数据准备好、DCD数据载波检测、RJ响铃指示器)。
 
  相对于其它同类的专用USB/RS232转换芯片,CP2102是目前推出的体积极小和集成度极高的单芯片USB至UART桥接器,内置了USB应用通常需要的石英晶体和EEPROM,大大降低了成本和节省了开发板的面积。这颗高集成度的UART至USB桥接器可以减少电路板面积、简化设计和缩短产品开发时间。它与USB的接口线路基本是固定接法,而与RS232的接口线路则随RS232~[,设提供信号的不同而不同。
 
  当CP2102转换器连接到主机后,必须根据操作系统选择相对应的虚拟串行口驱动程序。设备的原应用程序不必修改,可以像存取一个标准的物理串口一样访问这个虚拟串口,而本质上所有针对虚拟串口的数据通信都是以USB总线传输来完成的。但在设备一方,收发的是RS232数据。
 
  采用CP2102的最大优势在于产品开发者不必设计固件及驱动程序,总线枚举、数据收发与转换等全部由芯片自动完成,用户可以根据自己需要更改产品VIP/PID、设备序列号及设备说明性文字等。
 
  4结束语
  
  采用类似CY7C68013芯片进行全面系统设计USB/RS232接口转换器工作量大,但设计人员能控制和把握硬件整个工作过程,可以根据需要进行修改。而选用类似CP2102芯片进行开发,虽然工作量小,但受到芯片供应商限制而无法进行深入的开发,甚至在有些操作系统~NVxWorks下无法使用。尤其在军用场合,为了避免国外对专用芯片的限制,因而从底层进行全面系统的设计方案是必不可少的补充。为了适应无RS232接口或只有少量RS232接口的计算机配置,设计人员可以根据实际情况选用适合自己的方案利用USB口进行扩展。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:70,031.25000 毫秒