您好,欢迎来到九壹网。
搜索
您的当前位置:首页详细设计说明书模板

详细设计说明书模板

来源:九壹网


信 息 科 学 与 技 术 系

验告 目 录

1

引言........................................................................................................... 错误!未定义书签。 1.1 编写目的 ................................................................................... 错误!未定义书签。 1.2 项目背景 ................................................................................... 错误!未定义书签。 1.3 定义 ........................................................................................... 错误!未定义书签。 总体设计 ................................................................................................... 错误!未定义书签。 2.1 对无线传感器系统的要求 ....................................................... 错误!未定义书签。 2.2 系统组成及工作原理 ............................................................... 错误!未定义书签。

2.2.1 系统组成 ........................................................................... 错误!未定义书签。 2.2.2 工作原理 ........................................................................... 错误!未定义书签。 详细设计 ................................................................................................... 错误!未定义书签。 3.1 硬件设计 ................................................................................... 错误!未定义书签。

3.1.1 上位机系统 ....................................................................... 错误!未定义书签。 3.1.2 下位机系统 ....................................................................... 错误!未定义书签。 3.1.3 微处理器模块 ................................................................... 错误!未定义书签。 3.1.4 温湿度传感器SHT11 ...................................................... 错误!未定义书签。 3.2 系统软件设计 ........................................................................... 错误!未定义书签。

3.2.1 编程思路及流程图 ........................................................... 错误!未定义书签。 系统测试 ................................................................................................... 错误!未定义书签。 4.1 系统测试步骤 ........................................................................... 错误!未定义书签。 4.2 系统测试结果 ........................................................................... 错误!未定义书签。 4.3 系统测试结果分析 ................................................................... 错误!未定义书签。

2

3

4

1 引言

1.1 编写目的

ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用和电信应用等领域。

智能家庭:现今家用电器已经随处可见了,如何将这些电器和电子设备联系起来,组成一个网络,甚至可以通过网关连接到Internet,使得用户可以方便地在任何地方监控自己家里的情况?ZigBee技术提供了家庭智能化的技术支持,在ZigBee技术的支持下,家用电器可以组成一个无线局域网,省却了在家里布线的烦恼。

工业控制:工厂环境当中有大量的传感器和控制器,可以利用ZigBee技术把它们连接成一个网络进行监控,加强作业管理,降低成本。

自动抄表:现在在大多数地方还是使用人工的方式来逐家逐户进行抄表,十分不方便。而ZigBee可以用于这个领域,利用传感器把表的读数转化为数字信号,通过ZigBee网络把读数直接发送到提供煤气或水电的公司。使用ZigBee进行抄表还可以带来其它好处,比如煤气或水电公司可以直接把一些信息发送给用户,或者和节能相结合,当发现能源使用过快的时候可以自动降低使用速度。

医疗监护:医疗工作中,时常要获得病人的生理指标、环境指标,可以通过放置传感器构成传感器网络,实时监测这些数据。由于是无线技术,传感器之间不需要有线连接,被监护的人也可以比较自由的行动,非常方便。

传感器网络应用:传感器网络也是最近的一个研究热点,像货物跟踪、建筑物监测、环境保护等方面都有很好的应用前景。传感器网络要求节点低成本、低功耗,并且能够自动组网、易于维护、可靠性高。ZigBee在组网和低功耗方面的优势使得它成为传感器网络应用的一个很好的技术选择。

此外,ZigBee技术也可以应用到汽车电子、农业生产和军事领域中。随着物联网技术的日渐兴起,ZigBee技术将会扮演更为重要的角色。但是,物联网的全面普及将是一个十分漫长的过程,至少目前还在探索和实验阶段,距离实用还有很长的路要走。

虽然前景一片大好,但是我们应该清楚认识到由于各方面的制约,ZigBee技术的大规模商业应用还有待时日,基于ZigBee技术的无线网络应用还远远说不上成熟,主要表现在:ZigBee市场仍处于起步探索阶段,终端产品和应用大多处于研发阶段,真正上市的少,且以家庭自动化为主;潜在应用多,但具有很大出货量的典型应用少,市场缺乏明确方向;使用点对多点星状拓扑的应用较多,体现ZigBee优势的网状网络应用少;基于IEEE 802.15.4底层协议的应用多,而基于ZigBee标准协议的应用少。

无线传感网络是一种开创了新应用领域的新兴概念和技术。当前,传感技术、传感网络已经被认定为最重要的研究之一。无线传感器网络节点的稳定运行是整个网络可靠性的重要保障。低功耗无线传感模块研究具有极其重要的学习和研究价值,其功能的实现具有极其重要的理论和现实意义。

