基于CP2102的RS232转USB接口的应用设计

2008-06-26 11:13:27   作者:徐民 张博   来源:中电网   

关键字:USB总线 USB接口 RS232接口 串行口 去耦电容 控制函数 描述符 RI GPIO 驱动程序安装

 

  1 引言

  目前仪器设备大都采用RS232接口与计算机通信,但随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。RS232接口与USB接口虽然都属于串行接几,但它们的数据格式、通信协议、信号电平以及机械连接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换有两种方案,一种方案是从硬件底层固件开始全面开发系统,该方案由于开发成本高、难度大,加之单片机的限制,因而很少采用;另一种方案是采用USB/RS232桥接器件如CP2102,CP2103进行设计,计算机通过USB接口虚拟一个RS232接口,与传统设备器件连接,设备对计算机接口的形式为USB接口。

  2 CP2102/CP2103简介

  Silicon Laboratories公司推出的USB接口与RS232接口转换器CP2102/CP2103是一款高度集成的USB-UART桥接器,提供一个使用最小化元件和PCB空间来实现RS232转换USB的简便解决方案。如图1所示,CP2102/CP2103包含了一个USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的异步串行数据总线(UART),采用5 mm×5 mm MLP-28的封装。

  

  CP2102/CP2103作为USB/RS232双向转换器,一方面可以从丰机接收USB数据并将其转换为RS232信息流格式发送给外设;另一方面可从RS232外设接收数据转换为USB数据格式传送至主机,其中包括控制和握手信号。

  2.1 USB功能控制器和收发器

  

  2.2 异步串行数据总线(UART)接口

  CP2102/CP2103 UART接口包括TX (发送)和RX(接收)数据信号以及RTS、CTS、DSR、DTR、DCD和RI控制信号。UART支持RTS/CTS、DSR/DTR和X-On/X-Off握手。

  通过编程设置UART,支持各种数据格式和波特率。在PC机的COM端口编程设置UART的数据格式和波特率。表1为其数据格式和波特率。

  

  2.3 内部EEPROM

  CP2102/CP2103内部集成有1个EEPROM,用于存储由设备制造商定义的USB供应商ID、产品ID、产品说明、电源参数、器件版本号和器件序列号等信息。USB配置数据的定义是可选的。如果EEPROM没有被OEM的数据占用,则采用表1所示的默认配置数据。注意,对于可能使用多个基于CP2102/CP2103连接到同一PC机的OEM应用来说,则需要专用的序列号。

  内部EEPROM是通过USB编程设置的,允许OEM的USB配置数据和序列号可以在出厂和测试时直接写入系统板上的CP2102/CP2103。Cygnal提供了一个专门为CP2102/CP2103的内部EEP-ROM编程设置工具,同时还提供免费的驱动Windows DLL格式的程序库。这个程序库可将。EEP-ROM编程步骤集成到OEM在制造中进行流水线式测试和序列号的管理的自定义软件中。EEP-ROM的写寿命的典型值为100 000次,数据保持时间为100年。为了防止更改USB描述符,应将其锁定。

  2.4 其他功能

  CP2103除上述功能外也可实现RS485接口与USB接口转换功能,CP2103支持4个可按照控制信息定义的GPIO引脚。

  3 典型应用电路

  3.1 硬件电路设计

  原设备的RS232接口仅用TXD/RXD 2个引脚信号和地3条线。单片机8031与RS232接口间的电平驱动采用Maxim公司的MAX202CPE,而采用光电耦合器6N137实现隔离。

  采用CP2102改造的接口应用电路如图2所示。该电路已通过制板和软硬件调试,完全可靠。串口扩展,仪需2~3只外部去耦电容器,REGIN端需加0.1μF与1.0μF并联的去耦电容。CP2102的供电电源由计算机的USB接口提供,再连接3只保护管以便于使用。该电路仅使用CP2102的UART总线上TXD/RXD 2个引脚,其余悬空。单片机可直接识别CP2102的UART总线上信号,为确保数据收发的稳定性,避免通信过程产生干扰,采用光电耦合器隔离,并将RST采用一只4.7 kΩ电阻上拉至VDD。

  

  当CP2102转换器与主机连接后,必须根据操作系统选择相对应的虚拟串行口驱动程序。不必修改设备的应用程序,就像存取一个标准的物理串口一样访问该虚拟串口,端口设备会产生“CP2102 USB to UART Bridge Controller(COM×)”的新端口(×随计算机的配置而异),此时说明驱动程序安装成功。实质上,所有针对虚拟串口的数据通信都足以USB总线传输实现的,但在设备上,收发则是RS232数据。

  3.2 软件设计

  计算机采用C语言的通讯控制函数,按串行口方式设置,以实现接口通讯软件设计。单片机通讯程序如下所示。该通讯程序在波特率9 600~600调试,通讯准确可靠。

  4 结束语

  基于CP2102/CP2103的RS232转换为USB接口电路具有电路简单,运行可靠,成本低廉等特点,对原有的RS232传统器件设备无需任何改动,就能将其RS232设备升级为USB接口设备。

相关阅读
滤波电容,去耦电容与旁路电容的作用 2011-10-26
MSP430和CC2500的USB无线数据采集系统 2011-04-17
带有USB接口的16位立体声数模转换器PCM2702 2006-05-07
去耦电容的作用以及选择方法 2011-01-19
基于USB接口的信号模拟器设计 2009-11-24
基于USB接口的高增益数据采集系统的设计 2009-06-22
基于AVR单片机的通用USB接口模块设计 2008-06-26
编辑:孙树宾
本文引用地址: http://www.eeworld.com.cn/mndz/2008/0626/article_905.html
[发表评论]
[加入收藏]
[告诉好友]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]

小广播

最热点击

专栏

向农,EEWORLD副总编。被英特尔董事长贝瑞特称为“中国可与之对话的两名记者之一”

【详细】

总编随笔
汤宏琳,人皆称为“汤汤”,电子工程世界高级编辑。随着EEWORLD一起成长。

【详细】

汤汤手记
今年,是中国集成电路产业丰收的一年,相比较往年都有大幅提升。

【详细】

凯哥博客

论坛精华

精选博文