目录

  • 1 课程简介
    • 1.1 课程简介
    • 1.2 课程标准
    • 1.3 职业证书对接
    • 1.4 课程分工
  • 2 数据采集
    • 2.1 数据采集之数字量传感数据采集
    • 2.2 数据采集之模拟量传感数据采集
    • 2.3 数据采集之模拟量转换为数字量
    • 2.4 数据采集之开关量传感数据采集
  • 3 STM32微控制器基本外设应用开发
    • 3.1 STM32基础知识
    • 3.2 任务1 开发环境搭建和工程建立
    • 3.3 任务2 LED流水灯应用开发
    • 3.4 任务3 按键控制LED灯亮灭
    • 3.5 任务4 串行通信控制LED流水灯应用开发
    • 3.6 任务5 电池电量检测应用开发
  • 4 RS-485总线通信应用
    • 4.1 RS-485基本知识
    • 4.2 RS-485通信协议及网关通信协议
    • 4.3 Modbus通信协议
    • 4.4 任务1 案例分析及工程代码编写
    • 4.5 任务2 系统搭建及云平台项目创建
  • 5 CAN总线通信应用
    • 5.1 CAN总线基本知识
    • 5.2 CAN通信帧
    • 5.3 CAN控制器和收发器
    • 5.4 任务1 案例分析及工程代码编写
    • 5.5 任务2 系统搭建及云平台项目创建
    • 5.6 任务3 CAN通信数据抓包与解析
  • 6 BasicRF的无线通信应用
    • 6.1 BasicRF基础知识
    • 6.2 任务1创建工程项目
    • 6.3 任务2 温湿度节点数据采集
    • 6.4 任务3 火焰节点数据采集
    • 6.5 任务4 传感器节点组网
    • 6.6 任务5 传感数据汇聚
  • 7 WiFi数据通信
    • 7.1 WI-FI基础知识
    • 7.2 使用AT指令配置WI-FI工作模式
    • 7.3 WI-FI接入云平台
  • 8 NB-IoT联网通信
    • 8.1 NB-IoT技术简介
    • 8.2 利尔达NB-IoT模组介绍
    • 8.3 任务1 “智慧路灯”AT指令代码编写
    • 8.4 任务2.烧写智能路灯
    • 8.5 任务3NB-IoT接入云平台
  • 9 LoRa 通信技术
    • 9.1 基础知识
    • 9.2 项目分析与LoRa驱动移植
    • 9.3 任务2 LoRa温湿度传感器节点应用程序开发
    • 9.4 任务3 LoRa光照传感器节点数据采集
    • 9.5 任务4 LoRa网关节点汇聚传感器数据
    • 9.6 讨论
RS-485通信协议及网关通信协议
  • 1 知识介绍
  • 2 PPT
  • 3 学习视频
  • 4 匠人匠心

RS-485通信协议及网关通信协议

一、RS-485通信协议

通信协议分为两部分,分别是硬件层协议和软件层协议,其中硬件层协议主要就是为了解决数据传输等问题,比如RS-232、RS-485、CAN总线等;软件层协议有Modbus协议等。

通信协议简介


3-16通信协议概述


(一)硬件层协议

硬件层协议如RS232、RS485、CAN、IIC 、SPI等,主要是解决数据怎么传的问题。如发送1给对方,约定传输线路的电压应该是多少伏等,即都是解决0 和1 怎么传送的问题。

图 3-17展示的是硬件层三种传输方式:第一种为USART直连式:TTL电平是处理器控制的设备内部各部分之间通信的标准技术,STM32F1x系列的单片机以3.3V作为逻辑“1”,0V等价于逻辑“0”。TTL电平是单片机常用的USART通信方式。第二种是RS-232连接式:其逻辑1范围为-3V~-12V,逻辑0范围为+3~+12V,需要电平转换芯片实现转换。最后是RS-485连接式:采用差分信号负逻辑,逻辑“0”以两线间的电压差为+(2~6)V表示;逻辑“1”以两线间的电压差为-(2~6)V表示。RS-485的传输距离最长能达到1000M,RS-232为20M,USART为2M。USART是一种协议方式,根据不同电平方式分为RS-232和RS-485。

硬件层传输示例3-17硬件层传输示例

RS-485采用差分传输方式,也称作平衡传输;它使用一对双绞线,一线定义为A,另一线定义为B;A、B线之间电平在+2~+6V,为逻辑“0”; A、B线之间电平在-2 ~ -6V,为逻辑“1”。

RS485通信协议3-18RS485通信协议

