目前仪器设备大都采用RS232接口与计算机通信,但随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。RS232接口与USB接口虽然都属于串行接几,但它们的数据格式、通信协议、信号电平以及机械连接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换有两种方案,一种方案是从硬件底层固件开始全面开发系统,该方案由于开发成本高、难度大,加之单片机的限制,因而很少采用;另一种方案是采用USB/RS232桥接器件如CP2102,CP2103进行设计,计算机通过USB接口虚拟一个RS232接口,与传统设备器件连接,设备对计算机接口的形式为USB接口。
2CP2102/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/CP2103UART接口包括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转换器与主机连接后,必须根据操作系统选择相对应的虚拟串行口驱动程序。不必修改设备的应用程序,就像存取一个标准的物理串口一样访问该虚拟串口,端口设备会产生“CP2102USB to UART Bridge Controller(COM×)”的新端口(×随计算机的配置而异),此时说明驱动程序安装成功。实质上,所有针对虚拟串口的数据通信都足以USB总线传输实现的,但在设备上,收发则是RS232数据。
3.2 软件设计
计算机采用C语言的通讯控制函数,按串行口方式设置,以实现接口通讯软件设计。单片机通讯程序如下所示。该通讯程序在波特率9 600~600调试,通讯准确可靠。
4 结束语
基于CP2102/CP2103的RS232转换为USB接口电路具有电路简单,运行可靠,成本低廉等特点,对原有的RS232传统器件设备无需任何改动,就能将其RS232设备升级为USB接口设备。
目前仪器设备大都采用RS232接口与计算机通信,但随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。RS232接口与USB接口虽然都属于串行接几,但它们的数据格式、通信协议、信号电平以及机械连接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换有两种方案,一种方案是从硬件底层固件开始全面开发系统,该方案由于开发成本高、难度大,加之单片机的限制,因而很少采用;另一种方案是采用USB/RS232桥接器件如CP2102,CP2103进行设计,计算机通过USB接口虚拟一个RS232接口,与传统设备器件连接,设备对计算机接口的形式为USB接口。
2CP2102/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/CP2103UART接口包括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转换器与主机连接后,必须根据操作系统选择相对应的虚拟串行口驱动程序。不必修改设备的应用程序,就像存取一个标准的物理串口一样访问该虚拟串口,端口设备会产生“CP2102USB to UART Bridge Controller(COM×)”的新端口(×随计算机的配置而异),此时说明驱动程序安装成功。实质上,所有针对虚拟串口的数据通信都足以USB总线传输实现的,但在设备上,收发则是RS232数据。
3.2 软件设计
计算机采用C语言的通讯控制函数,按串行口方式设置,以实现接口通讯软件设计。单片机通讯程序如下所示。该通讯程序在波特率9 600~600调试,通讯准确可靠。
4 结束语
基于CP2102/CP2103的RS232转换为USB接口电路具有电路简单,运行可靠,成本低廉等特点,对原有的RS232传统器件设备无需任何改动,就能将其RS232设备升级为USB接口设备。