0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RS485协议的串行通信电路的设计与应用介绍

电子设计 作者:电子设计 2018-11-12 09:25 次阅读

在电参数仪的设计中,数据采集由单片机AT89C52负责,上位PC机主要负责通信(包括与单片机之间的串行通信和数据的远程通信),以及数据处理等工作。在工作中,单片机需要定时向上位PC机传送大批量的采样数据。通常,主控PC机和由单片机构成的现场数据采集系统相距较远,近则几十米,远则上百米,并且数据传输通道环境比较恶劣,经常有大容量的电器(如电动机,电焊机等)启动或切断。为了保证下位机的数据能高速及时、安全地传送至上位PC机,单片机和PC机之间采用RS485协议的串行通信方式较为合理。

实际应用中,由于大多数普通PC机只有常用的RS232串行通信口,而不具备RS485通信接口。因此,为了实现RS485协议的串行通信,必须在PC机侧配置RS485/RS232转换器,或者购买适合PC机的RS485卡。这些附加设备的价格一般较贵,尤其是一些RS485卡具有自己独特的驱动程序,上位PC机的通信一般不能直接采用WINDOW95/98环境下有关串口的WIN32通信API函数,程序员还必须熟悉RS485卡的应用函数。为了避开采用RS485通信协议的上述问题,我们决定自制RS485/RS232转换器来实现单片机和PC机之间的通信。

单片机和PC机之间的RS485通信硬件接口电路的框图,如下图1所示。

从图1可看出,单片机的通信信号首先通过光隔,然后经过RS485接口芯片,将电平信号转换成电流环信号。经过长距离传输后,再通过另一个RS485接口芯片,将电流环信号转换成电平信号。

图1单片机与PC机之间的RS485通信硬件接口电路的框图(略)

该电平信号再经过光电隔离,最后由SR232接口芯片,将该电平信号转换成与PC机RS232端口相兼容的RS232电平。由于整个传输通道的两端均有光电隔离,故无论是PC机还是单片机都不会因数据传输线上可能遭受到的高压静电等的干扰而出现“死机”现象。

2接口电路的具体设计

2-1单片机侧RS485接口电路的设计

单片机侧RS485接口电路如图2所示。

AT89C52单片机的串行通信口P30(RXD)和P31(TXD)的电平符合TTL/CMOS标准(逻辑“0”的电平范围为0V~0.8V,逻辑“1”的电平为24V~VCC),它们首先通过光电隔离器件6N137隔离,以保护单片机不受传输通道的干扰影响,其中T01和?T02是为了增加光隔输入端的驱动能力。光隔6N137的左侧电源与单片机相同,右侧必须采用另一组独立的+5V电源,且两组电源不能供电

RS485协议的串行通信电路的设计与应用介绍

图2单片机侧RS485接口电路

RS485协议的串行通信电路的设计与应用介绍

图3MAX490的内部结构

MAX490[4]是MAXIM公司的RS485接口芯片,其内部结构如图3所示。MAX490支持单电源+5V工作,传输速率最高可达25MBPS,可实现全双工通信。其RO、DI端的逻辑“0”的电平在-0.5V~0.8V之间,逻辑“1”的电平在20V~VCC之间。输出电流环的电流在150μA~500μA之间。其工作状态为:当A端电压比B端电压高200mV以上,RO输出逻辑“1”,当A端电压比B端电压低200mV,RO输出逻辑“0”;当DI为逻辑“0”,输出Y低、Z高,当DI为逻辑“1”,输出Y高、Z低。图2中的电阻器RRS为MAX490的终端匹配电阻器。

2-2PC机侧RS485/RS232转换器的设计

RC机侧RS485/RS232转换器的电路如图4所示。

该电路首先通过MAX490芯片将单片机侧经远距离传输的电流环信号转换成TTL/CMOS标准

图4PC机侧RS485/RS232转换器的实际电路(略)

RS485协议的串行通信电路的设计与应用介绍

