读者朋友有没有遇到过这样的问题:自己的串口开发设备(如编程器、仿真器)无法和新买的笔记本电脑连接,因为越来越多的笔记本电脑淘汰了串口。也有电子爱好者可能想为自己开发的小产品添加与电脑进行通信的USB接口。USB(Universal Serial Bus)作为一种新型的高速数据传输总线正在得到越来越广泛的应用,但构成USB传输基础的协议内容庞大,为开发者带来了不小的难度。本文将介绍一种简单实用的方法,轻松实现USB接口和串口的转换。
这个设计方法要用到集成电路CP2101。CP2101是美国Silicon Laboratories公司的USB转UART桥接集成电路,它可以把USB接口转化为一个独立的、协议完整的虚拟RS232串口。对于开发者来说,所处理的工作仍然是熟悉的RS232串口传输问题。不同的是,这个接口在物理上却是USB方式的。CP2101详细资料的下载地址:http://www2.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/Interface/en/CP2101.pdf。
利用CP2101设计USB接口和串口的转换电路极为方便,CP2101外部只需要几个电容就可以工作,无需晶体和复杂的外部电路。该电路图如图1所示。

图2是笔者做的USB转RS232的电路板。笔者原来的单片机仿真器是串口的,可是笔记本只有USB口没有串口,使用该USB转RS232的电路板,单片机仿真器在笔记本电脑上使用正常。

图2中USB接口右边的集成电路(U3)即CP2101;因为该电路板笔者还有其他用途,故电路图中有空白的焊盘没有焊接。
将USB转RS232转接器用普通的USB线缆连接入PC,安装CP2101驱动程序之后,会被Windows识别。以XP系统为例,安装步骤如下。CP2101驱动程序下载地址为:http://www.xhl.com.cn/download/1.asp。
首先将转换器连接电脑,系统提示有新硬件发现。
指定驱动程序路径并点击〈下一步〉,开始安装驱动程序,见图5。点击〈完成〉,系统会继续为转接器安装驱动程序,操作步骤同上。驱动安装完毕以后,在设备管理器中可以看到增加了一个串口,如图6所示。


这样就相当于USB口变成了RS232串口,只需要进行简单的串口编程就可以开发自己的具有USB接口的作品,非常方便。
CP2101具有内部EEPROM,通过美国Silicon Laboratories公司提供的软件CP2101SetIDs(下载地址: http://www2.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/Interface/en/an144sw.zip),可以很方便地把自己的标识写入设备,无需额外的编程器。将转接器通过普通USB线缆接入PC,打开软件,如图7所示。
更改产品标识,见图8。
将原来的产品标识“CP2101 USB to UART Bridge Controller Drivers”更改为“USB TO RS232 CONVERTER DIY”,选中,如图9中对号所示,然后点击〈Program Device〉即可。断开转接器与PC的连接后再重新连接,会看到系统对硬件的识别如图9所示。
另外,CP2101是一款工业级IC,可以放心应用在工控行业或者其他对可靠性要求比较高的环境中,笔者认为性能远远超过市场上所出售的USB转RS232设备,而且USB接口可以提供5V电压和最大达500mA的电流,一般可以满足整个电路板的需要,在把原来电路板的RS232接口升级成USB接口的同时,还可以省掉外部供电电源,非常实用方便。
文/李鹏飞

