RS485组网通信实验

合集下载

实验五 485实验

实验五 485实验

基于EIA-485总线的多机数据通信实验一、实验目的1.理解RS485串口通讯原理2.掌握RS485串口通讯硬件连接3.掌握基本的主从式通讯网络的搭建4.理解协议的概念5.掌握简单的协议的收发原理6.学会在ARM开发板上编写程序实现简单协议的收发二、实验设备硬件:RS485通信模块、EasyArm2200开发套件、实验连接跳线软件:ADS1.2集成开发环境三、实验原理1.RS485原理RS485采用平衡发送和差分接收,具有抑制共模干扰的能力,加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。

RS485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。

接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。

RS485采用半双工工作方式,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输,数据最高传输速率为10Mbps。

任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。

RS485用于多点互连时非常方便,可以省掉许多信号线。

应用RS485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

EasyArm2200开发套件上自带有RS232串口,所以需要使用扩展模块。

选用MAX485芯片,其引脚图如下:图1:MAX485接口引脚图其中各个引脚的功能如下:图2 EIA-485接口模块引脚说明其典型的组网连接图如下:图3 典型组网连接示意图其中电阻为120欧姆,并且将RE与DE相连,是为了更好的控制串口的收发,当ARM 的GPIO输出高电平时,处于发送状态,此时接收被禁止;反之亦然。

2.通讯协议所谓通信协议是指通信双方的一种约定。

约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。

实验11:RS485通信

实验11:RS485通信

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOG,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3; //RX-485
//串口输入
PA3
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
*函数名
: rs485_init
* 函数功能
: IO 端口及串口 2,时钟初始化函数
*输 入
:无
*输 出
:无
*********************************************************************
**********/
void rs485_init()
我们 STM32 开发板上采用 SP3485 作为收发器,该芯片支持 3.3V 供电,最大传输速度 可达 10Mbps,支持多达 32 个节点,并且有输出短路保护。该芯片的框图如图所示:
图中 A、 B 总线接口,用于连接 485 总线。 RO 是接收输出端, DI 是发送数据收入 端, RE 是接收使能信号(低电平有效), DE 是发送使能信号(高电平有效)。
//使能
NVIC_Init(&NVIC_InitStructure);
}
2) 中断函数
void USART2_IRQHandler(void) //485 通信中断函数
{
static u8 k;
USART_ClearFlag(USART2,USART_FLAG_TC);
if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET)//检查指定的

RS485通讯实验

RS485通讯实验

RS485通讯实验与CAN 类似,RS-485 是一种工业控制环境中常用的通讯协议,它具有抗干扰能力强、传输距离远的特点。

RS-485 通讯协议由RS-232 协议改进而来,协议层不变,只是改进了物理层,因而保留了串口通讯协议应用简单的特点。

RS-485 协议主要是把RS-232 的信号改进成差分信号,从而大大提高了抗干扰特性。

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

发送数据时,串口控制器的TX 信号经过收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信号转化成TTL 信号通过RX引脚传输到串口控制器中。

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

RS-485 与RS-232 的差异只体现在物理层上,它们的协议层是相同的,也是使用串口数据包的形式传输数据。

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

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

基于485总线的双机通信实验程序和电路图

基于485总线的双机通信实验程序和电路图

课程名称现场总线(实验三)专业班级电信1012学号2010118504150学生姓名朱胜强指导教师范玉刚实训地点德信楼2013 年5 月10 日基于485总线的双机通信实验一、实验目的1、理解基于485总线的51系列单片机通讯原理。

2、理解现场仪表的通讯过程二、实验内容1、使用串口实现单片机1与单片机2的数据通信,实现互相控制。

要求按下单片机1系统板上的按键,单片机2系统板上LED点亮。

三、实验环境1、编程软件keil2、仿真软件proteus四、实验原理MAX487芯片用于电平转换,实现RS487电平与TTL电平(单片机)的互相转换。

本次实验单片机之间通信不使用握手信号,只需3根信号线:TXD(发送线),RXD(接收线),GND(地线)。

单片机之间通信的原理图如图1所示,当单片机1(主机) 查询外接控制开关S3按下时,单片机1发送一个自定义信号给单片机2(从机),单片机2收到信号后点亮指示灯LED4。

