基于ZigBee技术的无线智能小车软件设计毕业设计

上传人:仙*** 文档编号:31641473 上传时间:2021-10-12 格式:DOC 页数:51 大小:1.27MB
收藏 版权申诉 举报 下载
基于ZigBee技术的无线智能小车软件设计毕业设计_第1页
第1页 / 共51页
基于ZigBee技术的无线智能小车软件设计毕业设计_第2页
第2页 / 共51页
基于ZigBee技术的无线智能小车软件设计毕业设计_第3页
第3页 / 共51页
资源描述:

《基于ZigBee技术的无线智能小车软件设计毕业设计》由会员分享,可在线阅读,更多相关《基于ZigBee技术的无线智能小车软件设计毕业设计(51页珍藏版)》请在装配图网上搜索。

1、北京邮电大学毕业设计 北京邮电大学毕业设计(论文)任务书第1页毕业设计(论文)题目:基于ZigBee技术的无线智能小车软件设计 毕业设计(论文)要求及原始数据(资料): 1.综述无线智能小车的应用前景;2深入了解无线智能小车的软件设计的相关技术以及使用;3熟练掌握基于QT的图形界面开发以及ZigBee无线通讯技术;4.设计并实现无线智能小车中关于上位机图形界面的开发、上位机与下位机的无线通讯功能;5深入分析无线智能小车的关键技术与编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容:1综述无线智能小车在各领域中的应用;2掌握QT的

2、图形界面开发技术; 3掌握ZigBee无线通讯技术; 4.设计并实现无线智能小车中关于上位机图形界面的开发; 5.上位机与下位机的无线通讯功能; 5.组装各功能模块,实现上位机对智能小车无线操作以及红外智能避障功能; 6.深入分析无线智能小车的关键技术与整个设计的流程; 学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第3页 主要参考文献(资料): 1 陈淑娟. Zigbee技术简介及其在无线传感网络中的应用研究C. 大连海事大学信息工程学院,2004 2 晁楠. 基于ZigBee无线

3、网络的小车控制D. 西安科技大学, 2009 3 戴琪. 基于ZigBee的LED路灯智能控制系统D. 西安电子科技大学,2012 4 周怡頲,凌志浩,吴勤勤. ZigBee无线通信技术及其应用探讨J. 自动化仪表,2005,(04) 5王浩南,刘益成. 基于嵌入式Linux系统下的Qt开发J.电脑开发与应用,2010,23(01) 6 刘艳青,苏桂莲. 基于Qt4的图形用户界面程序的设计与实现J.现代计算机(专业版),2009(03),170-173 7 张春艳. 基于Qt的嵌入式图形用户界面研究与实现D. 大连海事大学,2008 8 Bonhyun Koo,Kyusuk Han,James

4、 J.(Jong Hyuk) Park, Taeshik Shon. Design and implementation of a wireless sensor network architecture using smart mobile devicesJ. Telecommunication Systems, 2013, Vol.52 (4), pp.2311-2320 9 Bojan Kulji ,Jnos Simon ,Tibor Szakll. Pathfinding Based on Edge Detection and Infrared Distance Measuring S

5、ensorJ. Acta Polytechnica Hungarica, 2009, Vol.6 (1), pp.103 10 Kaewnopparat,A.,Sooraksa,P. Tracking problem and obstacle avoidance of mobile robots using simple fuzzy controlJ. Songklanakarin Journal of Science and Technology, 2004, Vol.26 (5), pp.671专业班级软件1005班学生 王泽彬 要求设计(论文)工作起止日期2014年3月17日2014年6

6、月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于ZigBee技术的无线智能小车软件设计摘要智能化,是现代社会发展到一定阶段的新产物,是以后发展和研究的重点方向。它无需人为管理,可以在一个特点的环境里按照预先设计好的模式自动运行。随着计算机、机械电子、自动化、网络、信息和人工智能等技术的高速发展,智能机器人的研究进入了一个崭新的阶段。随着研究的深入,对智能机器人、无人自主车等领域的各种技术也有了更高的要求。本次设计的无线智能小车,采用ATmga16单片机作为小车的控制核心;采用ZigBee来实现上位机与智能小车之间的通讯。本论文重点介绍了QT以及ZigBe

7、e技术的相关概念以及应用。同时,主要介绍了完成无线智能小车上位机设计中QT的应用,以及ZigBee串口通讯程序的编写。最终,通过ZigBee的无线通讯以实现无线智能小车的无线操控功能。本设计的智能小车技术发展成熟,结构简单,易于实现。而且有很高的智能化和人性化特点。关键词 无线智能小车;ZigBee;QTBased on the technology of ZigBee wireless smart car software designAbstractIntelligent, is a new product of the development of modern social devel

8、opment, is the focus of the development and research direction in the future. Without human management, it can be in the environment of a characteristic according to the preliminary design good model automatically. Along with the computer, machinery and electronics, automation, network, artificial i

