《基于RS485单片机多机串行通信的电子开关设计.docx》由会员分享,可在线阅读,更多相关《基于RS485单片机多机串行通信的电子开关设计.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于RS485单片机多机串行通信的电子开关设计 摘要:针对大中型传送带传送过程中位置跑偏的检测,设计了基于Rs 485单片机多机串行通信的电子开关。介绍了该电子开关的总体方案及硬件电路设计,该电子开关采纳Rs485通信,不仅抗干扰实力好,并能够实现长距离通信且可以避开多个从机同时与主机通信时产生数据冲突的问题。试验表明,该电子开关结构简洁、性能稳定,可应用于工业限制、检测等领域中。 关键词:RS485;单片机;串行通信;电子开关 中图分类号:TN919-34文献标识码:A文章编号:1014-373X(2022)03-0177-05 目前多机串行通信是通信限制领域的主流通信方式,数据通信、计算机
2、网络、分布式工业限制系统及其测控领域中,常常采纳串行通信来达到信息交换的目的。多机串行通信限制网络是物理层采纳Rs485通信接口所组成的多机串行通信工控设备网络,RS485既是物理层的协议标准,也是串行通信接口的电气标准。这种通信接口可以非常便利地将很多设备组成一个限制网络。RS485通信方式有许多优点,首先它的通信距离比较远,通常可以做到数一百零一米甚至千米以上,而且还可以实现多点通信方式,从而可以建立一个小范围内的局域网,因而更有好用价值。Rs485采纳差模信号传输方式,与地电平关系不大,因而它抗干扰的实力比较好,即便在信号电压比较小的状况下也能获得稳定的传输。 1总体方案及硬件设计 该电
3、子开关系统的设计要求主机能够与从机之间进行地址确认并相互通信,从机能够精确检测到被测信号,主机能够接收从机传来的数据信号,并通过液晶显示器和发光二极管显示,同时采纳RS485总线主从机可以实现长距离通信。主从机采纳的主要核心芯片均为单片机,考虑单片机性能及实际运行环境的须要,选用AT89$51单片机,串行通信网络结构如图l所示。 (1)主机运用主要器件:AT89S51 MAX4851602LCD LED RESISTORS CAP CRYSTAL, (2)从机运用主要器件:AT89S51 MAX485 RE-SISTORS CAP CRYSTAL 主机主要功能: (1)与从机之间进行地址确认。
4、 (2)查询从机是否有信号(从机检测被测量时产生的相应的数据信号)发送到主机。 (3)通过液晶显示发送信号的从机地址,同时可以通过发光二极管显示信号的级别(这里两个发光二极管分别代表两个行程开关的亮灭)。 从机主要功能: (1)与主机之间进行地址确认。 (2)检测被测量,并将被测信号数据发送给主机。 主机主要有两大功能模块:液晶显示模块用来显示从机地址编号,所运用的器件为1602LCD,RS485串行通信模块用来实现与从机之间的远距离串行通信,运用MAX485芯片来实现。 从机的主要功能模块为RS485串行通信模块用来完成与主机之间数据的发送和接收。2设计实现原理 主从机均采纳的是AT89S5
5、1单片机,它是一个低功耗,高性能CMOS8位单片机,片内含4KB的可反复擦写1010次的FLASH只读程序存储器。单片机的XTALI:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。本电子开关设计外接12MHz晶振。 主从机均运用单片机2个全双工串行通信口外接MAX485芯片来完成与从机之间的串行通信,由串行口限制寄存器SCON设置串行口的工作方式、监视串行口工作状态、发送与接收的状态限制等。P3.0/RXD为串行通信接收端,P3.1/TXD为串行通信发送端。 主机端口P0.0P0.7作为液晶显示器的数据线,P0口上拉10kgt电阻与1602液晶的D0D7数据端
6、相连,P3.7与使能端E相连,P3.6与读/写信号线RW相连,P3.5与寄存器选择端RS相连。P1.0和P1.1引脚接两个发光二极管,用来显示从机发送信号的级别。 从机P1.0和P1.1引脚分别接到一级行程开关和二级行程开关,用来检测两个开关的状态,最终由从机P1.0和P1.1这两个引脚将行程开关的状态发送到主机,主机读取状态值并且显示。 主机通过轮询的方式,当主机查询n号从机时,与”号从机进行地址确认,并推断”号从机是否有信号产生,假如没有,主机将查询”-1号从机,假如有信号产生,主机接收到信号并存储该从机的主机编号,分别通过发光二极管和液晶显示出来,假如n-1号从机接着有信号产生,主机接着
7、接收,直到接收完毕,主机将查询n-2号从机,如此往复。从机的个数可以在主机程序中对从机个数”值进行设定。 2.1多机串行通信及通信协议 电子开关的设计核心主要通过单片机的多机串行通信来实现。 2.1.1发送器和接收器 AT89S51串行口主要由发送器、接收器和串行限制寄存器组成。发送器主要由发送缓冲寄存器SBUF和发送限制器组成。接收器主要由接收缓冲寄存器SBUF,接收移位寄存器和接收限制器组成。 2.1.2串行口限制寄存器 串行口限制寄存器SCON用于设置串行口的工作方式、监视串行口工作状态、发送与接收的状态限制等。它是一个既可字节寻址又可位寻址的特别功能寄存器。限制寄存器SCON的格式如下
8、: 电子开关中单片机串行口限制寄存器SCON各位设置如下: 主机SCON设置:1 0 0 1 1 0 0 0=#101H 从机SCON设置:1 0 1 1 0 0 0 0=#0BOH 2.1.3工作方式的选择 本电子开关单片机串行通信工作方式选择为工作方式2,在方式2下,串行口工作在11位异步通信方式。一帧信息包含一个起始位“0”,八个数据位,一个可编程第九数据位和一个停止位“1”。其中可编程位是SCON中的TB8位,在八个数据位之后,可作奇偶校验位或地址/数据帧的标记位运用,由运用者确定。 波特率的选择:方式2的波特率是固定的。 若PCON中SMOD=0,速率=f(mosc)/32 若PCO
9、N中SMOD=1,速率=f(mosc)/64 该设计中:波特率为9600b/s。 2.1.4实现原理及流程 多机通信主要靠主、从机之间正确地设置与推断多机通信限制位SM2和发送或接收的第9数据位(D8)。 电子开关多机串行通信的实现流程: (1)主从机均初始化工作方式2,主机置SM20,允许中断,从机置SM21,REN1。 (2)主机置REN1,TB81,将地址信息发送给从机,并等待是否发送完毕,从机等待主机发送地址。 (3)从机接收到地址与本机地址核对,核对正确,置SM2=0,向主机发送应答地址并等待发送完毕,主机接收之后进行地址确认,并置TB8=0。 (4)从机地址发送完毕后,接着发送信号
10、数据并等待发送完毕。 (5)主机接收到数据将从机编号发送到液晶显示, 将信号数据发到发光二极管显示信号级别。 2.1.5主从机之间地址确认 主从机在进行数据通信之前,首先进行地址确认,其目的就是让主机知道哪号从机向主机发送数据。主机首先发送”号从机地址编号#0FFH,全部从机接收到主机发送的地址后与各自的地址进行核对,地址不是#0FFH的从机将接着等待主机的呼叫,核对正确的从机向主机发送本机的应答地址,主机收到从机的应答地址后进一步做出推断,确认是否是n号从机的地址。地址确认正确之后,主机与n号从机进行数据通信,直到数据通信完毕,主机将呼叫下一号从机。 2.1.6避开多从机与主机通信产生数据冲
11、突 一个主机与多个从机进行串行通信的时候,假如当某一从机有数据时向主机发送,这时可能出现两个,三个或者更多从机同时产生数据,须要同时向主机发送,这样就会导致数据通信的冲突问题。该电子开关的设计采纳主机轮询从机的方式,从而有效避开了主从机数据通信冲突的问题,主机先呼叫n号从机,地址确认之后,是”号的从机应答并与主机进行通信,其余从机处于等待状态,主机接收”号从机数据,并推断该从机是否接着有数据发送,此时其他从机若有数据只能处于排队等待中,不会对主机产生干扰,主机接收完毕后将n号从机地址减1,呼叫n-1号从机,如此反复轮询各个从机。主机轮询的过程是很快的,从机检测到被测信号的时候也能得到刚好的处理
12、。如图2所示。 2.2多RS485串行通信模块 RS485采纳平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A,B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常运用双绞线,又是差分传输,因此有极强的抗共模干扰的实力,接收灵敏度也相当高。假如以10Kb/s速率传输数据时传输距离可达12m,而用101 Kb/s速率传输数据时传输距离可达1.2km。假如降低波特率,传输距离还可进一步提高。 实现RS485串行通信只需给主机和每个从机接各接一片MAX485芯片,其接收器的输出端RO和驱动器的输入端DI,只需分别与单片机的RXD和TXD相
13、连即可;RE和DE端分别为接收和发送的使能端,当丽为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚限制这两个引脚即可;在主机电子开关中运用单片机的P3.4引脚限制MAX485的RE和DE两端,如图3所示。 A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线特别简洁。只须要一个信号限制MAX485的接收和发送即可。 牢靠性措施如下: 复位时,主从机都应当处于接收状态。 限制端REDE的信号的有效脉宽应当大于发送或接收一帧信号
14、的宽度。 同时将A和B端之间加匹配电阻,一般可选120的电阻,汲取总线上的反射信号,保证正常传输信号干净、无毛刺。匹配电阻的取值应与总线的特性阻抗相当。 接收和发送的使能端RE和DE的引脚限制在程序中的实现,主机部分程序如下: M1: SETB P3.4;引脚P3.4置1,为发送状态 MOV SBUF,#02H;呼叫02号从机发送地址 L1: JBC TI,I,2;推断TI是否为1,从而转入接受状态 SJMP L1 L2: CLR P3.4;引脚P3.4置0,处于接受状态 JBC RI.S1 SJMP L2 S1: MOV A.SBUF 2.3液晶显示模块 液晶显示模块选用1602液晶,160
15、2液晶显示器以其微功耗、体积小、显示内容丰富、超薄灵巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。电子开关上运用1602液晶显示,是用来显示发送信号数据的从机编号,某一从机检测到信号时将会显示: Fault Machine is:*(001号,002号,003号) 1602主要引脚定义如下: RS为寄存器选择,高电平常选择数据寄存器、低电平常选择指令寄存器。RW为读写信号线,高电平常进行读操作,低电平常进行写操作。当RS和Rw共同为低电平常可以写入指令或者显示地址,当RS为低电平Rw为高电平常可以读忙信号,Rs为高电平Rw为低电平常可以写入数据。E端为使能端,当E端由高电平
16、跳变成低电平常,液晶模块执行吩咐。D0D7为8位双向数据线。 主机接收到某一从机发来的一级或二级信号时,将此从机的编号发送至液晶显示出该从机的编号。主机首先对地址编号值进行一百零一十个位分别,然后在液晶上逐位显示。 一百零一十个位分别程序如下: MOVA.R7 MOVB,#101;分别出一百零一位 DIVAB MOV10H,A;将一百零一位值存放在10H单元里 MOVA,#10;余数接着分别十位和个位 XCHA。B DIVAB MOV20H,A;将十位值存放在20H单元里 SWAPA MOV40H,B;将个位值存放在40H单元里 ORLA,B;将十位和个位拼装成BCD码 MOVR7.A 显示程
17、序如下: MOVpO,#0COH ACALLENABLE;调用写指令 MOV A,10H(/20H/40 H);分别送人一百零一十个位值 ADDA.#30H MOVPO,A;将一百零一十个位送至液晶显示 SETBRS;写数据时序 CLRRW CLRE 主机RS485通信与液晶显示电路原理图如图3所提示。 3电子开关的功能及应用 该电子开关从功能上主要分为主机和从机电子开关两部分。 主机主要完成数据的接收和处理,以及将最终结果状态显示出来,从机电子关主要完成信号的检测,同时将数据发送给主机,整个系统的搭建由一个主机和一个或多个从机电子开关组成,从机电子开关的数量可以依据实际状况的须要而定。 因该
18、电子开关要应用到传送带位置跑偏的检测中,从机电子开关要安装在一个档杆机构(如图4,图5所 示)中,每个档杆机构中内部都有两个行程开关,依据所要求的信号级别,分别将它们设置为一级行程开关和二级行程开关,档杆通过凸轮机构与行程开关相连,从机电子开关的两个数据输入线接到两个行程开关上即可。 该电子开关主要针对大中型传送带传送过程中位置跑偏的检测而设计完成,同样也可以应用到其他相关的设备及场合的位移量及跑偏量的检测。在传送带两侧已确定位置放置从机电子开关,当传送带传送过程中某处有肯定量的位置跑偏,会通过档杆触动一级行程开关,产生一级触发信号,并将信号传送到从机电子开关,从机电子开关检测到并将其发送到主
19、机处理,主机负责显示产生故障的从机编号及故障级别,以供工作人员了 解到传送带何处产生一级跑偏,并对传送带做出相应调整,同理传送带某处产生二级跑偏量的时候,将会由从机电子开关将二级信号发给主机显示。 4运行状态及结果 当1号从机所连接的行程开关档杆机构中1级行程开关被按下时,1号从机检测到一级故障信号,与主机进行地址确认之后,并向主机发送数据,此时主机上液晶显示器上显示:Fault Machlne is:001(故障从机编号为001),同时发光二级管有一个显示灯熄灭(正常状态下两个发光二极管处于发光状态),同理若是2号从机检测到故障信号时,运行结果如图6所示。 5结论 该电子开关采纳了单片机多机
20、串行通信原理而设计,由RS 485模块和1602液晶显示模块组建的小型电子开关系统,在工业限制中,多机串行通信的应用越来越广泛,可以在此电子开关设计的基础上开发功能更强的基于Rs 485总线的多机串行通信的电子开关相关产品,以应用于工业限制,检测等及其他领域中。 参考文献 1李华.MCS-51系列单片机好用接口技术M.北京:北京航空航天高校出版社,11016. 2张振荣,晋明武.MCS-51单片机原理及应用M.北京:人民邮电出版社,2000. 3林雪梅,彭佳红,姚志成.单片机多机通信协议的设计J.微计算机信息,2022(5):24-26. 4詹平红,李红星.基于双单片机的串行通信设计与应用J.
21、计算机与通信信号,2022,1 9(6):52-54. 5陈铁军,谢春萍.PC机与RS 485总线多机串行通信的软硬件设计J.现代电子技术,2022,30(5):103-105. 6彭娜,黎英,林庆超,等.基于RS 485总线主从通信协议及其实现J.云南高校学报:自然科学版。2022(z2):259-262. 7陈斌.基于RS 485的单片机多机通信技术J.电子产品世界,2022(14):91-94. 8朱志伟,周志光,鲍祖尚.RS 485总线通信系统的牢靠性措施J.单片机与嵌入式系统应用,2022(3):68-73. 9徐文武,蔡本晓.一种基于光电识别的插卡式电子开关的设计口.电子与封装,2022(9):25-27. 10吴政江.简易声、光限制电子开关的设计与制作J.电子制作,2022(5):64-65. 第14页 共14页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页