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

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

3天内不再提示

什么是rs485总线总线通讯协议?

GReq_mcu168 来源:互联网 作者:佚名 2017-11-06 10:06 次阅读

RS485缺点:

RS485总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据冗余量较大,对于速度要求高的应用场所不适应用RS485总线。同时由于RS485总线上通常只有一台主机,所以这种总线方式是典型的集中分散型控制系统。一旦主机出现故障,会使整个系统的通信限于瘫痪状态,因此做好主机的在线备份是一个重要措施。

**传统光电隔离的典型电路:

VDD+5V1VCC485)是两组不共地的电源,一般用隔离型的DC-DC来实现。通过光耦隔离来实现信号的隔离传输,ISL3152EIBZMCU系统不共地,完全隔离则有效的抑制了高共模电压的产生,大大降低485的损坏率,提高了系统稳定性。但也存在电路体积过大、电路繁琐、分立器件过多,传输速率受光电器件限制等缺点,对整个系统的稳定性也有一定影响。

***RXD1 :串口接收端

***TXD1 :串口传输端

***TRE1 :为控制位:控制发送还是接收数据;

TRE1=1(高电平时),光耦电路121截止,/RE=1(无效)DE=1(有效),即发送数据;

TRE=0 (低电平时),光耦电路导通,/RE=0(有效),即接收数据,DE=0(无效)

/RE: 485接收端

DE:485发送端

第一步,配置好串口发送、接收端引脚和485控制引脚;

因为RXD1引脚相对于STM32芯片来说是接收外来数据,所以设置为输入;

TXD1引脚相对于STM32芯片来说是对外发送数据,所以设置为输出;

TRE1 引脚是对外发送“1”或“0”高低电平命令,所以设置为输出;

第二步:发送数据

这里需要注意的是:

/* CPU的小缺陷:串口配置好,如果直接Send,则第1个字节发送不出去

如下两个方法语句解决第1个字节无法正确发送出去的问题 */

方法一:USART_ClearFlag(USART3, USART_FLAG_TC); /*清发送完成标志,Transmission Complete flag */

方法二:/*获取串口1状态标志位*/

USART_GetITStatus(USART1, USART_FLAG_TC);

刚上电时出现乱码的原因:

while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); // USART_FLAG_TXE---检测发送数据寄存器空标志位

如果USART_FLAG_TC---发送完成标志位

(1)当设为USART_FLAG_TXE---检测发送数据寄存器空标志位为空,但是发送移位寄存器不为空,数据还没有完全的发送出去,又有数据就被写进来了,所以就会容易出现乱码;

(2)当设为USART_FLAG_TC—检测发送完成标志位为空,即发送移位寄存器为空,数据才真正的发送出去,因此此时又有数据被写进来也不会发生乱码

STM32的数据发送有两个中断标志,一个是发送数据寄存器空标志,一个是发送完毕标志。两个标志都可以引起中断.

要以中断的方式发送一个数据包,流程是这样的:

1.设置RS485的方向为发送,使能发送寄存器空中断,使能完毕进入串口中断。

2.串口中断里读取串口状态,并填充一个数据到发送数据寄存器,硬件自动清除发送数据寄存器空标志,串口数据发送开始。

3.串口发送完一个数据,发送数据寄存器变空,再进入中断,继续填充下一个数据,直到最后一个数据填充完,使能串口

发送完毕中断。

4.最后一个数据发送完毕,再次进入中断,清除发送数据寄存器空标志,清除发送完毕中断标志,清除这两个中断标志

的使能位,设置RS485的方向为接收.

485芯片的通信中,尤其要注意对485控制端DE的软件编程。为了可靠工作,在485总线状态切换时需要做适当延时,再进行数据收发。具体的做法是在数据发送状态下,先将控制端置“1”,延时1ms左右的时间,在发送有效的数据,一包数据发送结束后再延时1ms后,将控制端置“0”,这样处理会使总线在状态切换时,有一个稳定的工作过程。

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

    关注

    3

    文章

    94

    浏览量

    18942
  • 光耦隔离
    +关注

    关注

    7

    文章

    39

    浏览量

    14518
  • isl3152eibz
    +关注

    关注

    0

    文章

    1

    浏览量

    2482