9、ntelligence and information technology, the rapid development of intelligent robot research has entered a new stage. With the deepening of the research of intelligent robots, unmanned autonomous vehicle in areas such as all kinds of technology have higher requirements.The design of wireless smart ca

10、r, use ATmga16 single chip microcomputer as control core of the car; ZigBee is used to realize communication between PC and the smart car. This paper mainly introduces the related concepts and applications of QT and ZigBee technology. At the same time, mainly introduced the complete QT in the design

11、 of wireless smart car PC applications, and ZigBee write a serial port communication program. In the end, through the ZigBee wireless communications in order to realize the wireless smart car radio control functions. The design of the intelligent car technology development mature, simple structure,

12、easy to implement. And has a high intelligence and human characteristics.Keywords: Wireless smart car; ZigBee; QT目录摘要IAbstractII1 绪论11.1 课题研究背景及意义11.2 国内外研究现状及发展趋势11.2.1 国外研究现状11.2.2 国内研究现状21.2.3 研究方向21.3 设计概要32 技术简介42.1 QT简介42.1.1 QT概念及其主要模块42.1.2 QT的发展历史42.1.3 QT主要优势52.1.4 QT的主要模块52.2 ZigBee简介72.2

13、.1 ZigBee概念72.2.2 ZigBee技术特点82.2.3 ZigBee的应用及前景83 CC2530解决方案103.1 描述103.2 引脚描述103.3 电路描述123.2.1 CPU和内存133.2.2 时钟和电源管理、外设133.2.3 无线设备144 串口通讯程序的编写154.1 编程环境154.2 串口操作流程154.2.1 设置串口参数154.2.2 选择串口164.2.3 读或写串口164.2.4 关闭串口164.3 串口参数的设置164.4 串口通讯程序175 ZigBee模块的电路195.1 ZigBee第一次使用(组网)流程195.2 ZigBee接收器电路19

14、6 2.4G点对点通讯模块(无线串口)216.1 概述及功能特点216.2 基本概念216.3 使用说明217 核心代码详解247.1 操作主界面代码块247.2 操作主界面代码块26结论28参考文献29致谢30外文资料31外文资料翻译39IV1 绪论1.1 课题研究背景及意义信息化时代的到来,人们对网络通信技术的要求越来越高。传统的数字化设备的有线连接给人的生活带来了诸多不便。发展无线网络技术,将设备从有限连接的束缚中解脱出来,方便人们的使用,已经成为一种趋势,将无线技术运用到智能车设计中,从而使汽车轻松实现无线数据传输、语言通讯、目标跟踪、自动报警等功能已经是必然趋势,但是传统的无线技术大

15、多成本高、结构复杂、不利于无线技术的推广。近些年来,一些公司和标准化组织就开始在探寻在不同领域的无线网络连接技术。并且开发出一系列技术标准。无线传感网络技术的研究热潮掀起了一场后PC时代的革命。无线传感器网络是由大量无处不在的微小传感器节点,随机布设在无人值守的监控区域而构成的,能够根据环境自主完成指定任务的自治监控网络系统。它已经引起了学术界和工业界的高度重视,是对21世纪产生巨大影响力的技术之一,在很多领域也具有广阔的应用前景。2004年,在IEEE 802.15.4基础上建立了ZigBee标准,进而推出符合该标准的芯片和开发平台。ZigBee标准包括IEEE802.15.4协议制定的物理

16、层和介质访问层,以及ZigBee联盟制定的网络层和部分应用层。ZigBee协议标准作为一种全新的无线传感网络技术应运而生,并展示了迅猛发展的良好势头,引起了国内外广大科技工作者的极大兴趣和关注。该技术以微消耗能量、强组网能力、低营运成本、高可靠性为特点,可方便地组成一个功耗低、数据传输距离短且速率不高的低营运成本“无线局域网”,广泛应用到军事无人值守和灵巧网络通讯、工业自动控制、大中城市空气质量监控、医院医护监视、高速公路自动收缴费、居民水电气自动收缴费、消费类电子设备、PC外设的无线连接等领域。 国内已有很多高校和科研院所开展了这一领域的研究工作,研究内容含盖无线传感器节点硬件设计、操作系统

17、、网络路由技术、节能技术、覆盖控制技术等。1.2 国内外研究现状及发展趋势1.2.1 国外研究现状国外对于ZigBee技术的研究较早,技术也更加成熟。ZigBee联盟成立于2002年8月份,为推动ZigBee技术的发展,Ember、Freescale、Honeywell、Mistubishi/Mtotrola、Philips和Sansung等公司共同成立了ZigBee联盟(ZigBee Alliance)。现如今已经吸引了上百家芯片公司、无线设备公司和开发商的加入,其中包括有去多IC设计、家电、通讯设备、IP服务提供、玩具等产商。目前,该联盟已经包括好过150多家会员。ZigBee的研究主要集