首先,现有的众多研究中,将性能和低功耗相结合的较少,有的只考虑低功耗而性能不高,有的性能高但是功耗太大。本文综合了性能和低功耗的共同需求,经过深入的分析和对

芯片的数据比较,提出了低功耗无线传感模块的硬件设计思路。

其次,增加无线传感模块的应用。无线传感模块应用已非常广泛,除去组成无线传感网络的应用外,无线传感技术还广泛的应用于环境监测,如车间温湿度、压力等;短距无线通信等。实现了无线传感模块的低功耗,其对电能的需求就会更小,应用的范围将会进一步的扩大。

1.2 项目背景

无线传感模块是新兴的下一代无线传感网络节点,它是组成无线传感网络的基本部分。最早的代表性论述出现在二十世纪九十年代末,题为“传感器走向无线时代”。传感技术的发展经历了一般传感器、智能传感器、无线传感器等几个阶段。一般传感器,是最早产生的传感器,只能实现数据采集;智能传感器则是在一般传感器的基础上将处理计算能力与传感器相结合,使得传感模块不但能够实现数据等信息采集,还能对所采集到的信息进行一定程度的计算和处理;无线传感器则是在智能传感器的基础上再集成无线功能模块,使得传感器不再是单独的感知模块,而是一个能够实现数据采集、处理,信息交换和控制的有机整体。

为了实现随时随地与任何人或任何设备的互联互通,无线通信技术获得了蓬勃发展。在正交频分复用(OFDM)和多入多出(MIMO)等基础技术支持下,多种无线技术如蓝牙、Wi-Fi、WIMAX、超宽带和无线局域网获得了长足发展。作为蓬勃发展的无线技术,近几年正是其大变革时期。随着几种重要基础技术的推广和实际应用,无线通信的速度也将得到大大提高。无线传感模块属于无线技术中较为底层的一个分支,由于越来越多的应用方案开始采用无线节点进行数据采集和通信。综合了传感器技术、嵌入式计算技术、现代网络及无线通信技术、分布式信息处理技术等的无线传感网络,是当前的热点研究领域。而无线传感网络节点的稳定运行是整个网络可靠性的重要保障,因此无线传感模块的设计,传感技术、传感网络已经被认定为最重要的研究之一。

当前国内外出现了多种无线传感器网络节点的硬件平台。典型的节点包括Mica 系列、Telos 、IRIS 和Imote2 等。各平台的主要区别是采用了不同的处理器和无线通信模块。有些节点具有高性能但功耗较大,如Imote2 节点,不适用于能量受限的应用环境。其他一些节点,如Telos 、Mica 等, 由于设计时间较早,其性能已经落后于当今的集成电路工业设计水平[4]。因为无线传感器网络节点一般采用电池供电,工作环境通常比较恶劣,而且数量大,更换非常困难,所以低功耗是无线传感器网络最重要的设计准则之一。IT P(美国再生能源办公室工业技术计划) 在2002年发布的报告“21世纪工业无线技术”第一页中引用了总统科技顾问的断言:无线传感器可将能源利用率提高10%,将能源损耗减少25%[5]。后来的研究,如Intel ( r) Mote 的研究项目则注重了三个方面的要求,包括低功耗操作、系统级集成和硬件的重新配置,希望做到平衡功耗与性能的矛盾,但目标的实现还需要一定的努力。M IT 发展的模块化平台对于具体的传感器有不同的硬件设计,他们的传感器的主要功能是数据收集,采用垂直连接器来使不同的处理层整合到一起,其目的是为了设计一个通用的系统来取代单一的硬件系统[7]。

随着电子技术、计算机技术以及集成技术的不断发展,传感技术也会得到不断的发展和完善。并且会有更多的结构新、功能强、耗能低的传感器用运于各种实际的无线网络当中,以高的精确度和良好的稳定性服务于更加广泛的领域。

正是由于低功耗无线传感节点在如此广范围内的应用,使得它受到了来自军事、工业和商业以及学术专家的极大关注。其发展方向必然是无线通信的网络化,即通过自组网的方式形成动态、自适应的无线传感网络。而无线传感网络( WSN) 是当前在国际上备受关注的、

涉及多学科高度交叉、知识高度集成的前沿热点研究领域。它综合了传感器技术、嵌入式计算技术、现代网络及无线通信技术、分布式信息处理技术等。我国迫切需要提升对此的认识程度,并尽快推动其发展。因此,以无线传感模块为基础,实现传感网络的无线互联将是一个必然的趋势。

