第41章 RS-485通讯实验—零死角玩转STM32-F429系列

 

41     RS-485通讯实验

全套200集视频教程和1000PDF教程请到秉火论坛下载:www.firebbs.cn

野火视频教程优酷观看网址:http://i.youku.com/firege

 

 

 

本章参考资料:《STM32F4xx中文参考手册》USART章节。

学习本章时,配合本书前面的《USART—串口通讯》及《CAN—通讯实验》章节进行对比学习,效果更佳。

关于实验板中使用的MAX485收发器资料可查阅《MAX485》规格书了解。

41.1 RS-485通讯协议简介

CAN类似,RS-485是一种工业控制环境中常用的通讯协议,它具有抗干扰能力强、传输距离远的特点。RS-485通讯协议由RS-232协议改进而来,协议层不变,只是改进了物理层,因而保留了串口通讯协议应用简单的特点。

41.1.1 RS-485的物理层

从《CAN—通讯实验》章节中了解到,差分信号线具有很强的干扰能力,特别适合应用于电磁环境复杂的工业控制环境中,RS-485协议主要是把RS-232的信号改进成差分信号,从而大大提高了抗干扰特性,它的通讯网络示意图见图 411

411 RS-485通讯网络示意图

对比CAN通讯网络,可发现它们的网络结构组成是类似的,每个节点都是由一个通讯控制器和一个收发器组成,在RS-485通讯网络中,节点中的串口控制器使用RXTX信号线连接到收发器上,而收发器通过差分线连接到网络总线,串口控制器与收发器之间一般使用TTL信号传输,收发器与总线则使用差分信号来传输。发送数据时,串口控制器的TX信号经过收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信号转化成TTL信号通过RX引脚传输到串口控制器中。

RS-485通讯网络的最大传输距离可达1200米,总线上可挂载128个通讯节点,而由于RS-485网络只有一对差分信号线,它使用差分信号来表达逻辑,当AB两线间的电压差为-6V~-2V时表示逻辑1,当电压差为+2V~+6V表示逻辑0,在同一时刻只能表达一个信号,所以它的通讯是半双工形式的,它与RS-232通讯协议的特性对比见图 411

411 RS-232/422/485 标准对比

通讯标准

信号线

通讯方向

电平标准

通讯距离

通讯节点数

RS232

单端TXDRXDGND

全双工

逻辑1-15V~-3V

逻辑0+3V~+15V

100米以内

只有两个节点

RS485

差分线AB

半双工

逻辑1-6V~-2V

逻辑0+2V~+6V

1200

支持多个节点。支持多个主设备,任意节点间可互相通讯

RS-485RS-232的差异只体现在物理层上,它们的协议层是相同的,也是使用串口数据包的形式传输数据。而由于RS-485具有强大的组网功能,人们在基础协议之上还制定了MODBUS协议,被广泛应用在工业控制网络中。此处说的基础协议是指前面串口章节中讲解的,仅封装了基本数据包格式的协议(基于数据位),而MODBUS协议是使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节)。感兴趣的读者可查找MODBUS协议的相关资料了解。

由于RS-485RS-232的协议层没有区别,进行通讯时,我们同样是使用STM32USART外设作为通讯节点中的串口控制器,再外接一个RS-485收发器芯片把USART外设的TTL电平信号转化成RS-485的差分信号即可。

41.2 RS-485—双机通讯实验

本小节演示如何使用STM32USART控制器与MAX485收发器,在两个设备之间使用RS-485协议进行通讯,本实验中使用了两个实验板,无法像CAN实验那样使用回环测试(STM32 USART外设的TXD引脚使用杜邦线连接到RXD引脚可进行自收发测试,不过这样的通讯不经过RS-485收发器,跟普通TTL串口实验没有区别),本教程主要以"USART485通讯"工程进行讲解。

41.2.1 硬件设计

412 CAN通讯实验硬件连接图

4016中的是两个实验板的硬件连接。在单个实验板中,作为串口控制器的STM32USART外设引出TXRX两个引脚与RS-485收发器MAX485相连,收发器使用它的AB引脚连接到RS-485总线网络中。为了方便使用,我们每个实验板引出的AB之间都连接了1120欧的电阻作为RS-485总线的端电阻,所以要注意如果您要把实验板作为一个普通节点连接到现有的RS-485总线时,是不应添加该电阻的!

由于485

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值