18、中于硬件和软件2个方面。硬件方面,目前在2.4GHz的I芯片,以国外的Chipcon市场占有率较高,其RF芯片CC2420搭配Atmel AVR 8 bits微处理器的平台,也是很多数人接触道德ZigBee的第一个开发平台。Chipcon已在2005年第3季推出型号为CC2430的系统芯片(soc),包含RF与微处理器,大大减低了未来ZIgBee相关产品的成本,简化设计产品周期。2.4GHz的RF芯片厂商Freescale,也又渐渐迎头赶上的趋势。其IXII芯片公分三种型号:MCI3191、MCI3192和MCI3193,搭配不同的协议软件,提供给厂商进行不同产品的开发。软件方面,国际上已经有

19、很多公司提供ZigBee Stack。例如,Ember、AirBee、Figure8 Wireless等,其中以Figure8 Wireless(F8W)所设计的Z.Stack最负盛名。Chipcon把F8W买下之后,是的Chipcon成为ZIgBee的完全解决方案的提供者。Fresscale也是搭配F8W的Z.Stack。这样,Chipcon CC24Z.Stack以及Freescalel3193+Z.Stack都成为ZigBee的开发的黄金平台。1.2.2 国内研究现状国内ZigBee的研究起步较晚,国内市场主要由国外占领。现状国内还未见成熟的自主研制的ZigBee产品,只是有一些研究性和

20、简单应用的文章出现在期刊杂志。但是随着技术的发展,很多高校和研究机构已经开始无线组网技术的研究和应用。像中科院计算所的宁波分所就在专业从事无线技术的研究,侧重于无线网络化的智能传感器,计算所自主开发出了低功耗的CPU、多点网络动态组网拓扑协议、网络节点管理软件。国内的一些个大学,如山东大学、浙江大学也在进行ZigBee组网和应用的研究,利用国外厂商的开发平台和芯片创建ZigBee网络,并且应用在智能家居、物流管理方面。相信随着无线技术的研究的深入,将有更多的国产的ZigBee产品。1.2.3 研究方向ZigBee路由协议是基于AODV专用网络路南协议来实现的。ZigBee路由器主要的功能是:路

21、径的开发和选择、路径保持维护、路径期满处理。Z-Stack提供了完善高效的路由算法,兵器路由对对于应用层来说是完全透明的。用户在实现路由算法时,主要通过路由记录表的配置来实现,这个重要的配置文件是fSwConfig.c用户可以通过配置文件中的ROUTE_EXPIRY_TIME配置路径满期时间,通过MAX_RTG_ENTRIES配置路由表的大小,通过MAX_TEQ_ENTRIES配置并发查找路径的大小。另基于ZigBee技术的传感器网络应用非常广泛,可以帮助人们更好地实现生活梦想。ZigBee技术应用在数字家庭中,可使人们随时了解家里的电子设备状况,并可用于对家中病人的监控,观察病人状况是否正常

22、以便作出反应。ZigBee传感器网络用语楼宇自动化可减低运营成本。如:检点里遍布空调供暖(HVAC)设备,如果在每台空调设备上加上ZigBee节点,就能对这些空调系统进行实时控制,节约能源消耗。此外,通过在手机上集成ZigBee芯片,可将手机作为ZigBee传感器网络的网关,实现对智能家庭的自动化控制、进行移动商务(利用手机购物)等诸多功能。据BobHeile介绍,目前意大利TIM移动公司已经推出了基于ZigBee技术的Z-sim卡,用于移动电话与电视机顶盒、计算机、家用电器之间的通信及停车场收费等。1.3 设计概要该智能小车是一辆双轮驱动的小车。通过ATmega16主控芯片控制传感器输入输出

23、的信号;使用L298N做为电机驱动;ZigBee作为无线通讯装置;HJ-IR2红外传感器用于发射和接收红外线。以实现无线智能小车的无线操控以及智能避障功能。本论文主要简述了无线智能小车中所使用的部分技术,即:QT和ZigBee技术。并且详细介绍了ZigBee串口通讯程序的编写流程。最后,介绍了ZigBee模块电路的各个接口,以方便最终智能小车的组装。2 技术简介2.1 QT简介2.1.1 QT概念及其主要模块QT是一个1991年由奇趣科技开发的多平台的C+图形用户界面应用程序框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。它是Dig

24、ia公司的产品。QT使用标准的C+和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏。通过语言绑定,其他的编程语言也可以使用QT。QT是自由且开放源代码的软件,在GNU较宽松公共许可证条款下发布。所有版本都支持广泛的编译器,包括GCC的C+编译器和Visual Studio。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。 自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。经过多年发展,Qt不但拥有了完善的C+图形库,而且近年来的

