




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计 第 52 页 共 71页1 绪论 1.1 概述高压开关柜是发电厂和变电站的重要电器设备,其内部通常有六组动静触头和多处母排接头。由于这些连接部件长期处于高电压、大电流的工作状态,只要触头或接头的接触电阻有微小的增大,都将引起触头或接头处温度升高,如果没有及时处理,将会产生恶性循环,最终导致烧毁高压开关柜,甚至直接影响电力系统正常供电而造成巨大的经济损失。因此,对高压开关柜中触头和接头的温度进行实时监测,对于保障高压开关柜的安全运行,乃至电网的正常运转具有十分重要意义。1.2 课题分析在高电压、大电流环境下,实现温度的在线监测需要解决高压隔离和抗强电磁干扰的难题。现有高压开关触头温度在线监测技术主要有多种: (1)在母排接头和开关触点的表面涂一层随温度变化而改变颜色的材料(如感温腊),通过观察其颜色变化来大致确定温度范围。这种方法准确度低、可读性差,不能进行定量和实时测量,方法原始并对员工的要求高。 (2)利用红外测量仪,操作人员定时手持仪器对准母排接头和高压开关触点进行测量。这种方法在0200之间的温度值误差小、准确度高,但是,仍然无法做到实时测量,而且价格高、光学器件在高压场合使用不便。 (3)采用光纤的方式,这种方法具体实现又分为两种,一种是采用光纤光栅温度传感器,另一种是仅利用光纤传输温度信号,两者都利用了光纤耐高压、抗腐蚀、抗电磁干扰等优点,该技术的最大缺陷是被测高压带电体与测量设备需要通过光纤连接,因此不能解决污闪的问题,严格地说该技术的安全性值得商榷。温度采集发送系统所采集的温度通常通过RS485、CAN总线通信方式传输至上位机,但这种方式维护较困难,不利于工业现场生产;而无线通信GPRS技术传输距离长,通信可靠稳定,但设计复杂、成本昂贵。本课题正式为了解决温度采集系统所面临的难题而设计的,通过将温度采集系统贴附于母排接头表面和接近开关触头的触臂上,利用工业级内置硬件链路层协议的低成本单芯片nRF24L01型无线收发器件实现系统间的无线通信,可不改变开关柜内部的物理结构,完成无线信号的接收、显示及报警功能,很好地解决高压隔离的问题。本文介绍了8031单片机对整个系统硬件接口和软件设计的基本思想。包括单片机程序存储器的扩展,输入/输出接口扩展和控制电路的接口等。1.3 10KV静触头温度采集模块技术指标(1)温度测量范围:-20-150(2)测量温度由无线方式传输;(3)3.6V电池供电;(4)低功耗运行;210KV静触头温度采集模块设计2.1系统总体方案设计及思路现代社会的发展对电力系统的要求越来越高,因而在电力系统中担负着控制、保护双重功能的高压断路器的可靠性显得至关重要。为了确保高压断路器的运行可靠性,减少浪费,提高设备的可用率,目前电力设备的检修正在由定期检修向状态检修方向发展。断路器触头电磨损是影响断路器电寿命的重要因素,是状态检测的一个重要内容。在无法确定断路器实际切断电流大小及电磨损的情况下,对断路器盲目解体,不但会造成巨大的人力、财力浪费和不必要的停电,而且会使原本完好的断路器因检修而出现故障。目前,随着计算机技术的发展和电寿命理论的不断完善,对断路器触头的电磨损情况进行在线监测已成为可能,而在线检测的重要环节之一是进行温度采集,经过几种方案的论证,本文采用无线电射频技术采集温度来解决这一问题,实现高压被测端与显示仪表的隔离传输,无线信号传输能突破电柜内金属的屏蔽。总体设计思路是这样的:温度采集模块有数字式温度传感器DS18B20、电池和无线信号处理模块组成,温度传感器安装在梅花爪头附近。埋于梅花爪头附件的数字式温度传感器将该处的温度以脉冲数字形式传送给信号处理模块,微处理芯片把温度数字信号和传感器地址编码一起调制的2.5GHz载频上,通过无线发送模块发射。具体功能见下面具体方案。2.2硬件设计2.2.1系统总体方块图2.2.2模块的总体设计整体上由五部分组成:(1)温度传感器DS18B20 与微机接口仅需占用一个I/O端口,无需任何外部元件,直接将温度转化成数字信号 。(2)无线收发芯片NRF24L01 采用工业级内置硬件链路层协议实现系统间的无线通信,完成无线信号的接收、显示及报警功能。(3)中央处理器 采用8031作为中央处理器(CPU),进行温度采集、计算、控制等。(4)2764EPROM 具有28根引脚和8K(10248)字节容量的双列直插式程序存储器。(5)地址锁存器74LS373 三态输出的8D透明锁存器 。原理图见附表一。2.2.3模块里中央处理器I/O的扩展设计虽然在单片机应用系统硬件设计中应注意,尽量减少芯片使用个数,使得电路结构简单,提高可靠性,尽量采用内部程序存储空间较大的单片机,但本课题采用Intel公司MCS-51单片机始祖8031作为CPU进行数据处理和控制已完全满足要求,8031逻辑框图和引脚配置图,如图2所示图2逻辑框图及引脚配置图动画讲解图片说明8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入,但是写入到外接程序存储器的程序代码没有什么保密性可言,8031单片机内部结构图如图3所示:图3 8031单片机内部结构图动画讲解图片说明单片机扩展系统结构图如图4所示:图4 8031单片机扩展系统结构图动画讲解图片说明程序存储器的扩展对于没有内部ROM的单片机或者当程序较长,片内ROM容量不够时,用户必须在单片机外部扩展程序存储器.MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64 KB(0000HFFFFH).这里要注意的是,MCS-51单片机有一个管脚 跟程序存储器的扩展有关.如果 接高电平,那么片内存储器地址范围是0000H0FFFH(4 KB),片外程序存储器地址范围是1000HFFFFH(60 KB).如果 接低电平,不使用片内程序存储器,片外程序存储器地址范围为0000HFFFFH(64 KB).8031单片机没有片内程序存储器,因此 管脚总是接低电平.扩展程序存储器常用的芯片是EPROM,如果程序总量不超过4 KB,一般选用具有内部ROM的单片机.8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用,因此选用8751,8951的用户较多.如果程序超过4 KB,用户一般不会选用8751,8951,而是直接选用8031,利用外部扩展存储器来存放程序.(一)只读存储器概述程序存储器扩展使用的元件是只读存储器芯片,简称ROM。根据编程方式的不同, ROM可分为掩膜ROM,一次性可编程ROM(PROM),紫外光可擦、电可写ROM(EPROM)及电可擦写ROM(EEPROM)。其中掩膜ROM写入的内容,由ROM生产厂家根据用户程序清单,在生产时ROM就写入,用户不能改写。EPROM可反复写入并用紫外线擦除。EEPROM可进行在线写入或编程,但写人速度较慢。同时目前EEPROM市场价格高于前三种ROM价格。 (二)典型只读存储器芯片 INTEL公司只读存储器芯片(EPROM)的产品有:2716,2732,2764,27128,27256,27512等。系列数字27后面的数据除以8即为该芯片的K数。如:27256为32K容量。 2764 EPROM是具有28根引脚的双列直插式器件,紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器.EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态.擦除干净的EPROM可以通过编程器将应用程序固化到芯片中.,图5给出其引脚排列图。2764具有8K(10248)字节容量, 共需要有13根地址线(213=8192) A12A0进行寻址,加上8条数据线D7D0、一条片选信号线CE、一条数据输出选通线OE、一条编程电源线Vpp及编程脉冲输入线PGM, 另外有一条正电源线UCC及接地线GND,其第26号引脚为NC,使用时应接高电平。在非编程状态时UPP及PGM端应接高电平。其中片选信号为保证多片存贮系统中地址的正确选择,数据输出选通线保证时序的配合,编程电源线及编程脉冲输入线可实现程序的电编程。 Upp 1 28 Ucc A12 2 27 PGM A7 3 26 NC A6 4 25 A8 A5 5 24 A9 A4 6 23 A11 A3 7 2764 22 OE A2 8 21 A10 A1 9 20 A0 10 19 D7 D0 11 18 D6 D1 12 17 D5 D2 13 16 D4 GND 14 15 D3 图5 2764 引脚排列图2764芯片由单一正5V电源供电,工作电流100mA,维持电流50mA,读出时间最大为250ns,是一种高速大容量EPROM存贮器。其工作方式见表1。表1 2764 工作方式选择引 脚方 式CE(20)OE(22)PGM(27)Upp(1)Ucc(28)输 出D7D0读00+5+5+5数据输出维 持+5V+5+5高 阻 态编 程00pp+5数据输入编程校验005Vpp+5数据输出编程禁止+5Vpp+5高 阻 态注:2764的编程电源Upp随型号不同而异,典型的有25V,21V,12V等。 (三)程序存储器扩展的实现: 实现8031单片机程序存储器扩展,需要考虑以下三点: 1依据系统容量,并参考市场价格,选定合适的芯片。 2确定所扩展存储器的地址范围,并依照选定芯片的引脚功能和排列图,将引脚接入单片机系统中。3考虑所选芯片的工作速度,尤其当主机晶振频率提高时,注意芯片工作速度是否能满足主机读取指令的时限。4. 一般的CPU,像INTEL 8086/8088,Z80等,都有单独的地址总线,数据总线和控制总线,而MCS-51系列单片机由于受管脚的限制,数据线与地址线是复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般CPU相类似的三总线结构. 现仍以2764为例,说明电路连接方法如下: A7A0:接373锁存器输出(低八位地址) A12A8:接P2口 P2.4P2.0(高五位地址) D7D0:接P0口 P0.7P0.0(数据线) CE :接地。(也可根据编址情况接地址译码输出电路) OE :接CPU的PSEN端; GND:接地 PGM,VPP,VCC:共同联接到EC(+5V)端 8051芯片扩展外部8K EPROM电路如图6所示。由于CE0,2764芯片的地址范围:0000H1FFFH(8KB)。另外还有三根未接入的高地址线,共可形成8个地址段。PSENP2.4-08051ALE EAP0 A7-A0 A12-A8 OE VCC 2764 VPP PGMD7-D0 GND CEG Q7-Q0 74LS373 D7-D0 E GND +5v 图6 8051外部扩展EPROM2.2.4 单总线数字温度传感器DS18B20原理DS1820是美国Dallas半导体公司推出的第一片支持一线总线接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供微机处理2。 DS1820的工作原理是:DS1820采用3脚PR-35封装或8脚SOIC封装,其中 GND为地;I/O为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平;VDD是外部+5V电源端,不用时应接地;NC为空脚。图7 所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。DS1820 特点如下:硬件接口简单,性能稳定,单线接口,仅需一根口线与MCU连接无需外围元件;由总线提供电源;测温范围为-5575;精度为0.5;9位温度读数;A/D变换时间为200ms;用户自设定温度报警上下限,其值是非易失性的;报警搜索命令可识别那片DS1820超温度限。 DS1820的温度测量原理如下3:DS1820测量温度时使用特有的温度测量技术,其测量电路框图如图2所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。计数器设置为-55时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位。由于每片DS1820含有唯一的硅串行数,所以在一条总线上可挂接多个DS1820芯片。从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单线接口)。读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。DS1820提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。对DS1820的使用,多采用单片机实现数据采集。处理时,将DS1820信号线与单片机一位口线相连,单片机可挂接多片DS1820,从而实现多点温度检测系统。由于DS1820只有三个引脚,其中两根是电源线VDD和GND,另外两根用作总线DQ(Data In/Out),由于其输出和输入均是数字信号且与TTL电平兼容,TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,0V等价于逻辑“0”,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中间转换环节。DSl8B20的数据端DQ可通过47 k的上拉电阻接8031。本设计中以DS1820为传感器、8031单片机为控制核心组成的温度采集系统用6只DS1820同时测控6路温度(视实际需要还可扩展通道数)。 这里需注意DS18B20是单总线器件其硬件接口比较简单,这是以相对复杂的软件编程为代价的。DS18B20与单片机的接口协议也是通过严格的时序来实现的。2.2.5 无线收发模块NRF24L01原理nRF24L01是一款工业级内置硬件链路层协议的低成本无线收发器。该器件工作于24 GHz全球开放ISM频段,内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合增强型ShockBurst技术,其输出功率和通信频道可通过程序配置。拥有ShockBurst和Enhanced ShockBurst两种数据传输模式。可直接与单片机IO连接,外接元件数目少。nRF24L01功耗低,以-6 dBm的功率发射时,工作电流仅9 mA;接收时,工作电流仅123 mA,多种低功率工作模式(掉电和空闲模式)更利于节能设计。 nRF24L01 的收发模式有3 种, 分别是Enhanced ShockBur st TM 模式、ShockBurst TM 模式、直接收发模式。本系统采用EnhancedShockBurst TM 模式,在该模式下, nRF24L01 自动处理字头和CRC 校验码,在接收数据时自动将字头和CRC 校验码移去,在发送数据时自动加上字头和CRC 校验码。nRF24L01 还集成了自动应答功能, 即接收端收到数据后自动发送一个应答信号,发送端收到应答信号后确认完成这次数据的发送;在默认的发送时间内如果没有收到应答信号,发送端的MAX_RT 位置1 ,触发发送端的中断信号,并停止数据的发送。使用这2 种技术可以明显降低该射频模块的工作电流,提高系统的稳定性和可靠性。 发射数据时,首先将nRF24L01 配置为发射模式:接着把地址TX_ADDR 和数据TX_PLD 按照时序由SPI口写入nRF24L01 缓存区,TX_PLD 必须在CSN 为低时连续写入,而TX_ADDR 在发射时写入一次即可,然后CE 置为高电平并保持至少10s,延迟130s 后发射数据;若自动应答开启,那么nRF24L01 在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS 置高,同时TX_PLD 从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT 置高,TX_PLD 不会被清除;MAX_RT 或TX_DS 置高时,使IRQ 变低,以便通知MCU。最后发射成功时,若CE 为低则nRF24L01 进入空闲模式1;若发送堆栈中有数据且CE 为高,则进入下一次发射;若发送堆栈中无数据且CE 为高,则进入空闲模式2。接收数据时,首先将nRF24L01 配置为接收模式,接着延迟130s 进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC 时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR 置高,IRQ 变低,以便通知MCU 去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE 变低,则nRF24L01 进入空闲模式1。nRF24L01的CE,CSN,SCK,MOSI,MISO,IRQ引脚则可接8031的任意端口,但需在编程时注意,这里接至P1端口NRF24L01引脚排列如图9所示。NRF24L01电路图如图10所示。增强型的ShockBurstTM 模式:增强型 ShockBurstTM 模式可以使得双向链接协议执行起来更为容易有效。典型的双向链接为:发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。一旦数据丢失,则通过重新发送功能将丢失的数据恢复。增强型的ShockBurstTM 模式可以同时控制应答及重发功能而无需增加MCU工作量。图11 nRF24L01 在星形网络中的结构图nRF24L01 在接收模式下可以接收6 路不同通道的数据,见图11。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6 个不同的nRF24L01 设置为发送模式后可以与同一个设置为接收模式的nRF24L01 进行通讯,而设置为接收模式的nRF24L01 可以对这6 个发射端进行识别。数据通道0 是唯一的一个可以配置为40 位自身地址的数据通道。15 数据通道都为8 位自身地址和32 位公用地址。所有的数据通道都可以设置为增强型ShockBurst 模式。nRF24L01 在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。在发送端,数据通道0被用做接收应答信,因此,数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号,见图12选择地址举例图12 应答地址确定举例nRF24L01 配置为增强型的ShockBurstTM 发送模式下时,只要MCU 有数据要发送,nRF24L01 就会启动ShockBurstTM 模式来发送数据。在发送完数据后nRF24L01 转到接收模式并等待终端的应答信号。如果没有收到应答信号,nRF24L01 将重发相同的数据,包直到收到应答信号或重发次数超过SETUP_RETR_ARC 寄存器中设置的值为止,如果重发次数超过了设定值,则产生MAX_RT 中断。只要收到确认信号,nRF24L01 就认为最后一包数据已经发送成功(接收方已经收到数据),把TX FIFO中的数据清除掉并产生TX_DS 中断(IRQ 引脚置高)。在增强型ShockBurstTM 模式下nRF24L01 有如下的特征:1:当工作在应答模式时,快速的空中传输及启动时间,极大的降低了电流消耗。2:低成本。nRF24L01 集成了所有高速链路层操作,比如:重发丢失数据包和产生应答信号。无需单片机硬件上一定有SPI 口与其相连。SPI 接口可以利用单片机通用I/O 口进行模拟。3:由于空中传输时间很短,极大的降低了无线传输中的碰撞现象。4:由于链路层完全集成在芯片,上非常便于软硬件的开发。增强型ShockBurstTM 发送模式:1 配置寄存器位PRIM_RX 为低2 当MCU 有数据要发送时,接收节点地址(TX_ADDR)和有效数据(TX_PLD)通过SPI 接口写入nRF24L01。发送数据的长度以字节计数从MCU写入TX FIFO。当CSN 为低时数据被不断的写入。发送端发送完数据后,将通道0设置为接收模式来接收应答信号。其接收地址(RX_ADDR_P0)与接收端地址(TX_ADDR)相同。例在图5 中数据通道5 的发送端(TX5)及接收端(RX)地址设置如下:TX5:TX_ADDR=0xB3B4B5B605TX5: RX_ADDR_P0=0xB3B4B5B605RX: RX_ADDR_P5=0xB3B4B5B6053 设置CE,为高启动发射。CE 高电平持续时间最小为10 us。4 nRF24L01 ShockBurstTM 模式无线系统上电启动内部16MHz 时钟无线发送数据打包见数据包描述高速发送数据由MCU 设定为1Mbps 或2Mbps5 如果启动了自动应答模式(自动重发计数器不等于, ENAA_P0=1),无线芯片立即进入接收模式。如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的TX_DS 位置高并把数据从TX FIFO 中清除掉。如果在设定时间范围内没有接收到应答,信号则重新发送数据。如果自动重发计数器(ARC_CNT)溢出(超过了编程设定的值)则状态寄存器的MAX_RT 位置高。不清除TX FIFO 中的数据。当MAX_RT 或TX_DS 为高电平时IRQ 引脚产生中断IRQ中断。通过写状态寄存器来复位(见中断章节)。如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话,在MAX_RX 中断清除之前不会重发数据。数据包丢失计数器(PLOS_CNT)在每次产生MAX_RT 中断后加一。也就是说,重发计数器ARC_CNT 计算重发数据包次数,PLOS_CNT 计算在达到最大允许重发次数时仍没有发送成功的数据包个数。6 如果CE置低,则系统进入待机模式I。如果不设置CE为低,则系统会发送TX FIFO寄存器中下一包数据,如果TX FIFO 寄存器为空并且CE 为高则系统进入待机模式II.。7 如果系统在待机模式II,当CE置低后系统立即进入待机模式I.。增强型ShockBurstTM 接收模式:1 ShockBurstTM 接收模式是通过设置寄存器中PRIM_RX 位为高来选择的。准备接收数据的通道必须被使能(EN_RXADDR寄存器)。所有工作在增强型ShockBurstTM 模式下的数据通道的自动应答功能是由(EN_AA寄存器)来使能的,有效数据宽度是由RX_PW_Px 寄存器来设置的。地址的建立过程见增强型ShockBurstTM 发送章节。2 接收模式由设置CE为高来启动。3 130us 后nRF24L01开始检测空中信息。4 接收到有效的数据包后(地址匹配,CRC 检验正确),数据存储在RX_FIFO中,同时RX_DR位置高,并产生中断。状态寄存器中RX_P_NO 位显示数据是由哪个通道接收到的。5 如果使能自动确认信号,则发送确认信号。6 MCU设置CE脚为低,进入待机模式I(低功耗模式)。7 MCU 将数据以合适的速率通过SPI 口将数据读出。8 芯片准备好进入发送模式,接收模式或掉电模式两种数据双方向的通讯方式:如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证PTX和PRX端的同步性。在RX_FIFO 和TX_FIFO 寄存器中可能同时存有数据。 自动应答(RX):自动应答功能减少了外部MCU的工作量,并且在鼠标/键盘等应用中也可以不要求硬件一定有SPI 接口,因此降低成本减少电流消耗。自动重应答功能可以通过SPI 口对不同的数据通道分别进行配置。在自动应答模式使能的情况下,收到有效的数据包后,系统将进入发送模式并发送确认信号。发送完确认信号后,系统进入正常工作模式(工作模式由PRIM_RX 位和CE 引脚决定)。 自动重发功能(ART)(TX):自动重发功能是针对自动应答系统的发送.SETUP_RETR寄存器设置:启动重发数据的时间长度。在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号。接收到应答信号后,系统转入正常发送模式。如果TX FIFO 中没有待发送的数据且CE 脚电平为低,则系统将进入待机模式I。如果没有收到确认信号,则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值(达到最大的重发次数)。有新的数据发送或PRIM_RX 寄存器配置改变时丢包计数器复位。 数据包识别和CRC 校验应用于增强型ShockBurstTM 模式下:每一包数据都包括两位的PID 数据包识别来识别接收的数据是新数据包还是重发的数据包。PID识别可以防止接收端同一数据包多次送入MCU。在发送方每从MCU取得一包新数据后PID值加一。PID和CRC 校验应用在接收方识别接收的数据是重发的数据包还是新数据包。如果在链接中有一些数据丢失了,则PID 值与上一包数据的PID值相同。如果一包数据拥有与上一包数据相同的PID值,nRF24L01 将对两包数据的CRC值进行比较。如果CRC值也相同的话就认为后面一包是前一包的重发数据包而被舍弃。 1接收方:接收方对新接收数据包的 PID值与上一包进行比较。如果PID值不同,则认为接收的数据包。是新数据包如果PID 值与上一包相同,则新接收的数据包有可能与前一包相同。接收方必须确认CRC值是否相等,如果CRC 值与前一包数据的CRC 值相等,则认为是同一包数据并将其舍弃。 2发送方:每发送一包新的数据则发送方的PID值加一。图13 PID 值生成和检测CRC 校验的长度是通SPI接口进行配置的。一定要注意CRC 计算范围包括整个数据包:地址PID和有效数据等。若CRC 校验错误则不会接收数据包,这一点是接收数据包的附加要求,在上图没有说明。载波检测CD:当接收端检测到射频范围内的信号时将CD置高,否则CD为低。内部的CD信号在写入寄存器之前是经过滤波的,内部CD 高电平状态至少保持128us 以上。在增强型ShockBurstTM模式中只有当发送模块没有成功发送数据时,推荐使用CD检测功能。如果发送端PLOS_CNT显示数据包丢失率太高时,可将其设置位接收模式检测CD值,如果CD为高(说明通道出现了拥挤现象),需要更改通信频道;如果CD为低电平状态(距离超出通信范围)可保持原有通信频道,但需作其它调整。 数据通道: nRF24L01 配置为接收模式时可以接收6 路不同地址相同频率的数据。每个数据通道拥有自己地址并且可以通过寄存器来进行分别配置。数据通道是通过寄存器EN_RXADDR 来设置的,默认状态下只有数据通道0和数据通道1是开启状态的。每一个数据通道的地址是通过寄存器RX_ADDR_Px 来配置的。通常情况下不允许不同的数据通道设置完全相同的地址。数据通道0有40位可配置地址。数据通道15的地址为:32位共用地址+各自的地址(最低字节)。图7 所示的是数据通道15 的地址设置方举例。所有数据通道可以设置为多达40位,但是15 数据通道的最低位必须不同。图14通道05 的地址设置当从一个数据通道中接收到数据,并且此数据通道设置为应答方式的,则nRF24L01 在收到数据后产生应答信号,此应答信号的目标地址为接收通道地址。2.2.6直流供电电路的设计本采集模块由干电池供电,8031供电电压为5V,为了确保模块可靠安全运行,对须经过7803L05端稳压器将电压由6V经滤波稳压到5V后供给8031以使其完成数据处理和控制功能,供电路图如上图所示;NRF24L01低工作电压为1.9V-3.6 V,为抗干扰,将电压经电容滤波和LM317稳压后供给无线收发模块NRF24L01完成数据的收发功能,其供电电路图如上图所示。2.2.7重要器件的补充说明(1)电容 电容是表征电容器容纳电荷的本领的物理量。我们把电容器的两极板间的电势差增加1伏所需的电量,叫做电容器的电容。电容从物理学上讲,它是一种静态电荷存储介质(就像一只水桶一样,你可以把电荷充存进去,在没有放电回路的情况下,刨除介质漏电自放电效应/电解电容比较明显,可能电荷会永久存在,这是它的特征),它的用途较广,它是电子、电力领域中不可缺少的电子元件。主要用于电源滤波、信号滤波、信号耦合、谐振、隔直流等电路中。(4)三端稳压器利用三端集成稳压器进行稳压。集成稳压器在近十多年发展很快,目前国内外已发展到几百个品种。按电路的方式分,有线性集成稳压器和开关式集成稳压器。按电路的结构形式分,有单片式集成稳压器和组合式集成稳压器。按管脚的连接方式分,有三端式集成稳压器和多端式集成稳压器。按制造工艺分,有半导体集成稳压器、薄膜混合集成稳压器和厚膜混合集成稳压器。1)78L05 是一颗三端稳压电源调整器。CYT78L05 能被用作齐纳二极管/电阻器组合替换。它提供二个数量级的有效的产品改善阻抗,低静态电流。这些特性使稳压器可以给本机或板卡稳压提供一个很好的解决噪声干扰问题的方案。 主要特点:输出电流可达150mA。输出电压5.0V。输出精度可达4%简单的外围电路。静电防护ESD可达2.7KV。2) LM317是可调节三端电压稳压器,输出电压范围为1.2V到37V时能提供超过1.5A的电流。此稳压器非常易于使用,只需两个外部电阻来设置输出电压。此外还是用内部限流,热关断和安全工作区补偿使之基本能防止烧断保险丝。LM317服务于多种应用场合,包括局部稳压,卡上稳压。该器件还可以用来制作一种可编程的输出稳压器,或者,通过在调整点和输出之间接一个固定电阻,LM317可用作一种精密稳流器。3) 373为三态输出的八D透明锁存器共54/74S373和54/74LS373两种线路结构型式。373的输出端 O0O7可直接与总线相连。当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总 线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但 锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在 已建立的数据电平。 当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。引出端符号: D0D7 数据输入端 OE 三态允许控制端(低电平有效) LE 锁存允许端 O0O7 输出端外部管腿图: 逻辑图:3软件设计 3.1 程序流程图本模块主要执行温度采集、数据处理和数据传送工作,主程序图如图15所示。为了保证该模块能可靠工作5年以上,变送器的低功耗设计是本系统的一项关键技术,除了硬件上选用低功耗元器件外,重点是该模块的工作机制。主程序流程如图15所示,NRF24L01程序流程图见附表(二),主程序运行一次循环后进入休眠,采用单片机硬件“看门狗”唤醒机制,1 s唤醒一次,对看门狗复位次数进行计数,由计数值可得到时间的累加,在一定时间间隔内(约5 s)启动温度传感器并采回其数据。其中数据采集模块包含温度采集控制算法和温度采集。由于温度传感器的转换时间较长(约1 s),分为两步采集:第一步启动并开始转换;第二步读取温度并置相关标志。有采集标志时,单片机在第一次唤醒执行第一步,在第二次唤醒执行第二步,这样单片机大部分时间处于休眠状态,以降低功耗。当不进行采集时,通过抬高温度传感器的地,关断其工作电源,进一步降低温度传感器消耗的功耗。 其中数据处理模块包含温度数据处理和数据传送。数据处理流程如图16所示,当前温度若超标或与之前一次的温度数据比较差值(温升)超标,变送器立即向数据集中显示器发送最新温度值;否则,直到采集达到12次,再向主机发送温度值,即60 s发送一次,这样设计的目的是为了让数据集中显示器判断变送器是否在线,又能降低变送器功耗。数据传送中包含载波检测、数据发送和发送超时处理,载波检测可以防止处于同一频道的多个变送器同时发送数据引起的冲突。3.2无线通信协议设计无线通信容易受到干扰,发送的数据越长受到干扰的程度越大,同时功耗也越大,所以设计中遵循的原则是:即要满足应用需求又要保证数据的可靠和低功耗。对变送器无线模块的配置:可配置频道达125个,频道的选择与数据集中显示器地址绑定,就可以确保各个集中显示器所组成的网络不冲突;工作频段为2.42.5GHz;发射功率为-6 dBm,开阔地传输距离达400-500米,已满足现场应用需求;为了提高稳定性,开启自动重发功能;发送和接收地址都为1 B,发送和接收字节都为4 B;禁止参考时钟输出,以降低功耗;CRC校验为8 b模式;虽然无线数据包中已经包含了地址匹配和CRC校验,但是为了数据传输更可靠,数字帧中加入数据集中显示器地址和变送器地址作为数据包的识别码;则变送器发送至数据集中显示器无线数据包格式如表1所示,DI表示数据集中显示器。 3.3程序的编制#include /ICC-AVR application builder : 2010-6-01 17:46:38/ Target : M48/ Crystal: 4.0000Mhz#define GLOBALS_INIT#include config.hvoid port_init(void) PORTB = 0xFD; DDRB = 0x2E; PORTC = 0x76; /m103 output only DDRC = 0x01; PORTD = 0xDF&BIT(6); DDRD = 0x20|BIT(6);/Watchdog initialize/ prescale: 512Kvoid watchdog_init(void) WDR(); /this prevents a timout on enabling WDTCSR|=BIT(WDCE)|BIT(WDE); WDTCSR = BIT(WDE)|BIT(WDP2)|/*BIT(WDP1)|*/BIT(WDP0);/0.125 /WATCHDOG ENABLED - dont forget to issue WDRs/TIMER0 initialize - prescale:8/ WGM: CTC/ desired value: 500uSec/ actual value: 504.000uSec (-0.8%)void timer0_init(void) TCCR0B = 0x00; /stop TCNT0 = 0x30; /set count OCR0A = 0x3E; TCCR0A = 0x02; TCCR0B = 0x02; /start timerSIGNAL(SIG_OUTPUT_COMPARE0A) /compare TCNT0=OCR0A Manage();/SPI initialize/ clock rate: 500000hzvoid spi_init(void) SPCR = 0x50; /setup SPI SPSR = 0x01; /setup SPIvoid spi_dis(void) SPCR&=BIT(SPE);/ADC initialize/ Conversion time: 104uSvoid adc_init(void) ADCSRA = 0x00; /disable adc ADMUX = TempChn; /select adc input 0 ACSR = 0x80; ADCSRB = 0x00; ADCSRA = 0xc3;void adc_dis(void) ADCSRA&=BIT(ADEN); REF_DIS;SIGNAL(SIG_INTERRUPT1) /external interupt on INT0 Int0Isr();/call this routine to initialize all peripheralsvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); watchdog_init(); timer0_init(); /spi_init(); /adc_init(); EICRA = 0x0A; /extended ext ints EIMSK = 0x02; TIMSK0 = 0x02; /timer 0 interrupt sources TIMSK1 = 0x00; /timer 1 interrupt sources TIMSK2 = 0x00; /timer 2 interrupt sources PCMSK0 = 0x00; /pin change mask 0 PCMSK1 = 0x00; /pin change mask 1 PCMSK2 = 0x00; /pin change mask 2 PCICR = 0x00; /pin change enable PRR = BIT(PRTIM0); /power controller CLKPR = BIT(CLKPCE);/设置系统分频使能 CLKPR = 3;/系统时钟8分频 /SEI(); /re-enable interrupts /all peripherals are now initialized#define GLOBALS_EEROM#include config.h/* EEROM读连续数据 * */void EeReadPage(uint8 addr,uint8 ReadData,uint8 num)/* EEROM写连续数据 * */void EeWritePage(uint8 addr,uint8 WriteData,uint8 num)/ICC-AVR application builder : 2010-6-01 17:46:38/ Target : M48/ Crystal: 8.0000Mhz#define GLOBALS_INIT#include config.hvoid port_init(void) PORTB = 0x2F; DDRB = 0x27; PORTC = 0x7C; /m103 output on
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品种竞争格局分析-洞察及研究
- (2025年标准)车险调解协议书
- (2025年标准)员工吵架协议书
- 物联网路灯管理优化-洞察及研究
- (2025年标准)会计移交协议书
- (2025年标准)事故定责补偿协议书
- (2025年标准)劳务关系协议书
- 代数几何应用-洞察及研究
- (2025年标准)幼儿合伙协议书
- (2025年标准)婚内买车协议书
- 市政工程占道施工方案
- GB/T 39965-2021节能量前评估计算方法
- GB/T 17449-1998包装玻璃容器螺纹瓶口尺寸
- GB/T 12243-2021弹簧直接载荷式安全阀
- GB/T 10066.4-2004电热设备的试验方法第4部分:间接电阻炉
- PMC知识培训课件
- CJJ82-2019-园林绿化工程施工及验收规范
- 个人信息(模板)
- 会计师事务所验资工作底稿模板
- 婚育情况登记表
- (完整版)水电工安全技术交底
评论
0/150
提交评论