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通信协议的远程智能消防监测实验提供了一种可靠的方法,能够实时监测火灾风险并及时采取相应的措施。

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

RS485实验一报告模板

RS485实验一报告模板

实验一基于RS485和牛顿模块的A/D、D/A实验一、实验目的和要求(1)熟悉RS485总线与牛顿模块的结构组成,了解其工作过程,认识其结构形式。

(2)熟悉牛顿模块的基本工作原理。

(3)掌握应用RS485和牛顿模块进行电压输出和电压采集的方法。

二、主要仪器设备计算机、R-8017、R-8024、R-8043D、R-8053、RS232转RS485模块、24V稳压源三、实验内容和原理(1)RS485网络分析RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。

很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。

而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:1>.共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。

但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。

当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。

2>.EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。

由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:1>.通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌同时带隔离栅的产品。

实验四 485与PC通信实验

实验四 485与PC通信实验

测控网络实验指导实验四485与PC通信实验一、实验目的(1)理解RS-485测控网络的原理PC与智能设备通讯多借助RS232、RS485RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。

在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想相互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是"从(Slave)"设备。

而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

(2)掌握利用单片机的TXD(Transmit Data 串行口发送数据输入端)、RXD (Receive Data串行口接收数据输入端)口,学习RS-485差分串行接口的使用。

(3)学习编写RS-485通信程序二、实验要求深刻理解MAX487芯片的作用,学会在单片机的串行口上使用MAX485是用于RS-485与RS-422通信的低功耗收发器采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。

它完成将TTL电平转换为RS-485电平的功能。

MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。

RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。

RS485实验指导书

RS485实验指导书

实验一实验板点对点通信【实验目的】1. 建立双机通信的概念2. 掌握单片机串行口通信的编程和调试方法。

3. 掌握异步串行通信的数据格式及数据协议设定。

【实验环境】PC机一台,keil开发环境一套,RS232通信线【实验重点及难点】串行口通信的程序的设计,以及硬件的连接数据通信的协议等。

【实验原理介绍】1.1 程序下载方式介绍1.1.1 RS232与上位机通信下载程序由于要从上位机中下载程序到单片机中,所以需要建立他们之间的通信线路。

本实验采用MAX232芯片,max232是一种把电脑的串行口rs232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片,下面介绍一下max232引脚图,看下面的图。

图3.1 max232引脚图本实验中采用11、12、13、14号管脚作输入输出,其中13、14与DB9连接,11、12与单片机连接。

1.1.2 485通信485通信的过程如下:从DB9接收数据,经过max485芯片实现电平转换,然后max485芯片经过高速光耦与单片机通信,将数据送入单片机中进行处理;处理完成后将数据返回至max485,再经DB9输出。

如此就可实现两单片机之间的通信或单片机与上位机间的通信。

下面介绍一下max485芯片接线方法,如下图示:图2 max485接线图其中1、4为输入输出管脚,经光耦与单片机连接,2、3为使能端,6、7为与外部通信接口。

1.2 MCU功能介绍本实验中选择stc12c5a60s2系列单片机,其管脚图如下:图3 tc12c5a60s2单片机管脚图stc12c5a60s2系列单片机是单时钟的单片机,增强型8051内核,速度比普通8051快8~12倍,宽电压:5.5~3.5V,2.2~3.8V,低功耗设计:空闲模式,掉电模式,工作频率:0~35MHz.时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。

全双工异步串行口,兼容8051的串口。

RS485总线通信实验