25、版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规模复杂跨平台应用程序的能力。QT的主要模块有图形界面、信号与槽、布局管理、图形工具、障碍环境、语言系统、线程支持、言语绑定等模块。2.1.2 QT的发展历史1996 OctKDE组织成立1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到 Qt 上1998 Apr 08 KDE Free Qt 基金会成立1998 Jul 09 Qt 1.40 发布1998 Jul 12 KDE 1.

26、0 发布1999 Mar 04QPL1.0 发布1999 Mar 12 Qt 1.44 发布1999 Jun 25 Qt 2.0 发布1999 Sep 13 KDE 1.1.2 发布2000 Mar 20嵌入式Qt 发布2000 Sep 06 Qt 2.2 发布2000 Oct 05 Qt 2.2.1 发布2000 Oct 30 Qt/Embedded 开始使用GPL宣言2000 Sep 04 Qt free edition 开始使用 GPL2008 Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Q

27、t on Mobile, Qt Commercial由Digia负责,根据最新消息,NOKIA已经停止Meltemi系统开发,QT部门被解散2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给芬兰IT服务公司Digia。2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。2013年12月11日,Digia公司Qt开发团队宣布Qt 5.2正式版发布。2014年4月,Digia公司Qt开发团队宣布Qt Creator 3.1.0正式版发布。2.1.3 QT主要优势QT的主要优势有:(1)优良的跨平台特性:Qt支持下列操作系统:M

28、icrosoft Windows 95/98, Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX(OSF/1,Tru64),Irix, FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。(2)面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。(3)丰富的API:Qt包括多达250个以上的C+类,还提供基于模板的collect

29、ions,serialization,file,I/O device,directory management,date/time类。甚至还包括正则表达式的处理功能。(4)支持2D/3D图形渲染,支持OpenGL。(5)大量的开发文档。(6)XML支持。2.1.4 QT的主要模块经过多年发展,Qt不但拥有了完善的C+图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“Code Less;Create More;De

30、ploy Anywhere.”。由于各家编译器良莠不齐。Qt本身为了跨平台兼容性,只能以“最低兼容规格”来设计。因此Qt必须具备RTTI、动态创建、Persistence/Serialization的基础建设,以及建构出自己的容器组件。1.图形界面Qt的图形用户界面的基础是QWidget。Qt中所有类型的GUI组件如按钮、标签、工具栏等都派生自QWidget,而QWidget本身则为QObject的子类。Widget负责接收鼠标,键盘和来自窗口系统的其他事件,并描绘了自身显示在屏幕上。每一个GUI组件都是一个widget,widget还可以作为容器,在其内包含其他Widget。QWidget不

31、是一个抽象类型。并且可以被放置在一个已存在的用户界面中;若是Widget没有指定父Widget,当它显示时就是一个独立的视窗、或是一个顶层widget。QWidget显示能力包含了透明化及Double-Buffering。Qt提供一种托管机制,当Widget于创建时指定父对象,就可把自己的生命周期交给上层对象管理,当上层对象被释放时,自己也被释放。确保对象不再使用时都会被删除。2.信号与槽Qt利用信号与槽(signals/slots)机制取代传统的callback来进行对象之间的沟通。当操作事件发生的时候,对象会发提交一个信号(signal);而槽(slot)则是一个函数接受特定信号并且运行槽

32、本身设置的动作。信号与槽之间,则通过QObject的静态方法connect来链接。信号在任何运行点上皆可发射,甚至可以在槽里再发射另一个信号,信号与槽的链接不限定为一对一的链接,一个信号可以链接到多个槽或多个信号链接到同一个槽,甚至信号也可连接到信号。以往的callback缺乏类型安全,在调用处理函数时,无法确定是传递正确型态的参数。但信号和其接受的槽之间传递的数据型态必须要相符合,否则编译器会提出警告。信号和槽可接受任何数量、任何型态的参数,所以信号与槽机制是完全类型安全。信号与槽机制也确保了低耦合性,发送信号的类型并不知道是哪个槽会接受,也就是说一个信号可以调用所有可用的槽。此机制会确保当

33、在连接信号和槽时,槽会接受信号的参数并且正确运行。3.布局管理布局管理类型用于描述一个应用程序的用户界面中的Widget是如何放置。当视窗缩放时,布局管理器会自动调整widget的大小、位置或是字号,确保他们相对的排列和用户界面整体仍然保有可用性。Qt内置的布局管理类型有:QHBoxLayout、QVBoxLayout、QGridLayout和QFormLayout。这些类型继承自QLayout,但QLayout非继承自QWidget而是直接源于QObject。他们负责widget的几何管理。想要创建更复杂的版面配置,可以继承QLayout来自定义版面配置管理员。QHBoxLayout:配置w

