一种单片机多机通信系统的设计

上传人:伴*** 文档编号:63726719 上传时间:2022-03-20 格式:DOC 页数:6 大小:58KB
返回 下载 相关 举报
一种单片机多机通信系统的设计_第1页
第1页 / 共6页
一种单片机多机通信系统的设计_第2页
第2页 / 共6页
一种单片机多机通信系统的设计_第3页
第3页 / 共6页
点击查看更多>>
资源描述
一种单片机多机通信系统的设计摘要:融合单片机技术和计算机网络技术,优化数据包的格式和控制方式以及引入帧检测序列,设计基于AT89S52的单片机网络的单片机多机通信协议;系统网络拓扑结构采用总线型;网络接口电路采用端口转发的形式等进行单片机多机通信系统的设计,系统易于扩展且提高了稳定性。结果表明,此系统设计解决了8位单片机多机通信的问题,实现了客户机与服户机间的通信,以及客户机与客户机间的通信。 关键字:单片机;通信协议;数据包;帧;网络接口1、引言随着单片机和计算机技术的不断发展,单片机的应用也从独立的单机向网络发展,由计算机和单片机构成的多机网络系统已成为单片机技术发展的一个方向。二者的结合,充分发挥了单片机在实时数据采集和数据管理上的优点。单片机在计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理等都有广泛地应用,已渗透到我们生活的各个领域。许多应用都涉及到单片机多机通信。然而,单片机对网络数据的处理方式不同于通用计算机系统,尤其有的单片机只提供8位的数据收发接口,在一定程度上阻碍了单片机在网络方面的应用。因此,采用单片机技术与计算机网络技术相结合的办法,对单片机多机通信系统进行研究,在设计单片机网络的通信协议的基础上,系统网络拓扑结构采用总线型,网络接口电路采用端口转发的形式,实现了8位单片机多机通信。2、系统网络协议设计拟定网络容量为1台服务机和62台客户机,客户机之间可以相互通信。客户机和服务机之间也可以相互通信。设计的协议考了停止等待协议,数据包参考了IP数据包而设计。经过综合分析和优化处理,制定如下单片机多机通信协议。(1)服务机协议服务机按1/384的间隔发送询问数据包;将当前询问地址加1,判断,如果大于63则置当前询问地址为1,如果小于1则置当前询问地址为62,转下一步;向当前询问地址机器发送一询问数据包;等待一个发送间隔时间;如果没有收到确认包则转到将当前数据包重发,重发计数器加1,计数器大于2则转向;如果收到确认包转到;设置发送失败标记,重发计数器清0,转到;设置发送成功标记,重发计数器清0,转到;查看被询问客户机是否有数据要发送,有则分配总线使用权和时间片,转到,否则转到;等待被询问客户机的发送结束数据包,如果收到转到。在一个时间片(1/384s)内,没有收到,视为超时。服务机收回总线使用权,转到。(2)客户机协议接收属于本机的数据包;如果是询问数据包,检查本机是否有数据要发送,如果有,则发送有数据发送信息到服务机,并捎带确认转到,否则发送没有数据发送信息到服务机,并捎带确认,转到;其它类型数据包不处理,转到;等待网络资源分配数据包,收到则发送确认包,转到;超时,停止等待转到;等待上一数据包的确认,收到则转到,否则转到;检查是否还有数据要发送,有则发送数据包转到;否则发送结束发送信息到服务机,转到。检查是否超时,如果超时结束发送转到,否则转到。重发,是否超过两次,是则当前发送失败,转到,否则转到。因此,每发一数据包都会请求对方的确认,如果没有确认,则会再重发一次,超过两次则被视为对方不可达,发送失败;并且在被询问客户机有数据发送时,如果总线空闲,服务机将分配其使用时间片,在这个时间片内,如果数据未发送完成,服务机将强行收回。能发送完成,客户机要发送结束数据包,归还总线使用权。3、系统网络拓扑设计选用总线型网络拓扑结构,各站直接连在总线上,由服务机统一管理网络总线,分配网络资源。使用类似于令牌总线网的协议,由服务机轮询每一客户机是否有数据发送,如果有分配发送时间,移交总线使用权,否则询问下一客户机;其中接口电路会将所接收到信号中继,并转发。因此网络中任意一台机器所发送的数据对其它机器都是可见的,并且在一定程度上保证了信号的可靠性。系统网络拓扑设计如下图所示:图1系统网络拓扑设计4、网络接口电路的功能与设计(1)网络接口电路的功能网络接口电路完成的主要功能如下:完成网络数据元的接收;对接收到的数据元转发给其它端口;多端口机制,端口间相互转发;提交收到的数据元;中继收到的数据元;提供网络状态信号;各端口之间同构,使用交叉线。(2)网络接口电路的设计为实现上述功能要求,网络接口电路设计时一共采用了四片74HC245芯片,共同承担数据的收发工作,其中每一块芯片对应一个端口。在外表现为三个端口,这是因为有一个端口被本机占用,电路已布置在线路板上。各端口之间用交叉线连接,当检测到收线上有信号时,芯片开始启动工作,将信号分成三路中继出来,一路发给单片机,其它两种发给另外的两个端口。在收方的收收线上如果检测到同样的信号,则进行同样的操作。当单片机向外界发送数据时,就启动对应于单片机收发端口上的芯片,将信号中继后发送给另外的三个端口,并随时检测收线信号的变化,一旦检测到电平信号由高倒低的变化一次,即说明有数据需要接收,接收完后将产生一中断信号,启动处理程序进行处理。网络接口电路中设计了网络状态信号BUS,当各芯片都没有工作时,表示网络中没有数据传输,这时BUS经非门电路取反变成低电平,与单片机二号中断引脚相连,单片机可以通过这一引脚撑握网络状态,实现数据包的发送。网络接口电路中还设计了指标信号,当收到数据时信号便置高,这时接在信号上的LED发光管将会发光,以表示收到数据。5、客户机与服务机电路设计系统中有客户机和服务机两种不同的电路。将客户机电路和服务机电路整合在一个电路板上,即两种电路用同一块电路板表现出来。对于客户机,客户不需要部门控制电路,但其需要编址,故需要地址获取电路。对于服务机,它不需要编址,统一固定为65这一地址,故不需要地址获取这一部分电路。服务机担负着整个网络的监管与轮询工作。其它电路客户机与服务机均同构,所以不需要做任何修改。电路板上,采取不插器件的方式实现两种不同构的电路在同一电路板上实现,大大地压缩开发成本。6、系统功能模块图(1)系统功能:服务器部分完成网络的轮询,每隔一定时间向网络中的机器发出询问数据包。读取ADC数据,显示当前环境温度控制一个调风阀,显示电机角度数据扫描键盘,提供按键控制从网络中收集调风阀信息,智能控制风机的开启控制本实验室照明电路的开、关能够接管网络中任意一台客户机客户机部分接收服务机的轮询,发送确认数据包读取ADC数据,显示当前环境温度控制一个调风阀,显示电机角度数据扫描键盘,提供按键控制读取本机地址接收来自服务器的管理操作(2)功能划分:软件系统采用模块化的方式,每个设备编写一个驱动程序。驱动程序负责驱动其所控制的设备。并向其它程序提供接口,方便其它程序调用,控制设备。各个驱动功能划分如下:数码管驱动程序:驱动数据管显示,按指定方式显示数据。键盘驱动程序:动态扫描键盘,判别按键,并避开电路毛刺。蜂鸣器驱动程序:驱动蜂鸣器安指定方式发声。ADC驱动程序:读取模数转换器数据,并转换为温度数值。串口驱动程序:收发数据包,过滤非本机数据包其中还有一个轮询模块,它在时钟的驱动下按一定间隔时间向网络中各台客户机发送询问数据包。如果两次没有收到回应,则视发送数据包失败。并能够向被接管的客户机发送管理数据包。同样也需要确认,超过两次则视为失败。系统功能模块图如图2所示。图2系统功能模块图由图可知,所有的驱动程序都挂靠在时钟中断上,由时钟中断按一定的频率调用这些驱动程序。 7、小结系统设计了一个基于网络控制和管理的控制系统。它将计算机机网络技术和单片机技术进行融合,网络协议设计参考计算机网络中的停止等待协议和TCP/IP协议,但为了更好的适应于单片机处理,优化了数据包的格式和控制方式,大大提高了处理速度和效率。同时,引入帧检测序列,提供数据包的检测机制,提高了网络的可靠性。系统网络拓扑结构采用总线型,网络接口电路采用端口转发的形式,便于扩展且提高了稳定性。此系统设计功能齐全可以通过服务器控制整个网络的所有客户机,监视所有客户机运行情况;系统操作简单,具有一定的经济意义和实用价值。参考文献1(美)ChristaAnderson.MarkMinasi.MasteringLocalAreaNetworksM.出版社Sybex,1999.2江晓安.董秀峰.模拟电子技术M.西安电子科技大学出版社,2002.3张永瑞.杨林耀.张雅兰.电路分析基础M.西安电子科技大学出版社,2001.4BarryB.Brey.Programmingthe80286,80386,80486,andPentium-Base
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!