图5MAX232A的内部结构

的电平信号,然后通过光隔6N137隔离,得到两个同样是与TTL/CMOS电平相兼容的电平信号;最后,经RS232芯片转换成RS232电平:其中RS232电平的逻辑“0”的电平范围为-5V~-15V,逻辑“1”的电平范围为+5V~+15V。这里RS232电平转换芯片选 用MAXIM公司的MAX232A[4],该芯片采用单电源(+5V)供电,RS232电平由内部电荷泵产生,其内部结构如图5所示。

在RS485/RS232转换器的设计过程中需要特别注意的是电源的设计。单片机侧和PC机侧的RS485芯片理论上可共用一个电源。实际上,如果稳压电路安装在单片机侧,同时又将此电源直接拉至PC侧的RS485/RS232转换器中,由于电源线可能长达上百米,电源线的线径又不可能选得很粗。如此远距离的传输将会导致电源电压在PC机侧有一个很大的落差,这样,有可能造成PC机侧的MAX490或光隔IC702工作不正常。一个比较好的解决办法是首先直接将单片机侧变压器输出的交流信号经长距离传输至RS485/RS232转换器,然后经整流和稳压,作为PC机侧MAX490和光隔IC702的供电电源。此外,RS232和光隔左侧的供电电源PCVCC可以利用PC机内部开关电源的+5V输出,或者由外部稳压电源提供。

3通信软件的设计

利用上述硬件通信电路,可以实现符合RS485协议的串行通信,同时又对软件的编写没有任何额外要求,因为本电路改变了传输通道的信号传输方式。单片机侧的通信可以采用查询方式或串行中断方式。在电参数测试仪中,为了保证上位机和下位机之间时序的严格一致,我们采用了查询方式,这部分程序的编写较简单PC机侧WINDOWS环境下的通信程序,可直接利用VC++提供的相应于串口的API函数完成RS232通信编程。

由于数据传输是在强干扰的环境中进行的,而且传输距离又较远,为了保证数据能高速、准确传输,软件编程时可以考虑对大批量的数据进行分组传送,同时对每组数据进行和校验,检查其传输的准确性。在实际使用中,设定每组数据的数据头为单字节0AAH,中间为256个字节的采样数据,数据最后一个字节为和校验结果。PC机每接收到一组数据,均要进行再次和校验,然后将PC机的校验结果和单片机的校验结果(该组数据的最后一个字节)相比较,若两者不等则校验失败,PC机给单片机发重传命令,要求单片机重传本组数据;若两者相等则校验正常,PC机给单片机发确认认号,并准备接收下一组采样数据,单片机则开始新一轮采样。

4实际应用

在电参数测试仪的工作过程中,大约每隔一分钟单片机和上位PC机之间就要经过多次命令和数据的双向传递,其数据量较大,每次约有7k字节左右。本系统单片机选用ATMEL公司的AT89C52,晶振频率为110592MHz,串行通信方式为模式1,通信速率为57.6kBPS。上位机的通信和数据处理程序采用VC++6.0编写。单片机和PC机之间的距离约100米左右,传输线由普通的多芯电源线替代,且经过有电焊机、电动机、高压静电发生器等频繁起动的场合。采用上述硬件通信电路,同时考虑编程时的软件纠错,该仪器经过多次24小时的不间断运行,都没有发生过死机现象,工作一切正常。调试时,通过观察上位PC机中设置的数据重传计数器,发现数据重传次数极少。

实践证明本文设计符合RS485协议的串行通信电路,可以满足高速率、高可靠、远距离的串行通信,同时价格又比较便宜,不失为一种较为理想的串行通信方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5991

    文章

    43904

    浏览量

    619617
  • 转换器
    +关注

    关注

    27

    文章

    8116

    浏览量

    141117
  • 数据采集
    +关注

    关注

    38

    文章

    4354

    浏览量

    112260