34、idget成横向一列。QVBoxLayout:配置widget成垂直一行。QGridLayout:配置widget在平面网格。QFormLayout:配置widget用于2栏标签-field。4.图形工具(1)Main WindowQt提供了下列主视窗管理和相关的用户界面组件的类型:QMainWindow:提供一个标准的应用程序主视窗。当中可以包括菜单、工具栏、状态栏、停驻组件等组件。QDockWidget:提供了一个可用于创建弹簧工具调色板或辅助窗口的widget。Dock widgets可以移、关闭、浮动为外部视窗。QToolBar:提供了一个通用的工具栏widget,可以放入一些不同的a

35、ction有关的工具,如按钮、下拉列表、comboboxes和spin boxes。(2) Graphics ViewGraphics View提供了用于管理和交互大量定制的2D图形对象的平面以及可视化显示对象的视图widget,并支持缩放和旋转功能。整个Graphics View框架提供一个以Item为基础的model-view设计。由3个主要的类型组成,分别是QGrphicsItem、QGraphicsScene和QGraphicsView。若干View可以显示一个Scene,Scene中则包含不同几何形状的Item。该框架包括一个事件传播的架构,让在Scene上的Item有双精度的交互能

36、力。Item可以处理键盘事件,鼠标按下、移动、释放和双击事件,他们也可以跟踪鼠标移动。Graphics View使用BSP(二进制空间划分)树可非常快速地找到Item,因此即使是包含百万个Item的大型Scene,也能实时图形化显示。KDE中的Plasma亦是基于Graphics View实现的。5.障碍环境无障碍环境需要无障碍兼容的应用程序、辅助技术、以及辅助工具之间的合作。应用程序通常不会直接沟通辅助工具,而是通过一个辅助技术,这是一个应用程序和工具之间信息交流的桥梁。用户界面元素相关信息,例如按钮和滚动条,使用辅助技术来显示。Qt支持Windows上的Microsoft Active A

37、ccessibility(MSAA)和Mac OS X上Mac OS X Accessibility。无障碍兼容的应用程序称为AT-Servers,而辅助工具被称为AT-Clients。Qt应用程序通常会是一个AT-Server,但特别的程序也可能如同AT-Client方式工作。6.语言系统Qt的字体引擎能够在同一时间正确的显示各种不同的书写系统。并且Qt内部使用Unicode编码来存储文字。Qt的多国语言支持技术,可以让应用程序中的文字全部使用英文撰写,能够在完全不需修改程序的状况下,改变整个应用程序中的文字为另一个语系的文字,并能够协助处理不同语言的单、复数问题。独立的翻译文件使得新增支持

38、语言相当容易,同时翻译文件(.ts)为XML格式可以直接编辑或使用Qt Liguist进行翻译,可让无程序开发能力的翻译者亦能独自完成翻译。Qt附带的工具程序就能够自动抽取需要翻译的文字产生翻译文件。7.线程支持Qt的线程支持是独立于平台的线程类型,采用信号与槽机制,实现类型安全的线程间通讯。这使得它易于开发具可移植性的多线程Qt应用程序。并能充分利用多核架构,获得最佳运行性能,还能根据可用的处理器内核数自动调整使用的线程数。多线程程序设计也是一个执行耗时操作而不会冻结用户界面的有效典范。8.语言绑定除了C+外,Qt还为其它多种计算机语言提供了应用程序接口,您也可以使用这些语言开发Qt应用程序

39、。2.2 ZigBee简介2.2.1 ZigBee概念ZigBee 是一种基于标准的远程监控、控制和传感器网络应用技术。为满足人们对支持低数据速率、低功耗、安全性和可靠性,而且经济高效的标准型无线网络解决方案的需求,ZigBee 标准应运而生。Zigbee是部署无线传感器网络的新技术。它是一种短距离、低速率无线网络技术,是一种介于无线标记技术和BlueTooth之间的技术提案。Zigbee一词源自蜜蜂群在发现花粉位置时,通过跳ZigZag形舞蹈来告知同伴,达到交换信息的目的。借此称呼一种专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术。ZigBee是一种低速短距离传输的无线网络协议

40、。ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。2.2.2 ZigBee技术特点(1)数据传输速率低:10Kb/s250Kb/s,专注于低速率传输应用。(2)功耗低:在低功耗待机模式下,两节普通 5号电池可使用 624 个月。(3)成本低:Zigbee 数据传输速率低,协议简单,大大降低了成本。(4)网络容量大:网络可容纳 6万多个设备。(5)延时短:典型搜索设备时延为 30ms,休眠激活时延为 15ms,活动设备信道接入时延为15ms。(6)网