另外由于无线传感器网络节点的稳定运行是整个网络可靠性的重要保障。在不同的应用中,传感器网络节点的组成不尽相同。已有的节点, 有的只考虑低功耗而性能不高,有的性能高但是功耗太大。因此,无线传感模块的发展必然是趋向与低功耗的。即在保证所需要实现功能的基础上,尽量的实现整个模块的低功耗,甚至在不影响整体性能的情况下适当减少部分功能来实现降低功耗的目的。

除开以上所讲两种发展趋势之外,无线传感模块的应用和发展还具有极大的发展空间和良好的发展方向。当前对无线传感模块的应用都是静止性的,就目前存在的无线传感网络(WSN),构成网络的各个节点都是被固定的安放在一个地方,要实现对整个环境的检测,就需要向环境中投放大量的无线传感节点。这样一来成本就会非常的高。若实现无线传感模块对信息的移动式采集,则在同一个环境内投放更少的节点,就能实现对环境的全面检测。

正是由于当前能耗对无线传感模块的影响,低功耗研究才上升为一个热点领域,不论是使用电源或者电池供电,在实现低功耗后,无线传感模块的发展趋势必然是自生能源式的。利用太阳能、振动能量、地热、风能等实现无线传感模块的电能供应对于全面提高无线传感模块的能力将会起到巨大的作用。

最后,基于能力存储技术的发展,电池的容量越来越大,再加上低功耗的实现,无线传感模块的适用寿命不断增加将会成为一个绝对趋势。未来的无线传感模块必将是集稳定性与安全性、扩展性与灵活性、微型化与低成本等特点为一体的[8]。

1.3 定义

①无线传感模块:是指由处理器模块、无线模块、电源模块和传感模块组成的无线通信自治系统,它采用一定的频率和编码方法实现与其它模块的通信,属于无线技术的一种。

②无线传感网络WSN(Wireless Sensor Network): 是由部署在监测区域内大量的具有信息采集、数据处理和无线通信能力的微小传感器节点通过无线电通信形成的一个多跳的自组织网络系统,其目的是协作地感知、采集和处理网络覆盖区域里被监测对象的信息,并发送给观测者[3]。

③PCB:是Printed Circuit Board的缩写,中文意为印刷电路板,是搭配电子零件之前的基板,被誉为“电子系统产品之母”或“3C产业之基石”。

ZigBee一词来源于蜜蜂赖以生存的通信方式ZigZag形状的舞蹈,是一种低成本、低功耗的近距离无线组网通信技术。

2 总体设计

2.1 对无线传感器系统的要求

系统由温湿度传感器SHT11、光照传感器TSL2561,ATS52单片机,无线数据传输模块PTR2000,PC和电源模块组成。传感器节点通过自组织方式构成网络,将采集到的数

据沿着其他节点逐跳进行传输,传输到显示模块进行数据显示。

主要技术指标

(1)通信与组网:负责监测环境信息的传感器节点自组织搭建无线网络,并向管理和基础服务层提供服务支持;

(2)通信频段:2.4-2.4835Hz;

(3)采用通信协议标准:ZigBee协议标准; (4)借点可靠通信范围:200m;

(5)传感器精度:温度0.3℃(25℃时),湿度:2.0%RH(20—80%RH),光照强度:1lx。

2.2 系统组成及工作原理 2.2.1 系统组成

系统由电源,上位机系统和下位机系统组成。电源包括LM7805,四节5号AA电池和一个10K电阻。上位机包括无线收发模块PTR2000,MAX232,PC。下位机包括无线收发芯片PTR2000,ATS52单片机,温湿度传感器SHT11,

SHT11 ATS52 PTR2000

电源模块 图2.1 传感器节点系统框图

2.2.2 工作原理

多个无线传感器节点通过无线通信方式形成的一个多跳自组织网络,其中的节点将采集到的数据依照最近路线逐个传递到离监测中心最近的传感器节点,再从节点发送到监测中心。由检测中心的PC中Labview8.6软件开发出的监测界面显示数据曲线图。

图3-6 上位机显示界面

监测软件界面图

系统硬件结构框图

3 详细设计

3.1 硬件设计 3.1.1 上位机系统

图3.1 上位机系统框图

Fig.3.1 Block diagram of the host system

上位机采用PTR2000,

PTR2000主要有以下几个特点[3]:

