随着社会的发展,USB通用串行总线凭借其传输速度快、接口灵活、支持热插热拔以及具有很强的扩展性等特点在计算机接口以及终端电子产品中占据着主导地位,USB接口有逐渐取代其他标准接口的趋势。然而工业以及民用大量采用RS422传输数据的设备装置,RS422采用双平衡差分信号传输,所有传输距离最大可以达到1 200 m,这给工业用途带来了极大的便利,不足之处在于传输速度慢,这给很多传统的以RS422为通信接口的外围设备面临着巨大的考验。而USB却能弥补这些缺点,因此,结合USB的总线结构设计RS422与USB接口的转换器势在必行。
然而,一般计算机提供的串行接口有限,当串行设备数量增加时,端口的短缺问题将给用户带来极大的不便,针对这种情况,本文结合实际项目,利用FTDI公司的FT4232H芯片,通过简单的外围电路来设计一路USB转4路RS422的转换器。
1 总体设计方案
本设计开始时有两种方案可供选择:1)在USB前端利用USB HUB芯片,先把单路USB转换成四路USB信号,再通过USB到RS422单路转换器来实现:2)直接采用USB到UART接口转换芯片来实现。两种方案原理上差别不大,各有各的优缺点,前一种各路相对比较独立,电路调试简单,但性能不好,体积大,而且成本要求相对来说高;后一种方案对电路的调试相对比较复杂,而且需要额外的EEPROM,但性能较好、体积小并且成本较低,综合考虑,本文采用第二种方案。
系统原理框图如图1所示。USB的一大优点是可以提供500 mA的5 V电源,因此,设计时可以采用总线供电。信号通过FT4232H接口芯片,内部处理后转换成4路接口信号。4路相同的信号,通过光电隔离后再经过RS422电平转换芯片转换为RS422信号。光电隔离芯片是6N137,由于光电隔离左右端电源要求隔离,所以采用DC-DC芯片F0505S-1WR,电平转换芯片采用的是SP491,8位移位寄存器采用的是SN74HCT595,主要是用来显示各路的发送接收状态,而串行EEPROM采用的是93C46B,用来对数据进行一定的存储。
2 主要芯片介绍
2.1 FT4232H
FF4232H芯片是由FIDI(Future Technology Devices International)公司生产的,专门用于USB到RS232/RS485/RS422之间的电平转换芯片,数据收发和协议转换工作全由芯片独立完成,无需人工干预,不用编写芯片的固件,给设计者带来了极大的便利。利用该芯片只需要加少量的外围电路就可以实现相应的转换。
2.1.1 FT4232H的特点
和同类产品相比,FT4232H的主要特点如下:
1)单芯片到4路串口的转换,整个接口协议中芯片内部固化,无需外加的编程;
2)支持480 Mb/s USB 2.0的高速规范,并可在各种工业标准的串行或并行接口(例如UART或FIFO)下进行配置;
3)提供四种可配置的接口,FT4232H的其中两个接口可配置为UART、JTAG、SPI、I2C或带独立波特率发生器的位响应模式串口,FT4232H的另外两个接口具有UART功能或位响应功能;
4)配置为RS-232/-422/-485 UART接口时,这两个器件均可支持数据传输率达12 MB/s;
5)通过外接EEPROM,可以提供自己产品的VID、PID、设备序列号以及设备相关的说明文字;
6)双端口2 k字节的发送和接收缓冲单元;
7)支持UART7/8 Bit数据位,1/2停止位,奇偶校验,Mark/Space校验或无校验;
8)支持异步串行UART接口满硬件握手信号,调制接口信号,硬件及Xon/Xoff流量控制;
9)高集成+1.8 V低压差线性电压输出,以及集成12~480MHz频率合成;
10)集成了电平转换器,I/O口电平支持5~3.3 V电平逻辑;
11)具有低功耗、高速度的特性,为工业级温度范围:-40~+85℃。3 主要内容
3.1 硬件电路
整个系统的供电来源于USB接口的+5 V;因此芯片工作在USB总线供电模式,典型电路如图2所示,采用标准的USB接口P1,FT4232H提供了标准的发送TX和接收RX引脚输出输入线,因此与外设的连接方式非常灵活、方便。跟RS422的连接方式如图中所示,为方便只给出了发送和接收两组差分信号线,通过PWREN#和SUSPEND#的输出来控制信号的发送和接收。图中94C46是一片串行的EEPROM,用于存储产品的VID、PID、设备序列号以及与设备相关的文字说明,芯片的容量大小可以根据用户需要进行选择,本文中选用的是容量为1 K的芯片。虽然转换器在没有EEPROM芯片一样可以正常工作,但这时设备的工作方式是FTDI公司默认的内容,如果用户想写入自己的VID、PID等信息必须外接一片EEPRO-M,其具体内容有一定的格式,本设计的工作方式是FTDI公司默认的。
由于FT4232H要求+3.3 V电压供电,因此设计中采用低压差电压芯片TPS75533KTT,具体电路如图2所示,输出+33 V,测试中表现出良好的稳定性。电平转换芯片采用低功耗转换芯片SP491。为了保护PC机和外围设备相互干扰或者不会因为数据传输线上可能遭受到的高电压静电等的干扰而出现“死机”现象,本设计在FT4232H信号输出与电平转换前使用了光电隔离器件6N137隔离,注意到6N137左右两端需要单独供电,因此我们还加上了DC-DC芯片,对电压进行隔离,这样就可以有效防止干扰或者强电流而导致系统失效,图中只给出了单路接收时的光电隔离电路图,对于多路发送接收来说原理一样。
为了测试方便以及增强直观效果,本设计还使用了移位寄存器74HTC595,这样系统正常工作时,可以直观的判别那一路的发送或者接收数据。对于后期PCB板调试有一定帮助。具体电路如图2所示。
电路以FT4232H为核心器件,用双发/双收RS422接口芯片完成RS422电平到TTL电平之间的转换。由于采用USB总线供电结构,最大能提供电压+5 V、电流500 mA,所以要求芯片工作电压低、低功耗体积尽量小,在这里FT4232正常工作电流是70 mA,当处于悬挂模式时,电流为500μA,对于转换芯片,工作电压为+5 V,正常工作电流是600μA,不工作时最大电流为10μA,最小传输速率可以达到5 Mbps,通过FT4232H的PWREN#和SUSPEND#的输出来控制芯片的工作状态,经过实践测试,完全满足设计的要求。
3.2 驱动软件
转换器连到主机上后,在正常工作之前,必须在PC机上安装一款由FTDI公司免费提供的虚拟串行口(VCP-VirtualCOM Port)驱动程序,它的版本支持不同Windows的环境下。设备的原应用程序不必修改,可以像存取一个标准的物理串口一样访问这个虚拟串口,但在实际上所有针对虚拟串口的数据通信都是以USB总线传输来完成的。但在设备一方,传输的确实是RS-422的数据。4 系统测试
4.1 测试方案
电源由PC机通过USB接口提供,电源分别经过低压差电压芯片TPS75533KTT提供3.3 V电压,光电隔离电压分别由DC-DC转换芯片分别供电。
数据传输验证,为测试USB接口和RS422接口之间能否正常的传输数据,而且四路RS422数据之间无相互影响和调包现象。在此我们选用了串口助手软件作为我们的测试工具,利用串口助手的发送和接收数据能力,分别鉴定是否能够同时发送接收四路RS422数据和每一路的USB信号。
4.2 测试结果
我们在测试中利用串口助手,波特率设为115 200,测试结果如图3所示,实践证明,使用FT4232H芯片设计出来的USB转换器可使在串口RS422和USB口之间非常容易地建立可靠的连接。能够同时接收来自四路RS422接口的数据,而且此四路RS422接口任何一路或者多路停止传送数据,对其他路数的数据传送没有任何的影响。说明四路RS422接口相互之间是独立工作的。同时我们也做了数据的掉包统计,如表1所示。从表1结果表明,在发送数据的过程中,并没有出现掉包的情况,因此达到了设计要求。
5 结束语
FT4232H是一款功能强大,简单好用的USB-UART桥接芯片。64引脚,12 mmx12 mm的LQFP外形封装使其占有空间非常小,非常便于设计人员布设。同时用它将USB口扩展成为RS~422(还包括RS-232和RS-485)接口都非常简单易行。同时由于其内部存储产品的ID等信息的寄存器,都可以通过外围EEPROM借助其专门的工具,编写程序修改,增强了一定的灵活性。在这款转换器中,我们使用了采用DC-DC隔离电源供电,机与通讯接口之间采用高速光耦SP491进行光电隔离,实现了主机系统很强的防高压冲击的能力、很强的抗干扰能力。它具有不占用系统资源、结构简单、使用方便、通用性强和性能可靠的特点,目前已经批量使用了。