当前位置:首页 > 单片机 > 单片机
[导读]融合单片机技术和计算机网络技术,优化数据包的格式和控制方式以及引入帧检测序列,设计基于AT89S52的单片机网络的单片机多机通信协议;系统网络拓扑结构采用总线型

摘要: 融合单片机技术和计算机网络技术,优化数据包的格式和控制方式以及引入帧检测序列,设计基于AT89S52的单片机网络的单片机多机通信协议;系统网络拓扑结构采用总线型;网络接口电路采用端口转发的形式等进行单片机多机通信系统的设计,系统易于扩展且提高了稳定性。结果表明,此系统设计解决了8位单片机多机通信的问题,实现了客户机与服户机间的通信,以及客户机与客户机间的通信。
关键字:单片机;通信协议;数据包;帧;网络接口

Abstract:By combining the technology of Single-chip Microcomputers and networks, optimizing the pattern and the controlling model of data packets, and introducing frame checking sequences, a protocol of multi-computer communication among Single-chip Microcomputers of  the networks based on “AT89S52” is designed. A bus model is adopted by the networks topological structure of the system. To design the system of multi-computer communication among Single-chip Microcomputers, A port transmitting form is adopted by the networks interface circuit. The system is prone to be expanded and the stability of it is advanced. Results indicate that the design makes the problem of multi-computer communication among 8-bit Single-chip Microcomputers work out easily, realizes the communication between a client computer and its server, and realizes the interactive communication among the clients as well.

Keywords: Single-chip Computer;communication protocol; data packet; frame; network interface

 

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] (美)Christa Anderson.Mark Minasi.Mastering Local Area Networks [M] .出版社Sybex ,1999.

[2]  江晓安.董秀峰.模拟电子技术[M].西安电子科技大学出版社,2002.

[3]  张永瑞.杨林耀.张雅兰.电路分析基础[M].西安电子科技大学出版社,2001.

[4]  Barry B.Brey.Programming the 80286,80386,80486,and Pentium-Based Personal Computer[M].电子工业出版社,1998.

[5]  汤子瀛.哲风屏.汤小丹.计算机操作系统[M].西安电子科技大学出版社,1996.

[6]  江晓安.董秀峰.杨颂华.数字电子技术[M].西安电子科技大学出版社,2002.

[7]  周明德.微型计算机系统原理及应用[M].清华大学出版社,1998.

[8]  林雪梅.彭佳红.姚志成.单片机多机通信协议的设计[J] .微计算机信息,2006.2-2:24-26

[9]  张鲁国.智能卡操作系统中存储管理设计[J] .微计算机信息,2005,8-3:18-19

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几种接收不定长数据的方法。

关键字: 单片机 串口 STM32

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