TTL和485都是解决0和1怎么传送的问题,TTL的处理方式是当输出为0时,这条线的电压小于0.4V;输出为1时,大于2.4V。因为一个是信号线,一个是地线,所以TTL信号线上的干扰信号会跟随有效信号传到接收端,为了减少干扰,接一个485。485是通过硬件层的芯片把TTL的一根信号线变成两根信号线A和B,如果A比B电压高,则发送1,否则发送0。

TTL与RS485


3-19TTL与RS-485


差分传输方式的意义就在于它能够极大的减少各种干扰,在接收端,由于其接收器是把正负信号相减的结果做为逻辑判决的依据,因此即使信号线上有严重的共模噪声或者地电平的波动,对于最后的逻辑电平判决影响很小。如图 3-20所示,无干扰时(DT)=(D+)-(D-),有干扰时(DT)=[(D+)+Noise]-[(D-)+Noise] =(D+)-(D-)。

差分传输方式3-20差分传输方式

二、RS-485网络实现方式

RS-485一般采用带有终端匹配的总线型结构(也称“手拉手”方式),不支持环形或星形网络。值得注意的是:总线的不同区段采用了不同电缆;各分支引出线过长;不接终端电阻(120欧)尽量远离动力线,尤其避免平行走线;单独走镀锌线管。

RS-485网络的拓扑结构示意图3-21RS-485网络的拓扑结构示意图

图 3-22A、B、C为错误连接方式;D、E、F为正确连接方式。

RS-485总线正确及错误连接方式3-22RS-485总线正确及错误连接方式

RS-485网络线材选择主要采用“屏蔽双绞线(STP)”组网,双绞线的优点就是抗干扰能力强,作为数据传输协议,最重要的就是保证数据的稳定性和准确性,所以抗干扰也是很重要的一环,RS-485为半双工,只需一对平衡差分信号线。

RS-485网络线材3-23RS-485网络线材

RS-485工业总线标准要求各设备之间采用链条式连接方式,两头必须接有120Ω终端电阻。但是在通信过程由于阻抗不连续和阻抗不匹配会导致信号反射,在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续;普通双绞线的特性阻抗为120欧,所以终端电阻一般选择120欧;在设备少距离短的情况下可不加终端电阻(小于300米)。

在RS-485网络施工中需要注意以下4点:第一是在条件允许的情况下,RS-485网络可采用“多股屏蔽双绞线”,多股是为了备用,屏蔽是为了便于出现特殊情况时调试;第二是RS-485总线一定要用手牵手式的总线结构,坚决避免星型连接和分叉连接;第三是设备供电的交流电及机箱一定要真实接地,确保接地良好,以防止雷击、浪涌冲击等意外情况损坏485设备;第四是为避免强电对其干扰,485总线应避免和强电走在一起。

三、RS-485与主从协议

软件层协议,即通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途)。主从模式有如下规定:第一是系统中只能有一个主机;第二是任何时候所有从机不能给主机主动发送数据。

RS-485主从模式示意图3-24RS-485主从模式示意图

第三是上电后所有设备处于接收状态(监听),等待数据信号的来临;第四是主机要发送数据,先把自己设置为发送状态(通过改指定IO口的电平为1),发送结束设置为接收状态;第五是从机接收到数据后,改为发送状态,因为要回应数据给主机。回应结束要改为接收状态。

RS-485引脚示例3-25RS-485引脚示例

四、网关协议

网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关协议又分为外部网关协议和内部网关协议。

(一)外部网关协议

外部网关协议又简称为BGP,它的主要功能是控制路由策略,如是否愿意转发过路的分组等。BGP的报文通过TCP连接传送。BGP报文可实现以下3个功能过程:

1.建立邻居关系

位于不同的自治系统中的两个路由器首先要建立邻居关系,然后才能周期性地交换路由信息。建立邻居关系地过程是:一个路由器发送open报文,另一个路由器若愿意接收请求,则以keepalive(保持活动状态)报文应答.

2.邻居可达性

这个过程维护邻居关系地有效性。通过周期性地互相发送keepalive报文,双方都知道对方的活动状态.

3.网络可达性

每个路由器保持一个数据库,记录着它可到达的所有子网。当情况有变化时,用更新报文把最新信息及时地广播给所有实现BGP的路由器。

(二)内部网关协议

内部网关协议又分为RIP和OSPF,Internet的内部路由协议经过了几次大的变化。最初的RIP(路由选择信息协议)是基于Bellman-Ford算法的延迟矢量协议。这个协议规模不大时工作得较好,当网络规模扩大后,因为交换的路由信息太多而显得效率很低。于是,在1979年5月被另一个路由协议——基于Dijkstra算法的链接状态协议所取代。从1988年开始,IETF开始研制新的路由协议,这就是OSPF(开放最短路径优先)协议。1990年,OSPF正式成为新的内部路由协议标准。OSPF基本上仍是一种链路状态协议。