一种无线热网监测系统方案
单片机可以通过内置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,否则继续等待。一次数据发送成功后,进入下一次数据循环发送状态。
评论