图1 单片机之间通信的原理图五、实验过程实验程序:#include<reg52.h>#define uchar unsigned char //宏定义#define unit unsigned int //宏定义sbit anjian=P1^0; //定义按键的位sbit re=P1^1; //MAX487的读写使能控制位unsigned char rec_c;uchar num;uchar code table[]={0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示数//延时函数void delay(unit z){unit x,y;for(x=z;x>0;x--);for(y=110;y>0;y--);}//主函数void main(){TMOD=0x20; //定时器1工作方式2TH1=0xFD; //11.0592Mhz 9600bpsTL1=0xFD;TR1=1; //启动定时器1SCON=0x50; //模式1:8位数据可变波特率,允许接收EA=1; //打开总中断ES=1; //打开串口1中断re=0;P0=0xff;while(1){if(anjian==0) //判断按键{delay(5);if(anjian==0) //按键消抖动{while(!anjian);re=1; //使MAX487能写num=num+1;if(num==11){num=0;}ES = 0; //关串口中断SBUF=table[num]; //发送值while(!TI); //判断发送是否完成TI=0; //发送完成标志位清零ES = 1; //打开串口中断re=0;}}}}//中断接收函数void rec() interrupt 4{RI=0; //清除串口中断接收标志位rec_c=SBUF; //读串口缓冲区值P0=rec_c; //数码管显示}实验仿真电路图:六、体会与总结这个实验应该是这几个实验中最难的一个了,也是我费了很长的时间才出来的结果,到最后的结果页是发送和接收这个功能是正常了,就是发送自己这边的数码管显示会变成8,对方的接收是正常。

实验5——485总线及Modbus通讯协议实验

实验5——485总线及Modbus通讯协议实验

课程名称:嵌入式软件技术开课机房:11号机房2012年4月24日星期二8:10~11:35一、实验任务与实验目的二、报告内容Freemodbus是modbus协议在嵌入式处理器上的实现。

包括AVR,PIC,WIN32等等平台。

它是开放性源代码,可用于商业目的。

它实现了Modbus RTU/ASCII、TCP三种传输方式,当前版本是1.5,支持以下功能:∙读输入寄存器(0x04)∙读保持寄存器(0x03)∙写单个寄存器(0x06)∙写多个寄存器(0x10)∙读/写多个寄存器(0x17)∙读取线圈状态(0x01)∙写单个线圈(0x05)∙写多个线圈(0x0F)∙读输入状态(0x02)∙报告从机标识(0x11)本实现基于最新的标准并且与标准完全兼容。

接收和传输Modbus RTU/ASCII数据帧是通过一个由硬件提取层的调用来驱动状态机实现的。

这就使得协议非常容易移植到其他的平台之上。

当接收一个完整的数据帧后,该数据帧被传入Modbus应用层,数据帧的内容在该层内得到解析。

为方便地增加新的Modbus功能,Freemodbus在应用层提供了钩子函数Hooks。

如果用到了Modbus TCP协议,那么当准备处理一个新数据帧的时候,移植层就必须首先向协议层发送一个事件标志。

然后,协议栈调用一个返回值为接收到的Modbus TCP数据帧的函数,并且开始处理这个数据帧。

如果数据有效,则响应的Modbus反馈帧将提供给移植层生成反馈帧。

最后,该反馈帧被发送到客户端。

二、实现FreeModbus协议所需要的软/硬件需求Modbus协议对硬件的需求非常少——基本上任何具有串行接口,并且有一些能够容纳modbus 数据帧的RAM的微控制器都足够了。

∙一个异步串行接口,能够支持接收缓冲区满和发送缓存区空中断。

∙一个能够产生RTU传输所需要的t3.5 字符超时定时器的时钟。

对于软件部分,仅仅需要一个简单的事件队列。

The STR71X/FreeRTOS 移植使用FreeRTOS 队列作为事件队列来减少Modbus 任务所需要的时间。

RS485总线通信系统的设计及实现毕业论文

RS485总线通信系统的设计及实现毕业论文

RS485总线通信系统的设计及实现毕业论⽂本科学⽣毕业论⽂论⽂题⽬:RS485总线通信系统的设计与实现学院:年级:专业:姓名:学号:指导教师:摘要⽆论是⼯业控制还是信号测试领域,实现不同通讯协议的数据融合都有着迫切需要。

但是⽬前市场中存在的协议转换器只能满⾜两种协议之间的转换,如RS485转RS232,USB转RS485等,但是经常存在着多种数据总线并存的情况,因此研制多种总线协议转换的设备有着⽐较⼤的实际意义。

除此之外,⽬前接⼝标准的RS485总线通信协议不统⼀,需设计⼀个⾼效稳定的通信协议。