RS485总线通信实验
Tbuf[Tnum++]=asc[p&15];
}
uchar ChkLRC() //ok
{
uchar i,d,s=0;
for(i=0;i<Rnum-2;i++) s^=Rbuf[i];
d=AscByte(Rnum-2);
return s^d;
}
void SetLRC() //ok
{
uchar i,s=0;
while(1)
{
if(RECV)
{
RECV=0;
if(ChkLRC()==0)
{
w=AscByte(0);
if(w==Addr) ModbusASC();
}
}
}
}
}
else if(m==0x0D)
{
RECV=1;
}
else if(Rnum<40)
{
Rbuf[Rptr++]=m;
Rnum++;
}
}
if(TI)
{
TI=0;
if(Tnum>0)
{
SBUF=Tbuf[Tptr++];
Tnum--;
}
}
}
//////////////////////////////////////////////////////
for(i=0;i<Tnum;i++) s^=Tbuf[i];
ByteAsc(s);
Tbuf[Tnum++]=0x0d;
SBUF=0x40;
}
void serial() interrupt 4 using 2

基于rs485的串口通信编程实验心得

基于rs485的串口通信编程实验心得

基于RS485的串口通信编程实验心得一、实验背景1.1 RS485串口通信RS485是一种应用广泛的串行通信标准,它可以在远距离、高噪声环境下传输数据。

RS485串口通信使用差分信号传输数据,可以实现多机通信和多点通信,适用于工业控制领域和数据采集系统。

1.2 串口通信编程串口通信编程是利用计算机与外部设备进行数据交换的一种方式。

在实际应用中,我们可以通过串口与传感器、执行器等设备进行数据交互,实现对外部设备的监控和控制。

二、实验过程2.1 实验准备在进行RS485串口通信编程实验之前,我们需要准备一台计算机、RS485串口转换器、外部设备(如温度传感器、风速传感器等)以及相关的编程软件(如C、C++、Python等)。

2.2 硬件连接我们需要将RS485串口转换器与计算机连接,并将外部设备与RS485串口转换器连接。

在硬件连接上,需要注意信号线的接线方式,以及串口转换器的设置。

2.3 编程实现根据实验要求,我们可以选择合适的编程语言进行串口通信程序的编写。

在编程实现中,需要注意串口的初始化、数据的发送和接收、错误处理等方面的问题。

还需要考虑数据的解析和处理方法,保证数据的准确性和完整性。

2.4 调试测试编写完成串口通信程序之后,需要进行调试测试,确保程序能够正常运行。

在测试过程中,我们可以通过监控数据的发送和接收情况,以及外部设备的响应情况,来验证程序的正确性。

三、实验心得3.1 技术难点在进行RS485串口通信编程实验的过程中,我们遇到了一些技术难点。

在设置串口参数时,需要对波特率、数据位、停止位、校验位等参数进行正确的配置,以保证数据的准确传输;另外,在数据的解析和处理过程中,也需要针对不同的数据格式进行相应的处理,确保数据的正确解析。

3.2 解决方法针对技术难点,我们通过查阅资料、交流专家以及不断的实践和调试,最终找到了相应的解决方法。

在串口参数设置方面,我们可以参考数据手册或相关资料,了解串口参数的含义和设置方法;在数据解析和处理方面,我们可以根据数据格式和协议,编写相应的解析程序,以实现数据的准确解析和处理。

39. RS485通信实验

39. RS485通信实验
RS232/RS485转换器如图
普中STM32开发板带您进入ARM世界
2.硬件电路
本实验使用到硬件资源如下: (1)D1指示灯 (2)串口2 (3)RS485收发器:SP3485
D1指示灯电路在前面章节都介绍过,这里就不多说,下面我们来看下 开发板上RS485模块电路,如图。
普中STM32开发板带您进入ARM世界
普中STM32开发板带您进入ARM世界
RS485的特点: (1)接口电平低,不易损坏芯片。 RS485 的电气特性:逻辑“ 1”以 两线间的电压差为+(2~6)V表示;逻辑“ 0”以两线间的电压差为(2~6)V 表示。接口信号电平比 RS232 降低了,不易损坏接口电路的芯 片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。 (2)传输速率高。10 米时,RS485 的数据最高传输速率可达 35Mbps, 在 1200m 时,传输速度可达 100Kbps。 (3)抗干扰能力强。 RS485 接口是采用平衡驱动器和差分接收器的组 合,抗共模干扰能力增强,即抗噪声干扰性好。 (4)传输距离远,支持节点多。RS485 总线最长可以传输 1200m 以上 (速率≤100Kbps)一般最大支持 32 个节点,如果使用特制的 485 芯 片,可以达到 128 个或者 256 个节点,最大的可以支持到 400 个节点 。
普中S普中STM32开发板带您进入ARM世界
我们开发板采用 SP3485 作为收发器,该芯片支持 3.3V 供电,最大 传输速度可达 10Mbps,支持多达 32 个节点,并且有输出短路保护。该 芯片的框图如图
普中STM32开发板带您进入ARM世界
普中STM32开发板带您进入ARM世界
3.编写RS485通信控制程序

