APP下载

RS485通信模式控制开关量输入及输出的设计及实现

2022-04-13贾婉艳

漯河职业技术学院学报 2022年1期
关键词:看门狗管脚驱动器

贾婉艳,冯 凯

(1.河南金威通信技术有限公司,河南 郑州 450001;2.河南工业大学 漯河工学院,河南 漯河 462000)

RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,具有抑制共模干扰的能力,通信距离理论值可达到1200 m,支持多节点传输,最高传输速率达到10 Mbps,因此RS485总线在多节点工作系统中有着广泛的应用[1],达到远程控制设备工作状态的目的。

在远程电力抄表系统、远程电力控制、远程供水、智能大棚等应用场景中,需要实现远程控制、监测、管理用户设备,从根本上降低人力成本,提高工作效率。在这种场景中传输模式多用RS485通信模式、RS422通信模式[2]。本文采用单片机控制器实现RS485通信线路上的4路开关量输入及4路继电器输出功能。

1 系统总体设计

该系统包括主控制电路、电源调整电路、隔离驱动电路、通信电路等模块(见图1)。电路设计简单紧凑,功耗较低[3]。软件系统采用双看门狗设计(软件复位功能+硬件看门狗复位功能),保证程序运行出错时89C52能及时自动复位。系统在设计时嵌入INT模式,用户根据需要可以重新设置系统参数并存储在E2PROM中。

图1 系统功能模块框图

2 系统硬件设计

2.1 主控电路模块设计

主控芯片采用单片机89C52,片内置通用8位中央处理器和FLASH存储单元,片内含有8k字节PEROM、256字节RAM、32位I/O口线、看门狗定时器,内置4KB EEPROM、复位电路、3个16位定时器/计数器(T0,T1,T2)、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)、全双工串行口、片内振荡器及时钟电路[4,5]。工作电压5.5V~3.3V(5V单片机)/3.8V~2.0V(3V 单片机),工作频率范围0~40MHz,工作温度范围-40℃~+85℃(工业级)/0~75℃(商业级)。与标准MCS51指令系统兼容,适用于较为复杂的控制场合。该芯片使用率高、性能稳定,而且简单好用,性价比较高,在工业控制产品中应用较多。其外围包括看门狗器件,用以保证程序运行出错时能及时服务;EEPROM器件,用于存储系统设置好的参数。串行EEPROM是基于I2C-BUS的存储器件,遵循二线制协议,由于其具有价格低廉、接口方便、体积小、数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量应用[6]。系统设计采用双看门狗设计,包括模块看门狗和软件看门狗。模块(如MAX813L)看门狗采用硬件复位电路,当设备在工作环境干扰严重、受干扰停机时,复位电路使模块重新复位,保证设备继续工作。软件看门狗通过程序监视主芯片的工作状态,当看门狗定时电路启动时,模块发送事先设定好的数值,使程序重新运行,防止监视对象发生意外事故[7]。双看门狗功能设计能保证系统运行更加稳定和可靠。

单片机89C52[10]主控电路如图2所示。

图2 单片机89C52主控电路图

89C52的P1端口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收并输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,在此方案中,P1.0~P1.3是4路开关量的状态输入端。硬件看门狗由芯片MAX813L实现,在上电、瞬时掉电及程序运行出错,以及系统程序运行错误而无法自我复位时,看门狗输出复位信号,使89C52重新复位,程序重新运行,使系统恢复正常。在程序中还要用软件看门狗监视主机的工作状态,可根据实际情况设置定时时间,防止系统程序运行时出现死机现象。

本方案采用EEPROM,保存系统的配置信息,如地址、波特率、信号类型等信息。P3.4和P3.5作为二线制串行接口,包括时钟输入和数据接口。EEPROM方案中AT24C02容量设计值为256Byte,实际应用时可以根据需要灵活选择,一个总线上最多可寻址4个4k器件,在SCL时钟信号的上升沿将数据送入EEPROM,并在时钟的下降沿将数据读出[8]。89C52的第21管脚XTAL1是振荡器反向放大器及内部时钟发生器的输入端,第20管脚XTAL2是89C52的振荡器反向放大器输出端,本方案采用外部起振方式。

本方案中89C52 P2口的P2.1~P2.4为4路继电器输出控制端,作为输出口时要加上拉电阻,可以降低杂波干扰,保证端口电平的稳定性。89C52的P2.0管脚用作RS485通信模块的读写控制信号,P3.0、P3.1管脚用作与通信模块的收发数据端口[9]。

2.2 开关量输入输出驱动及隔离电路模块设计

系统采用TLP521作为隔离器件。TLP521是可控制的光电耦合器件,使开关量负载和本电路完全隔离,减少电路干扰,对主控电路起到保护和隔离作用,其集电极和发射极之间的电压最小值55V,隔离电压最小值2500V。具体电路如图3所示,标号OUTCOM为外接电源12V或24V的公共端;DIA1~DIA4是开关量输入端,接外部开关设备,当DIA状态发生变化时,对应的光耦器件内部的发光二极管状态也会随之改变,导通或者截止,致使光耦器件的集电极管脚状态也发生改变,即DI1~DI4电平也发生改变,输入到89C52的对应管脚,从而采集到信号变化,完成该路开关量的状态的读取[10]。

图3 开关量输入输出隔离驱动电路

