串口通信-多机通信系统 - 单片机

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

目录

一、题目要求与功能分析 (1)

1.1题目要求 (1)

1.2功能及整体模块分析 (1)

二方案论证 (2)

2.1设计目的 (2)

2.2设计思路 (2)

2.2.1原理分析和讨论 (2)

2.2.2题设分析 (3)

三、电路设计 (5)

3.1 整体功能框架设计 (5)

3.2 硬件电路设计 (6)

3.2.1 主机硬件电路设计 (7)

3.2.2 从机硬件电路设计 (10)

3.3软件电路设计 (12)

3.3.1 协议设计 (12)

3.3.2 主机程序流程图设计 (13)

3.3.3 从机程序流程图设计 (14)

四系统的调试与实现 (16)

4.1主机模块功能调试 (16)

4.2从机模块调试 (16)

4.3整体设计功能调试 (16)

五总结与体会 (18)

参考文献 (18)

附录 (19)

一、题目要求与功能分析

1.1题目要求

本小组的试验题目如下:

一、任务:

设计实现多台单片机系统之间的串行通信

二、基本要求(难度系数0.8):

(1)设计一个主从式多机通信系统,包含1台主机和3台从机,主机和从机全部为单片机;

(2)选择合适总线接口芯片,正确连接主机和从机;

(3)编程实现分布式数据采集功能,主机可以获取各分机当前AD转换结果,并显示。

三、发挥部分:

(1)完善通信功能。(根据完成情况加分,上限+0.2)

1.2功能及整体模块分析

随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,多机通信系统设计的监控系统逐步普及。此多机通信系统具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。在检测大量模拟量的工业现场使用相似的多机通讯系统;单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。

本次实验的目的是就是应用单片机的串口通信功能实现一个分布式采集系统。整个系统中包含一片主机和三片从机,主机的任务是实现对三片从机的AD 转换结果的采集并在数码管上显示之。这样从硬件的角度上将整个系统分为两个模块—主机模块和从机模块。主机模块中包含单片机模块、数码管显示子模块和串口电平转换子模块,从机模块则包括单片机子模块、AD转换子模块和串口电平转换子模块。就本次实验而言硬件电路的设计难点在于串口电平转换芯片MAX485的连接,而软件的设计在于串口通信协议的设定及其相互通信的过程。

二方案论证

2.1设计目的

(1) 进一步掌握串行接口控制寄存器SCON及波特率选择、工作方式的设置方法。

(2) 理解串行接口的多机通信系统的原理和异步串行通信标准接口RS-485的使用。

(3) 进一步掌握C语言程序调试的的方法。

(4) 熟悉多机通信设置从机地址来识别从机的一种方法。

2.2设计思路

2.2.1原理分析和讨论

单片机构成的多机系统常采用总线型主从式结构。所谓主从式,即在数个单片机中,有一个是主机,其余的是从机,从机要服从主机的调度、支配。80C51单片机的串行口方式2和方式3适于这种主从式的通信结构。当然采用不同的通信标准时,还需进行相应的电平转换,有时还要对信号进行光电隔离。在实际的多机应用系统中,常采用RS-485串行标准总线进行数据传输。

图1 多机通信的主从式示意图

所有从机的SM2位置1,处于接收地址帧状态。

主机发送一地址帧,其中8位是地址,第9位为地址/数据的区分标志,该位置1表示该帧为地址帧。

所有从机收到地址帧后,都将接收的地址与本机的地址比较。对于地址相符的从机,使自己的SM2位置0(以接收主机随后发来的数据帧),并把本站地址发回主机作为应答;对于地址不符的从机,仍保持SM2=1,对主机随后发来的数据帧不予理睬。从机发送数据结束后,要发送一帧校验和,并置第9位(TB8)为1,作为从机数据传送结束的标志。

主机接收数据时先判断数据接收标志(RB8),若RB8=1,表示数据传送结束,。若接收帧的RB8=0,则存数据到缓冲区,并准备接收下帧信息。

主机收到从机应答地址后,确认地址是否相符,如果地址不符,发复位信号(数据帧中TB8=1);如果地址相符,则清TB8,开始发送数据。从机收到复位命令后回到监听地址状态(SM2=1)。否则开始接收数据和命令。[1]

2.2.2题设分析

1.从机识别

给多点分别设置地址信息,在数据前加地址字段或直接在数据传输钱发送地址帧,主机通过不同的地址信息识别数据源。

首先,从机应处于只接受地址帧信息的状态;

然后主机发送一帧地址信息;

从机接收到地址帧后,将本机的地址与地址帧中的地址惊醒比较,如果地址相同,则准备接收数据,否则对其当前帧。依然处于只接受地址帧状态;

主机发送地址帧后,相应的从机接收数据,数据传输完毕后,从机继续回到只接受地址帧的状态。在这一过程中,其他从机不受影响;

当主机需要与其他从机进行数据传输时,可以再次发送地址帧呼叫主机,重复这一过程。

2.51单片机串口的多机通信功能

根据MCS-51串行口的多机通信能力,多机通信可以按照以下协议进行:

(1) 首先使所有从机的SM2位置1处于只接收地址帧的状态。

(2) 主机先发送一帧地址信息,其中8位地址,第9位为地址/数据信息的标志位,该位置1表示该帧为地址信息。

(3) 从机接收到地址帧后,各自将接收的地址与本机的地址比较。对于地址相符的那个从机,使SM2位清零,以接收主机随后发来的所有信息;对于地址不符的从机,仍保持SM2=1,对主机随后发来的数据不予理睬,直至发送新的地址帧。

(4) 当从机发送数据结束后,发送一帧校验和,并置第9位(TB8)为1,作为从机数据传送结束标志。

(5) 主机接收数据时先判断数据结束标志(RB8),若RB8=1,表示数据传送结束,并比较此帧校验和,若正确,则会送正确信号00H,此信号令该从机复位(即重新等待地址帧);若校验和出错,则发送0FFH,令该从机重发数据。若接收帧的RB8=0,则原数据到缓冲区,并准备接收下帧信息。

(6) 若主机向从机发送数据,从机在第(3)步中比较地址相符后,从机令SM2=0,同时把本站地址发回主机。作为应答之后才能收到主机发送来的数据。其它从机(SM2=1),无法收到数据。

(7) 主机收到从机的应答地址后,确认地址是否相符。如果地址不符,发复位信号(数据帧中TB8=1);如果地址相符,则清TB8,开始发送数据。

(8) 从机接收到复位命令后回到监听地址状态(SM2=1)。否则开始接收数据和命令。[2]

相关文档
最新文档