微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于nRF905的无线水表自动抄表系统设计

基于nRF905的无线水表自动抄表系统设计

时间:06-25 来源:互联网 点击:

nRF905输出端ANT1、ANT2外接50Ω单天线终端装置,外围元器件配置见图2所示。PCB版面设计的地网层在底面,在板上顶层元件的周围没有接地面,以确保临近元件的充分接地,板的顶层接地面通过很多过孔与底面接地网连接,在天线下面没有接地网,nRF905芯片以及外围电路部分PCB布板采用最小布板原则。无线通信元器件的选择都很精密,而且电路布版时,元器件的摆放,电路走线,通孔等都必须经过多次试验才能达到最好的理想效果。
3.1.3 无线收发模块nRF905
nRF905是挪威Nordic公司的产品。该芯片采用+3 VDC供电,面积为5 mmx5 mm,共有32个外部引脚,具有433/868/915 MHz三波段载波频率。它由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成,抗扰能力强,支持多点通讯,数据传输速率高达0.1 Mbps。具有特有的ShockBumt信号发射模式和发射信号载波监测功能,可有效避免数据冲突,能够很容易地通过SPI接口进行编程配置。电流消耗很低,在发射功率为-10 dBm时,发射电流为11 mA,接收电流为12.5 mA,进入POWERDOWN模式可以很容易实现节电。
3.2 软件设计
3.2.1 无线通信协议
当nRF905工作在接收模式时,引入的数据包地址与器件自身地址相同时,才可以继续接收下面的数据,发送的数据还要遵循一定的数据格式,如表1所示。

Addr为发送单元地址:Payload为有效加载数据(包括OffsetAdd偏移地址、RID发送机识别码、Data数据);最后为CRC校验码。Addr包含4个字节,OffsetAdd为一个字节,RID包括4个字节,Data有7个字节(包括发送机类型码、发送机状态、倍率和4个字节的水表计数值)。故需要配置nRF905接收和发送数据宽度为14字节。
接收时,地址匹配后,nRF905先接收一数据包,分别验证OffsetAdd、RID和CRC正确后,再将Payrload数据送入微控制器处理;当接收机微处理器判断Payload中的RID有效时,继续处理后续数据,否则放弃该数据包,如果数据合法,最后将数据存放在偏移地址为OffsetAdd的EEProm存储器中。
3.2.2 无线模块初始化
在nRF905模块中,特殊寄存器RF-Register包含10个字节,其配置字内容可决定nRF905的工作特性,表2列出本设计中特殊寄存器RF-Register需要配置的基本参数。

系统的通信模块器件工作在433 MHz频段,选用432.4MHz的中心频率,输出功率设置为nRF905所允许的最大功率+10 dBm,以确保通信果。允许自动产生CRC校验码,以减小CPU工作负担。系统通讯时,各模块处于正常接收状态,收发使能位TRX_CE=1且方式选择位TCX_EN=0。在发送数据条件符合后,可由用户编程修改TX_EN=1使各字节工作于发射状态。
设定接收器和所有发送单元的地址Addr均为OXc5h,这样,整个系统内接收器和所有发送单元之间可以互相通讯,其它频段和其它地址的数据包则不会被接收,从而避免了其它系统的干扰。
3.2.3 功能需求设计
1)节电设计
为了达到电子模块能够使用6年以上的目标,除了使用大容量锂电池之外,还需要在软件方面进行降低功耗的设计。
首先要降低CPU部分的功耗,CPU有三个耗电大户有:第一大户是悬空的输入脚,第二大户为引脚弱上拉时IO口接地或被置为低电平,第三大户为BROWN OUT DOWNRESET(电压过低复位)功能开启。在CPU睡眠时,要将没有使用的CPU引脚设为输入模式并上拉,将被占用的CPU引脚设为输入模式或置为某一固定的电平,保证与其电气连接的部分没有电流消耗。由于系统电压过低后会报警,提醒用户电量不足,所以在编程时将电压过低复位功能关闭掉,可以节省很大的电能消耗。
通信模块是最耗电的部分,系统上电,所有初始化工作完成后,CPU则进入睡眠状态,同时将nRF905芯片的PWR_UP引脚置0,关闭其电源,当CPU被计数中断唤醒后,会查询是否达到数据发送条件,若符合条件则将PWR_UP引脚置1,打开通信模块电源,在处理完数据发送任务后,整个系统重新回到低功耗模式。
2)水表计量及故障检测
水表计量是RB6和RB7两个CPU引脚通过中断方式采集水表的发送脉冲,每当两个引脚先后经历一次电平高低变化,则完成一次正常计数采集;若两个引脚同时为0,则水表脉冲计数器处于强磁状态,CPU会记下此刻状态并发送到接收器;若某个脉冲为尖峰脉冲,没有达到一定的脉冲宽度值,则视为干扰。
每隔一定时间系统开启AD功能,监测电源电压,一旦电池电压值跌落到一定程度则启动报警装置,通知用户电量不足,并将低电压状态发送到接收器通知管理员更换设备。
3)数据可靠性设计
系统初始化要首先检测EEProm存储器中的数据是否在正常范围内,若正常则加载,否则系统会使用某一默认值。接收器在每次接收到数据后都会和上一次数据进行比较,符合条件才会将EEProm数据更新。
另外,在通信协议中,指定了频段和地址匹配保证通信可靠,数据包中的ID号检测和校验码验证保证通信数据的可靠性。

4 结束语
文中根据nRF905的工作特点,通过构建新的通讯协议,将其应用于无线水表自动抄表系统,此方案硬件电路连接简单,易于调试,各节点编程具有通用性。系统最终测试达到了预想的性能指标,在正常工作状态下电子模块的电流消耗小于1μA,系统对通信可靠性和数据安全性也进行了充分的考虑。将系统信号采样部分稍加改造,可以应用于智能家庭、智能楼宇、温\湿度采集、远程抄表等各种近距离无线数据传输领域,因此,具有较高的实用推广价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top