3 nRF905的简介
无线收发芯片nRF905是挪威NorDIC公司推出的一款单片无线收发一体的芯片。nRF905足一款工作在433/868/915频段上的单片射频收发器,因为所使用的是国际上的ISM 频段,因此并没有所谓的频段限制。nRF905由完全集成的电源管理、频率合成器、调制接收器、功率放大器、晶体振荡器和调节器构成。nRF905具有ShockBurst特点,能够自动处理数据包中的前导码和CRC校验码。通过SPI接口,可以很容易地对nRF905的配置操作进行编程。nRF905的耗电量非常低。在发射模式下,以-10dBm的输出功率进行发射耗电最仅为11mA;同样的功率在接收模式下耗电量为12.5mA。而其POWERDOWN掉电模式下则可以更加省电。
3.1 nRF905的控制模式
nRF905有两种激活模式和两种省电模式。
激活模式包括ShockBurst RX接收模式和ShockBurst TX发射模式。省电模式包括PowerDown anDSPI-programming掉电和SPI编程模式和Standby andSPI-programming待机和SPI编程模式。
TRX_CE、TX_EN和PWR的设置决定了模式的控制,具体的控制如表2所列。
3.2 单片机与nRF905的连接
nRF905与外界的通信通过一个SPI接口来进行,速率由微控制器设置的接口速度决定。在RX模式中,地址匹配(AM)和数据准备就绪(DR)信号通知MCU一个有效的地址和数据包已经各自接收完成,微控制器即可通过SPI读取接收的数据。在TX模式中,无线通信模块自动产生前导码和CRC校验码,数据准备就绪信号通知MCU数据传输已经完成。
这里采用的是
ATMEL公司生产的与8051完全兼容的
AT89S52系列单片机,因为要和模块进行通信,而对模块的控制郁是通过nRF905的SPI接口总线来进行的,因为
AT89S52没有专门的SPI总线,因此在这里为了和nRF905的无线模块通信则采用单片机的I/O端口进行软件编程模拟SPI的时序来实现SPI接口。这里把用来进行模式控制的(TXEN、TRX_CE、PWR)管脚和SPI接口控制的(MISO、MOSI、SCK、CSN)管脚与单片机的P2端口对应相连,状态输出的(AM、DR、CD)管脚与单片机P3端口的2到4位相连,图2就是单片机与nRF905模块的简单的电路连接。
4 系统的软件设计
4.1 SPI接口检验
因为对nRF905的控制都是通过内置的SPI总线来进行的,所以在进行总的程序设计前必须确保单片机等操作系统能够通过I/O口的模拟SPI总线与nRF905内部进行通信。因此本系统设计了一个用来检验SPI接口的程序部分。因为nRF905模块内部有一个配置寄存器,可以通过SPI对其进行写数据和读数据的操作,比较前后结果是否一样还判断SPI操作的正确性。
如果通过程序操作所得到的数组数据与写入的数据完全相同的话,那么便可以说明进行此操作的nRF905模块的SPI接口一切均正常。
4.2 无线射频通信的程序设计
这个系统的重点部分就足无线射通信部分,当采集得到轮胎的压力后,是否能够快速的把数据进行传输是TPMS系统的是否能正常工作的前提和保证。
无线射频通信分为轮胎部位的发射部分和驾驶室的接收部分。
当nRF905模块进行发送操作时,其主控单元(本系统中为单片机)通过SPI接口把接收节点的地址和有效数据传送到nRF905模块。
发送模式的nRF905模块内部将完成:
(1) 无线系统自动上电;
(2) 数据包完成(加前导码和CRC校验码):
(3) 数据包发送(100kbit/s、GFSK、曼彻斯特编码)。
为了保持系统通信的可靠性,本系统对nRF905的发射部分采用无线数据重发的工作原理,所以这里将TRX_CE设置为一直为高电平。具体的发射流程图如图3所示。
上一页 [1] [2] [3] 下一页