毕业设计(论文)-基于单片机的无线点餐系统的设计.doc_第1页
毕业设计(论文)-基于单片机的无线点餐系统的设计.doc_第2页
毕业设计(论文)-基于单片机的无线点餐系统的设计.doc_第3页
毕业设计(论文)-基于单片机的无线点餐系统的设计.doc_第4页
毕业设计(论文)-基于单片机的无线点餐系统的设计.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长春理工大学本科毕业论文摘 要随着人民生活水平的提高和生活方式的转变,餐饮业具有巨大的投资市场,被称为中国的黄金产业。无线电子点菜系统是无线通信技术的典型应用,把无线技术 用于餐饮业将会极大提高餐馆的工作效率和服务质量。论文给出了无线电子点菜系统的完整的硬件平台的设计和实现方案。整个系统有主机端和移动端两部分组成,无线通信的双方依托一定的硬件平台,按照约定好的协议来实现数据交换。设计的硬件平台时,首先详细介绍了平台将要用到的一些芯片,在设计的硬件平台的基础上,依据所用芯片的编程原则,在Windows环境下,以C语言为编程语言,开发出了无线通信系统的驱动程序来实现双方约定的通信协议。文中还附带简要介绍了用到的软件开发工具,以及系统的局限性,并提出了进一步改进的方案。 为了使整个系统更加完善,用Visual C+ 6.0开发了串口调试工具,实现了将远端数据发送到计算机并以窗口形式显示和通过窗口形式将计算机上的数据发送到远端,基本达到了论文的设计目的。关键词:无线通信 单片机 ZigBee nRF2401AbstractAlong with the enhancement of the level of the peoples lives and the transformation of the lifestyle, the dining industry which is called gold industry in China has the huge investment market. The wireless electronic ordering food system is the typical use of the technology of wireless communication. Using the technology of wireless communication in the dining industry will largely improve the working efficiency and the grade of service. The present paper brings up the plan of the hardware design of the wireless electronic ordering food system and how to realize. The overall system is made up of two parts, one is the main end and the other is the mobile end. Both sides of wireless correspondence depend on certain hardware platforms. They exchange data according to the protocol which both sides have agreed on before, and the data is transformed in specific frame form. When designing the hardware platform, first analyzes the CMOS chips that will be used in the system. In this foundation, according to the programming rules of the CMOS chips used in the system, the paper exploits the driving program of the system using C51 programming language in the Windows operating system. By the way, this paper also briefly introduces the software development kits which will be used next,analyzes the limitations of system, and also proposes how to improve it. In order to make the entire system more comprehensive,the paper also exploits the serial debugging tool in Visual C+ 6.0 to display the data from remote end in the window on computer and send data to remote end in the window form. This basically achieves the goal.Key word:wireless communication; Single-Chip Microcomputer;ZigBee;nRF2401目录摘 要1Abstract2第一章 绪论51.1研究背景和意义51.2 无线通信技术的发展现状6超宽带技术 UWB(Ultra Wide band)7ZigBee7IrDA (infrared data association)71.3 论文的研究内容81.4 内容安排8第二章 ZigBee 协议分析92.1 ZigBee 协议框架91 物理层102 媒体访问层103 网络层104应用层115安全层112.2 ZigBee 协议优缺点和应用前景122.2.1 ZigBee 协议的优点122.2.2 ZigBee 协议存在的问题及解决方案132.2.3 ZigBee 协议应用前景132.3基于ZigBee协议的芯片14第三章 基于 ZigBee 协议的硬件系统的设计及实现173.1 STC89C58RD+单片机概述173.2 开发板的各个组成部分原理图以及功能173.2.1 单片机最小系统组成电路173.2.2 串行口电平转换部分183.2.3 LED 部分193.2.4 开发板和无线数据传输模块接口部分203.2.5 键盘部分213.3 无线数据传输模块213.4 无线数据传输模块和开发板的PCB图设计23第四章 硬件驱动程序和串行口调试工具254.1 硬件驱动程序254.1.1 主机端硬件驱动程序254.1.2 移动端驱动程序304.2 串行口调试工具304.2.1 串行通信的基本原理304.2.2 程序设计原理32第五章 总结与展望375.1 全文总结375.2 研究展望38参 考 文 献39致 谢40附 录41第一章 绪论1.1研究背景和意义19世纪末意大利人马可尼发明了无线电报开始,人类才真正开始大规模地利用无线通信技术。近数十年来随着计算机技术和电子技术的发展,无线通信技术更是以日新月异的速度向前发展,它也成为了通信领域的一个重点研究方向。现代的无线通信技术是建立在硬件电路的基础上的,因此微电子技术的发展直接制约着无线通信技术的发展。回顾集成电路的发展历程,我们可以看到从电路集成到系统集成这句话是对IC产品从小规模集成电路到超大规模集成电路再到今天特大规模集成电路发展过程的最好总结,即整个集成电路产品的发展经历了从传统的板上系统到芯片上系统的过程。随着集程度的提高,芯片的体积能耗和成本在逐步降低。这也使电子产品向便携式和低端市场发展。 虽然微电子的发展历史已经有半个多世纪,但是射频芯片的发展却是近几年的事。从分类上来看,射频芯片属于专用集成电路。这些芯片一般工作在免费频段,采用专门的调制解调技术,内部集成了很多电路。像Nordic公司的NRF2401 芯片,它是单片射频收发芯片,工作于 2.42.5GHz ISM(工业、 科学、医学)频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。 无线电子点菜系统是无线通信技术的一个典型应用。近些年来,随着人民生活水平的提高和生活方式的转变,人们在消费过程中对服务质量也有了更高的要求,同时餐馆之间的激烈竞争也促进了无线通信技术在餐饮业中的应用。无线电子点菜系统的目的就是利用最先进的2.4GRF无线通信技术、触摸屏的掌上电脑技术, 为餐饮业走向全面数字化提供了完整的解决方案。该系统能够提高效率、自动结账、避免人为错误、实时监控餐馆状况、提供各种各样统计信息、管理库存、提高服务品质等,为餐饮行业带来崭新的管理理念与服务手段,优化业务流程,为客户提供更好的服务,实现企业价值最大化同时又使成本最低化,是餐饮行业向信息化发展的一个重要标志。1.2 无线通信技术的发展现状离无线通信技术,它们各自依托的硬件平台和通信协议也有很大不同。几种常见的长距离无线通信系统如GPRS系统和我国即将投入使用的3G系统,它们都有一按照发射功率的不同,无线通信技术可分为短距离无线通信技术和长距些共同的特点:使用专门的频段,需要专门的公司进行运营。由于本系统要求传输距离有限,而且对成本有限制,因此长距离无线通信协议不在考虑的范围之内,下面就重点阐述几种常见的短距离无线通信协议:1 蓝牙1998年爱立信、诺基亚、IBM 等公司共同推出了蓝牙技术,主要用于通信和信息设备的无线连接。蓝牙工作频率为2.4GHz,有效范围大约在10m 半径内。在此范围内,采用蓝牙技术的多台设备,如手机、微机、激光打印机等能够无线互联,以约1Mbs的速率相互传递数据,并能方便地接入互联网。目前蓝牙技术开发重点是多点连接,即一台设备同时与多台其他设备互联。今后,市场上不同厂商的蓝牙产品将能够相互联通。蓝牙技术的应用主要有以下 3 类:1 语音数据接入,是指将一台计算机通过安全的无线链路连接到通信设备上,完成与广域网的连接。2 外围设备互连,是指将各种设备通过蓝牙链路连接到主机上。3 PAN(Personal Area Net,个人局域网),主要用于个人网络与信息的。蓝牙协议有以下技术特点:(1)蓝牙工作在全球开放的2.4GHz ISM 频段; (2)使用跳频频谱扩展技术,把频带分成若干个跳频信道(hop channel) ,在 一次连接中,无线电收发器按一定的码序列不断地从一个信道跳到另一个信道;(3)一台蓝牙设备可同时与其它七台蓝牙设备建立连接; (4)数据传输速率可达1Mbit/s; (5)低功耗、通讯安全性好; (6)在有效范围内可越过障碍物进行连接,没有特别的通讯视角和方向要求; (7)支持语音传输; (8)组网简单方便但是蓝牙的传输距离比较短,而且蓝牙是一种还没有完全成熟的技术,尽管被描述得前景诱人,但还有待于实际使用的严格检验。蓝牙的数据传输速率也不是很高,可能也会对它的发展有所影响。目前主流的软件和硬件平台均不提供对蓝牙的支持,这使得蓝牙的应用成本升高,普及难度增大。从以上各点综合考虑,蓝牙协议不适合本系统。超宽带技术 UWB(Ultra Wide band)超宽带技术UWB(Ultra Wide band)是另一个新发展起来的无线通信技术。UWB通过基带脉冲作用于天线的方式发送数据。窄脉冲产生极大带宽的信号。 脉冲采用脉位调制(Pulse Position Modulation,PPM)或二进制移相键控(BPSK)调制。UWB被允许在 31106GHz 的波段内工作。它主要应用在小范围、高分辨率、能够穿透墙壁、地面和身体的雷达和图像系统中。军事部门已对UWB进行了多年研究,开发出了分辨率极高的雷达。直到2002年2月14日,美国联邦通信委员会才准许该技术进入民用领域。所以对于商业和消费领域,UWB还是新鲜事物。虽然说 UWB 技术的数据传输距离相比蓝牙技术已经获得很大提高,但是仍然不能满足本系统的技术要求。ZigBeeZigbee 是一种短距离、低功耗的无线通信技术名称。这一名称来源与蜜蜂的八字舞。其特点是近距离、低复杂度、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。IrDA (infrared data association)红外线是波长在750nm至1mm 之间的电磁波,它的频率高于微波而低于可见光。由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通讯的场合,进行点对点的直线数据传输,传输速率最快可达16Mbps。IRDA 将红外数据通讯所采用的光波波长的范围限定在850nm至900nm之内。虽然目前 IRDA 技术发展已经很成熟,而且有很多公司的产品都支持这种协议。 但是由于红外线的波长较短,对障碍物的衍射能力差,所以它只能用于视距传输, 传输距离比较短,因此也不适合本系统的技术要求。综合比较以上各个短距离无线通信协议的技术特点和本系统的要求,只有ZigBee协议能基本满足要求。而且目前支持ZigBee协议的厂商比较多,技术发展也很成熟,可以作成低成本的嵌入式产品。1.3 论文的研究内容无线电子点菜系统的实现是建立在硬件电路的基础上的,为了降低误码率提高频率资源的利用律,数据必须按照一定协议传输。在发送端,数据按照一定的格式编码,然后调制到一约定的频率后发送;接受端将接收到的信号经过解调和解码后,将数据还原。本论文的研究内容主要有两部分组成:1.经过讨论各种无线通信协议的特点和电子技术的发展现状,在此基础上,提出了基于ZigBee协议的硬件平台。并详细分析了平台组成部分各自的原理以及功能。2.分析了平台的编程规则,开发出了相应的驱动程序1.4 内容安排本文对无线电子电菜系统的硬件设计进行了深入的研究,全文共分为五章,各章节的内容安排如下: 第一章介绍了本文的研究背景和各章节的内容安排情况。 第二章介绍 ZigBee 协议的详细内容和一种基于ZigBee协议的芯片。第三章在上一章的基础上提出了自己的硬件平台,详细介绍了平台的组成部分和各自的功能。 第四章和第三章是相对应的,主要讲了硬件平台的驱动程序以及 PC机端串行口调试工具的开发,并简单介绍了相应的软件开发工具。第五章是总结与展望。对本文工作进行了总结,并探讨可以进一步深入研究的方向。第二章 ZigBee 协议分析ZigBee 协议是一种近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术。在标准规范制订方面,主要是 IEEE 802.15.4 小组与 ZigBee Alliance两个组织,两者分别制订硬体与软体标准。ZigBee 协议依据 802.15.4 标准, 在数千个微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传 感器传到另一个传感器,所以它们的通信效率非常高。IEEE802.15.4 规范是一种经济、高效、低数据速率(250 kbps)、工作在 2.4 GHz和868/915MHz的无线技术,它是ZigBee应用层和网络层协议的基础。2.1 ZigBee 协议框架ZigBee 协议同其它网络通信协议一样采用分层模型,对各层所实现的功能和在整个协议中起的作用做了明确的划分,每层为其上层提供一组特定的服务。ZigBee 的协议架构大致如表 2.1 所列。第四层应用层第三层网络层第二层媒体访问层(MAC)第一层物理层表 2.1 ZigBee 的协议架构ZigBee 协议虽然是基于标准的七层OSI(Open System Interconnect,开放式系统互联)模型,但仅对那些涉及ZigBee的层予以定义。IEEE802.15.4-2003标准定义了最下面的两层:物理层和 MAC。ZigBee 联盟提供了网络层和应用层框架的协议。相比于常见的无线通信标准,ZigBee 协议套件紧凑而简单, 具体实现的要求很低。 以下是 ZigBee 协议套件的需求估计:硬件需要 8 位处理器,如广泛使用的 80C51 系列单片机;软件需要32KB的 ROM(Read Only Memory,只读存储器),最小软件需要4KB的ROM;网络主节点需要更多的ROM以容纳网络内所有节点的设备信息,数据包转发表,设备关联表,与安全有关的密钥存储等。1 物理层IEEE802.15.4标准在物理层设计中面向低成本和更高层次的集成需求,才用的工作频段分别为2.4 GHz 和868/915 MHz。各个频段可以使用的信道数目分别为16、10、1,各自提供250kbps,40kbps和20kbps 的传输速率,其传输范围介于 10-100 米之间。为了避免干扰,在各个频段均使用DSSS(Direct Sequence Spread Spectrum,直接序列扩频技术) ,以化整为零方式将一个信号分为多个信号,再经由编码方式传送信号以避免干扰,这对大部分较低端的实现来说,直接序列的应用可以使模拟电路 更加简单,具有更高的容错性能。2 媒体访问层IEEE802.15.4 标准在媒体访问层(MAC)方面,主要沿用无线局域网 WLAN 中 IEEE802.11 系列标准的 CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance, 载波监听多路访问与冲突避免)方式以提高系统的兼容性。这种 MAC 层的设计不但是 多种拓扑结构网络的应用变得简单,还可以实现非常有效的功耗控制。3 网络层网络功能是 ZigBee 协议的重要特点,也是与其他无线局域网标准不同的地方。 在网络层方面其主要工作在于负责网络机制的建立与管理,并且具有自我组态与自我修复功能。在网络层中 ZigBee 协议定义了三种角色:第一个是网络协调器,负责网络的建立以及网络位置的分配;第二个是路由器,主要负责找寻建立以及修复信息包的路由路径,并负责转发信息包;第三个是末端装置,只能选择加入他人已经形成的网络,可以收发信息包,但是不能转发,不具备路由的功能。在组网方式上,ZigBee 主要采用图 2.1 所示三种方式:其一为主从方式的星形网, 它需要一个能负责管理和维护网络的网络协调器和不超过 65535个从属装置;其二 为簇形网络,它可以是扩展的单个星形网或者互连多个星形网络;其三为网状网,网络中的每个 FFD 可以做为路由器,根据网络路由协议来优化最短和最可靠的路径。图2.1 三种网络拓扑结构4应用层对于应用层,主要有三个部分:与网络层相连的应用支持(APS),ZigBee 设备对象(ZDO)以及装置应用行规。ZigBee 的应用层架构最重要的是已经覆盖了服务的观念。对于 ZigBee 装置而言,当加入到一个 WPAN(个人无线局域网)后,应用层的ZMO会发起一系列的初始化动作,先通过 APS 进行装置收寻以及服务收寻后,然后根据事先定义好的描述信息,将与其相关的装置或是服务记录在APS里的绑定表中;之后所有服务的使用,都要通过这个绑定表来查询资料的服务或者行规。而装置应用行规则是根据不同的产品设计出的不同的描述信息,以及 ZigBee 各层协议的参数设定。5安全层安全层并非单独独立的协议,ZigBee 为其提供了一套基于 128 位AES算法的安全类和软件,并且集成了 IEEE802.15.4 标准的安全元素,用来保证MAC层祯的机密性,一致性和真实性。另外ZigBee联盟也负责 ZigBee 产品互通性测试与认证规则的制定,ZigBee联盟一共定义了三种层次的认证,第一级认证物理层和 MAC,与芯片厂有着最直接的关系;第二级认证ZigBee 协议栈;第三级认证ZigBee产品。只有通过第三级认证的产品才能贴上ZigBee的标志,所以也称作 ZigBee 注册认证。2.2 ZigBee 协议优缺点和应用前景ZigBee 协议是从WLAN发展过来的,经过近几年来 ZigBee 联盟成员对标准的不断修改和完善,已经显示出了强大的生命力,但是本身还有一些缺点,这也限制了ZigBee协议的使用范围。2.2.1 ZigBee 协议的优点功耗低:由于 ZigBee 网络节点设备工作周期较短、收发信息功耗较低,并且采用了休眠模式,可以确保两节五号电池支持长达六个月到两年左右的使用时间。避免了频繁更换电池或者充电,从而减轻了网络维护的负担。数据传输可靠性高:MAC 层采用了完全确认的数据传输机制,发送的每个数据包都必须等待接收方的确认信息,从而从根本上确保了数据传输的可靠性,最大限度地降低信息损失的概率。网络容量大:一个Zigbee网络可以容纳最多65536个从设备和一个主设备,一个区域内可以同时存在最多100个Zigbee网络。时延小:针对时延敏感的应用做了优化,通信时延和休眠状态激活的时延都非常短。设备搜索时延典型值为30ms,休眠激活时延典型值为15ms,活动设备信道接入时延为15ms。设备收索时延典型值(ms)休眠激活时延典型值(ms)活动设备信道接入时延(ms)ZigBee技术301515蓝牙技术300030002表2.2 ZigBee与蓝牙协议延时比较兼容性:与现有的控制网络标准无缝集成。通过网络协调器自动建立网络,采用CSMA-CA方式进行信道存取。为了可靠传递,提供全握手协议。安全性:Zigbee 提供了数据完整性检查和鉴权功能,加密算法采用 AES-128,同时各个应用可以灵活确定其安全属性,是网络安全得到有效的保障。协议套件紧凑而简单:其具体实现的要求很低Zigbee协议套件的需求估计:8位微处理器,如80C51;全协议套件软件需要32K字节的ROM:最小协议套件软件大约4K字节的ROM。2.2.2 ZigBee 协议存在的问题及解决方案802.15.4 标准是ZigBee协议的基础,用它实现无线数据采集,主要有以下两个问题:1、网络内传感器节点时钟需要同步,监控系统的多传感器信息融合时,上位 机需要知道每个原始数据是何时采集的,采样的触发要求每个节点有统一的时钟;2、其通信速率较低,而且又受到接口通信速率的限制,加之受纠错码的编码基于单片机的无线点菜系统的硬件设计及实现效率影响,真正的数据发送量是很低的。解决此问题可以通过如下的途径:传感器节点采用DSP处理器,尽可能在传感器节点一级多做些数据处理工作,尽量减少原始数据的发送量,只发送有用信息。例如,对于平稳状态的原始数据可以不发送到上位机中,只发送可疑状态前后的原始数据,这样就大大减少了数据的通信量。2.2.3 ZigBee 协议应用前景ZigBee 协议特别适合数据吞吐量小,网络建设投资少,网络安全要求较高,不便频繁更换电池或者充电的场合,预计将在消费类电子设备,家庭智能化,工业控制,医疗设备控制,农业自动化和无线点菜系统等领域获得广泛的应用。在工业控制领域,利用传感器和ZigBee网络,可是数据的自动采集,分析和处理变得更加容易,可以作为决策辅助系统的重要组成部分,例如危险化学成分的 检测,火警的早期检测和预报,高速旋转机器的检测和维护。在医学领域,利用传感器和ZigBee网络可以准确,实时地监测每个病人的血压,心率等情况,有助于医生快速做出反应,减少医生查房的工作负担,特别适合对重、危病患者的监护和治疗。在现代农业中,利用传感器可以将土壤温度,氮浓度,PH值,降水量,气温,气压和采集信息的地理位置经由ZigBee网络传送到中央的控制部分,使农民能及早而且准确地发现问题,从而有助于保持并提高农作物的产量,减少发生灾害的概率。 本系统是将ZigBee协议用于餐馆的无线点菜系统,为餐饮行业带来崭新的管理理念与服务手段,优化业务流程,为客户提供更好的服务,实现企业价值最大化同时又使成本最低化,是餐饮行业向信息化发展的一个重要标志。2.3基于ZigBee协议的芯片nRF2401 无线收发一体芯片和蓝牙一样,都工作在2.4GHZ自由频段,能够在全球无线市场畅通无阻。nRF2401 支持多点间通信,最高传输速率超过1Mbit/s,而且比蓝牙具有更高的传输速度。与蓝牙不同的是,nRF2401 没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。更重要的是, nRF2401比蓝牙产品更便宜。 所以 nRF2401 是业界体积最小、功耗最少、外围元件最少的低成本射频系统级芯片。nRF2401 的主要特点如下:(1)采用全球开放的2.4GHZ频段,有125个频道,可满足多频及跳频需要; (2)速率高于蓝牙,且具有高数据吞吐量;(3)外围元件极少,只需一个晶振和一个电阻即可设计射频电路;(4)发射功率和工作频率等所有工作参数可全部通过软件设置; (5)电源电压范围为1.9-3.6V,功耗很低; (6)电流消耗很小,-5dBm输出功率时的典型峰值电流为10.5mA; (7)芯片内部设置有专门的稳压电路,因此,使用任何电源均有很好的通信效果;(8)每个芯片均可以通过软件设置最多 40bit 地址,而且只有收到本机地址时才 会输出数据(提供一个中断指示),同时编程也很方便;(9)内置 CRC(循环冗余校验)纠检错硬件电路和协议;(10)采用 DuoCever 技术可同时接收两个nRF2401 的数据; (11)采用 ShockBurst TM 模式时,能适用极低的功率操作和不严格的 MCU 执行; (12)无需外部 SAW 滤波器;(13)可 100%RF 检验;(14)带有数据时隙和数据时钟恢复功能。nRF2401 的内部结构原理及外部组成框图如图 2.1 所示,下面介绍其工作原理。图2.1 nRF2401 的内部结构原理及外部组成框图ShockBurst TM模式ShockBurst TM发射主要通过MCU接口引口CE、CLK1 和 DATA 来完成。当 MCU 请求发送数据时,置CE 为高电平,此时的接收机地址和有效载荷数据作为 nRF2401的内部时钟,可用请求协议或 MCU 将速率调至 1Mbps;CE 为低电平可激活ShockBurst置TM发射。ShockBurst TM 接收主要使用 MCU 接口引脚 CE、DR1、CLK1、DATA 来实现。当正确设置射频包输入载荷的地址和大小后,置 CE 为高电平可激活 RX,此后便可在 nRF 2401 监测信息输入 200。nRF2401 的 DuoCeiver TM技术为 RX 提供了两个独立的专用数字信道,因而可代替两个单独接收系统。图2所示是DuoCeiver TM 同时双接收信道结构图。 nRF2401可以通过一个天线接口从相隔 8MHZ 的两 1Mbps 接收机上接收数据。同时将两个数字信道的输出反馈到两个单独的MCU接口。具体的两个信道如下:数据信道1数据信道2时钟恢复数据时隙ADDR,CRC校验时钟恢复数据时隙ADDR,CRC校验RF1RF2DR1CLK1DATADR2CLK2DOUT2图2 DuoCeiver TM同时双接收信道结构图数字信道:CLK1,DATA,DR1;数字信道:CLK2,DOUT2,DR2;应当说明的是,数字信道 2 的频率只有在比数字信道 1 的频率高出 8MHZ 时,才能保证正常接收。第三章 基于 ZigBee 协议的硬件系统的设计及实现目前,51 系列单片机非常流行,而且资料众多,因此选用 51 系列单片机作为开 发板的 MCU,通过附加一定的外围电路后,来和无线数据传输模块进行通信,实现数据的无线传输。3.1 STC89C58RD+单片机概述STC89C58RD+系列单片机是宏晶科技推出的新一代超强抗干扰,高速,低功耗的单片机,指令代码完全兼容传统8051单片机,它具有以下特点:1. 增强6时钟/机器周期,12时钟/机器周期8051CPU2. 工作电压:5.5V - 3.4V(5V 单片机) 3. 工作频率范围:0 -40 MHz,相当于普通 8051的可达 48MHz. 4. 用户应用程序空间 32K 字节 5. 片上集成 1280 字节 RAM(随机存储器) 。 7.共3个16 位定时器/计数器,其中定时器0还可以当成2个8位定时器使用 8.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒 。 9. 通用UART(通用串行接口)还可用定时器软件实现多个 UART 10.工作温度范围:0-75 / -40- +85 使用这种单片机做开发板,最大的优势就在于它支持ISP,这样不用购买昂贵的编程器/仿真器,直接通过串口线就能实现在线编程。3.2 开发板的各个组成部分原理图以及功能整个开发板是由单片机最小系统和它的一些外围电路组成,单片机最小系统做为整个开发板的控制中心,控制各个外围电路协调工作,完成系统设计的功能。下面详细叙述各个组成部分的原理及各自实现的功能。3.2.1 单片机最小系统组成电路单片机最小系统是整个开发板的控制中心,它由电源,复位电路和晶振组成。电源采用5V供电,晶振为12MHZ。为了便于调试,将 P0.4-P0.7和发光管相连,发光管为共阳极连接,这是因为开发板初上电或者或者复位后,所有的I/O口均为高电平。由于不使用外部存储器,因此将EA接高电平。为了方便调试和降低成本,因此选用 USB(通用串口总线)方式供电。USB 的即插即用特性,使对开发板供电非常方便。图 3.1 所示为单片机最小系统。图3.1 单片机最小系统3.2.2 串行口电平转换部分大多数PC机都有一个串行通讯端口 RS-232用于两台计算机间进行串行通讯。RS-232 采用非平衡连接(又称为单端线路),在这个线路中,信号电压加到一条导线上,所有的信号电压都使用一个公共的接地线。由于单片机的输入、输出电平为 TTL 电平,与PC机 RS-232 标准串行接口的电气规范不一致,因此要实现单片机与PC机之间的数据通读,必须进行电平转换。选用的电平转换芯片为 MAX232,它的工作电压为+5V,和单片机的工作电源相同。由于 STC89C58RD+单片机支持ISP下载,因此通过这个串行口既可以用来和PC机通信,又能将程序下载到单片机,不用购买昂贵的编程器。图3.2所示为串口电平转换部分。3.2.3 LED 部分由于单片机复位后,各个引脚输出都为高电平,因此选用共阴极的 LED 数码管。 每个数码管的使能端 com1,com2,com3,com4 分别接到 P1.0,P1.1,P1.2,P1.3,当向使能端输出低电平,即可选通相对应的数码管。74LS244为三态输出的八组缓冲器和总线驱动器,选用的四位八段数码管本身已经集成了译码器,这样既简化了线路的连接,又降低了错误发生的概率。图 3.3 为LED部分。图3.2串口电平转换部分图 3.3 LED部分3.2.4 开发板和无线数据传输模块接口部分这一部分有两部分组成,由于nRF2401的工作电压1.9V-3.6V,工作电压超过3.6V就会烧坏芯片。因此为了使系统工作,必需要有5V电 平转换为3.3V电平的部分。为了实现这一过程,选用 LM1117-MAX3.3作为核心芯片。LM1117 提供电流限制和热保护,电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在1%以内。此外为了使两个模块直接相连,将P2口的部分引脚用排针引到一起,排针间距为100mil,标准DIP插针。图3.4为开发板和无线数据传输模块接口部分,图3.5为5V电平转3.3V电平部分。图3.4开发板和无线数据传输模块接口部分图 3.5 5V电平转3.3V电平部分3.2.5 键盘部分键盘部分用来实现人机通信。有四个按键开关构成,分别为 S5(P3.3/INT1), S6(P3.4/T0), S7(P3.5/T0), S5(P3.2/INT0),正常情况下均为高电平。当键按下后,输出为低电平。由于四个键盘的组成一样,这里只画出了S5的电路图。图3.6为键盘部分。图3.6键盘部分3.3 无线数据传输模块通过仔细的比较和反复的论证后,决定选用nRF2401芯片作为无线模块的核心 芯片,它的特点在上一章已经详细论述,这里不在重复。nRF2401 芯片的典型应用电路如图3.7所示。图3.7 nRF2401芯片典型应用电路只需要很少外围电路就可以组成无线数据传输模块。 它与开发板的接口电路为图3.8各个接口的要求如下: (1) VCC 脚接电压范围为 1.9V3.6V 之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V 左右。 (2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。(3) 硬件上面没有 SPI 的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了。(4)6脚,12脚为接地脚,需要和开发板的逻辑地连接起来。图3.8 无线数据传输模块与开发板的接口电路3.4 无线数据传输模块和开发板的PCB图设计PCB 板是一块绝缘材料,在表面合理安放各种电子元件,并安排连接电子元件 引脚间的铜膜导线,在不同的表面间有连接不同表面的铜导孔。按复杂程度来分,可以将 PCB 板分为 3 类:1.单面印刷电路板;2.双面印刷电 路板;3.多层印刷电路板。为了方便布线,本系统所用的开发板和无线数据传输模 块均为双层印刷电路板。PCB 的生成主要由四个过程组成:其一是原理图的生成;其二是根据已经生成的 原理图产生对应的网络表,网络表是 PCB 图和原理图的纽带;第三步是新建一个 PCB 文件,并导入网络表;第四步是将合理布局元件,并用导线将元件的引脚连起来。将开发板的原理图按照以上的步骤生成相应的PCB图。如图3.9所示。在 PCB 图设计的所有过程中,网络表的生成也比较简单。由于 PCB 图上使用元件的封装来代表元件,因此原理图中各个元件都要明确有自己的封装方式,而且在绘制 PCB 图前必须将用到的封装所在的封装库调入。图3.9开发板的PCB图开发板上主要用到两个封装库:Advpcb.ddb 和 Miscellaneous.ddb.另外由于USB电源接口,电源开关,键盘和四位八段数码管没有对应的封装,因此需要使用元件库编辑器建立新元件封装。下面再重点分析一下布线的过程。布线是完成产品设计的重要步骤,在整个 PCB 中,以布线的设计过程限定最高,技巧最细、工作量最大。本系统的 PCB 布线为双面布线,布线的方式有两种:自动布线及交互式布线。但由于自动布线效果不好,因此全部使用交互式布线。首先根据印制线路板电流的大小,尽量加粗电源线宽度,减少环路电阻,它们的关系是:地线电源线信号线。同时使电源线、地线的走向和数据传递的方向一致,这样有助于增强抗噪声能力。由于采用双层设计,因此不可避免地将会使用到过孔。过孔太多,沉铜工艺稍有不慎就会埋下隐患。所以,设计中应尽量减少过线孔。第四章 硬件驱动程序和串行口调试工具驱动程序是硬件电路的灵魂,没有驱动的硬件电路是没有用的。STC89C58RD+是51类单片机,可以像开发其他51单片机驱动一样开发它的驱动程序。单片机软件开发平台选择比较流行的 Keil uVision2,因为现在关于 Keil uVision2 软件的资料很多,这样上手就会很快。串行口调试工具是用来PC机上的数据通过串行口发送到单片机,和 PC 机接 收从单片机发送过来的数据。选用Visual C+ 6.0 来开发串行口调试工具,Visual C+6.0 是微软公司推出的一款优秀开发工具,代码紧凑,运行速度快,而且比较适合低层开发。4.1 硬件驱动程序整个数据传输系统有两部分组成:PC 机相连的开发板为主机端,与它不能移动,接收从机端发送过来的数据,并向从机端发送指令;可以移动的为从机端,它由开发板和无线数据传输模块组成。由于两端的地位和功能不同,因此对应的驱动程序也不同。使用Keil uVision2 开发硬件驱动程序,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C语言的程序设计,它的界面和常用的微软VC+的界面相似,易学易用;在调试程序,软件仿真方面也有很强大的功能。51的编程语言常用的有二种,一种是汇编语言,一种是C语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。综合以上C语言的优点,在开发时选择了C51 语言。4.1.1 主机端硬件驱动程序主机端的硬件驱动程序主要有两种功能:实现开发板通过串行口和 PC机通信;实现开发板通过某些I/O口和无线数据传输模块进行通信。STC89C58RD+单片机的串行口是一个全双工通信接口,即能同时进行发送和接收,它可以作UART用,也可以作为同步移位寄存器用, STC89C58RD+单片机串行口的工作方式和波特率由控制寄存器 SCON和特殊功能寄存器PCON组成。串行口控制寄存器 SCON:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8T1R1特殊功能寄存器 PCON:D7D6D5D4D3D2D1D0SMOD串行口可以通过软件设置四种工作方式,各种工作方式的数据格式和波特率均有所不同,这四种工作方式如下:方式0当设定SM1、SM0 为00时,串行口工作于方式 0,在方式0下,RXD为数据输入 /输出端,TXD 为同步脉冲输出端,发送或接收的数据为 8 位,低位在前,高位在后,方式 0 的波特率固定震荡频率的 1 /12,也就是每一机器周期传送一位数据。方式0可以外接移位寄存器,将串行口扩展为并行口,也可以外接同步输入/输出设备。发送完毕后,硬件自动将TI 置1。再次发送数据前,需要软件将TI 位清0。方式 1当设定SM1、SM0 为01时,串行口工作方式 1。方式1为波特率可变的8位异步 通信方式,由TXD 发送RXD接收,一帧数据为10位,1位起始位(低电平)位数 ,8据位(低位在前)和1位停止位(高电平),波特率取决于定时器的T溢出率(1/ 溢出周期)和波特率的选择位 SMOD。方式2和方式3当设定SM0、SM1为10或11时,串行口工作于方式2或方式3,这两种方式都 是9位异步通信,仅波特率不同,适用于多机通信。在方式2或方式3下,数据由TXD 发送RXD 接收,1帧数据为 11位,1位起始位(低电平)位数据位(低位在,8 前)位可编程位(第9位数据,用作奇偶校验或地址/数据选择)位停止位(高,1,1电平)。与方式1相比,多了一位可编程位,发送时,第9位数据为TB8,接收时,第9位数据送入RB8。nRF2401 有四种工作模式:收发模式,配置模式,空闲模式和关机模式。工作模式由 PWR_UP 、CE、TX_EN 和 CS 三个引脚决定,详见表 4.1。工作模式PWR_UPCECS收发模式110配置模式101空闲模式100关系模式0*表4.1 NRF2401的各种工作模式的设置方式nRF2401 的所有配置工作都是通过 CS、CLK1和DATA 三个引脚完成,把其配置为ShockBurstTM收发模式需要15字节的配置字。ShockBurst TM 的配置字可以分为以下四个部分:(1)数据宽度:声明射频数据包中数据占用的位数。这使得 nRF2401 能够区分 接收数据包中的数据和 CRC 校验码; (2)地址宽度:声明射频数据包中地址占用的位数。这使得 nRF2401 能够区分 地址和数据; (3)地址:接收数据的地址,有通道1的地址和通道2的地址; (4)CRC:使 nRF2401能够生成CRC校验码和解码。nRF2401 的配置字如表 4.2 所示:在配置模式下要保持 PWR_UP 引脚为高电平,CE 引脚为低电平,配置字从最高位开始,依次写入nRF2401。在CS引脚的下降沿,新送入的配置字开始工作。位位数名字功能Shockb brst TM配置143:12024TEST保留119:1128DATA2_W接收频道2有效数据长度111;1048DATA1_W接收频道1有效数据长度103:6440ADDR2接收频道2的地址,最高为5字节63:2440ADDR1接收频道1的地址,最高为5字节23:186ADDR_W接收频道地址位数171CRC_L8位或16位CRC校验161CRC_EN使能CRC校验常用器件配置151RX2_EN使能第二频道141CM通信方式设置131RFDR_SB发射数据频率12:103XO_F晶振频率9;82RF_PWR发射输出电源7:17RF_CH#频道设置01RX_EN接收或发送操作表4.2 nRF2401 的配置字开发板通过串行口和 PC 机交换数据的流程图如下:开始初始化串行口循环等待触发条件RI=1开发板上有键按下ACC=SBUF将数据发送到串口发送缓冲区,关中断将数据在数码管上显示TI=1?发送完毕,开中断否否是否图4.1 开发板通过串行口和 PC 机交换数据的流程图开发板通过I0口和无线数据传输模块进行数据交换的流程图为图4.2。是开始配置nRF2401的工作方式循环等待触发条件有数据发送DRI=1将数据发送到添加板将数据接收到添加板是否否图4.2开发板通过I0口和无线数据传输模块进行数据交换的流程图4.1.2 移动端驱动程序移动端的开发板的结构和PC机端的开发板的结构完全相同,但由于它不需要和 PC 机通信,只需要和无线数据传输模块进行通信。因此相对另一端的驱动简单一些。具体编程规则在上一节已经详细叙述,这里不再多说,具体的程序是PC机端程序的一部分。4.2 串行口调试工具串行口调试工具是用微软公司的 visual c+6.0开发的。要用 C+来开发Windows和Web上的高性能应用程序,Visual C+是效率最高的首选工具。Visual C+ 6.0 在不牺牲灵活性、性能和控制力度的同 时,给 C+带来了更高水平的生产效率。visual c+6.0 专门为串行口通信提供了Mscomm控件,使用该控件程序员不必花时间去了解比较复杂的API 函数,通过简单修改控件的属性和使用控件提供的方 法就可以实现对串口的配置,完成串口发送和接收数据。4.2.1 串行通信的基本原理串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转 换为字节数据。在Windows环境下,串口是系统资源的一部分。应用程序要使用 串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完 成后必须释放资源(关闭串口)。32 位下串口通信程序可以用两种方法实现:利用ActiveX控件;使用API通信函数。在本次课程设计中,所用到的是MFC的MSComm控件,下面先将这个关键的控件做一下简单的介绍。在 Windows 操作系统中,串行通信采用“事件通知”方式,支持数据按块传送。进行通信时,Windows 开辟一个用户定义的输入输出缓冲区,每接收一个字符就产生 一个低级硬件中断,串行驱动程序立即取得控制权,并将字符放入输入数据缓冲区,然后将控制权返还正在运行的应用程序。如果输入数据缓冲区满了,驱动程序用当前定义的流控制机制通知发送方停止发送数据。发送数据也采用类似的处理方式, 应用程序将需要发送的数据放入输出数据缓冲区,串口每发送一个字符就产生一个低级硬件中断。Visual C+ 6.0通信控件Mscomm提供了功能完善的串口数据的发送和接收功能,Mscomm控件具有两种处理方式:一是事件驱动方法,一是查询法。1)事件驱动方式。当通信事件发生时,MSCOMM

温馨提示

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

最新文档

评论

0/150

提交评论