2437|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

CC2530的无线射频 [复制链接]

RF内核


RF内核控制无线射频模块,并且在MCU和无线电之间提供一个接口,可以发出命令,读取状态和自动对无线电事件排序。RF内核包括:无线电控制状态模块(FSM)、调制器,解调器、帧过滤和源匹配、频率合成器(FS)、命令选通处理器,定时器2(MAC定时器)。

FSM模块


FSM模块的主要功能包括控制RF收发器的状态、发送和接收FIFO,以及大部分动态受控的模拟信号,比如模拟模块的上电/掉电;


解调器


负责从收到的信号中检索无线数据。解调器的振幅信息由自动增益控制使用,自动增益控制调整模拟LAN的增益,使接收器内的信号水平大约是个常量。

调制器


将原始数据转换为I/Q(同相/正交)信号发送到发送器DAC, 并且遵守IEEE802.15.4标准


帧过滤和源匹配


其功能是支持RF内核中的FSM模块来执行帧过滤和源地址匹配。


频率合成器


其功能是为RF信号产生载波


命令选通处理器


处理CPU所发出的命令。它包含一个24字节的程序存储器,可以自动执行CSMA/CA机制。


无线电RAM


为发送TXFIFO和接收RXFIFO分别分配128字节的FIFO,为帧过滤和源匹配存储参数保留128字节。


定时器2(MAC定时器)


用于为无线电事件计时,以捕获输入数据包的时间戳,这一定时器在睡眠模式下也保持计数。


RF_FIFO


CC2530发送或接收数据是通过FIFO操作来进行的。FIFO访问可以分为TXFIFO访问和RXFIFO访问,其操作都是通过SFR寄存器的RFD操作进行。当写入RFD寄存器时,数据被写入到TXFIFO,当读取数据RFD寄存器时,数据从RXFIFO中读出。


unsigned char i;
signed char tx[ ]={"dh"};
//将mac的内容写到RFD中
for(i=0;i<3;i++)
{     RFD = tx;
}


1、RXFIFO存储器区域位于地址0x6000到0x607F,一共128字节,在XREG存储区域中是可以访问的。RXFIFO可以保存一个或多个收到的帧,只要总字节数不大于128字节。有两种方式确定RXFIFO中的字节数:
1)读RFD寄存器


//  通过RFD读接收的数据长度
unsigned char len;
len = RFD;

2)读RXFIFOCNT寄存器


//  通过RXFIFOCNT读接收的数据长度
unsigned char len;
len = RXFIFOCNT;


TXFIFO中的字节数存储在TXFIFOCNT寄存器中,可以通过两种方式来进行TXFIFO的写操作,这里我介绍一种,因为另一种是不推荐的
写入RFD寄存器。


TXFIFO存储器区域位于地址0x6080到0x60FF,一共128字节。它在XREG存储区域中是可以访问的。
在不产生TX下溢的情况下,帧数据可以在执行TX命令选通之前或之后缓冲
阴影部分的字节必须写到TXFIFO的字节,其他字节可以被忽略。写入TXFIFO的帧数据根据了FRMCTRL0.AUTOCRC(CRC自动校验)是否启用可以分为两种情况:当AUTOCRC为0时,没有启动硬件自动检测;当AUTOCRC为1时,启动了硬件自动检测。

此帖出自RF/无线论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表