实验五 485实验

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

基于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.通讯协议
所谓通信协议是指通信双方的一种约定。

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

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

在ARM开发平台上,我们采用如下通讯字节格式:
起始位0 8位数据位停止位1
数据传送方向由低位到高位,包括1位起始位,8位数据位,1位停止位,总共10位。

拟采用最简单的帧格式:
在软件编写时通过判断起始位与结束符,接收帧信息。

检验起始位(地址位),判断此帧是否是发给本机的;检验结束符,判断此帧是否发送完毕;最后决定是否接收。

四、实验要求
1.独立完成“RS485串口通讯自发自收实验”,程序已经写好,主要了解硬件电路的搭接,软件编程实现rs485通讯的思想过程以及UART的基本操作方法。

2.自己动手,完成主从式通讯协议设计及编程实现,包括硬件电路的搭接和软件编写,理解通讯协议的涵义。

五、实验内容与步骤
1.RS485串口通讯自发自收实验
了解串口通讯原理,基本收发实现和UART的基本操作方法。

(1)硬件连接
RS485通信模块上所有短接块短接。

①发送部分(UART0)
跳线连接:P0.0(在调理板上)接DI1(RS485通信模块),P0.1(在调理板上)接R01(RS485通信模块),P0.11(在ARM开发板LPC2292芯片的上方或JP3的CTS1)接控制引脚DE1(RS485通信模块),RS485通信模块上的Vcc接+5V电源,GND接地。

②接收部分(UART1)
跳线连接:P0.8(在ARM开发板上JP3的TXD1)接DI2(RS485通信模块),P0.9(在ARM开发板上JP3的RXD1)接R02(RS485通信模块),P0.10(在ARM开发板上LPC2292芯片的上方或JP3的RTS1)接控制引脚DE2(RS485通信模块),RS485通信模块上Vcc接+5V 电源,GND接地。

(可以参考图:3 ,原理相同)
(2)软件部分
直接运行“rs485自发自收实验”文件夹里的程序,可以看到数码管上显示“AA”(程序里编写发送的就是“AA”,也可以自己改变发送的内容,具体可参看程序里的注释)。

采用IRQ中断接收方式(参考LPC2292资料里的向量中断控制器部分)。

UART的基本操作方法(参考LPC2292资料里的UART部分):
●设置I/O连接到UART
●设置串口波特率(DLM,DLL)
●设置串口工作模式(LCR,FCR)
●发送或接收数据(THR,RBR)
●检查串口状态字或等待串口中断(LSR)
程序流程图如下:
2. 主从式通讯协议设计及编程实现
要求两个同学联机,设计通讯协议,编程实现收发。

接收到的一帧信息会在数码管上显示。

①硬件连接
两台主机均使用UART1连接,RS485通信模块上均使用第一块485,具体连接与“rs485自发自收实验”雷同。

两台主机连接方式相同。

RS485通信模块上短接块短接,JP1除外。

跳线连接:P0.8(在ARM 开发板上JP3的TXD1)接DI1(RS485通信模块),P0.9(在ARM 开发板上JP3的RXD1)接R01(RS485通信模块),P0.10(在ARM 开发板上LPC2292芯片的上方或JP3的RTS1)接控制引脚DE1(RS485通信模块),RS485通信模块上Vcc 接+5V 电源,GND 接地。

双绞线连接:A1接另一端的A1,B1亦如此。

②协议设计 协议格式要求:
协议的内容自定,但是必须包含起始位与结束符,为了配合数码管显示,协议长度为4个字节(32位),其中起始位与结束符各一个字节。

因为我们设置ARM 的UART 的接收与发送数据字符格式为8位,所以以一个字节为单位。

③编程实现
本次实验提供两个模版,即“rs485发送程序模版”与“rs485接收程序模版”。

同学
们可以在模版的相应位置添加代码。

硬件连接好后,两部实验设备,一个作为主机,发送帧信息;另一个作为从机,接收帧信息。

主机:“rs485发送程序模版”中的“tral_buf[4]”数组中写入自己设计的帧信息,进行相关的管脚代码编写后(在模版里需要添加代码的地方均有具体的提示,注意带有’$$$’标志的地方),将程序写入板子,主机的工作就已完成。

从机:“rs485接收程序模版”中相应的中断接收部分添加代码(在模版里需要添加代码的地方均有具体的提示,注意带有’$$$’标志的地方)。

其中,主程序流程参考“RS485串口通讯自发自收实验”,也是根据判断标志位送数码管显示。

而IRQ中断接收部分参照以下流程图:
六、思考题
1.简述RS232接口和RS485接口电路区别
2.EIA-232、422、485接口参数比较
3.EIA-485 半双工连接、全双工连接示意图
4.EIA-485与EIA-232接口转换电路
5.EIA-485网络拓扑结构,一个网段最多连接多少个负载?如何实现多点通信?
6.什么是主从通信?
7.简述通用串行协议要点。

相关文档
最新文档