41、络的自组织、自愈能力强,通信可靠。(7)数据安全:Zigbee 提供了数据完整性检查和健全功能,采用 AES-128 加密算法(美国新加密算法,是目前最好的文本加密算法之一),各个应用可灵活确定其安全属性。(8)ZigBee技术在低功耗、低成本和组网能力具有无可比拟的应用优势。2.2.3 ZigBee的应用及前景随着国内经济的高速发展,城市的规模在不断扩大,尤其是各种交通工具的增长更迅速,从而使城市交通需求与供给的矛盾日益突出,而单靠扩大道路交通基础设施来缓解矛盾的做法已难以为继。在这种情况下,智能公交系统(AdvancedPublicTransportationSystems,APTS)也就

42、应运而生,并且成为国内研究的热点。在智能公交系统所涉及的各种技术中,无线通信技术尤为引人注目。而ZigBee作为一种新兴的短距离、低速率的无线通信技术,更是得到了越来越广泛的关注和应用。市场上也出现了大量与ZigBee相关的各种产品,根据中国物联网校企联盟的统计分析表明:ZigBee虽然广受推崇,但是在数据中,推出ZigBee相关产品的中小型企业在2012年的发展并不可观。其中,比较有竞争力的ZigBee解决方案主要有下面几种:(1)Freescale:MC1319X平台;(2)Chipcon:SoC解决方案CC2530;(3)Ember:EM250ZigBee系统晶片及EM260网络处理器;

43、(4)Jennic的JN5121芯片;经过市场调研,发现Freescale的MC1319X平台功耗低、价格低廉、硬件集成度高,方便二次开发,射频通信系统的稳定性高。所以,在本文的设计中选用了MaxStream公司与ZigBee兼容的以FreescaleMC1319x芯片组为核心的XBeeProRF模块。下面主要介绍XbeePro的特性、接口应用、操作模式以及在智能公交无线网络中的应用。1.XBeePro模块的特性与接口XBee模块的基本性能参数如下:(1)发送功率:100mW;(2)接收灵敏度:-92dBm;(3)室内传输距离为100m,室外传输距离为1500m;(4)RF数据传输速率为250

44、kbps;(5)在3.3V电源下,发送电流为215mA,接收电流为55mA:(6)在网络性能方面,具有DSS(直接序列扩频)功能,可以组成对等网、点对点及点对多点网络,具有12个软件可选的直接序列信道,每个信道有65000个可用网络地址。XBeePro模块体积小,功耗低,接口简单,容易使用,非常适用于低数据速率的短距离通信应用,尤其是无线传感网络的设计应用。XBeePro模块还提供有免费X-CTU测试软件以便能够轻松测试和配置网络。该模块还可以通过下载该公司最新的固件(Firmware),使用户在使用原有硬件模块的基础上,获得最新的功能,从而为设计提供了极大的灵活性。2.XBeePro模块的操

45、作模式XBeePro有空模式、接收模式、发送模式、睡眠模式和命令模式等5种操作模式,如图3所示。每一种操作模式都有透明方式和应用程序接口(API)方式两种操作方式。当工作在透明方式时,模块可起到替代串口线的作用,并以字节为单位来处理各种信息;当工作在API方式下,所有进出模块的数据均被包含在定义模块的操作和事件的帧结构中。3.XBeePro模块在智能公交系统中的应用在站牌处通常会有多辆公交车同时到达,一个站牌对应多辆公交车,适合使用星状网布线网络。但为了保证网络的可靠性,当公交车站牌外的通道阻塞时,可以通过其它公交车路由节点转发到站牌,本设计采用网状(Mesh)网模型。可将分布在公交线路上的电

46、子站牌配置为协调器,而将到达的公交车配置为路由器。当站牌上ZigBee网络协调器选择一个信道和PANID并启动时,便建立了一个ZigBee个人局网(PAN)。一旦协调器已启动PAN,便可允许路由器和终端设备结点加入PAN。路由器加入PAN时,将收到一个16位的网络地址,并且能够发送和接收来自PAN内其他设备的数据。PAN协调器的网络地址总是0。由于站牌上ZigBee模块的网络物理地址是唯一的,可以通过物理地址向站牌发送信息。3 CC2530解决方案3.1 描述CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材

47、料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存,8-KB RAM和许多其他强大的功能。CC2530有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256的闪存。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。CC2530F256结合了德州仪器的业界领先的黄金单元协议栈(Z-StackTM),提供了一个强大和完整的ZigBee解决方案。CC2530F256结合了德州仪器的黄金单元,更好地提供了一个强大和完整的远程控

48、制解决方案。3.2 引脚描述CC2530引脚如图3-1所示,引脚的简短描述如表3-1所示。图3-1 引脚顶视图注意:暴露的接地衬垫必须连接到一个坚固的接地面,因为这是芯片的接地连接点。表3-1 引脚描述引脚名称引脚引脚类型描述AVDD128电源(模拟)2-V-3.6-V模拟电源连接AVDD227电源(模拟)2-V-3.6-V模拟电源连接AVDD324电源(模拟)2-V-3.6-V模拟电源连接AVDD429电源(模拟)2-V-3.6-V模拟电源连接AVDD521电源(模拟)2-V-3.6-V模拟电源连接AVDD631电源(模拟)2-V-3.6-V模拟电源连接DCOUPL40电源(数字)1.8V

