基于NRF905的无线呼叫系统设计与实现(14)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于NRF905的无线呼叫系统设计与实现(14)


表4.9 各个引脚功能简介
引脚    名称    功能    说明
1    VCC    电源    电源+3.3V~3.6V DC
2    TX_EN    数字输入    TX_EN = 1,TX模式TX_EN = 0 RX模式
3    TX_CE    数字输入    使芯片发射或接收
4    PWR_UP    数字输入    芯片上电
5    uPCLK    时钟输出    本模块该引脚废弃不用,向后兼容
6    CD    数字输入    载波检测
7    AM    数字输入    地址匹配
8    DR    数字输入    接收或发射数据完成
9    MISO    SPI接口    SPI输出
10    MOSI    SPI接口    SPI输入
11    SCK    SPI时钟    SPI时钟
12    CSN    SPI使能    SPI使能
13    GND    地    接地
14    GND    地    接地
4.1.3    系统接口和连接电路
NRF905模块通过SPI总线与STC89C52RC单片机进行通信,因此两块芯片之间可以通过SPI总线进行连接。 P1.0到P1.3引脚是SPI功能引脚,P1.3引脚接收SPI的时钟信号(CSN),P1.2引脚的连接的是MISO(Master In/Slave Out),P1.1引脚连接的是MOSI(Master Out/Slave In),NRF905的其他引脚(除了uPCLK 引脚外)只有输入或输出状态,所以本次课题设计的系统只需选择8个引脚即可,即对应P1.0-P1.7。P1.4,P1.5,P1.7连接NRF905的配置口,其中P1.4连接NRF905的PWR引脚;P1.5连接TRX_CE;P1.7连接TXEN。剩下的P1.6连接状态输出口DR。P0口与NRF905连接时须在两者之间加10K的上拉电阻,实现“0”、“1”之间的快速转换。基于STC89C52RC单片机的核心控制模块具体连接如图4.3所示,NRF905的引脚连接图如图4.4所示。
 图4.3  核心控制模块STC89C52RC单片机引脚连接图
 
图4.4 无线收发模块NRF905引脚连接图
4.2    RFID呼叫系统软件设计具体实现
软件系统的设计时整个无线呼叫系统的核心内容。主要可分为SPI数据传输程序设计和NRF905模块控制程序设计。
4.2.1    SPI数据传输程序设计
在完成硬件连接并在第二章中了解NRF905无线通信模块的CRC(循环冗余码校验)功能和通信协议的基础上,下文主要来完成对NRF905的初始配置并实现单片机STC89C52RC与NRF905模块之间的通信。SPI是一个全双工的串行接口,在数据传输时,单片机通过SPI接口发送一个字节的数据到呼叫器节点,然后在NRF905模块接收到这一个字节的数据后,NRF905再发送一个字节的数据到单片机,表示数据已经收到。在SPI总线的初始化中,必须合理配置SPCR和SPCCR两个寄存器。SPCR寄存器的功能是控制SPI的传输模式,SPCCR寄存器的功能是控制主SCK的时钟频率。可以通过对这两个寄存器的配置来完成对SPI引脚的初始化。
在配置完SPI引脚之后,就可以开始编写单片机STC89C52RC和NRF905模块之间的数据传输程序。当单片机发送数据时,首先应该确定每次发送的数据大小都为8字节,并将其每一位分8次写入MOSI中完成SPI数据发送。具体SPI写入函数SpiWrite函数如下:
void SpiWrite(unsigned char b)
{
    unsigned char i=8;
SCK=0;
    while (i--) (责任编辑:qin)