lvjun1013 发表于 2012-4-16 15:16:10

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

flyforyou85 发表于 2012-4-16 15:23:59

LZ你好,你的模块调通了吗。我也正在调试CC1101,接收的时候,你是怎么做的呢

能不能分享呢!

lvjun1013 发表于 2012-4-16 15:31:57

flyforyou85 发表于 2012-4-16 15:23 static/image/common/back.gif
LZ你好,你的模块调通了吗。我也正在调试CC1101,接收的时候,你是怎么做的呢

能不能分享呢! ...

模块是调试通了,但是功耗的问题,解决不了,调试CC1101关键在于配置,可惜我配置不来

flyforyou85 发表于 2012-4-16 17:42:20

我也在调试,准备一个发送数据,以及接收数据,然后看数据对不对,电流那些还没测试。我先保证数据通信正常再说。
你对着中文版的手册,看看每个寄存器的定义,应该可以找到电流大的问题,而且你的很明显。

lvjun1013 发表于 2012-4-16 20:49:15

flyforyou85 发表于 2012-4-16 17:42 static/image/common/back.gif
我也在调试,准备一个发送数据,以及接收数据,然后看数据对不对,电流那些还没测试。我先保证数据通信正常 ...

我寄存器配置错误明显?呵呵,没查出来,我是根据软件生成的,理解无线这一块还很欠缺,麻烦你指点下。。。。

flyforyou85 发表于 2012-4-16 21:13:18

你好!我没有说你的配置错误,因为我的还没有完全测试,所以我不能断定。我仅仅是建议,你在对着规格书看看寄存器的定义,说不定有所发现!

USACH 发表于 2012-5-1 23:36:26

配置的问题需要对照官方配置模版。
页: [1]
查看完整版本: cc1101一旦设置WOR模式,电流就达到19.1mA?