49、数字电源去耦。不使用外部电路供应。DVDD139电源(数字)2-V-3.6-V数字电源连接DVDD110电源(数字)2-V-3.6-V数字电源连接GND-接地接地衬垫必须连接到一个坚固的接地面。GND1,2,3,4未使用的引脚连接到GNDP0_019数字I/O 端口0.0P0_118数字I/O端口0.1P0_217数字I/O端口0.2P0_316数字I/O端口0.3P0_415数字I/O端口0.4P0_514数字I/O端口0.5P0_613数字I/O端口0.6P0_712数字I/O端口0.7P1_011数字I/O端口1.0-20-mA驱动能力P1_19数字I/O端口1.1-20-mA驱动能力P

50、1_28数字I/O端口1.2P1_37数字I/O端口1.3P1_46数字I/O端口1.4P1_55数字I/O端口1.5P1_638数字I/O端口1.6P1_737数字I/O端口1.7P2_036数字I/O端口2.0P2_135数字I/O端口2.1P2_234数字I/O端口2.2P2_3/33数字I/O端口2.3/32.768kHz XOSCP2_4/32数字I/O端口2.4/32.768kHz XOSCRBIAS 30模拟I/O参考电流的外部精密偏置电阻RESET_N20数字输入复位,活动到低电平RF_N26RF I/ORX期间负RF输入信号到LNARF_P25RF I/ORX期间正RF输入信

51、号到LNAXOSC_Q122模拟I/O32-MHz晶振引脚1或外部时钟输入XOSC_Q223模拟I/O32-MHz晶振引脚23.3 电路描述图3-2 CC2530方框图图3-2是的方框图。这些模块大致可以分为三类:CPU和内存相关的模块;外设、时钟和电源管理相关的模块,以及无线电相关的模块。下面给出了图中出现的各个模块的简短描述。3.2.1 CPU和内存CC253x芯片系列中使用的8051 CPU内核是一个单周期的8051兼容内核。它有三种不同的内存访问总线(SFR,DATA和CODE/XDATA),单周期访问SFR,DATA和主SRAM。它还包括一个调试接口和一个18输入扩展中断单元。中断控

52、制器总共提供了18个中断源,分为六个中断组,每个与四个中断优先级之一相关。当设备从活动模式回到空闲模式,任一中断服务请求就被激发。一些中断还可以从睡眠模式(供电模式1-3)唤醒设备。内存仲裁器位于系统中心,因为它通过SFR总线把CPU和DMA控制器和物理存储器以及所有外设连接起来。内存仲裁器有四个内存访问点,每次访问可以映射到三个物理存储器之一:一个8-KB、闪存存储器和XREG/SFR寄存器。它负责执行仲裁,并确定同时访问同一个物理存储器之间的顺序。8-KB SRAM映射到DATA存储空间和部分XDATA存储空间。8-KB SRAM是一个超低功耗的SRAM,即使数字部分掉电(供电模式2和3)

53、也能保留其内容。这是对于低功耗应用来说很重要的一个功能。32/64/128/256 KB闪存块为设备提供了内电路可编程的非易失性程序存储器,映射到XDATA存储空间。除了保存程序代码和常量以外,非易失性存储器允许应用程序保存必须保留的数据,这样设备重启之后可以使用这些数据。使用这个功能,例如可以利用已经保存的网络具体数据,就不需要经过完全启动、网络寻找和加入过程。3.2.2 时钟和电源管理、外设数字内核和外设由一个1.8-V低差稳压器供电。它提供了电源管理功能,可以实现使用不同供电模式的长电池寿命的低功耗运行。有五种不同的复位源来复位设备。CC2530包括许多不同的外设,允许应用程序设计者开发

54、先进的应用。调试接口执行一个专有的两线串行接口,用于内电路调试。通过这个调试接口,可以执行整个闪存存储器的擦除、控制使能哪个振荡器、停止和开始执行用户程序、执行8051内核提供的指令、设置代码断点,以及内核中全部指令的单步调试。使用这些技术,可以很好地执行内电路的调试和外部闪存的编程。设备含有闪存存储器以存储程序代码。闪存存储器可通过用户软件和调试接口编程。闪存控制器处理写入和擦除嵌入式闪存存储器。闪存控制器允许页面擦除和4字节编程。I/O控制器负责所有通用I/O引脚。CPU可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上

