RS-485通信模块设计教程-63_第1页
RS-485通信模块设计教程-63_第2页
RS-485通信模块设计教程-63_第3页
RS-485通信模块设计教程-63_第4页
RS-485通信模块设计教程-63_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RS-485通信模块

4.16.1设计目的及任务

设计目的:理解MCS-51单片机异步串行接口(UART)进行RSY85串行通信原

理:学习使用定时器做波特率发生器,掌握计算波特率的方法:掌握单片机通过异步串

行接口与外部设备交换信息的过程:了解RS-422、RS-485.RS-232串行通信的区别。

设计任务:设计一个单片机与PC机通过RS-485通信的接LI电路。

功能指标:能完成单片机逻辑电平与RS-485逻辑电平的转换。

设计要求:所设计的接I」电路应满足EDP实验仪系统设计要求,并能与整个系统

有效结合。以下是一个设计范例及其相应电路的讲解,仅供参考。

4.16.2RS-485串行总线通信的基本原理

单片机和PC机的串行通信一般采用RS-232、RS»422或RSY85总线接口,RS-232.

RSY22与RSY85都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发

布的,RS-232在1962年发布,命名为EIA・232・E,为改进RS-232通信即禽短、速率低

的缺点,RSS22定义「一种平衡通信接I」,将传愉速率提高到IOMb/s,传输距离延长

到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接及多10个接收器。

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

准。为扩展应用范横,EIA于1983年在RS-422基础上制定了RS-485标准,增加了多

点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驮动

能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

1、R8422与RS-485串行总线接口

RS-422、RSY85与RJ232不一样,数据信号采用差分传输方式,它使用一对双绞线,

将R中一线定义为A,另一线定义为B,通常情况下,发送驮动器A、B之间的电平在-2〜

+6V,是逻辑1,电平在・2〜6V,是逻辑00

RS-422使用差分信号,差分传输使用两根线发送和接收信号(共4线),对比RS-232,

它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输肛离是一

个很大的优点。RS-485是RS-422的改进,因为它增加了数据终端设备(DTE)设备的个数,

从10个增加到32个。RS-485可以用超过4000米的线进行串行通行。在机械结构上与RS-232

一样,采用DB・9连接器。RS-485采川正逻辑发送端,逻辑"1”以两线间的电压差为+2至

6V:逻辑"0”以两线间的电压差为・2至6V。由于RSY22的收与发是分开的,所以可以同

时收和发(全双工)•由于RSY85的收与发是共用两根线,所以不能够同时收和发(半双

T),传输跖离更长.RSY85与RS・422的不同还在于其共模输出电压是不同的,RS-485是

-7V至+I2V之间,而RS-422在・7V至+7V之间。RS-422与RS-485传输需要2个终接电阻,

K阻值要求等于传输电缆的特性阻抗。

RSY85标准具体规格要求:

•接收器的输入电阻RINN12kC

•驱动器能输出±7V的共模电压

•输入端的电容三50pF

•在节点数为32个,配置了120c的终端电阻的情况下,驮动器至少还能输出电压1.5V

•接收渊的输入灵敏度为200mV(即(V+)-(V-)>0.2V,表示信号“0":(V+)-(V-)

<-0.2V,表示信号“1”)

2、各种串行接口性能比较

常见的三种串口通信性能比较如表4.16.1所示。

4.16.1常见的三种串口通信性能比较

RS-232RS-422RS-485

功能全双1.全双1半双工

传输方•式单端差分差分

果人速率20kbit/s10Mbits10Mbit/s

最大距离15m1200m1200m

抗干扰能力弱做强

常用接口芯片MAX232MAX49IMAX485

3、RSU85接口芯片

MAX485接I」芯片是Maxim公司的一种RS-485芯片。采用单一电源+5VT.作,额定电

流为300yA,采用半双T.通讯方式。它完成将TTL电平转换为RS-485电平的功能。R引

2

脚结构图如图4.16.1所示,从图中可以看出,MAX485芯片的结构和引脚都非常简单,内

部含有一个驱动器和接收器。RO和D【端分别为接收器的输出和驱动器的瑜入端,与单片

机连接时只需分别与单片机的RXD和TXD相连即可:/RE和DE端分别为接收和发送的使

能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因

为MAX485T作在半双T状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端

