我们原用CC1000做无线收发的产品,现由于CC1000的技术落后,有一些不能满足现在需求,现对其升级为CC1100,针对升级的CC1100,其驱动和操作程序完全不一样,所以有几个问题想问一下: 1、原CC1000进入低功耗模式,只需要向寄存器写入一个值就行了,唤醒也一样要修改寄存器 void cc1k_PwrDown(void) { cc1k_write( 0x3f, MAIN_ADDR ); // close all cc1k_write( 0x0, PAPOW_ADDR ); // close power } void cc1k_Wakeup2Rx(void) { cc1k_write( 0x3b, MAIN_ADDR ); // set to Rx cc1k_write( 0x40, CURRENT_ADDR );// set Rx current delay_ms(2000);//等待5MS cc1k_write( 0x39, MAIN_ADDR ); // open CORE, BIAS delay_ms(200); cc1k_write( 0x11, MAIN_ADDR ); // open FS, CORE, BIAS, Rx
} 而CC1100,并没有讲怎么让其进入低功能状态,怎么操作让其唤醒?
2、RSSI信号强度指示,CC1000是需要通过ADC采集其电压来判断是否有数据,而CC1100是直接数字化放在一个寄存器里,但没有说明这个寄存器值是多少才能表示有数据过来?并讲此值是基于RX链中的当前增益设定和信道中的测得信号等级。但当前增益设定是由什么寄存器来完成的?
理解:是不是CC1100平时在睡眠状态,只能有数据满足其同步词汇、前导字条等,就会被唤醒? 其RSSI信号强度,由一个寄存器设置好,比较两值,如果低于的话,则表示有数据过来?
因为从其一些参考代码,根本就没有这些信息?
请做过CC1100或CC2500的高手帮解答,谢谢!
|