第25讲 485通信实验

第25讲 485通信实验

7.1RS-485总线收发实验7.1.1485简介485(一般称作RS485/EIA-485)是隶属于OSI(OSI:开放系统互连基本参考模型。

开放,是指非垄断的。

系统是指现实的系统中与互联有关的各部分。

)模型物理层的电气特性规定为2线,半双工,多点通信的标准。

它的电气特性和RS-232大不一样。

用缆线两端的电压差值来表示传递信号。

RS485仅仅规定了接受端和发送端的电气特性。

它没有规定或推荐任何数据协议。

RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。

RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。

为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。

RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。

为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

RS485的特点包括:1)接口电平低,不易损坏芯片。

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

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

2)传输速率高。

10米时,RS485的数据最高传输速率可达35Mbps,在1200m时,传输速度可达100Kbps。

3)抗干扰能力强。

RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。

ARM实现 RS485 数据通信功能

ARM实现 RS485 数据通信功能
熟悉 ADS1.2 开发环境中编写、编译和调试程序。
4.基础知识
4.1.Rs485 接口简介
由于 RS232 接口标准出现较早,难免有不足之处,主要有以下 4 点: 1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL 电平不兼容,故需 使用电平转换电路方能与 TTL 电路连接。 2)传输速率较低,在异步传输时,波特率为 20 kbps。 3)接口使用一根信号线和一根信号返回线构成共地的传输形式,这种共地传输容易产 生共模干扰,所以抗噪声干扰性弱。 4)传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能用在 50 m 左右。 针对 RS232 的不足,不断出现了一些新的接口标准,RS485 就是其中之一,它具有以 下特点: 1)RS485 的电气特性:逻辑“1”以两线间的电压差 2~6 V 表示;逻辑“O”以两线 间的电压差为一 2~6 V 表示。接口信号电平比 RS232 降低了,就不易损坏接口电路的芯片, 且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。 2)RS485 的数据最高传输速率为 10 Mbps。 3)RS485 采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,抗噪声干扰性好。 4)RS485 接口的最大传输距离标准值为 4 000 英尺,实际上可达 3 000 m。另外,RS232 接口在总线上只允许连接 1 个收发器,即单站能力;而 RS485 接口在总线上是允许连 接多达 128 个收发器,即具有多站能力。这样用户可以利用单一的.RS485 接口方便地 建立起设备网络。 由于 RS485 接口具有良好的抗噪声干扰性、长传输距离和多站能力等优点,使其成为 工业应用中一种重要的串行接口。因为:RS485 接口组成的半双工网络,一般只需两根连线, 所以 RS485 接口均采用屏蔽双绞线传输。

RS485指导书

RS485指导书

实验二十七:柔性加工系统的485通信(实验一)熟悉485的网络一、实验目的1、利用上所学的PLC编程完成程序的编制及485的通信控制。

2、将所学的知识运用于实践中,培养分析问题、解决问题的能力。

3、熟悉N﹕N网建立的方法4、通过柔性加工系统的拼合,培养学生的动手能力,尤其是机械上的一些装配、调节能力以及程序的调试能力。

二、实验设备1、安装有WINDOWS操作系统的PC机(具有FXGPWIN软件)2、485通信模块7块及其连接线。

3、PC与PLC的通信电缆7根。

4、整套柔性加工系统。

