基于Si1000的无线M-Bus通信系统设计
数据链路层实现了数据包的发送和接收,数据包发送和接收流程图如图5所示。
在发送时,计算编码字节的总数。如果编码字节总数(包括前导码)小于64字节,那么将整个数据包写到FIFO,并且只有包发送中断有效。大多数短包将在一个FIF0转移中被发送。如果编码字节的数量大于64字节,那么需要多次FIFO转移发送数据包。将前64个字节写到FI FO,包发送中断和TX FIFO几乎空中断有效,把TXFIFO几乎空阈值设置为10字节。在每一个nIRQ之前,读取状态2寄存器。首先检查包发送位,如果数据包没有被完全发送,那么将编码数据接下来的32字节写到FIFO,重复上述过程直到所有编码字节都被写到FIFO,并且包发送中断发生。
在接收时,最初只有同步字中断是有效的。接收同步字后,同步字中断无效且FIFO几乎满中断有效。FIFO几乎满阈值设置到2字节,首个FIFO几乎满中断用于确认这两个长度字节何时已收到。一旦接收到这个长度,那么解码这个长度且计算出编码字节的数目,然后将RXFIFO几乎满阈值设置到54字节,RX FIFO几乎满中断和有效数据包中断有效。在接收到一个有效数据包中断后,MCU等待接收FIFO几乎满中断,然后从接收FIFO读取32字节。重复上述过程直到全部字节有效载荷被接收。在CRC错误的情况下,MCU将复位接收FIFO并丢弃数据包。
3无线M-Bus系统低功耗的实现
为了延长电池的使用寿命,Si1000在工作过程中并不是一直运行的。当没有数据要发送时,Si1000处于休眠状态,其内部的MCU和射频都是关闭的,只有定时器在工作。经过一定时间后,内部MCU唤醒侦听载波,判断是否有数据需要它来发送,当有数据需要发送时,Si1000发送数据。发送数据完成后,关闭MCU和射频。这样重复进行,只有数据发送时它才进行工作,否则一直处于休眠状态,这样就大大延长了电池的使用寿命。
结语
无线M-Bus是一种专门用于各种消费类型仪表的远程读数或读取相关信息的通信标准。将无线M-Bus与Si1000应用到各种消费仪表上,可将数据收集并传到中心集中器,然后通过GPRS传送到集抄中心进行相应的处理。这样就可以实现远程数据实时采集、巡检和监控等功能。无线M-Bus在我国的应用还处于起步阶段,但考虑到它在计量应用领域的优势,应用前景十分广阔。
- RS485总线与M-Bus 总线技术对比(12-19)
- 仪表总线(M-Bus)的电涌保护(12-16)
- RS485、M-BUS抄表总线的对比介绍(12-15)
- M-Bus集中器的特点(12-15)
- M-BUS远传水表所具有的功能特点(12-15)
- 总线制M-BUS直读水表协议规范(12-15)