开关量输出控制继电器电路采用74HC14、ULN2003器件驱动。74HC14是高速CMOS器件,六反向斯密特触发器,耗电量低、速度快,对89C52输出波进行整形,把缓慢变化的输入信号转换成清晰、无抖动的输出信号,增强了信号的驱动能力。工业级工作温度为-40℃~+125℃,能满足环境要求。ULN2003是大电流驱动阵列,ULN2003的每一对达林顿管都串联一个2.7KΩ的基极电阻,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,5V供电时,输出可达500mA/50V,适应于要求高速大功率驱动的系统,在此带载4路5V A型继电器,通过控制继电器的关闭动作继而控制外部开关量的开关动作。

继电器控制电路如图4所示。

图4 继电器控制图

JDQC1是ULN2003输出的控制信号,RL1-NO和RL1-COM接外部开关量的两端。随着ULN2003输出管脚JDQC1电平的变化,继电器内线圈电流发生变化,在电磁感应作用下控制继电器的开闭状态,从而控制开关的断开和连通。

2.3 ADM485通信模块设计

ADM485是一款差分线路收发器,适用于多点总线传输线路的高速双向数据通信。它针对平衡数据传输而设计,符合EIA标准RS-485和RS-422。该器件内置一个差分线路驱动器和一个差分线路接收器,驱动器和接收器均可独立使能[11]。禁用时,输出处于三态。ADM485采用+5V单电源供电。内部热关断电路可防止总线竞争或输出短路导致功耗过大。故障条件下,如果检测到内部驱动器电路的温度显著升高,此特性将强制驱动器输出进入高阻抗状态[12]。ADM485驱动器在禁用和关断时处于高输出阻抗状态。当收发器不用时,可以使负载效应降至最低。在-7V至+12V的整个共模电压范围内,驱动器均可保持高阻抗输出。所有输入和输出均提供ESD保护;所有驱动器输出均有较高的源电流和吸电流能力。ADM485的开关速度极快,驱动器传播延迟极小,数据传输速率最高可达5 Mb/s,而低偏斜则使电磁辐射(EMI)降至最低,抗共模干扰能力大大增强,适用于嘈杂环境中长线传输。

此方案中,89C52的P2.0(D/R)端口用于控制ADM485的读写使能信号,当D/R信号为1时进行读操作,当D/R信号为0时进行写操作。在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触发ADM485的1脚(接收器输出端)产生负跳变,使接收端MCU进入接收状态,在ADM485的RXD端接上拉电阻[13]。

ADM485的第6、第7管脚即总线的A线、B线,需要在A线上加一个4.7KΩ的上拉偏置电阻,在B线上加一个4.7KΩ的下拉偏置电阻,AB线间根据线路阻抗加上匹配电阻,并连接双向TVS二极管进行抗浪涌冲击、雷击电压保护,适应在条件恶劣的环境下工作。RS485通信模块电路如图5所示。

图5 RS485通信模块电路

3 系统软件设计

软件系统采用硬件看门狗复位和软件复位双保险方式,确保发生干扰时程序出错的情况下能及时复位,从而保证系统的正确运行[14]。系统还设计了INT模式,若用户忘记了初始的配置或需要重新设置参数时,可以激活INT模式,重新设置系统参数。激活INT模式需要关断电源,把INT#引出端子与GND短接,然后加电。系统初始状态被强行设置为 Address=00,baudrate=9600,No checksum。上电复位后,所有输出恢复为上电值,模块可以接收主机命令来改变输出值。

上电后,先读取INIT(P1.5管脚)状态,如果该管脚为1,从E2PROM里读取数据,进行单片机和外设的初始化,开始程序的正常运行。如果该管脚为0,则进入参数设置模式,将参数写进E2PROM。系统初始化完成后,串口扫描接收485总线数据,按照约定协议进行地址比对,校验比对都正确的话进行指令解析,执行相应的命令,读取相应通道开关量输入(P1.0~P1.3管脚)或者控制相应继电器的状态输出(P2.1~P2.4)。上电后,所有模块输出恢复为默认值,系统初始化后,模块接受89C52的命令来改变输出值[15]。

主程序流程如图6所示。

图6 系统软件流程图

4 系统运行

在电路板布线时,要合理布局,充分考虑电路的抗干扰能力。数字部分和模拟部分尽量分开布局,数字地线和模拟地线分开设置,充分考虑电磁兼容性,尽可能减小相互干扰。经过多次测试,该系统隔离电压达到3700 V,抗浪涌电压达到4000 V,控制继电器吸合时间最大值为5 ms,释放时间最大值为3 ms,宽范围供电,供电电源:10 V~30 V DC,整机功耗1.6 W。该系统在远程抄表、农业灌溉用水管理系统中得到多次应用,系统运行稳定可靠,能实时读取开关量的状态、准确控制继电器的输出,在远程控制系统中发挥了不可替代的作用。

猜你喜欢

看门狗管脚驱动器
藏起驱动器号确保数据安全
把他叫醒
压电陶瓷驱动器的迟滞特性
基于图像处理的异型电子元器件管脚偏移误差检测方法研究
CMOS数字IC管脚电容的估算与测量
一种采用FPGA实现的通用看门狗电路
把它叫醒
SiC基和Si基永磁同步电动机驱动器的比较
把它叫醒
新型低电压大变形微驱动器数值求解及仿真