表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--) 基于NRF905的无线呼叫系统设计与实现(14):http://www.youerw.com/jisuanji/lunwen_1185.html