问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

多机通信系统2

发布网友 发布时间:2023-09-20 15:17

我来回答

1个回答

热心网友 时间:2024-12-08 20:22

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协议,但为了更好的适应于单片机处理,优化了数据包的格式和控制方式,大大提高了处理速度和效率。同时,引入帧检测序列,提供数据包的检测机制,提高了网络的可靠性。系统网络拓扑结构采用总线型,网络接口电路采用端口转发的形式,便于扩展且提高了稳定性。此系统设计功能齐全可以通过服务器控制整个网络的所有客户机,监视所有客户机运行情况;系统操作简单,具有一定的经济意义和实用价值。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
江苏宿迁解放6,8高栏年审要多少钱 滴滴取消订单不给钱? 谁能帮我查一下 深圳到西安 顺丰快递 在武汉全国陆运集散中心过了21小时... 求好看的女主穿越玄幻小说要完本的小说求好看的女主穿越玄幻小说要完本... excel插入的直线怎么把端点连接在一起excel画直线端点自动对齐中点... 干煎饼的正确吃法 干煎饼的吃法是什么呢 学前教育毕业生登记表的自我鉴定 毕业生登记表学前教育自我鉴定 幼师毕业生登记表的自我鉴定 从威海到上海 怎么走省钱 快捷?7 联想笔记本电脑充电器插口是否都一样能不能混用? NBA篮球圣地在哪啊? 欧洲音乐史详细资料大全 成都地铁怎么到市二医院? 我的实名认证的被盗了,实名认证了但是没有绑定银行卡坏人可以用我... 我的实名认证的被盗了,实名认证了但是没有绑定银行卡坏人可以用我... 博士刚出来能赚多少钱? 我的被盗了,没有绑定银行卡,但是实名认证了,会不会有危险?如果有... 温州有卖滴滴红蜘蛛 麻药是用什么做成的?43 做手术一般打什么麻醉药15 求南京到南昌的K505次车票价 win7系统dnf游戏优化教程 王者荣耀安卓怎么转移苹果步骤免费9 王者荣耀怎么把苹果系统的账号转到安卓系统5 王者荣耀账号怎么转移 账号转移到苹果ios的方法详解1 王者荣耀安卓怎么转移到ios2 一个手机号可以注册两个吗? 利物浦的历史4 利物浦对巴萨历史战绩?51 联想笔记本电脑充电器能互用吗? 上海坐飞机到威海需要多长时间??37 关于三国杀中杨修的若干问题,有很多问题呢,高手帮帮忙吧。 东梨园村位于哪个省哪个市 多个下位单片机与上位机pc通过串口通信的实现16 交换机通过mac地址进行数据包的交换,路由器通过ip地址进行...7 威海到上海 怎么走最好4 王者传奇新手怎么玩 王者传奇新手入门攻略54 王者传奇有哪些新手小技巧可以学习2 16天的宝宝,每顿吃80ML,不吃就闹 RICH BOSS 皮鞋 好吗? rich是什么牌子 上海迈丝美容美发有限公司怎么样? nba从哪年开始举办 哈喽单车注册了滴滴打车软件会被封号吗? 你好,我在网上担保公司办理了一张广发信用卡,卡是下来了但是要... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 某个节点B处于A和C之间,负责转发A和C通讯的数据包,为了防... 中华人民共和国传染病防治法的实施时间是