三、实验内容1、首先构建485的通信网络,建立通信平台(中央控制台-自动传输站-三坐标测量站-CNC加工站-安装搬运站-拆卸分检站)后做如下操作:2、每站分别上电操作,任意点击一站的X20按钮将其置1时,各站的Y21灯开始闪动;再点击该站的X21按钮(其它站的X21不起作用)将其置1时,各站的Y20灯开始闪动;再点击该站的X23按钮(其它站的X23不起作用)将其置1时,各站的Y20,Y21灯开始同时亮;再同时点击该站的X20,X21按钮(其它站的X20,X21不起作用)将其置1时,各站的Y20,Y21灯同时灭。

3、在2的实验基础上,作些更改重新做,体会485控制的方法:每站分别上电操作,任意点击一站的X20按钮将其置1时,各站的Y21灯开始闪动;再点击任意一站的X21按钮将其置1时,各站的Y20灯开始闪动;再点击该任意一站的X23按钮将其置1时,各站的Y20,Y21灯开始同时亮;再同时点击任意一站的X20,X21按钮将其置1时,各站的Y20,Y21灯同时灭。

自己写顺序功能图体会一下?注:本实验需要团体合作来完成。

四、组建N﹕N网1、N﹕N的链接示意图2、主站点和从站点的设置3、设置主站点和从站点的程序4、各站点的软元件号分配:五、程序框图X26=1 M0等待命令 X20=1 M1 Y21灯闪 X21=1 M2 Y20灯闪 X23=1 M3 Y20,Y21灯闪 X20=1&&X21=1 M4 Y20=0,Y21=0返回M0将编制好的程序送入PLC ,运行通过,并将程序存盘。

RS485多机通讯的组网方式

RS485多机通讯的组网方式

RS485多机通讯的组网方式本文先容了以波仕转换器为代表的几种RS-485多机通讯的组网方式:总线式、菊花链式、星形、单环冗余型。

用户可以根据现场的串口设备的位置分布或者可靠性要求来选择。

通讯软件都是一样的,与普通的RS-485总线多机通讯一样。

波仕RS-232/RS-485/RS-422转换器都可将RS-232通讯间隔延长至1.2Km以上(9600bps时)。

都可以用于PC机之间、PC机与单片机之间构成远程多机通讯网络。

波仕的485TC和485TA转换器外形都为DB-9/DB-9转接盒大小,其中DB-9(孔座)一端直接插在9芯RS-232插座(针座)上。

PC机RS-232串行口的DB-9芯连接器引脚分配如下:2-RXD(收),3-TXD(发),5–GND(地)。

产品均无需任何初始化设置!只用到RXD(收)、TXD(发)、GND(地)信号,加上独占的内部零延时自动收发转换技术,确保适合所有软件!RS-485为半双工通讯方式。

RS-422为全双工方式。

485TC为全双工半双工通用型(图1)。

485TA为半双工型(图2)。

均内置600W抗雷击浪涌保护器。

图1波仕485TC图2波仕485TA一、典型的RS-485总线式通讯方式最典型的RS-485多机通讯就是总线式的通讯(图3):所有RS-485节点全部挂在一对RS-485总线上。

实际上还有一根GND 地线。

留意RS-485总线不能够开叉、但是可以转弯。

图3典型的RS-485半双工多机通讯RS-422是全双工通讯方式,也就是说发送(Y、Z)与接收(A、B)是分开的,所以能够同时收发。

RS-422有时也称为“全双工的RS-485”,或者“RS-485的全双工方式”。

总线式的全双工多机通讯图如图4。

留意不是所有的RS-422都支持全双工多机通讯的。

波仕的485C系列转换器是少有的能够支持全双工多机通讯的、而且全双工半双工通用的转换器。

图4典型的全双工多机通讯图二、菊花链式的多机通讯方式这种菊花链式的多机通讯方式(图5)比较少见,但是却有其独特的上风、也有其缺点。

  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、如何修改实验程序,实现外接传感器采集多种参数?。

相关文档
最新文档