收藏 人收藏

    评论

    相关推荐

    请问怎样去设计一种RS485串行通信接口电路

    怎样去设计一种RS485串行通信接口电路RS485串行通信
    发表于 06-02 06:35

    RS485总线是什么?有哪些应用

    简单介绍RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。应用场合:几十米到几千米的场合,可以应用于多节点的场合典型电路
    发表于 07-26 08:32

    串行RS485通讯协议概述

    第九章串行RS485通讯协议 9.1通讯概述本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。通讯协议采用MODBUS标准通讯
    发表于 09-09 07:24

    RS485通信与Modbus协议的相关资料分享

    文章目录RS485 通信与 Modbus 协议单片机 RS485 通信接口、控制线、原理图及程序实例RS
    发表于 11-30 07:31

    RS485通信与Modbus协议的特点

    RS485通信与Modbus协议 附源码及视频教程下载RS485通信的特点1、采用差分信号。2、RS48
    发表于 11-30 07:05

    RS485是什么?RS485通信的特点有哪些

    RS485简介485(一般称作 RS485/EIA-485)是隶属于 OSI 模型物理层的电气特性规定为 2 线,半双工,多点通信的标准。它
    发表于 01-14 07:54

    RS485和Modbus通信协议让工业自动化更高效

    】   本文主要介绍RS485接口的原理、应用、电路设计、通讯协议以及常见问题解决方案。RS485接口在工业自动化、智能家居、安防等领域有
    发表于 05-05 16:25

    RS485通信协议

    RS485通信协议RS485 通信协议1.概述C320 系列变频器提供标准RS485 通信
    发表于 04-07 17:26 87次下载

    RS485 通信协议教程

    RS485 通信协议教程 概述C320 系列变频器提供标准RS485 通信接口,用户可通过PC/PLC 实现集中监控(发送运行命令设定,变频器的工作参数和读取变频器的工作状态),以适
    发表于 04-13 14:54 91次下载

    基于RS485总线的PC机与多单片机系统的串行通信

    根据所开发的电子产品故障维修实验系统的要求,提出了一套基于RS485总线的PC机与多单片机系统间的串行通信协议,已成功应用于故障维修实验系统中。关键词:Rs485
    发表于 06-23 16:10 247次下载

    RS485差分串行通信实验

    RS485差分串行通信实验 一. 实验目的在上一个RS232 通讯实
    发表于 09-22 16:46 3252次阅读
    <b class='flag-5'>RS485</b>差分<b class='flag-5'>串行</b><b class='flag-5'>通信</b>实验

    rs485通讯协议

    rs485通讯协议是本技术频道的核心内容,介绍rs485通讯协议原理,rs485通讯
    发表于 08-13 17:21
    <b class='flag-5'>rs485</b>通讯<b class='flag-5'>协议</b>

    基于RS485的多主机通信协议的设计_胡明飞

    基于RS485的多主机通信协议的设计_胡明飞
    发表于 01-12 19:56 11次下载

    rs485转tcp网关盒子怎么用(rs485协议转以太网tcp/ip)

    /IP协议之间的通信,可以使用RS485转TCP网关盒子。本文将介绍如何使用RS485转TCP网关盒子进行
    的头像 发表于 05-05 15:50 1714次阅读
    <b class='flag-5'>rs485</b>转tcp网关盒子怎么用(<b class='flag-5'>rs485</b><b class='flag-5'>协议</b>转以太网tcp/ip)

    串行通讯与并行通讯讲解 RS232、RS422、RS485通信协议简介

    通信和计算机科学中,串行通信(Serial Communication)是一个通用概念,泛指所有的串行通信协议,如
    的头像 发表于 08-14 10:27 8315次阅读
    <b class='flag-5'>串行</b>通讯与并行通讯讲解 <b class='flag-5'>RS</b>232、<b class='flag-5'>RS</b>422、<b class='flag-5'>RS485</b><b class='flag-5'>通信协议</b>简介