55、拉或下拉电阻。CPU中断可以分别在每个引脚上使能。每个连接到I/O引脚的外设可以在两个不同的I/O引脚位置之间选择,以确保在不同应用程序中的灵活性。系统可以使用一个多功能的五通道DMA控制器,使用XDATA存储空间访问存储器,因此能够访问所有物理存储器。每个通道(触发器、优先级、传输模式、寻址模式、源和目标指针和传输计数)用DMA描述符在存储器任何地方配置。许多硬件外设(AES内核、闪存控制器、USART、定时器、ADC接口)通过使用DMA控制器在SFR或XREG地址和闪存/SRAM之间进行数据传输,获得高效率操作。定时器1是一个16位定时器,具有定时器/PWM功能。它有一个可编程的分频器,一

56、个16位周期值,和五个各自可编程的计数器/捕获通道,每个都有一个16位比较值。每个计数器/捕获通道可以用作一个PWM输出或捕获输入信号边沿的时序。它还可以配置在IR产生模式,计算定时器3周期,输出是ANDed,定时器3的输出是用最小的CPU互动产生调制的消费型IR信号。MAC定时器(定时器2)是专门为支持IEEE 802.15.4 MAC或软件中其他时槽的协议设计。定时器有一个可配置的定时器周期和一个8位溢出计数器,可以用于保持跟踪已经经过的周期数。一个16位捕获寄存器也用于记录收到/发送一个帧开始界定符的精确时间,或传输结束的精确时间,还有一个16位输出比较寄存器可以在具体时间产生不同的选通

57、命令(开始RX,开始TX,等等)到无线模块。定时器3和定时器4是8位定时器,具有定时器/计数器/PWM功能。它们有一个可编程的分频器,一个8位的周期值,一个可编程的计数器通道,具有一个8位的比较值。每个计数器通道可以用作一个PWM输出。睡眠定时器是一个超低功耗的定时器,计算32-kHz晶振或32-kHz RC振荡器的周期。睡眠定时器在除了供电模式3的所有工作模式下不断运行。这一定时器的典型应用是作为实时计数器,或作为一个唤醒定时器跳出供电模式1或2。ADC支持7到12位的分辨率,分别在30kHz或4kHz的带宽。DC和音频转换可以使用高达八个输入通道(端口0)。输入可以选择作为单端或差分。参考

58、电压可以是内部电压、AVDD或是一个单端或差分外部信号。ADC还有一个温度传感输入通道。ADC可以自动执行定期抽样或转换通道序列的程序。随机数发生器使用一个16位来LFSR产生伪随机数,这可以被CPU读取或由选通命令处理器直接使用。例如随机数可以用作产生随机密钥,用于安全。AES加密/解密内核允许用户使用带有128位密钥的AES算法加密和解密数据。这一内核能够支持IEEE 802.15.4 MAC安全、ZigBee网络层和应用层要求的AES操作。一个内置的看门狗允许CC2530在固件挂起的情况下复位自身。当看门狗定时器由软件使能,它必须定期清除;否则,当它超时就复位它就复位设备。或者它可以配置

59、用作一个通用32-kHz定时器。USART0和USART1每个被配置为一个SPI主/从或一个UART。它们为RX和TX提供了双缓冲,以及硬件流控制,因此非常适合于高吞吐量的全双工应用。每个都有自己的高精度波特率发生器,因此可以使普通定时器空闲出来用作其他用途。3.2.3 无线设备具有一个兼容无线收发器。内核控制模拟无线模块。另外,它提供了和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。4 串口通讯程序的编写4.1 编程环境在windows XP编程环境下,在Qt Creator 中进行。如果在Linux 下或

60、直接用源码编写,程序稍有不同,需要改动。在Qt 中并没有特定的串口控制类,大部分人使用的是第三方的qextserialport 类。可以在一下网站下载。下载文件为qextserialport-1.2win-alpha.zip。在windows 下只需要使用其中的6 个文件:qextserialbase.cpp 和qextserialbase.h,qextserialport.cpp 和qextserialport.h,win_qextserialport.cpp 和win_qextserialport.h。4.2 串口操作流程4.2.1 设置串口参数在win_qextserialport.cp

61、p文件中,在最后一个构造函数里,我们可以进行串口的初始化。如:波特率,数据位,奇偶校验,停止位,数据流控制等。Win_QextSerialPort:Win_QextSerialPort(const QString & name, const PortSettings& settings, QextSerialBase:QueryMode mode) Win_Handle=INVALID_HANDLE_VALUE; setPortName(name); setBaudRate(settings.BaudRate); setDataBits(settings.DataBits); setStopB

62、its(settings.StopBits); setParity(settings.Parity); setFlowControl(settings.FlowControl); setTimeout(settings.Timeout_Millisec); setQueryMode(mode);init();它共有三个参数。第一个参数const QString & name,是串口的名字,QString 类型,我们可以用串口1 即“com1”。第二个参数const PortSettings& settings,经过查找可以看出PortSettings是一个结构体,是多个枚举变量,它定义了串口初始化的各个参数,这个结构体可以

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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