系统软件设计 - 无线热网监测系统设计方案的实现
扫描二维码
随时随地手机看文章
引言
目前,城市住宅供热的热能早已商品化,往往诸多的热量之差问题,是供热企业与居民矛盾的导火线。热能计量成为供热企业新的需求。根据目前住宅状况,无线控制系统在热网计量中具有施工方便,节省资源的优势。但是由于以往热网采用的无线通信模块的发射距离近,穿透性差,造成数据不能实时回读和控制,不能充分体现热网的计费充分透明。Si4432是Silicon Labs公司推出的新一代无线通信芯片,它具有发射距离远、穿透能力强、功耗低等优点,完全可以应用到本系统中。通过Si4432的应用,热网数据能够可靠、实时地传输,通过GPRS无线通信模块和Si4432无线传输模块对热网的控制,进行温度、压力、控制阀的开启时间等数据的传输与交互,从而解决热能计量不透明的问题,为最终实现温度的实时监控计量和热网的参数采集提供前提条件。
1 关于Si4432芯片
Si4432芯片是Silicon Labs公司推出的一款高集成度、低功耗、多频段的EZRadioPRO系列无线收发芯片。其工作电压为1.9~3.6 V,20引脚QFN封装(4 mm×4 mm),可工作在315/433/868/915 MHz四个频段;内部集成分集式天线、功率放大器、唤醒定时器、数字调制解调器、64字节的发送和接收数据FIFO以及可配置的GPIO等。
Si4432芯片在使用时所需的外部元件很少,仅需要1个30 MHz的晶振、几个电容和电感就可组成一个高可靠性的收发系统,设计简单,且成本低。
Si4432的接收灵敏度达到-117 dB,可提供极佳的链路质量,在扩大传输范围的同时将功耗降至最低;最小滤波带宽达8 kHz,具有极佳的频道选择性;在240~960MHz频段内,不加功率放大器时的最大输出功率就可达+20 dBm,设计良好时收发距离最远可达2km.
Si4432做成无线通信模块应用广泛,可适用于无线数据通信、无线遥控系统、小型无线网络、小型无线数据终端、无线抄表、门禁系统、无线遥感监测、水文气象监控、机器人控制、无线RS485/RS232数据通信等诸多领域。
Si4432芯片引脚图如图1所示。
图1 Si4432芯片引脚图
2 系统功能与结构设计
2.1 系统功能
系统可对热网的运行实时监视、测量、记录热网运行参数并进行参数(温度、压力等参数)的超限报警;完成日常的管理工作,包括报表的生成和打印、热网计量管理、对控制器的控制、参数设定、远程数据采集、运行数据的汇总、综合分析以及历史数据的备份等功能。通过对热网进行自动控制,使整个系统供热均匀,满足舒适性要求。同时减少热量消耗,达到节能的目的,为最终实现“热”的商品化和市场化提供前提条件。
2.2 系统拓扑结构
整个系统总体上可以分为3层:管理层、中继层和现场仪表层。现场仪表层又可以分为控制器和遥控器。系统的拓扑结构如图2所示。
2.2.1 管理层
管理层是位于热力公司的主站,由以工业控制机为核心的网络组成,工业控制机全天候运行。工业控制机既是调度中心的服务器,同时相对于各采集控制站点来说,又是客户机。服务器通过宽带实时采集、存储来自各客户机站点的数据,并对各站点运行情况进行实时监控。客户机通过GPRS通信模块和中继层的集中器通信,采集集中器下的各个控制器的参数,进行实时采集和监控。
2.2.2 中继层
中继层位于用户楼宇的公共位置,主要是集中器。它的通信部分由GPRS模块和Si4432芯片组成。它和管理层采用GPRS模块通信,在现场仪表层采集温度、压力、控制阀的状态和开启时间等数据并将这些数据通过GPRS网络传输给管理层;集中器和现场仪表层采用Si4432无线收发芯片进行通信,随时采集现场仪表层的温度、压力、控制阀的状态和开启时间等数据,并且发送相关命令。
2.2.3 现场仪表层
现场仪表层位于各个热用户的住宅内和管道井里,主要由控制器和遥控器组成。控制器放在管道井里,由2套Si4432无线收发芯片组成。它分别和集中器和遥控器通信,将热网的温度、压力、控制阀的开关时间等参数上传到集中器,同时接收集中器的命令;另一模块完成与遥控器的通信,采集遥控器测定的室温和设定的控制温度,对控制阀进行控制,从而控制室温。遥控器放在室内,可以采集室内的温度,并由用户对室内的温度进行预设,通过Si4432芯片将参数送到控制器内,实现温度的控制。
3 系统软硬件设计
3.1 系统硬件设计
系统硬件部分主要由中继层与现场仪表层两部分组成。现场仪表层又分为控制器和遥控器。
中继层主要由GPRS模块和Si4432芯片组成。GPRS模块选用Motorola公司的模块G20.G20是该公司推出的内嵌TCP/IP协议的GSM/GPRS模块,性能优越,体积小巧,而且解决了GSM/GPRS模块无线通信和数据传输终端的协议瓶颈和成本问题。该模块广泛应用于短信中心、GPRS监控系统、无线POS机、无线抄表、车辆防盗等。G20通过UART与控制处理芯片进行通信,将数据信息与控制信号在控制器和上位机之间进行双向传递。控制器中是由Si4432芯片通过SPI与单片机C8051F310通信,将数据信息与控制信号和控制层之间进行双向的传递;同时通过另一路Si4432和遥控器之间进行数据交换。
无论集中器和控制器,还是控制器和遥控器的通信均是通过Si4432无线收发芯片来完成。所以为了将设计模块化,减少工作量,针对Si4432设计了无线通信模块。Si4432无线收发模块如图3所示。
Si4432的13~16脚是标准的SPI接口,17脚(nIRQ)是中断状态输出引脚。当FIFO溢出、有效的数据包发送或接收、CRC错误、检测到前导位和同步字、上电复位等情况发生,且相应的中断被使能时,17脚都会产生一个低电平以通知单片机有中断产生。20脚(SDN)决定了Si4432芯片的工作状态。当SDN接地(SDN=0)时,芯片处于常规工作模式;接高电平(SDN=1)时,芯片处于掉电模式。掉电模式下寄存器中的内容会丢失,且不允许SPI访问,但芯片的电流损耗只有10 nA,功耗很低,因此适合要求极低功耗的应用。在连接到电源后,在SDN的下降沿上电复位,根据指令转换到其他工作模式。
单片机可以通过内置SPI对Si4432的内部寄存器进行读写操作,灵活配置各项参数。通过SPI接口完成对Si4432的初始化配置、读写数据、访问FIFO等操作。使用4线SPI,即MOSI、MISO、SCK和nSEL.MOSI用于从单片机到Si4432的串行数据传输;MISO用于从Si4432到单片机的串行数据传输;SCK用于同步单片机和Si4432之间在MOSI和MISO线上的串行数据传输;nSEL作为片选信号,只有片选信号为低电平时,对Si44 32的操作才有效。
为了达到较好的通信效果,Si4432的接收低噪声放大器匹配电路和发射功率放大器匹配电路的阻容参数,应严格按照数据手册提供的参数选型。前端的分集式电路采用UPG2214TB,其VC1脚和VC2脚分别连接Si4432的GPIO1和GPIO2.通过这款交叉开关实现分集式天线发送和接收通道的自动切换。
3.2 系统软件设计
软件编程采用模块化设计思想,系统中各主要功能模块均编成独立的函数由主程序调用,功能模块包括:初始化程序(包括初始化C8051 F310、SPI、Si4432)、无线发送程序以及无线接收程序等。无线发送程序负责写入数据载荷,并根据通信协议为数据载荷加上前导码、同步字、数据载荷长度及CRC校验字节,形成数据包将其发送出去;无线接收程序负责接收并检验数据包中的CRC字节,以确保接收到的数据的正确性。
3.2.1 初始化程序
初始化程序包括C8051F310的初始化、SPI的初始化,以及Si4432的关于无线收发频率、工作模式、发射速率等内部寄存器的初始化配置。
系统上电后,C8051F310处于默认状态,根据系统功能需求重新进行初始化配置。C8051F310的数字交叉开关允许将内部数字系统资源映射到端口I/O引脚,可通过设置交叉开关控制寄存器,将片内资源配置到具体的I/O引脚上。这一特性允许用户根据自己的特定应用选择通用I/O端口和所需数字资源的组合,提高了应用的灵活性。本系统中,主要配置了SPI通信的4线,液晶LCD的数据线接口、控制线接口等。
初始化SPI时,可以通过埘SPI1CFG寄存器和SPI1CN寄存器的配置来选择具体使用规则。这里,选择主SPI,4线模式,时钟极性为低电平,在时钟上升沿时对数据采样;通过配置SPI1CKR寄存器,可将同步时钟频率设为晶振频率的1/4.
上电之初,Si4432也处于默认状态,需要进行配置才能工作。Si4432有70多个寄存器需要配置,它们决定了Si4432的丁作模式,具体配置可以参考Si4432的数据手册。Si4432的初始化是一个重要的部分,配置的恰当与否对系统最终的通信效果有很大的影响。主控制器C8051 F310通过SPI配置Si4432的1ch、1dh等寄存器,写入相应的初始化RF控制字(主要是频率、传输速度、传输方式等);通过配置33h、34h等寄存器来设置包的结构、前导码长度、同步字内容等。本系统采用同步传输模式,以0x2DD4作为同步模式的标志码,传输完同步字后才开始传输数据载荷。
3.2.2 无线发送程序
无线发送程序流程如图4所示。完成C8051F310、SPI和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。接下来,通过配置Si4432的寄存器3eh来设置包的长度,通过SPI连续写寄存器7fh,往TX FIFO里写入需要发送的数据。然后打开“发送完中断允许”标志,将其他中断都禁止。当有数据包发送完时,引脚nIRQ会被拉低以产生一个低电平从而通知C8051F310数据包已发送完毕。完成中断使能后,使能发送功能,数据开始发送。等待nIRQ引脚因中断产生而使电平拉低,当nIRQ引脚变为低时读取中断状态并拉高nIRQ,否则继续等待。一次数据发送成功后,进入下一次数据循环发送状态。
3.2.3 无线接收程序
程序完成C8051F310、SPI接口和Si4432的初始化后,配置寄存器写入相应的初始化RF控制字。通过访问寄存器7fh从RX FIFO中读取接收到的数据。相应的控制字设置好之后,若引脚nIRQ变成低电平,则表示Si4432准备好接收数据。完成这些初始化配置后,通过寄存器4bh读取包长度信息。然后,打开“有效包中断”和“同步字检测中断”,将其他中断都禁止。引脚nIRQ用来检测是否有有效包被检测到,若引脚nIRQ变为低电平,则表示有效的数据包被检测到。本系统用0x2DD4作为同步模式的标志码,接收模块通过检测这个同步字来同步接收数据。最后,使能接收功能,数据开始接收。等待nIRQ引脚因产生中断而使电平拉低,读取中断标志位复位nIRQ引脚,使nIRQ恢复至初始的高电平状态以准备下一次中断触发的检测。通过SPI读取RX FIFO中的数据,之后进入下一次数据接收状态。无线接收程序流程如图5所示。
4 系统测试与分析
为验证本无线射频收发系统设计的可靠性,进行了7组“发射模块-接收模块”通信实验。在空旷地通信距离约为1 600 m时,7组“发射模块-接收模块”分别工作在430.50 MHz、431.50 MHz、432.50 MHz等7个中心频率上,带宽均取112.8 kHz,频率偏移取±25 kHz,发送4 000个数据包,实验结果如表1所列。
从表1中可以看出,在传输速率较低时,误码率为0;在传输速率为100 kbps(或以上)时,有一定的误码,但误码率不高于0.050%.因此,该无线射频收发系统具有传输距离远、穿透能力强、通信误码率低的特点。
结语
采用Si4432这种短距离无线通信芯片,完全可以扩充为一个网络系统,形成一个无线网络,使本系统在热网监控系统的解决方案中不需要重新布线就可以有效地进行温度采集和控制;本文所设计的无线射频收发系统工作可靠、稳定,具有很好的通用性和适用性,所以基于Si4432芯片的无线通信技术可以给热网监控系统的数据采集增加一种新的解决方案,但也需要对热阀进行数字化升级。随着无线通信的发展,Si4432芯片的短距离无线通信技术和GPRS移动通信技术将在工控系统中有广阔的发展空间。