随着计算机在工业的广泛应用控制局域网络也深入应用到各行各业之中现行的诸多控制系统若采用单机控制方式已越来越难以满足设备控制的要求因为往往我们所控制的设备只是整个系统的一个基本单元它既需要外部输入一些必要的信息同时也需要向外部输出自身的运行参数和状态所有这些都要求我们采用控制网络技术将众多设备有机地连成一体以保证整个系统安全可靠地运行目前在我国应用的现场总线中RS-485/RS-422 使用最为普遍当用户要将基于标准的RS-232 接口设备如PC 机连接至由RS-485/RS-422 构成的通讯网络时则必须作RS-232和RS-485/RS-422之间的电平转换传统的做法是在设备内扩展一个通讯适配卡由通讯适配卡实现电平转换内部主机再通过并行总线读出或写入数据显然这种设计方法存在下列缺点
A.由于适配卡是基于某一种总线标准扩展的而不是基于RS-232电平标准所以其应用范围受到限制只能一种适配卡适用一种总线如ISA 适配卡不可能插入STD总线或用户自定义的总线其通用性较差
B.虽然实现的仅仅是电平转换但是由于需要考虑与扩展总线的接口和增加一个标准的UART 并且需要占用系统的其它宝贵资源使硬件和软件变得过于复杂
C.复杂的硬件设计大大增加了元器件的数目和电路板面使适配卡的成本过高
D.由于采用内置插卡方式使变更通信方式比较麻烦如将半双工通信方式设置为全双工方式等另外维修和测试也比较麻烦
E.对于现有的基于RS-232的设备在无法变动系统软件和硬件的情况下显然适配卡无法将这些设备连成基于RS-485或RS-422通信网络的分布式系统为了克服上述缺点同时考虑到RS-232 接口的自身特点我们设计了一种小巧的无须外部供电的智能收发转换器实现RS-232和RS-485/RS-422之间的电平转换
2. 功能描述及结构框图
本智能转换器作为一个独立的电平转换控制器涉及线上取电发送和接收状态的智能切换通信方式设置RS-232电平与RS-485/RS-422电平之间的转换等方面具体描述如下
A.从RS-232接口上取电
由于不采用外部供电方式则必须从RS-232接口线取电为内部元器件供电我们知道标准的RS-232接口定义中TXD RTS和DTR是RS-232电平输出设计一个DC-DC转换器从这些信号上能够为系统提供一定的电源功率.
B.低功耗微处理器
微处理器通过监测TXD信号的变化决定是否允许数据发送和数据接收另外有关通信方式波特率和半/双工工作方式选择也是通过TXD 信号或I/O 口来设定的
C.RS-232电平与TTL电平之间的转换
D.RS-485/RS-422电平与TTL电平之间的转换
其内部电路结构示意图如下:
3. 工作原理
该智能转换器必须解决两个关键问题即如何从RS-232线上获得电路和RS-485/RS-422接口驱动所需的功率和如何智能控制RS-485/RS-422的收发使能
3.1.电源方案
标准的RS-232 定义中有三个发送信号TXD RTS 和DTR 每根线上的典型输出电流为8mA/ 12V 考虑到TXD为负电平处于停止发送或发送数字1 时的时间较多因而电源转换决定采用负电源输入以最大限度地增加电源输入功率升压至所需的工作电源从RTS和DTR上输入功率=2*8*12mW=192mW,另外由于通讯为间歇工作方式所以输入电源端的储能电容和TXD 为负电平时能够补充一定的功率假设我们设计一个效率为85% 输出电压为3V 的DC-DC 转换器则输出电流可达54.4mA
3.2.智能控制收发使能
RS-232通讯接口采用电平方式传输适用于点-点通讯无须专门的收发使能控制而对于RS-485/RS-422通讯接口则不同由于采用差分电平方式传输且允许在一条通讯总线上挂接多个节点必然要求各个节点能够独立地控制总线驱动器关断或打开保证不会影响到其它节点的正常通讯为了简化与转换器RS-232 接口端相连的软件工作更重要的是为了提高本转换器的通用性和灵活性即插即用无须要求用户更改任何相关软件和硬件本转换器内置微处理器实现收发使能的智能控制具体方法微处理器在检测到UART 的通信起始位后打开发送使能允许串行数据发送至RS-485/RS-422 通讯网络微处理器根据所设定的波特率延时至UART 停止位发送一半时例如11位格式时延时10.5T,T=1/fBAUD ,开始检测是否有下一个起始位到来在时间T内若有下一个起始位到来则保持发送状态否则将关闭发送使能结束数据发送
4. 硬件设计
由于本转换器供电来自RS-232信号线其输入功率受到限制因而在本设计中将尽可能地采用+3V供电的低功耗器件保证总电流小于54.4mA 主要包括4个部分DC-DC转换器RS-232接口RS-485/RS-422接口和微处理器分别介绍如下
4.1. DC-DC转换器
显然还没有一个DC-DC 转换器能够直接实现-12V 输入+3V 输出的IC 但是如果我们利用现有的IC 稍作改动即可实现该功能图2 所示的DC-DC 转换电路就是利用MAX761 实现的-12V 输入+3V 输出效率高于85%的升压DC-DC 转换器该转换器实际输入电压范围为-2.5V 至-13.5V 静态工作电流仅I1=120 A 具有输出电流大于54.4mA的能力如果前端输入功率未受到限制则输出电流可达300mA以上由于MAX761采用高效率的PFM 控制方式,而且在本电路中,开关损耗较小(因为开关电流小于负载电流),所以能够达到比MAX761 典型应用更高的效率(MAX761 典型应用效率为86%) 输出电压由下列方程确定
VOUT=VREF*R1/R2+0.7(V) 其中VREF=1.5V
选取R2=100K 根据所需要的输出电压计算R1
4.2. RS-232接口
本转换器只需要一片单发/单收RS-232接口就可以满足要求但必须要求+3V单电源工作工作电流尽可能地小的接口电路MAX3221/MAX3221E 带15kVESD保护刚好能够满足上述要求具有1TX/1RX 其工作电压+3V至+5.5V, 仅1 A的静态电流负载电流小于I2=2mA
4.3. RS-485/RS-422接口
为兼顾RS-485/RS-422 接口中半双工和全双工的要求本转换器采用MAX3491 作为RS-485/RS-422 接口电路其主要指标为+3V 至+3.6V 单电源工作工作电流1mA,驱动60负载时半双工时两个120 终端匹配电阻的并联值峰值电流可达I3=3V/60 =50mA半双工和全双工工作方式是通过跳线器来设置的见图3
4.4. 微处理器
在本转换器中微处理器所要完成的任务很简单仅需要几根I/O 线即可实现参数的设置和发送使能的自动控制实际选择中采用Microchip公司的PIC12C508A其主要指标为工作电流I4<1.0mA(工作电压3V 频率4MHz),6 条I/O 线512kByte 的ROM 其中GP0 GP1 GP4和GP5四个引脚设定对应于16 种常用波特率300 600 1200至38.4Kbps等8 种以及900 1800 至115.4Kbps等8种的延时时间GP3对应于10位或11位串行数据格式GP2为TXD输入用来检测UART何时发送和停止数据GP1为复用输出引脚用来控制MAX3491的发送使能控制端GP0也为复用输出引脚用来控制MAX3491的接收使能详见图3
5. 软件设计 本转换器的软件设计较为简单微处理器复位后将所有的I/O 口设为输入并读入所有的I/O 状态保存到寄存器将GP2 和GP3 改设为输出状态并输出低电平使RS-485/RS-422 接口处于禁止发送允许接收的状态CPU 根据GPIO 的初始状态确定出用户设定的通讯波特率和串行数据格式从而预置内部的延时设定CPU 检测到UART开始通讯后打开发送使能经内部预置延时后开始在一个位宽时间内检测是否有下一个起始位到来如检测到则重新延时等待否则关闭发送使能结束当前通讯重新检测UART的起始位对于半双工通讯方式允许发送使能前应该关闭接收使能而在发送使能关闭后才打开接收使能对于全双工通讯方式其接收使能可以不受此信号控制而可以直接通过跳线接地始终允许接收 6. 结论 在本RS-232到RS-485/RS-422接口的智能转换器设计中除了本身这个产品具有较高的应用价值外文中所涉及的RS-232信号线供电方案由于其高效率大电流输出能力在许多基于RS-232 接口的应用中都能够很好地满足应用另外这种智能控制RS-485/RS-422 接口的收发使能的思想在扩展基于RS-485/RS-422 接口的网络分支及延伸通讯距离都能够得到很好的应用
本转换器的最大电流总和
上一篇:CANOpen协议如何保证通讯不丢帧
下一篇:CAN诊断基础——应用层(一)
推荐阅读最新更新时间:2024-05-03 00:28