和B端分别为接收和发送的羌分信号端,当A引脚的电平高于B时,代表发送的数据为1:

当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要

一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Q

的电阻.

□3

ROX

VAC

E一

RIB

叵3

DDEE

I□3GND

图4.16.1MAX485的引脚和结构图

4、基于RS>485的PC机与单片机通信

8031单片机实现与PC机之间的通信时,必须使用电平转换接口芯片,因为单片机输出

的是TTL电平,必须经过电平转换才能和PC机的一致e木设计采用的是RS-485协议,所以

单片机侧/要采用RS-485接口:而在PC机侧需要的是RS-232HRS-485的电平转换接口,如

图4.16.2所示。

图4.16.2基于RJ85申行通信连接框图

PC机与单片机串行通信连接图如图4.16.3所示。

8051PC,机

RXD

485/232

TXD电平转

换接口

P3.2

3

0B4.16.3PC机与单片机的连接电路

4.16.3设计内容

1、原理图及其说明

实验仪上是用MAX485接I」芯片实现电平转换来完成单片机通过RS-485串口与

PC机通信的,转换电路如图4.16.4所示。J10是485两线输入、输出接口.(说明:

在实验仪上将RS-232和RS-485通信模块做在了同一块电路板上,所以需要跳线,

在作RS-485实验时倩要将J7、J8的2、3引脚短接。)

制)A

J附$IKXLN心

VCCYCCKO

4b>ABRE"

心□心MA

BADL

41XL>1JS>

120UNDD1

MAX心

4心B

图4.16.4R%4«5审口通信电路

2、管脚定义

试验仪RS-485通信模块模块接口定义如图4.16.5所示:

4

4-5V+5V+5V+5V

RS-485通信模块

RXDTXD

GNI)GNDGNDGND

图4.16.5RS-485通信模块模块接口定义

3、软件设计

MCS—51的串I」可以T作于杳询方式和中断方式,在此给出杳询方式的流程和程

序代码,中断方式的流程和程序代码读者可以自己考虑。

(1)串I」初始化了程序

MCS-51单片机串口初始化的软件流程如图4.16.6所示,相应的C51程序代码如例

4.16.1。

结束

图4.16.6串口初始化的软件流程如图

例4.16.1:串口初始化程序

voidInitUART(void)

(

〃设置波特率为9600,通过设置定时器1的T.作方式和初始值

TMOD=0x20;

THI=3;

TL1=3;

〃设置中行口工作方式

PCON=OxOO;

SCON=0x50;

TRI=1;

I

(2)串口主程序

串U主程序的流程如图4.16.7所示,相应的C51程序代码如例4.16.2。

6

图4.16.7单片机与PC机的4«5方式通信流程

例4.16.2:单片机与上位机之间的485通信主程序

单片机与上位机的485方式通信程序

项目名称:STC89C58RD的485通信模块

程序功能:女现单片机与上位机之间的485通信

I/O接口:MAX485的引脚6—D-485的485头(公头)的2脚

MAX485的引脚7一D_485的485头(母头)的1脚

注意事项:

1、485芯片不同于RS232,必须要对其使能端进行控制

7

2、485通信只用2根线进行通信,不必考虑共地问题

3、在485通信调试前先检杳接线是否正确

*************************************************************/

#include<AT89X52.H>

^include<INIF.h>

//include<uart.h>

unsignedcharRcccivc(void)

voidScnd(unsignedcharaa)

sbitRI485=P3人2;//485芯片的使能控制端口

unsignedcharmm;

intmain()

(

unsignedintj=0;

InilUART();〃串口初始化

whilc(l)

{

RI485=0;

mm=Rcccivc();

RI485=1:

Scnd(mm);

fbr(j=Ou<IOOO;j-H-);

)

8

voidScnd(unsignedcharaa)〃发送子程序

SBUF=aa;

whilc(TI==0);

TI=0;

)

unsignedcharRcccive(void)〃接受了程序

(

unsignedcharrd;

whilc(RI==0);

RI=0;

rd=SBUF;

rctum(rd);

)

4、调试步骤

1)、把电源模块、CPU模块、RSY85通信模块婢接好并插在相应的底用上,并把

跳帽进行正确短接:

2)、建立Keil工程,编辑、编译源代码并生成可下载的HEX文件:

3)、连接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论