基于以上原因,本论⽂提出⼀种基于⾼速RS485的多总线通信系统。

整个系统包含多个RS485节点,各个节点包含的通讯接⼝包括RS232,RS485和USB,从⽽实现这三类总线的通讯协议的转换。

设计并实现了⼀种适⽤于微机和单⽚机之间串⾏通信的通信协议,采⽤RS485简便,通信可靠性⾼总线标准,可⽤于⼯业测控和控制现场。

实验结果表明,该通信协议是切实可⾏的,达到了预期的设计要求。

关键词RS485总线;主从式;多机通信;通信协议AbstractWhether in the field of industrial control or signal test, the achievement of data fusion which is based on different communication protocol is urgent needed. However, in the current market, protocol converter can only achieve conversion between two protocols, such as RS485 to RS232, USB to RS485 and so on. Cases of coexistence data bus, it has great practical significance to develop an equipment for protocol conversion among different buses.Based on the reasons above, a high-speed RS485-based multi-bus communication system is presented in this paper. The entire system which is used to realize the three categories of bus communication protocol conversion consists of someRS485 nodes, each node contains the communication interfaces including RS232, RS485 and USB. In the practical application, the number of nodes can be changed as required to formsystem, for achievement of data fusion between a variety of bus communication protocol.Key wordsRS485 bus; Serial Bus; Protocol Conversion; Communication protocol⽬录摘要............................................................................................................................. I Abstract .....................................................................................................................II 第⼀章绪论 (1)1.1 研究背景及意义 (1)1.2 RS485总线通信系统研究现状 (2)第⼆章RS485介绍 (4)2.1 RS485标准 (4)2.2 MAX485芯⽚介绍 (4)2.3 RS485总线组⽹⽅式 (5)2.4 RS485⽅式构成的多机通信原理 (5)第三章系统协议及硬件设计 (7)3.1 RS485通信协议设计 (7)3.1.1 物理层设计 (7)3.1.2 数据链路层设计 (8)3.1.3 应⽤层设计 (8)3.1.4 通信协议 (8)3.2 系统硬件设计 (10)3.2.1 PC与RS485总线的接⼝ (10)3.2.2 RS485⽅式构成的多机通信 (10)3.2.3 单⽚机与PC机串⾏通信系统构成 (11)第四章系统的软件实现 (12)4.1 上下位机的关系 (13)4.2 下位机通信软件的设计 (14)4.3 上位机通信软件的设计 (16)4.3.1 通信协议设计 (16)4.3.2 多机传输 (17)4.3.3 差错控制 (18)4.4 程序设计 (19)第五章系统问题解决措施 (20)5.1 总线隔离 (20)5.2 失效保护 (20)5.3 电磁⼲扰问题 (20)结论 (22)参考⽂献 (23)致 (24)第⼀章绪论所谓通信,不仅仅要实现数据的传输,更应该体现准确性,也称可靠性传输,最好具有⼀定的纠错和检错能⼒。

基于RS485通信协议实验

基于RS485通信协议实验

基于RS485通信协议实验报告一、实验名称基于RS485通信协议设计与分析二、实验目的及要求基于RS485接口标准设计通信协议,协议具体要求如下:1、定时数据通信:每秒钟每台计算机分别交换10、20、30、40、50个字节的数据。

2、广播通信:每十秒中,发布广播数据对各个计算机的时钟进行同步。

3、错误检测:CRC错误检测,有错误时,采用相应的错误处理程序。

4、网络管理:随时获知网络中各节点的工作状态,当有节点故障退出网络或新的节点加入网络时,能够记录网络状态。

5、数据记录:在任一个网络节点上,都可以实时记录本节点的数据,并以曲线形式观察当前和历史数据及节点的工作状态三、实验分析1、串行通信接口的基本任务所谓通信协议是指通信双方的一种约定。

约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。

因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。

