CC1101 关于SWOR的的几个理解
现在我有几个问题需解决
1、CC1101使用手册中提到进入SWOR选通脉冲前启用RC振荡器,但我没有找到RC振荡器启用的地方?
2、WOR的流程是不是这样理解的:a、打开SWOR,之后会休眠;b、休眠时间结束,醒来之后判断是否有数据,没有继续休眠。我想问一下b的这种状况是怎么继续休眠的?因为我的设备休眠醒来之后无法进入休眠,要继续休眠是否需要发送SWOR滤波命令?
3、在发送或者接收之后再回到休眠模式是自动还是需要手动发送SWOR呢?
以下是我的代码设置WOR
void CC1101_WOR_Init( uint8 EN_wor, uint16 t_100ms )//一个单位100ms
{
uint16
time_Event0;
//time_Event0=t_100ms*3467;//WOR_RES=0的情况下
time_Event0=t_100ms*109;//WOR_RES=1的情况下
//-----------------------------------------------------------------
halSpiStrobe(CCxxx0_SIDLE);
if(EN_wor)//使能WOR配置
{
//-----------------------------------------------------------------
// 设置RX溢出时间:Setting Rx_timeout > 225.0 ms.
// MCSM2[2:0].RX_TIME = 000b
// Rx_timeout = T_event0*12.505%=225ms -- 12.505%(WOR_RES=0) RX 占空比
halSpiWriteReg(CCxxx0_MCSM2,0x08);
//-----------------------------------------------------------------
// RXOFF_MODE=00b (RX->IDLE: no FS calib: 0.1 us), TXOFF_MODE=00b (TX->IDLE, no FS calib: 0.1 us).
halSpiWriteReg(CCxxx0_MCSM1,0x00);//RX和TX后都回到空闲状态
//-----------------------------------------------------------------
//MCSM0[5:4]FS_AUTOCAL=11b
halSpiWriteReg(CCxxx0_MCSM0,0x38); //IDLE转到RX、TX自动校准;PO_TIMEOUT=150us
//-----------------------------------------------------------------
// 使能自动校准晶振
// 设置事件1:WORCTRL[6:4]EVENT1 = 111b ;T_event1=1.4 ms
// Enable RC oscillator before starting with WOR (or else it will not wake up).
halSpiWriteReg(CCxxx0_WORCTRL,0x79);//WOR_RES[1:0]=01b
//-----------------------------------------------------------------
// 设置事件0溢出时间:Set Event0 timeout = (RX polling interval)
// 条件1:WOR_RES = 1
// 条件2:EVENT0 =
// 条件3:Assuming f_xosc = 26 MHz
// 公式:T_event0 = (750 / f_xosc) * EVENT0 * 2**(5*WOR_RES) = ms
halSpiWriteReg(CCxxx0_WOREVT1,0xFF&(time_Event0>>8)); //高字节事件0 超时
halSpiWriteReg(CCxxx0_WOREVT0,0xFF&(time_Event0)); //低字节事件0 超时
//halSpiStrobe( CCxxx0_SWORRST );//复位实时时钟为事件1 值
halSpiStrobe( CCxxx0_SWOR );//
}
else
{
;//不执行WOR配置
}
}
打开SWOR之后,周期性定时唤醒通过CS或者PQT方式嗅探空中是否有包,不需要MCU的干预,相当于芯片内部有个定时器
再次回到WOR需要再次手动发送SWOR
国产替代CC1101、SI4432无线芯片HW3000
满足低功耗要求:极低的接受电流8mA,业内领先的20dBm输出功率
成本低:比CC1101、SI4432无线芯片有价格优势
传输距离可达到2Km@10kbps
www.silicontra.com
一周热门 更多>