新闻中心

EEPW首页>手机与无线通信>设计应用> 基于Si1000的无线M-Bus通信系统

基于Si1000的无线M-Bus通信系统

作者: 时间:2012-05-23 来源:网络 收藏

从节点中,仪表与芯片的UART串口引脚P0.4/TX和P0.5/RX相连。主节点芯片的UART串口引脚P0.4/TX和P0.5/RX与集中器进行连接,集中器内部MCU串口通过RS232与GPRS模块相连,借助移动网和Internet实现数据的远程传输。图中可编程负载电容是可集成的,L1~L6和C1~C5的值是由频率带宽、天线阻抗和供给电压决定的。

收发模块的是以数据包的形式发送的,发送程序负责写入数据,参考协议,为数据加上前导码、同步字、数据载荷长度及CRC校验字节,形成数据包将其发送出去。为保证接收到数据的正确性,无线接收程序负责接收数据包并检验CRC字节。

2.3 无线协议栈实现

协议栈如图4所示。物理层定义了位是如何编码和传输的、RF调制解调器的特性(码率、前导码和同步字)和RF参数(调制、中心频率和频率偏移)。物理层是通过硬件和嵌入式软件结合来实现的,EZRadioPRO实现了所有RF和调制解调器的功能。MbusPhy.c模块提供SPI接口、编码/解码、块的读/写和数据包处理,并且管理收发器的状态。

d.JPG

无线数据链路层是在MbusLink.c模块上实现的。M-Bus应用程序编程接口由公共函数组成,这些公共函数可以从主线程的应用层调用,MbusLink模块也实现了数据链路层。数据链路层规定了数据的格式,为数据加上头文件和循环冗余校验,并且将数据从应用程序TX缓冲区复制到MbusPhy TX缓冲区。

的射频芯片为发送和接收提供了一个64字节FIFO。在数据链路层实现了数据包的发送和接收,数据包发送和接收流程图如图5所示。

e.JPG

在发送时,计算编码字节的总数。如果编码字节总数(包括前导码)小于64字节,那么将整个数据包写到FIFO,并且只有包发送中断有效。大多数短包将在一个FIF0转移中被发送。如果编码字节的数量大于64字节,那么需要多次FIFO转移发送数据包。将前64个字节写到FI FO,包发送中断和TX FIFO几乎空中断有效,把TXFIFO几乎空阈值设置为10字节。在每一个nIRQ之前,读取状态2寄存器。首先检查包发送位,如果数据包没有被完全发送,那么将编码数据接下来的32字节写到FIFO,重复上述过程直到所有编码字节都被写到FIFO,并且包发送中断发生。



评论


相关推荐

技术专区

关闭