该器件将接收和发射合接为一体; 工作频率为国际通用的数传频段433MHZ;

采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;

采用DDS(直接数据合成)+PLL频率合成技术,因而频率稳定性极好; 灵敏度高达—105bBm; 工作电压低(2.7V),功耗小,接收待机状态电流仅为8μA; 具有两个频道,可满足需要多信道工作的场合;

工作速率最高达20kbit/s(也可在较抵速率下工作,如9600bps); 超小体积,约40×27×5mm;

可直接与MCU的串口进行连接(如8031),也可以通过MAX232与计算机接口,软件编程非常方便;

标准的DIR引脚间距更适合于趼、嵌入式设备;

由于采用了低发射功率、高接收灵敏的设计,因此使用时无需申请许可证,开阔地时的使用距离最远可达1000米。

引脚排列及功能

PTR2000模板的引脚排列如图1所示。各引脚的功能说明如下;

VCC(1脚);下输入端,电压范围为2.7~5.25V; CS(2脚):频道选择端。CS=0时,选择工作频道1, 即433.92MHz;CS=1时选择工作频道2,即434.33 MHz

DI(3脚):数据输入端 DO(4脚):数据输出端; PWR(5脚):节能控制端。当PWR=1时,模块处于正常工作状态,PWR=0时,模块处于待机微功耗状态;

TXEN6脚):发射/接收控制端。当TXEN=1时,模块为发射状态;当TXEN=0时,模块被设置为接收状态。

GND(7脚):电源地

PTR2000可与所有单片机(如80C31、2051、68HC08、PIC、Z8等)配合使用,可直接接单片机的串口或I/O口,也可与计算机串口进行通讯,此时需要在中间简单地接在一个RS232电平转换芯片,如MAX232等。

3.1.2 下位机系统

1+5V1234NCNCNCNCSHT11GNDGND+5V10uFVCCCSDIDOPWRTXEN12345612345671011121314151617181920P1.0/T2VCCP1.1/T2EXP0.0/AD0P1.2P0.1/AD1P1.3P0.2/AD2P1.4P0.3/AD3P1.5/MOSIP0.4/AD4P1.6/MISOP0.5/AD5P1.7/SCKP0.6/AD6RSTP0.7/AD7P3.0/RXDEA/VPPP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7/A15P3.4/T0P2.6/A14P3.5/T1P2.5/A13P3.6/WRP2.4/A12P3.7/RDP2.3/A11XTAL2P2.2/A10XTAL1P2.1/A9GNDP2.0/A8ATS52GND4039383736353433323130292827262524232221123VDDSDAADSELINTGNDTSL25613K2KGND+5VSCL2K6542KVCCSDASCKGND5678GNDVIVO2+5VGND+6V10K7GNDPTR2000GND+5V10uF22pF10KSW-PBGNDGND11M22pF123LM7805

下位机电路图

3.1.3 微处理器模块

ATS52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存

储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得ATS52在众多嵌入式控制应用系统中得到广泛应用。 主要性能:

1、与MCS-51单片机产品兼容;

2、8K字节在系统可编程Flash存储器; 3、1000次擦写周期;

4、全静态操作:0Hz-33MHz; 5、三级加密程序存储器; 6、32个可编程I/O口线; 7、三个16位定时器/计数器; 8、六个中断源;

9、全双工UART串行通道; 10、低功耗空闲和掉电模式; 11、掉电后中断可唤醒; 12、看门狗定时器; 13、双数据指针; 14、掉电标识符 。 引脚说明

ATS52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得ATS52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 ATS52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,ATS52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能:

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为ATS52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当ATS52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。

3.1.4 温湿度传感器SHT11

1.SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。共主要特点如下:

(1) 高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;

(2) 提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;

(3) 测量精度可编程调节,内置A/D转换器(分辨率为8~12位,可以通过对芯片内部寄存器编程米选择); (4) 测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;

(5) 封装尺寸超小(7.62 mm×5.08mm×2.5 mm),测量和通信结束后,自动转入低功耗模式;

(6) 高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。 2 SHT11的引脚功能

SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图1所示。

各引脚的功能如下:

(1) 脚1和4--信号地和电源,其工作电压范围是2.4~5.5 V;

(2) 脚2和脚3--二线串行数字接口,其中DA-TA为数据线,SCK为时钟线; (3) 脚5~8--未连接。

3 SHT11的内部结构和工作原理

温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5℃左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。

微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的。

4 SHT11应用设计

微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。

5.SHT11 硬件设计

SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10 MHz,而当工作电压低于4.5 V时,SCK最高频率则为1 MHz。硬件连接如图3所示。

3.2 系统软件设计 3.2.1 编程思路及流程图

PTR2000思路:

单片机开始需将无线数据传输模块PTR2000设置处于接受状态,通过串口中断识别由PC用过无线信道传输来的指令,根据接受指令的内容采集数据并启动发送。发送前需将PTR2000模块设置为发射状态,且等待5ms才可发送,发送完毕后,向PC机端发送“发送

结束指令”,并将PTR2000重设为接受状态,下图为系统软件设计流程图。

基于单片机的PTR2000无线传输流程图

ORG 0000H AJMP START ORG 0200H

START:SETB P1.0 ;PTR2000的Pin6置1 SETB P1.1 ;PTR2000的Pin7置1 MOV SP,#80H ;设置数据指针的位置 MOV SCON,#40H ;串口工作方式1 MOV TMOD,#20H ;定时器工作方式1 MOV TL1,#OFDH ;设定波特率9600 MOV TH1,#OFDH MOV PCON,#00H

SETB TR1 ;开启定时器1 MOV DPH,#50H ;指针指向数据块 MOV DPL,#00H

VIN: MOV Rl,#LEN1 ;发送VIN码 ACALL TXSUB

USER: MOVE R1, #LEN2 ;发送用户名称 ACALL TXSUB

COUNT: MOV RA,#LEN3 ;发送用户水电气数据 ACALL TXSUB

CLR Pl.0 ;将PTR2000置接收状态 CLR Pl.l ;将PTR2000置待机状态

ORG 0400H

TXSUB: PUSH ACC ;保护ACC PUSH PSW ;保护PSW CLR Tl ;清Tl TXDD: CLR A

MOVC A, @A+DPTR ;从数据块中取数 MOV SUBF,A ;从串口发送 JNB Tl,$ ;等待发送完 CLR Tl

INC DPTR ;取下一个数

DJNT RI,TXDD ;数据为发送完,继续 POP PSW ;弹出PSW POP ACC ;弹出ACC RET

()RG 0500H ;数据块 DVIN: DB‘’ IEN1 DATA10

USER: DB‘ABDEFG’ LEN2 DATA 7

DCOUNT:DB‘8740 3365 4200’ LEN3 DATA 12 SHT11思路:

微处理器和温湿度传感器通信采用串行二线接口SCK和DATA,其中SCK为时钟线,DATA为数据线。该二线串行通信协议和I2C协议是不兼容的。在程序开始,微处理器需要用一组\"启动传输\"时序表示数据传输的启动,如图4所示。当SCK时钟为高电平时,DATA翻转为低电平;紧接着SCK变为低电平,随后又变为高电平;在SCK时钟为高电平时,DATA再次翻转为高电平。

开始 SHT11初始化 启动SHT11

等待上位机发送指令测温度

温度计算

#ifndef __SHT11_H__ #define __SHT11_H__

计算结果发送到上位机 复位 /************************* SHT11相关命令

**************************/

#define TEM_TEST 0x03//温度检测命令 #define REG_READ 0x07//读寄存器 #define REG_WRITE 0x06//写寄存器

#define FUNCTION_SET 0x01//设置SHT11的工作精度为8位/湿度 12位温度 /************************** SHT11端口定义

***************************/

sbit SHT11_DATA=P2^0; sbit SHT11_SCK=P2^2;

uchar flag_tempeture=0; //显示温度位置的标志

