西门子CPU模块6ES7365-0BA01-0AA0原装现货
. 工作原理
该智能转换器必须解决两个关键问题即如何从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
-12V至3V 效率高于85%的DC-DC转换器
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也为复
本转换器的最大电流总和
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 接口的网络分支及延伸通讯距离都能够得到很好的应用
要单片机完成一项基本任务,必须将任务分解成一些具体步骤,再要求它去逐项执行每个步骤,还要对它下命令。该命令在单片机术语中称为“指令"(Inetruction)。完成一项任务所需的所有指令的有序集合就称为“程序"(Programm)。这些指令要预先一条一条顺序地放到单片机的程序存贮器中,单片机在运行时,片中的CPU从程序存贮器中逐条有序取出指令,执行指令,并将有关指令执行完毕,即可完成既定任务。
不同种类的单片机有不同的一套命令(即所谓“指令系统")。PIC系列的单片机其指令系统与51系列的不同。PIC16F84有30余条指令构成的指令系统。每条指令由14位(bit)构成,这些位是二进制码的0和1,如果要使16F84端口B的B0位输出高电平,以点亮一只发光二极管LED,而B口的其余各位仍保持低电平,则需要使单片机执行下列各条指令(机器码):
11000000000000
00000001100110
11000000000001
00000010000110
10100000000100
早先的技术人员就是用这样的二进制码来编写程序的。上列程序,看起来像天书,很费解,但它能指挥单片机的运作。因为单片机实际上是一种复杂的数字逻辑电路。我们都知道,要数字电路运作,必须相应输入高、低电平,对正逻辑而言,高电平为1,低电平为0。上述指令顺序在不同的数位上出现的0和1,经译码后,即可完成各种不同的运作,逐步完成单片机所要执行的任务,如点亮一个LED。