《智能家居信息监控网络系统设计论文.doc》由会员分享,可在线阅读,更多相关《智能家居信息监控网络系统设计论文.doc(58页珍藏版)》请在三一办公上搜索。
1、摘 要目前我国智能家居产业总体上存在3个方面的问题:一是由于智能家居产业国家还没有统一的行业标准,相互间的产品不具兼容性;第二,产品实用性差,操作复杂,与市场需求脱节;第三,产品价格居高不下。结合课题内容,针对目前国内智能家居产业存在的问题,其监控网络系统应该具有结构简单、成本低廉、操作简单、稳定性好、抗干扰能力强、主机与子机之间联系紧密简洁等优点。本论文将针对这些方面进行设计。信息监控网络系统采用星形拓扑结构。中央控制器为中心节点,它采用CGI技术通过Web服务器连接到Internet,并通过由单片机和NRF905构成的无线传输模块与各个功能子系统进行点对点数据传输。用户可以上网访问中央控制
2、器,从而对其下达命令,来了解和控制家中各个家电的工作状态。各个子功能系统完成用户命令以后,会返回执行结果给中央控制器,由中央控制器将执行结果上传至Internet给用户。根据功能需求设计出的智能家居信息监控网络系统,解决了目前国内智能家居产业实用性差、操作复杂、成本高的问题。关键词: 无线通信; CGI技术; NRF905; 通信协议;AT89C51单片机ABSTACTSmart home industry, our country there are three general aspects: First, smart home industry as a unified state ha
3、s not industry standard among non-compatibility of products; second, poor product availability, operational complexity, and the demand of the market ; Third, high prices. Combination of subject content for the current domestic intelligence home there is an industrys problems, the monitoring network
4、should have a simple structure, low cost, simple operation, good stability, anti-jamming capability Jiang, links between the host and Zi machine simple Deng Youdian close. This paper will address these aspects of design.Information and Control System of using star topology. Central controller for th
5、e central node, it uses CGI technology through the Web server to connect to the Internet, and through a microcontroller and a wireless transmission module NRF905 constitute each functional subsystem with point to point data transmission. Internet users can access the central controller to its orders
6、, to understand and control home appliances work in all states. Completion of each sub-function system after the user command, the implementation of the results will be returned to the central controller, the result will be implemented by the central controller uploaded to the Internet to the user.A
7、ccording to the functional demand design information out of intelligent home monitoring network system, solves the intelligent home Chanye practical difference, complex operation, and high cost problems.Key words: wireless communications; CGI technology; NRF905; communication protocol; AT89C51 micro
8、controller目 录第一章 绪 论11.1研究背景及意义11.1.1国内智能家居系统的功能状况11.1.2 研究意义21.2 设计思路及优势31.3 论文的主要内容和组织结构31.4 本章小结4第二章 智能家居信息监控网络系统的总体设计方案52.1 智能家居信息监控网络系统的需求分析52.2 信息监控网络系统的总体设计方案52.3 构成无线数据传输模块的器件选取62.3.1 单片机的选取62.3.2 无线收发芯片的选取62.4本章小结7第三章 信息监控网络系统的硬件设计83.1 单片机最小系统的搭建83.2 无线数据传输模块的电路连接93.2.1 NRF905芯片概述93.2.2基于NR
9、F905传输系统的硬件设计113.2.3 AT89C51单片机与NRF905接口电路123.4 本章小结12第四章 信息监控网络系统的软件设计144.1 通信协议和用户操作字的设计144.1.1 地址位和数据位的定义144.1.2 用户操作字定义164.2 无线数据传输模块的软件设计164.2.1 数据传输过程164.2.2UART串口软件设计174.2.3SPI接口软件设计194.2.4主程序流程图194.3 Web服务器的设计与实现204.3.1 Web服务器原理204.3.2 CGI原理214.3.3 设计思想及工作流程224.4 本章小结23第五章 智能家居信息监控网络系统的抗干扰设计
10、245.1 单片机硬件电路的抗干扰设计245.1.1 造成干扰的原因245.1.2 单片机硬件抗干扰措施245.2 单片机软件的抗干扰设计265.2.1 程序运行混乱时使程序重入正轨265.2.2 系统故障处理、自恢复程序的编写275.3 本章小结29第六章 智能家居信息监控网络系统的测试与调试306.1 调试目标306.2 调试方案306.3 调试过程316.3.1 单片机最小系统的测试与调试316.3.2 无线数据传输模块的测试与调试316.3.3 各项性能指标的测量326.3.4 智能家居信息监控网络系统总体功能的测试与调试336.4 本章小结33总 结.34参考文献.36附 录.37附
11、件一:无线数据传输模块程序源代码37附件二:无线数据传输模块硬件电路图43附录三:Intelligent Home Control System44谢 辞.55第一章 绪 论1.1研究背景及意义由于中国的居住模式和文化与发达国家有很大的区别,所以智能家居在中国的发展也体现出其独具的特色。中国人口众多,城市住宅建设也多选择密集型的住宅小区方式,因此很多房地产商会站在整个小区智能化的角度来看待家居的智能化,也就出现了目前一统天下、无所不包的“智能小区”的模式。而欧美由于独体别墅的居住模式流行,因此住宅多散布城镇周边,没有一个很集中的规模,类似国内的“住宅小区”这样规模的居住区较少,因此,国外的住宅
12、多与市政系统直接相同。这一点也可解释为什么美国仍盛行ADSL、Cable Modem等宽带接入方式,而国内光纤以太网到小区、到楼的发展已经如火如荼。因此欧美的智能家居多独立安装,自成体系,比如美国的X10,欧洲的EIB协议(包括澳洲的C-BUS)等都是以独立的家庭为目标设计的。而国内习惯上将智能家居当作智能小区的一个子系统来考虑,这种做法在智能家居概念初始引进阶段应该说还是可行的,但随着智能家居的推广与需求的不断深入,人们开始“拷问”智能家居的真正意义与价值时,才发现“人性化“与“个性化”是智能家居的意义所在。因此,智能家居势将从现在的“千家一面”的一统模式中独立出来,成为一个可完全由业主自行
13、选配的个性张扬空间。1.1.1 国内智能家居系统的功能状况智能家居系统可以有多种分类形式,依据其体系结构为特征进行划分,比较常见。目前国内市场上多数存在以下几类不同结构形式的系统类型:1拼凑型(功能间无关联的孤立)控制系统:各个功能子系统独立设计、自主工作。例如安防系统、灯光系统。各子系统相互之间互不相连,不能交换数据;2主机式集中控制系统:在住宅内安装一台“智能控制中心”,它可以是一台普通计算机、嵌入式或者单片计算机系统。一般采用星形拓扑结构,从控制中心引出多种控制与数据线,连接到住宅中所有需要实施控制或者获取数据的监控节点,现场设备与中央控制单元,使用标准模拟信号(420mA、05V等)传
14、输现场信息。每个监控节点不安排任何数据处理能力,只是单纯地完成对继电开关控制(例如控制灯光或电源),或者采集无源的数据(例如门磁开关信号)。系统的逻辑关系固定在主控制器上,有的可以通过软件修改。添加新设备需修改主控制器。3分级集中控制系统:是前一类型的扩展,同样也采用在住宅内安装一台“智能控制中心”,星形拓扑结构。如果现场采集量较大,通常在中央控制单元和现场设备之间加入现场级的控制单元(PLC,单片机等),现场控制单元与中央控制单元之间使用RS-232。以上三类系统的显著缺点是:各子系统不能相互协调,统一控制,网络的潜能与优势未能开发。这是将原有各独立系统简单堆砌在一起的方式,严格意义上讲,不
15、符合智能家居系统的含义。仍然属于相对独立的智能家居系统。目前我国智能家居产业总体上存在3个方面的问题:一是由于智能家居产业国家还没有统一的行业标准,很多中小企业各自为政,相互间的产品不具兼容性;第二,由于技术人员没有做深入的市场调查,开发出的产品虽然技术上具有先进性,但实用性差,操作复杂,与市场需求脱节;第三,由于技术上需要投入大量研发资金,一些中小企业没有能力持续创新,更难形成规模生产,造成产品价格居高不下。1.1.2 研究意义结合课题内容,本论文主要研究智能家居信息监控网络系统的设计与实现。针对目前国内智能家居产业存在的问题,其监控网络系统应该具有结构简单、成本低廉、操作简单、稳定性好、抗
16、干扰能力强、主机与子机之间联系紧密简洁等优点。本论文将对目前智能家居信息监控网络系统的不足,提出方案并进行设计调试,以改进不足,并为以后的研究打下基础。1.2 设计思路及优势智能家居包括中央控制器、室内防火防盗监控器、室内煤气检测报警器等系统,用户欲通过Internet了解或者控制各个系统,可以将命令发给中央控制器,由中央控制器根据用户命令对各个功能系统进行操控。所以,采用星形拓扑结构构建智能家居信息监控网络系统,中央控制器是整个智能家居的中央节点,各个功能系统为各个站点。用户与中央控制器通过Internet通信,中央控制器与其它功能系统通过无线数据传输模块进行点对点通行。星形拓扑结构因为采用
17、中央控制器集权方式,所以控制简单,故障诊断和隔离容易,便于维修和维护。各个站点与中央节点的数据传输各不相关,一个站点发生故障也不会影响其它站点的工作。用户通过Internet或者PSTN访问中央控制器,可以使用户随时随地了解和控制家中各个家电的工作状况。由此,解决了目前市场上大多产品实用性差、操作复杂、成本高等问题。1.3 论文的主要内容和组织结构智能家居信息监控系统的构建,需要构成无线数据传输模块,以及将中央控制器连接到Internet,用户可以通过网络实时的了解和控制家中各个家电的工作。设计的主要内容为:1 利用单片机和无线收发芯片构成无线数据传输模块。2利用Web服务器将中央控制器连接到
18、Internet。3编写通信协议,使系统可以根据用户命令完成相应工作。本论文从第二章开始结构如下:第二章介绍信息监控网络系统的总体设计方案,包括需求分析,以及满足功能需求所设计的总体方案和器件的选取。第三章介绍系统硬件的设计,包括构建无线数据传输模块的硬件电路的连接。第四章介绍系统软件的设计,包括无线数据传输模块的软件设计和基于单片机的Web服务器软件设计第五章介绍系统的抗干扰设计方法;第六章对测试与调试过程并获取相应技术指标。1.4 本章小结本章主要介绍了智能家居在国内外的研究与发展现状,分析了主要存在的问题,并就现有问题针对智能家居信息监控系统的设计提出了新的思路,引出了研究内容和论文结构
19、。第二章 智能家居信息监控网络系统的总体设计方案2.1 智能家居信息监控网络系统的需求分析智能家居信息监控网络系统是用户通过智能家居中央控制器对各个子功能系统进行控制,并具有数据分析、数据储存的平台。因此,提出以下功能需求:1利用CGI技术将中央控制器通过Web服务器连接到Internet,实现用户上网操控中央控制器。2设计无线数据传输模块,实现中央控制器与各个子功能系统的点对点数据传输。3编写通信协议,明确用户命令含义。2.2 信息监控网络系统的总体设计方案系统结构如图2-1。系统采用星形拓扑结构,中央控制器通过Web服务器与Internet相连,各个子功能系统与中央控制器之间采用点对点无线
20、通信。用户通过Internet向中央控制器发送命令,中央控制器接受命令,然后通过无线传输模块发送给子功能系统。子功能系统接收到命令后,根据协议规定来完成相应的操作。操作结束后,将操作结果返回给中央控制器,由中央控制器显示给用户。中央控制器Internet子功能系统1子功能系统2子功能系统3用户图2-1 智能家居信息监控网络系统结构图例如:用户想要查看室内电灯亮度,则上网将命令传输给中央控制器。中央控制器将指令无线传输给室内电灯控制系统。室内电灯控制系统收到指令,查看功能串口的亮度信息,将亮度数据返回给中央控制器。中央控制器将返回数据上传到Internet。2.3 构成无线数据传输模块的器件选取
21、2.3.1 单片机的选取本设计所用单片机为AT89C51单片机。它的主要性能如下:l 4kB Flash存储器。l 全静态工作:0HZ 24MHZ。l 三级程序存储器保密。l 128 8字节内部RAM。l 32条可编程I/O线。l 2个16位定时器/计数器。l 6个中断源。l 可编程串行通道。l 片内时钟振荡器。另外,AT89C51单片机采用静态逻辑设计,工作频率可以下降至0HZ,并且有空闲模式和掉电模式两种省电方式。空闲模式下,CPU停止工作,RAM、定时器/计数器、串行口和终端系统继续工作;掉电模式下,片内振荡器停止工作,从而使时钟被“冻结”,一切功能暂停,只保存片内RAM中的内容,直到下
22、一次硬件复位。这些功能特性完全可以胜任以其搭建最小系统并控制无线收发芯片的工作,而且价格便宜,使用方便。2.3.2 无线收发芯片的选取无线数据传输模块采用NRF905芯片,它具有的特点如下:l 具有低功耗Shock Burst工作模式。l 工作电源电压范围低,1.9V3.6V。l 多通道工作,ETSI/FCC兼容。l 通道切换时间小于650ms。l 极少的材料消耗。l 无需外部SAW滤波器。l 输出功率可调至10dBm。l “传输前监听”的载波检测协议。l 当正确的数据包被接收或发送时,有数据准备就绪信号输出。l 当地址正确输出地址匹配信号时,侦测接收的数据包。l 数据包自动重发功能。l 自动
23、产生CRC和前导码。所以,用单片机控制NRF905芯片进行数据传输,编程方便、连接简易。因此,应用NRF905芯片构建无线数据传输模块,有效的改进了目前国内智能家居网络操作复杂、实用性差、各个子系统不能相互协调、可拓展性弱的短处。2.4本章小结本章主要对智能家居信息监控网络系统的功能与指标需求进行了分析,并由此引出总体设计框架。并介绍了重要器件的选取。第三章 信息监控网络系统的硬件设计第二章根据智能家居信息监控网络系统的功能需求提出了总体设计方案,本章将分别介绍系统各个部分的硬件电路设计。主要围绕最小系统、无线数据传输模块两部分来展开。3.1单片机最小系统的搭建最小系统由时钟系统、测试调试接口
24、、供电系统、存储器系统和复位及复位配置系统五部分构成。信息监控网络系统使用的最小系统硬件电路图如图3-1。图3-1最小系统硬件电路图l 时钟系统:图3-1中的晶振、电容C1与C2组成时钟系统。外接晶振11.0592MHZ。波特率公式如公式(3-1)。 (3-1)其中,SMOD为波特率倍增选择,fosc = 11.0592MHZ为主时钟,k为定时器的计数器长度,N为定时器定时常数的初值。将11.0592MHZ代入上式,得出的系统波特率均为整数,为以后的计算提供方便。l 供电系统:图3-1中的VCC(5V)、电阻R5和R6组成了供电系统。AT89C51单片机的电源电压为5V,NRF905芯片的电源
25、电压为3.3V。所以,用两个电阻串联分压的方式为AT89C51单片机和NFR905芯片分别供电。图2-1中的电阻R5和R6分别为2KW和3KW。这两电阻之间用导线引出后接到NRF905芯片的电源引脚即可。单片机电源引脚直接接VCC(5V)。l 复位及复位配置系统:图3-1中的VCC(5V)、按键S7、电容C4和电阻R4组成了复位系统。其中,C4 = 10mF,R4 = 10KW。系统复位分为上电复位和按键复位。上电复位时间计算公式如公式(3-2): (3-2)将电源电压VCC的值、电容C4的值和电阻R4的值代入上式,得出上电复位时间为t = 230ms。l 图3-1中的JP为排针,为I/O口外
26、接设备时所用。AT89C51单片机的P0口、P1口和P2口为外接其他设备预留。3.2 无线数据传输模块的电路连接3.2.1 NRF905芯片概述NRF905单片无线收发器工作在433/868/915MHZ的ISM频段。由一个完全集成的频率调制器,一个带解解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成。Shock Burst工作模式的特点是自动产生前导码和CRC。可以很容易通过SPI接口进行编程配置。电流消耗很低,在发射功率为-10dBm时,发射电流为11mA,接收电流为12.5mA。进入POWERDOWN模式可以很容易实现节电。NRF905共有32个引脚。引脚图见图3-2。主要
27、引脚功能见表3-2。图3-2 NRF905引脚图NRF905有两种活动模式和两种节电模式,分别为Shock Burst RX、Shock Burst TX、掉电模式和STANDBY模式。它们由TRX_CE、TX_EN、PWR_UP的设置来设置。表3-2 NRF905主要引脚功能引脚名称功能说明1TRX_CE数字输入使能芯片发射或接收2PWR_UP数字输入芯片上电6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成10MISOSPI接口SPI输出11MOSISPI接口SPI输入12SCKSPI时钟SPI时钟13CSNSPI使能SPI使能32TX_EN数字输入TX_EN =
28、“1”TX模式;TX_EN=“2”RX模式 NRF905的所有配置都通过SPI接口进行,SPI接口由五个寄存器组成,一条SPI指令用来决定执行什么操作。SPI接口只有在掉电模式和STANDBY模式时是被激活的。五个寄存器分别为状态寄存器、配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器。3.2.2 基于NRF905传输系统的硬件设计单片机需要连接主机和子机的信息输出端以及NRF905的各个相关端口。其主要任务是用来获取外部设备(主机与子机)的信息,并控制NRF905,设置传输数速率、波特率等。无线数据传输模块结构如图3-2所示。无线数据传输模块无线数据传输模块AT89C51AT89C
29、51NRF905NRF905外部设备中央控制器子功能系统无线传输图3-2 无线数据传输模块结构该系统由外部数据设备和无线数据传输模块组成。外部设备为PC机或者数据采集等设备。无线数据传输模块与外部数据设备之间采用RS-232接口。AT89C51单片机的P00 P01口用于连接RS-232接口。PC机与单片机用两根线方式进行全双工异步通信。由于AT89C51单片机的输入输出为TTL电平,PC机配置的是RS-232标准串行接口,二者电气规范不一致,因此,使用ICL3221收发芯片实现串口电平转换。数据传输速率在板可设置或者通过外部数据设备设置。在板波特率利用AT89C51单片机的P16和P17两位
30、设置,可设置为9.6kbit/s、19.2 kbit/s、38.4 kbit/s和115.2 kbit/s。利用外部数据设备设置波特率时,单片机的初始数据传输速率为9.6 kbit/s,P16和P17置为00状态。当单片机收到波特率设置命令后,数据传输速率调整为设定值。在本设计中,采用在板设置数据传输速率为19.2kbit/s。3.2.3 AT89C51单片机与NRF905接口电路AT89C51单片机除了对寄存器读写外,还要对NRF905的工作模式切换进行控制。单片机与NRF905的信号连接图见图3-3。P20 P10 P11P21 P12 P13P22 P14P15P23 P16P17P32
31、P33TX_ENPWR_UPCDCSNAMMOSIMISOSCKTRX_CEDRLED0LED3LED2LED1 AT89C51 NRF905图3-3 单片机与NRF905信号连接AT89C51单片机与NRF905之间的双向数据传输用SPI接口。单片机的P06 P07与P20 P21连接NRF905的SPI接口,P22 P27连接NRF905的控制信号和检测信号,用于控制NRF905的模式切换以及通信过程中必须的信号指示。单片机的P05连接一个LED指示灯,用来表示通信进行与否。3.4 本章小结本章主要介绍了智能家居信息监控网络系统中的无线数据传输模块的硬件电路的设计。其中包含了单片机最小系统
32、的搭建和单片机与NRF905连接的硬件电路的设计。完成了智能家居信息监控网络系统总体功能实现的硬件基础。第四章 信息监控网络系统的软件设计为实现智能家居信息监控网络系统方案设计中提到的功能,其软件设计上要完成通信协议的设计、无线传输程序的编写和Web服务器的设计与实现。本章将分别对以上三点给予介绍。4.1 通信协议和用户操作字的设计无线数据传输模块设计好后,主机与子机之间就可以完成正常的数据通信了。对数据包中的数据定义具体含义,就使主机与子机之间的对话有了实质性的内容。4.1.1 地址位和数据位的定义智能家居课题小组将智能家居的各项功能分成了:中央控制器、遥控器、IC卡门控制器、插座控制器、室
33、内防火防盗监控器、室内煤气检测报警器、室外LED灯控制器、室内照明灯自动开关控制器和智能家居安全巡检机器人。其中,中央控制器为主机,其它各个子功能系统为子机。每个系统都装有无线数据传输模块,可以根据需要自由收发数据包。现在,对每个系统规定地址,对数据包中的数据内容加以定义。各个子系统地址设置见表4-1。表4-1 子系统地址设置序号系统名称地址设置1中央控制器0000 0000H2遥控器0000 0001H3IC卡门控制器0000 0010H4插座控制器0000 0011H5室内防火防盗监控器0000 0100H6室内煤气检测报警器0000 0101H7室外LED灯控制器0000 0110H8室
34、内照明灯自动开关控制器0000 0111H9智能家居安全巡检机器人0000 1000H数据包中数据位内容的定义以及说明如下:l 查询指令:0000 0000;查询子功能系统当前状态。l 启动指令:0000 0001;开启子功能系统,使其开始工作。l 关闭指令:0000 0010;关闭子功能系统,使其停止工作。l 显示启动状态:0000 1000;子功能系统返回指令,表示当前子功能系统为启动状态。l 显示关闭状态:0000 1001;子功能系统返回指令,表示当前子功能系统为关闭状态。l 启动成功指令:0000 1010;子功能系统返回指令,当收到中央控制器的启动指令时,进行启动工作,启动成功后将
35、该指令返回给中央控制器。l 关闭成功指令:0000 1011;子功能系统返回指令,当收到中央控制器的关闭指令时,进行启关闭工作,关闭成功后将该指令返回给中央控制器。l 启动失败指令:0000 1100;子功能系统返回指令,当收到中央控制器的启动指令时,进行启动工作,如果启动失败,将该指令返回给中央控制器。l 关闭失败指令:0000 1101;子功能系统返回指令,当收到中央控制器的关闭指令时,进行关闭工作,如果关闭失败,将该指令返回给中央控制器。例如:中央控制器想查询插座控制器是否在运行,则通过无线传输模块向插座控制器发送“0000 0011 0000 0000”。假设它是“关闭”的状态 它就会
36、返回“0000 0000 0000 1001”。如果想启动插座控制器,使其的运行,就发送“0000 0011 0000 0001”。插座控制器接收到命令后开始启动,如果启动成功的话,会向中央控制器返回“0000 0000 0000 1010”。4.1.2 用户操作字定义由上述制定的协议,用户也需要用规范命令输入给中央控制器。用户命令字安排如下:1各个子功能系统名称安排遥控器Remote Controller; IC卡门控制器IC Door Controller;插座控制器Socket Controller; 室内防火防盗监控器FS Monitor;室外LED灯控制器LED Controller
37、;室内煤气检测报警器Gas Alarm;智能家居安全巡检机器人Robort;室内照明灯自动开关控制器Switch of Indoor Lights Controller。2命令名称安排查询当前状态Inquire; 启动Start; 关闭Close。3状态返回数据名称安排正在运行Running; 待机状态Standby;操作成功Operate Success; 操作失败Operate Failure。例如:查看室内煤气检测报警器当前状态,则向中央控制器输入“Inquire Gas Alarm”。报警器正在运行,则显示“Running”;报警器处于待机状态,则显示“Standby”。启动室内煤气检
38、测报警器,则输入“Start Gas Alarm”;关闭启动室内煤气检测报警器,则输入“Close Gas Alarm”。启动或者关闭成功,中央控制器显示“Operate Success”;启动或者关闭失败,则显示“Operate Failure”。4.2 无线数据传输模块的软件设计4.2.1 数据传输过程如图4-1。发送端的PC机(或其它外部设备)有数据传输或需要设计设备参数时,通过串口将数据发送给单片机。单片机接收数据后,将需要发送的数据(这里包括目标设备的地址和所需发送的数据)通过SPI接口发送给NRF905。NRF905将数据加前导码和CRC码,将数据包发送。当接收端的NRF905接收
39、到有效数据后,DR置高位。单片机检测到DR位为高电平时,复位TRX_CE引脚,使NRF905进入空闲模式,然后通过SPI接口从NRF905中读出接收数据,最后通过UART传给PC机或者其它外部设备。软件功能模块由CPU寄存器初始化、串行口初始化、串口接收发送程序、SPI初始化、SPI接收发送程序、I/O口初始化、NRF905配置寄存器操作和NRF905接收程序、发送程序、主程序模块组成。PC机等外部设备的串口UART SPINRF905PC机等外部设备的串口UART SPINRF905数 据 包单片机1单片机2发送端接收端图4-1数据无线传输过程4.2.2 UART串口软件设计1串口数据帧格外
40、部数据设备与无线数据传输设备间的双向数据传输使用相同的帧格式。帧格式由帧头、帧长、帧标志和数据组成。帧头为数据帧开始的标志,固定为0FF81H,长度为2字节。帧长指从帧标志开始至本帧结束的所有数据的字节数,不包括帧头和帧长本身,单位为字节,帧长占1字节。帧标志用以指示本帧数据的内容属性,长度为1字节。不同类型帧的数据长度和帧标志的具体定义如表4-2所示。数据是指所传输的业务等内容。数据长度见表4-1。数据内容定义如下:(1)波特率设置:01H 0AH对应波特率(单位为kbit/s)为2.4、4.8、9.6、14.4、19.2、28.8、38.4、57.6、76.8、115.2。表4-2 帧的数
41、据长度和帧标志的定义方向内容数据长度/字节帧标志数值外部数据设备至无线设备波特率设置11H设备地址设置42H发射功率13H工作频率14H发送数据不超过2545H无线设备至外部数据设备波特率已设置112H设备地址已设置413H发射功率已设置114H工作频率已设置115H接收数据不超过25416H(2)设备地址设置:设备地址为00000000H FFFFFFFFH。(3)发射功率:00H为低功率;01H为高功率。(4)工作频率:433MHZ频段,信道间隔100KHZ。(5)发送数据:发送数据长度不定,最长不超过254字节。2UART初始化初始化UART包括波特率设置、数据格式和SCON寄存器设置。
42、PCON寄存器与定时器相连接,可以构成波特率发生器。波特率计算公式见前文公式(3-1)。选择定时器T1工作在串行口工作方式1,即k = 16,SMOD选择为1,定时器定时常数的初值设置为FFFAH,代入公式(3-1)可得到波特率为9.6kbit/s。在串行口工作方式1下,字符帧格式为8为数据位、1位起始位和1位停止位。SCON寄存器可以设置单片机串行口工作方式,使能串口发送和接收,并相应接收完成中断。3数据发送和接收数据发送采用中断方式。将TI位置位,允许数据发送。将需要发送的数据加载到发送缓冲区将启动数据发送。发送数据时,按照帧格式在所需发送的数据前加上帧头、帧长和帧标志,然后发送。数据接收
43、采用中断方式。将RI位置位,允许数据接收。接收数据时,帧标志有效才开始接收一帧数据,并根据读出的帧长信息完成接收规定长度的数据。4.2.3 SPI接口软件设计SPI接口设置为主机模式,NRF905为从设备。将SPI接口波特率设置为1/2系统时钟。因此,SPI速率可达5.5296MHZ。根据NRF905的读写时序,SPI接口的工作模式应设置为模式0。AT89C51与NRF905同时进行双向数据传输。AT89C51通过将NRF905的CSN引脚置低来实现与NRF905同步。SPI时钟由写入到SPI发送缓冲寄存器的数据启动。MOSI引脚上的数据发送次序时从最高位开始发送,同时接收到的数据传送到接收缓
44、冲寄存器中,CPU进行右对齐从接收缓冲寄存器中读取接收到的数据。NRF905的所有配置都是通过SPI接口进行的。NRF905的SPI接口只有在掉电模式和STANDBY模式下是激活的。当CSN为低时,SPI接口开始等待第一条指令。任何一条新指令都在CSN由高到低的转换开始。4.2.4 主程序流程图 主程序流程图如图4-2所示。首先,将无线数据传输模块设置为接收模式,判断是否接受完一帧数据。如果未完成一帧数据的接收,则继续接收数据,直到完成数据接收;如果已完成一帧数据的接收,则将无线数据传输模块转换为发送模式,发送结束后返回到初始阶段。主程序无限循环。I/O、SPI、UART初始化NRF905配置
45、寄存器初始化完成一帧的接收?根据帧标志完成不同功能配置向NRF905写地址和数据NRF905设置成发射模式结束发送DR是否为高?从SPI口读取数据,置低AM、DR将接收到的有效数据组帧发送到PC机NYNY主程序开始图4-2 主程序流程图4.3 Web服务器的设计与实现4.3.1 Web服务器原理一个Web服务器也称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器。HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议。它是一个请求、响应协议客户端发出一个请求,服务器响应这个请求。HTTP运用可靠的TCP连接,通常用的TCP 80端口。从功能上来讲,Web服务器监听用户端的服务请求,根据用户请求的类型提供相应的服务,用户端使用Web浏览器和Web服务器进行通信。用户请求有两种:GET请求和POST请求。Web服务器在接收到用户端的请求后,处理用户请求并返回需要的数据。在HTTP中,客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回叫连接。客户端与服务器端都可以提前中断一个连接。例如,当用一个浏览器下载个文件时,我们可以通过点击“停止”