- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
采用主从方式实现点对多点无线数传设计
采用主从方式实现点对多点无线数传设计
摘 要:针对无线传输容易发生频段冲突,数据丢包等现象,采用主从分布式、双无线收发芯片、跳频技术及随机延时的思想实现点对多点的无线数传系统设计,提高无线数据传输的准确性、实时性和可靠性。该系统由单片机、主无线模块和从无线模块等组成,具有成本低廉,实现简单等优点。
关键词:主从分布式; 点对多点; 无线数据传输; 跳频技术
0 引 言
随着嵌入式技术、集成电路、自动化控制及无线通信技术的迅速发展,各种终端设备之间的联系已经从电线与接口的束缚解放了出来。无线通信技术与有线通信技术相比,有成本低、携带方便、不必穿墙钻孔布线、搭建网络简单快捷等优点[12]。特别是在有线网络不通畅或由于现场环境因素的限制不便架设线路的情况下,使用无线通信技术进行数据采集、传输显得更加实用、高效、快捷[34]。
无线设备间的互连操作随处可见,其核心问题是设备间通信。如何实现一个接收端与多个发送端之间的数据传输以及如何更有效的解决无线通信时的防碰撞问题,本文采用主从分布式、双无线收发芯片、跳频技术及随机延时的思想实现点对多点的无线数传系统设计,提高无线数据传输的准确性、实时性和可靠性。
1 系统的基本结构
点对多点无线数传系统的结构框图如图1所示,由一台主无线模块和多个从无线模块构成,可以实现无线数据的双向传输。每个从无线模块都有独立的CPU,与主无线模块的通信互不影响,不会因某个无线模块的故障而使整个系统失去控制,不仅能提高系统的可用性,更便于维护。
主无线数传模块:负责将外围设备或PC的测控(查询和设置)指令发送给从无线数传模块,并对外围设备返回的应答数据(正常数据)或外围设备主动上传的报警数据(异常数据)进行适当处理(校验、拆包、组包等),通过RS 232总线或RS 485总线传给外围设备或PC。
从无线数传模块:负责将主无线数传模块传送来的测控指令通过RS 232总线或RS 485总线传给外围设备,及将外围设备的应答数据或报警数据传送给主无线数传模块传。
2 系统的硬件设计
无???数传系统的硬件框图如图2所示,本系统采用目前比较流行的低功耗、抗干扰能力强、误码低的射频收发芯片CC1100,51单片机处理器,RS 232总线/RS 485总线,电源模块,拨码开关等研制无线数传模块。为避免PC机与多外围设备或外围设备之间的数据碰撞,采用一主多从模式,并在主无线模块上接两片射频收发芯片,其中一片用于正常数据的传输,另一片用于异常或报警数据的传输,保证数据传输的准确性与可靠性。而从无线模块上只接一片射频收发芯片,兼顾正常和异常数据的传输。
3 系统的软件设计
3.1 单片机通信程序设计
在点对多点的无线数传系统中,无线通信软件设计特别重要,软件设计的好坏直接关系到数据通信的准确性及实时性、系统的可靠性等[5]。采用KeilC、汇编语言及C语言相结合开发。用汇编语言编写部分与硬件相关的程序代码,最大限度地发挥硬件的功能,能够根据特定的应用,而对代码做优化处理,从而提高程序的运行速度。软件开发的主体部分用C语言编写程序代码,如频率的设置、资源/重要变量的初始化、数据的解析处理等,具有项目开发周期短、可读性强、可移植性好等特点。
为了避免同频干扰的问题,系统采用时分技术将系统主无线数传模块与任一从无线模块之间的通信采用时分的方式分开,每个从无线数传模块都有一个独立的ID(地址),采用带地址码的数据帧发送数据或命令。
无线数传通信框图如图3所示,其中A:正常操作,指令B:报警数据上传。正常通信时,主无线数传模块通过频段1(正常通道)与从无线模块实现数据的交换,从无线模块只有收到地址域与本身ID相匹配的指令才与主无线模块通信,否则总是处于监听状态。报警通信时,从无线数传模块通过频段2(报警通道)与主无线模块实现数据的交换,此时从无线数传模块需要从频段1跳频到频段2,当报警数据传输完成,再从频段2跳频到频段1,保证正常通信的畅通。
由于有报警数据的主动上传,不可避免的会出现频段冲突,采用“随机延时”防碰撞协议,实现点对多点通信。具体做法:当从无线数传模块上传报警数据后,规定时间内未接收到主无线数传模块的应答,则调用随机延时程序,延时一段时间再发送,否则直接跳频,保证正常数据的通信。
无线数传模块接收串口数据的处理流程如图4所示,为保证系统能正常运行,任一条指令或数据,在规定时间内未应答,可以重发3次,一旦超过了重发次数,就放弃此条指令或数据,进入下一条指令或数据的通信。
3.2 PC机串行通信程序设计
串口自动测试系统基于Access数据库、VB开发,提供一个C/S结构的测试软件。PC机采用VB软件开发,VB提供了串行端口控件MS
文档评论(0)