原文标题:STM32菜鸟成长记录---RS485通讯协议的应用

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN总线RS485总线协议转换器的设计

    协议转换器完成RS485与CAN协议的相互转换,完成数据的双向传输,并能通过RS232接口连接到上位机,通过上位机的人机交互软件可以实现对RS48
    发表于 02-08 15:28 1.1w次阅读
    CAN<b class='flag-5'>总线</b>与<b class='flag-5'>RS485</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>转换器的设计

    rs485总线隔离应用与选型指南

    一、RS485总线介绍   RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。在一些要求通信
    发表于 07-27 11:08

    如何长期监控RS485总线通讯

    逻辑分析仪如何才能长期监控RS485总线通讯呢?
    发表于 05-07 07:18

    请问如何诊断RS485总线通讯不稳定的现场问题?

    RS485总线的基本特性是什么?RS485总线的传输距离是多少?RS485总线在现场应用中常见的
    发表于 05-20 07:00

    RS485总线特点

    智能仪表在要求通信距离为几十米到上千米时,通过RS485通讯连成现场网络,满足企业信息化的需要。RS485总线特点1、RS485的最高数据传
    发表于 07-26 06:41

    提高RS485总线通信速度的设计

    介绍一种通信总线RS485主从通信方式,提高RS485总线采集速度的方法,该方法解决了主从式通信慢的缺点,提高通信速度,运行稳定、可靠。关键词:RS
    发表于 04-12 00:37 44次下载
    提高<b class='flag-5'>RS485</b><b class='flag-5'>总线</b>通信速度的设计

    RS485总线接口电路

    RS485总线接口电路     测试仪通过RS485工业总线与PC机进行通信,其硬件接口电路如图5所示。
    发表于 05-13 11:59 3734次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b>接口电路

    RS485总线典型电路介绍

    RS485总线典型电路介绍
    发表于 08-10 13:52 10.9w次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b>典型电路介绍

    rs485通讯协议

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

    RS485协议简介,rs485通讯总线协议应用及缺点分析

    s485通讯协议总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避
    发表于 10-31 11:14 1.9w次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>协议</b>简介,<b class='flag-5'>rs485</b><b class='flag-5'>通讯</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>应用及缺点分析

    RS485总线通讯技术及基于PC的DCS的研究与应用

    采用 RS485 总线通讯技术,利用电子设备本身的资源,提出了一种基于个人计算机的低成本集散系统解决方案,应用于多家水泥厂的配料生产线控制,效果良好,取得了较大的经济和社会效益。 基础控制计算机也
    发表于 11-10 16:56 3次下载

    KNX总线RS485总线的区别是什么

    在物联网智能有线的协议中,应用最广泛的两种协议就是KNX总线RS485总线
    发表于 06-15 17:16 1.8w次阅读

    STM32CubeMX | 37 - 使用RS485总线进行双板通信(SP3485)

    通讯协议RS-232 协议改进而来,将物理层改为了差分信号进行传输,所以具备抗干扰能力强、传输距离远的特点,广泛应用于噪声干扰较大的工业控制环境中。
    发表于 12-13 16:45 22次下载
    STM32CubeMX | 37 - 使用<b class='flag-5'>RS485</b><b class='flag-5'>总线</b>进行双板通信(SP3485)

    RS485总线应用及常见问题

    RS485总线应用及常见问题
    的头像 发表于 05-06 09:28 1639次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b>应用及常见问题

    RS485总线防雷保护电路

    RS485总线防雷保护电路 SM712
    的头像 发表于 06-21 14:41 2745次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b>防雷保护电路