cc1101一旦设置WOR模式,电流就达到19.1mA?
本帖最后由 lvjun1013 于 2012-4-16 16:01 编辑在上电复位的时候,电流的值为1.8MA左右,但我执行CC1101_WriteStrobe(TI_CCxxx0_SWOR); 语句,电流值就变为19.1MA了,这指的是CC1101的功耗,没计算其他的功耗
这感觉CC1101一直处于接收状态?很奇怪,没程序里没哪里开启接收
我对CC1101的配置如下:
CC1101_WriteReg(TI_CCxxx0_IOCFG2,0x29); // GDO2 output pin config.
CC1101_WriteReg(TI_CCxxx0_IOCFG0,0x06); // GDO0 output pin config.
CC1101_WriteReg(TI_CCxxx0_PKTLEN,0xff); // Packet length.
CC1101_WriteReg(TI_CCxxx0_PKTCTRL1,0x04); // Packet automation control.
CC1101_WriteReg(TI_CCxxx0_PKTCTRL0,0x05); // Packet automation control.
CC1101_WriteReg(TI_CCxxx0_ADDR,0x00); // Device address.
CC1101_WriteReg(TI_CCxxx0_CHANNR,0x00); // Channel number.
CC1101_WriteReg(TI_CCxxx0_FSCTRL1,0x0c); // Freq synthesizer control.
CC1101_WriteReg(TI_CCxxx0_FSCTRL0,0x00); // Freq synthesizer control.
CC1101_WriteReg(TI_CCxxx0_FREQ2,0x10); // Freq control word, high byte
CC1101_WriteReg(TI_CCxxx0_FREQ1,0xb1); // Freq control word, mid byte.
CC1101_WriteReg(TI_CCxxx0_FREQ0,0x3b); // Freq control word, low byte.
CC1101_WriteReg(TI_CCxxx0_MDMCFG4,0x2d); // Modem configuration.
CC1101_WriteReg(TI_CCxxx0_MDMCFG3,0x3b); // Modem configuration.
CC1101_WriteReg(TI_CCxxx0_MDMCFG2,0x13); // Modem configuration.
CC1101_WriteReg(TI_CCxxx0_MDMCFG1,0x22); // Modem configuration.
CC1101_WriteReg(TI_CCxxx0_MDMCFG0,0xf8); // Modem configuration.
CC1101_WriteReg(TI_CCxxx0_DEVIATN,0x62); // Modem dev (when FSK mod en)
CC1101_WriteReg(TI_CCxxx0_MCSM2,0x0d); //MainRadio Cntrl State Machine
CC1101_WriteReg(TI_CCxxx0_MCSM0,0x18); //MainRadio Cntrl State Machine
CC1101_WriteReg(TI_CCxxx0_FOCCFG,0x1d); // Freq Offset Compens. Config
CC1101_WriteReg(TI_CCxxx0_BSCFG,0x1c); //Bit synchronization config.
CC1101_WriteReg(TI_CCxxx0_AGCCTRL2,0xc7); // AGC control.
CC1101_WriteReg(TI_CCxxx0_AGCCTRL1,0x00); // AGC control.
CC1101_WriteReg(TI_CCxxx0_AGCCTRL0,0xb0); // AGC control.
CC1101_WriteReg(TI_CCxxx0_FREND1,0xb6); // Front end RX configuration.
CC1101_WriteReg(TI_CCxxx0_FREND0,0x10); // Front end RX configuration.
CC1101_WriteReg(TI_CCxxx0_FSCAL3,0xea); // Frequency synthesizer cal.
CC1101_WriteReg(TI_CCxxx0_FSCAL2,0x2a); // Frequency synthesizer cal.
CC1101_WriteReg(TI_CCxxx0_FSCAL1,0x00); // Frequency synthesizer cal.
CC1101_WriteReg(TI_CCxxx0_FSCAL0,0x1f); // Frequency synthesizer cal.
CC1101_WriteReg(TI_CCxxx0_FSTEST,0x59); // Frequency synthesizer cal.
CC1101_WriteReg(TI_CCxxx0_TEST2,0x88); // Various test settings.
CC1101_WriteReg(TI_CCxxx0_TEST1,0x31); // Various test settings.
CC1101_WriteReg(TI_CCxxx0_TEST0,0x09); // Various test settings.
CC1101_WriteStrobe(TI_CCxxx0_SIDLE); // exit rx & tx mode
//300mS
CC1101_WriteReg(TI_CCxxx0_WOREVT1, 0x28);
CC1101_WriteReg(TI_CCxxx0_WOREVT0, 0xa0);
CC1101_WriteReg(TI_CCxxx0_WORCTRL, 0x78);
CC1101_WriteStrobe(TI_CCxxx0_SFRX); // Flush RXFIFO
CC1101_WriteStrobe(TI_CCxxx0_SWORRST); // 复位到事件1
CC1101_WriteStrobe(TI_CCxxx0_SWOR); // 启动WOR LZ你好,你的模块调通了吗。我也正在调试CC1101,接收的时候,你是怎么做的呢
能不能分享呢! flyforyou85 发表于 2012-4-16 15:23 static/image/common/back.gif
LZ你好,你的模块调通了吗。我也正在调试CC1101,接收的时候,你是怎么做的呢
能不能分享呢! ...
模块是调试通了,但是功耗的问题,解决不了,调试CC1101关键在于配置,可惜我配置不来 我也在调试,准备一个发送数据,以及接收数据,然后看数据对不对,电流那些还没测试。我先保证数据通信正常再说。
你对着中文版的手册,看看每个寄存器的定义,应该可以找到电流大的问题,而且你的很明显。
flyforyou85 发表于 2012-4-16 17:42 static/image/common/back.gif
我也在调试,准备一个发送数据,以及接收数据,然后看数据对不对,电流那些还没测试。我先保证数据通信正常 ...
我寄存器配置错误明显?呵呵,没查出来,我是根据软件生成的,理解无线这一块还很欠缺,麻烦你指点下。。。。 你好!我没有说你的配置错误,因为我的还没有完全测试,所以我不能断定。我仅仅是建议,你在对着规格书看看寄存器的定义,说不定有所发现! 配置的问题需要对照官方配置模版。
页:
[1]