微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 用CP2101将USB口扩展成串口

用CP2101将USB口扩展成串口

时间:01-18 来源:国外电子元器件 作者:何 锋 点击:

引言

CP2101及其升级产品CP2102是美国Silicon公司推出的USB-UART桥接电路。该电路的集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件。功能强大,采用MLP-28封装,尺寸仅为5mm×5mm,占用空间非常小。

与其他USB-UART转接电路的工作原理类似,CP2101通过驱动程序将PC的USB口虚拟成COM口以达到扩展的目的。虚拟COM口(VCP)的器件驱动程序允许一个基于CP2101的器件以PC应用软件的形式作为一个增加的COM口独立于任何现有的硬件。COM口使用运行在PC上的应用软件以访问一个标准硬件COM口的方式访问基于CP2101的器件,PC与CP2101间的数据传输是通过USB完成的,因此,无需修改现有的软件和硬件就可以通过USB向基于CP2101的器件传输数据。

1 CP2101的特性

CP2101的体积虽小但功能非常强大,其主要特性如下:

·内含USB收发器,无需外接电路器;

·内含时钟电路,无需外接振荡器;

·其内部512字节的EEPROM可用于存储产品生产商的ID、产品的ID序列号、电源参数、器件版本号和产品说明;

·内含上电复位电路;

·片内电压调节可输出3.3V电压;

·符合USB2.0规范的要求(12Mb/s);

·SUSPEND引脚支持USB状态挂起;

·异步串行数据总线(UART)兼容所有握手和调制解调器接口信号;

支持的数据格式为数据位8、停止位1、2和校验位(包括奇校验、偶校验和无校验);

·波特率范围为300b/s~921.6kb/s;

·内含512字节接收缓冲器和512字节发送缓冲器;

·支持硬件或X-On/X-Off握手;

·支持事件状态。



此外,通过厂商及销售商免费提供的、适用于Windows(含Windows CE)、Linux、Mac OS-X等多个操作系统的驱动程序,可省去CP2101系列器件二次开发的投入。这样,在一般情况下,焊接完毕并安装好驱动程序即可使用。

2 工作原理

CP2101的内部结构及外部基本连接电路如图1所示。由图1可见,用CP2101进行串口扩展所需的外部器件非常少,仅需3只去耦电容器即可,使用起来非常方便。

2.1 USB功能控制器和收发器

CP2101中的USB功能控制器是一个符合USB2.0的全速电路,带有收发器和相应的片内上拉电阻器。USB功能控制器管理USB与UART间的所有数据传输,以及由USB主控制器发出的请求命令和用于控制UART功能的命令。通过USB挂起和恢复信号可支持CP2101及外部电路的电源管理。当在总线上检测到挂起信号时,CP2101将进入挂起模式。在进入挂起模式时,CP2101会发出SUSPEND和SUSPEND信号,同时,在CP2101复位后,CP2101也会发出该信号直到USB要求的器件配置完成。CP2101的挂起模式会在下述任何一种情况出现时被取消:

(1)检测到继续信号或产生继续信号时;

(2)检测到一个USB复位信号;

(3)器件复位。

在退出挂起模式时SUSPEND和SUSPEND信号被取消。

需要注意的是SUSPEND和SUSPEND和CP2101复位期间会暂时处于高电平,如果要避免这种情况,可以使用一个大的下拉电阻器(10kΩ)来确保SUSPEND在复位期间处于低电平。

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

CP2101的UART接口包括TX发送、RX接收数据信号,以及RTS、CTS、DSR、DTR、DCD和RI控制信号。UART支持RTS/CTS、DSR/DTR和X-On/X-Off握手,还可以通过编程使UART支持各种数据格式和波特率。UART的数据格式和波特率编程可在PC上进行。表1所列是CP2101串行总线的数据格式和波特率。

表1 CP2101串行总线的数据格式和波特率

数据位 8
停止位 1
校验位 无校验、奇校验、偶校验
波特率 300,600,1200,1800,2400,4800,7200,9600,14400,19200,28800,38400,56000,57600,115200,128000,230400,460800,921600

这里还需注意的是,CP2101异步串行数据总线的数据位和停止位是固定的,也就是说,在实际使用中可以通过软件改变校验位和波特率,但是,改变数据位和停止位会在通讯中出现异常现象。

2.3 内部EEPROM

CP2101内部集成了一个EEPROM,可用于存储由设备原始制造商定义的USB供应商的ID、产品的ID说明、电源参数、器件版本号和器件序列号等信号。USB配置数据的定义是可选的。如果EEPROM没有被OEM的数据占用,则采用默认方式配置数据。注意,尽管如此,对于可能使用多个基于CP2101的器件连接到同一个PC的OEM应用来说,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top