uchar code str1[]={ 0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//温度图标 uchar code str6_sht11[]=\"%RH \"; uchar code str2_sht11[]=\"temp=\";

uchar code str7_sht11[]=\" \";//清除没不要的显示 /*************************** 函数名称:Delay()

函数功能:SHT11内部延时

****************************/ void Delay() {; }

/*************************** 函数名称:Delay_Ms()

函数功能:SHT11检测等待延时

函数说明:11ms/55ms/210ms 分别对应8位/12位/14位 测量结果 对应的形参为N 则延时Nms ****************************/ void Delay_Ms(uint ms) { uint i,j; for(i=ms;i>0;i--) for(j=112;j>0;j--); }

/************************** 函数功能:SHT11启动时序

***************************/ void SHT11_Start() {

SHT11_SCK=1; SHT11_DATA=1; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=0; Delay(); SHT11_SCK=1; Delay(); SHT11_DATA=1; }

/****************************** 函数名称:SHT11_Sendbyte(uchar dat) 函数功能: 向SHT11发送8bite数据 ******************************/ void SHT11_Sendbyte(uchar dat) { uchar i; SHT11_SCK=0; Delay(); for(i=0;i<8;i++) { if(dat&0x80) { SHT11_DATA=1; Delay(); } else { SHT11_DATA=0; Delay(); } dat=dat<<1; SHT11_SCK=1; Delay(); SHT11_SCK=0; } }

/********************************* 函数名称SHT11_Answer():

函数功能:检测SHT11的响应信号(在第九个时钟周期) ***********************************/ void SHT11_Answer() {

SHT11_SCK=1; Delay(); while(SHT11_DATA==1); SHT11_SCK=0; SHT11_DATA=1; }

/************************************ 函数名称:SHT11_Test_Finish()

函数功能:检测SHT11温度检测是否完毕 *************************************/ void SHT11_Test_Finish() { while(SHT11_DATA==1); }

/************************************ 函数名称:SHT11_Receivebyte() 函数功能:从SHT11接收8bite数据

*************************************/ uchar SHT11_Receivebyte() { uchar i; uchar dat; SHT11_SCK=0; Delay(); for(i=0;i<8;i++) { SHT11_SCK=1; Delay(); dat=dat<<1; if(SHT11_DATA) { dat=dat|0x01; Delay(); } else { dat=dat&0xfe; Delay(); } SHT11_SCK=0; Delay(); }

SHT11_DATA=1; //释放数据总线 return(dat); }

/*********************************** 函数名称:MCU_Answer()

函数功能:单片机向SHT11发送应答信号 *************************************/ void MCU_Answer() { SHT11_SCK=0; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=1; Delay(); SHT11_SCK=0; Delay(); SHT11_DATA=1; //释放数据总线 这条指令非常重要 不加的话导致单片机不能读取低8位

}

/*********************************** 函数名称:SHT11_End()

当接收两个8byte数据后部接收CRC校验码 ************************************/ void SHT11_End() { SHT11_DATA=1; SHT11_SCK=1; Delay(); SHT11_SCK=0; Delay(); }

/*************************************

函数名称:void SHT11_Write_Register(uchar command ,uchar dat) 函数说明:向SHT11的状态寄存器设置功能 command为REG_WRITE 0x06写寄存器 dat为 设置SHT11的功能 可以设置检测的数据位数 ***************************************/

void SHT11_Write_Register(uchar command ,uchar dat) { SHT11_Start();

SHT11_Sendbyte(command); SHT11_Answer(); SHT11_Sendbyte(dat); SHT11_Answer(); }

/**************************************** 函数名称:Convert_Tempeture(uint dat);

函数功能:将检测到的数据转化为相应的温度数据 函数说明:温度转换公式--T=d1+d2*SOt 公式中的参数d1=-40,d2=0.01 *****************************************/ float SHT11_Convert_Tempeture14bit(uint dat) { float tempeture1; tempeture1=-40+0.01*dat; if(tempeture1>100.0) { flag_tempeture=1; } else if(tempeture1<0.0) { flag_tempeture=1; } else { flag_tempeture=0; } return(tempeture1); }

4 系统测试

4.1 系统测试步骤

(1) 检查开发板电源、串口线以及外扩设备连接是否正常。 (2) 下载协调器代码到开发系统的表演板。 (3) 下载传感器节点代码到电池板

(4) 用串口调试助手观察协议栈运行是否正常

(5) 测试上位机软件,PC端能否正常接收数据以及能否将数据存到数据库中,可否正常画

出曲线。

4.2 系统测试结果

系统的硬件测试

系统的硬件测试包括对开发平台的电源、内存、按键、LED灯、串口,以及配套电路进行测试。

下载各模块的程序后,系统各硬件均能正常工作。 协议栈的测试

下载协调器模块到表演板、节点模块到电池板后,程序运行正确,从串口能正确接收到节点的地址以及所采集到的温度。

上位机的测试

打开上位机软件,从串口读入当前温度值,能够实时显示温度并能够绘出温度曲线,能够顺利在多个曲线间进行切换,能够存储过往数据并且能够查看。运行效果图如下所示。

4.3 系统测试结果分析

经测试,系统软硬件均工作正常,实现了需求中的绝大部分功能。网络功能方面,充分发挥了ZigBee的强大的优势,网络健壮。测试中,温度传感器采集的是室温,所测得的温度值与室温基本一致。上位机也顺利绘出温度的折线图并且能够存储数据。总体上,本设计基本完成了预期的目标和要求。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务