(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。

在异步通信方式下,接口自动生成起止式的帧数据格式。

在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。

(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。

所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。

因此串并转换是串行接口电路的重要任务。

(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。

(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。

在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。

(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。

实现基于rs485通信协议的远程智能消防监测实验总结

实现基于rs485通信协议的远程智能消防监测实验总结

实现基于rs485通信协议的远程智能消防监测实验总结
基于RS485通信协议的远程智能消防监测实验总结如下:
该实验旨在设计一种基于RS485通信协议的远程智能消防监测系统,实现对火灾风险的实时监测与预警。

下面是该实验的总结:
1. 系统设计:首先,根据消防监测系统的需求,设计系统的硬件和软件部分。

硬件部分包括传感器、RS485通信模块、主控单元和显示设备等。

软件部分包括系统的逻辑控制和数据处理算法等。

2. 连接与通信:搭建系统硬件并连接各个模块,使用RS485通信协议进行数据传输。

确保各个设备之间的通信稳定可靠。

3. 数据采集与处理:通过消防传感器采集环境数据,如温度、烟雾浓度等,并将数据传输至主控单元。

主控单元对数据进行处理,并根据预设的报警规则进行报警判断。

4. 远程监测与控制:将处理后的数据通过RS485通信协议传输至远程监测终端,实现对消防监测系统的远程监测与控制。

5. 实验结果与分析:对实验中采集到的数据进行分析与处理,评估系统的监测与控制效果。

根据实验结果,可以对系统进行进一步优化改进。

总的来说,基于RS485通信协议的远程智能消防监测实验提供了一种可靠的方法,能够实时监测火灾风险并及时采取相应的措施。

该实验为进一步开发消防监测系统提供了指导和参考。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三十 RS485组网通信实验
一、实验目的
1、学习RS485组网通信基本原理。

二、实验内容
利用3块以上MSP430单片机开发模块实现RS485组网通信,在主机模块上通过液晶屏显示各节点采集的片内温度,同时通过上位机的串口调试助手进行同步显示。

三、实验仪器
传感器检测技术综合实验台、MSP430单片机开发模块(3块以上)、显示与键盘模块(3块以上)、MSP430仿真器、A+B型USB连接线、杜邦线、导线。

四、实验原理
RS485采用差分信号负逻辑,+2V~+6V表示逻辑0,-6V~-2V表示逻辑1,RS485接口采用差分方式传输信号。

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,两线制可以构成总线式拓扑结构,在同一总线上可以挂接32个节点,RS485通信网络中通常采用主从式通信方式(如图30-1所示),机一个主机带多个从机。

一般情况下,连接RS485通信链路使用一对双绞线将各个接口的A、B端分别连接,严格来说还应该将信号地连接在一起。

RS485总线通信距离理论值为1200m,实际应用还受通信环境的影响,RS485在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加8个中继。

图30-1 主从式通信结构图
五、注意事项
1、实验操作中不要带电插拔导线,熟悉原理后,按照接线示意图接线,检查无误后,方可打开电源进行实验。

2、实验中严禁将5V信号线与MSP430单片机IO口直接连接
3、严禁电源对地短路,模块间共地。

4、从机地址为2~30,同一个网络中从机的地址不能相同。

六、实验步骤
1、用导线将主台体上的+15V、GND对应连接到显示与键盘模块,+5V、GND连接到MSP430单片机开发模块(连线之前确保电源开关处于关闭状态)。

2、按照图30-2将显示与键盘模块与MSP430单片机开发模块相连。

图30-2 连线示意图
3、选取其中一个MSP430单片机开发模块作为主机,使用串口线将COM3与PC机的串口相连,并连接MSP430仿真器。

4、打开台体电源和连接仿真器的MSP430单片机开发模块,打开“RS485组网通信”->“主机”->RS485.eww,配置开发环境,编译下载。

下载成功后,关闭MSP430模块电源,拔下仿真器。

5、MSP430仿真器连接另一块MSP430单片机模块,打开该模块电源,打开“RS485组网通信”->“从机”->RS485.eww,修改程序中的宏定义“SlaverID”的值(目前程序支持2~32,修改过程中值不能重复),编译成功后下载程序,下载成功后,关闭MSP430模块电源,拔下仿真器。

6、重复操作步骤5直到所有准备组网的模块均成功下载程序位置。

7、关闭所有电源,将RS485总线分别与MSP430单片机开发模块中的COM1相连,主机所有的A连接在一起,所有的B连接在一起。

8、确认连线无误后,打开上位机串口调试助手,设置串口号为“COM1”,波特率9600,
其他保持不变,然后打开台体和所有模块的电源,观察实验现象。

9、实验完毕后,关闭所有电源开关并整理好实验台。

七、思考题
1、实验原理中提到,通常RS485组网只是将RS485接口的A、B分别连接在一起,通常情况下可以正常工作,从理论的角度分析其中存在的两个问题?
2、如何修改实验程序,实现外接传感器采集多种参数?。

相关文档
最新文档