This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1350:2.4GHz 中间频率设置

Guru**** 2392905 points
Other Parts Discussed in Thread: CC2500, CC1350, CC2510

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/728344/cc1350-2-4-ghz-intermediate-frequency-setting

器件型号:CC1350
主题中讨论的其他部件:CC2500CC2510

您好!

我想将 cc1350与现有 CC2500结合使用。
当 CC1350设置为2.4GHz 且数据被传输、并且数据从 CC2500接收时、数据不正常。
在检查问题时、我希望有一个中间频率不匹配的问题。

CC2500用于中频228.515KHz、符号速率250kbps、载波频率2403MHz、MSK 模式。

cc1350的设置与中间频率不同。
如何在 cc1350上设置中间频率?

我正在使用 CMD_PROP_RADIO_SETUP (0x3806)。
我应该使用 CMD_PROP_RADIO_DIV_SETUP (0x3807)并设置 intFreq 部件吗?

如果您需要设置 intFreq 器件、请告诉我如何设置。

此致、

Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CC2500和 CC1350之间 IF 频率的差异是完全可以的。 对于540kHz RX 滤波器带宽、CC1350使用1MHz IF。

    不知道"数据不正常"是什么意思、因此除非您详细说明、否则在这里不会有太大帮助。

    确保两个器件使用相同的同步字。 0xD391D391是 CC2500的默认值、可能是您使用过的值。 对于 CC1350、请更改 CMD_TX 和 CMD_RX 中的同步字。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    同步字设置为0xD391D391。
    我从 cc1350发送了测试数据、但从 CC2500读取的数据值不同。
    CC2500和 cc1350是否具有不同的 IF 频率、但通信间是否存在任何问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IF 频率的差异不会影响通信链路。

    确保在两个设备上都使用固定或可变的数据包长度。 它们需要相同。 如果使用固定的数据包长度、请确保两侧使用相同的长度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    CC2500和 cc1350均设置为固定长度。

    我们在 cc1350上发送了0至49 (50字节)的数字。
    从 CC2500接收的值完全不同。

    附加下面的 CC2500和 CC1350设置值。
    如果您有任何问题、请告诉我。

    CC2500接收器设置值

    CC2500_IOCFG2、0x0B、  
    CC2500_IOCFG1、0x2E、
    CC2500_IOCFG0、0x06、
    CC2500_FIFOTHR、0x0F、
    CC2500_SYNC1、0xD3、  
    CC2500_SYNC0、0x91、  
    CC2500_PKTLEN、0x32、//50字节
    CC2500_PKTCTRL1、0x04、//附加状态被启用
    CC2500_PKTCTRL0、0x44、//开始白化、启用 CRC 校验、固定数据包长度
    CC2500_ADDR、0x00、  
    CC2500_CHANNR、0x00、  
    CC2500_FSCTRL1、0x09、//if freq 228.515KHz
    CC2500_FSCTRL0、0x00、
    CC2500_FREQ2、0x5C、//载波频率2403.042145MHz
    CC2500_FREQ1、0x6C、  
    CC2500_FREQ0、0xB9、  
    CC2500_MDMCFG4、0x2D、//BW 541KHz
    CC2500_MDMCFG3、0x3B、//符号速率250kHz
    CC2500_MDMCFG2、0x73、//MSK、30/32同步字
    CC2500_MDMCFG1、0xA3、//FEC 使能、前导码4字节
    CC2500_MDMCFG0、0xAA、//通道间距338.012KHz
    CC2500_DEVIATN、0x47、//
    CC2500_MCSM2、0x07、//
    CC2500_MCSM1、0x00、// CCA 始终
    CC2500_MCSM0、0x18、//自动校准
    CC2500_FOCCFG、0x1D、
    CC2500_BSCFG、0x1C、
    CC2500_AGCCTRL2、0xC7、
    CC2500_AGCCTRL1、0x09、  
    CC2500_AGCCTRL0、0xF0、
    CC2500_WOREVT1、0x87、
    CC2500_WOREVT0、0x6B、
    CC2500_WORCTRL、0xf8、
    CC2500_FREND1、0xB6、  
    CC2500_FREND0、0x10、  
    CC2500_FSCAL3、0xEA、  
    CC2500_FSCAL2、0x0A、  
    CC2500_FSCAL1、0x00、  
    CC2500_FSCAL0、0x11、  
    CC2500_RCCTRL1、0x41、  
    CC2500_RCCTRL0、0x00、  
    CC2500_FSTEST、0x59、  
    CC2500_ptest、0x7F、  
    CC2500_TEST2、0x88、  
    CC2500_TEST1、0x31、  
    CC2500_TEST0、0x0B、

    CC1350发送器设置值

    RF_cmdPropRadioDivSetup =


    .commandNo = 0x3806、
    .status = 0x0000、
    .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .module.modType = 0x0、
    .modulation.deviation = 250、//62.5KHz
    symbolRate.prescale = 0xF、  
    symbolRate.rateWord = 0x28000、//250kHz
    .rxBw = 9、//0x2b、//527.8KHz
    .Preambytes = 0x4、//4字节
    .Conf.前置 放大器模式= 0x1、//首先为1
    .formatConf.nSwBits = 0x20、//32位
    .formatConf.bBitVersal = 0x1、
    .formatConf.bMsbFirst = 0x1、
    formatConf.fecMode = 0x0、
    formatConf.whitenMode = 0x1、/CC2500兼容
    .config.frontEndMode = 0x0、
    config.biasMode = 0x1、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    TxPower = 0x4214、
    .pRegOverride = pOverrides、
    };

    RF_cmdF =


    .commandNo = 0x0803、
    .status = 0x0000、
    .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .frequency = 2403、
    fractFreq = 2762、
    synthConf.bTxMode = 0x0、
    .synthConf.refFreq = 0x0、
    .__dummy0 = 0x00、
    .__dummy1 = 0x00、
    .__dummy2=0x00,
    .__dummy3 = 0x0000、
    };

    RF_cmdPropTx =


    .commandNo = 0x3801、
    .status = 0x0000、
    .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
    .StartTime = 0x00000000、
    .startTrigger.triggerType = 0x0、
    .startTrigger.bEnaCmd = 0x0、
    .startTrigger.triggerNo = 0x0、
    .startTrigger.PastTrig = 0x0、
    .condition.rule = 0x1、
    .condition.nSkip = 0x0、
    .pktConf.bFsOff = 0x0、
    .pktConf.bUseCrc = 0x1、
    .pktConf.bVarLen = 0x0、//固定长度
    .pktLen = 0x32、//设置有效载荷长度50字节
    syncdWord = 0xD391D391、
    .pPKT = 0、//插入适用的指针:(uint8_t*)&xxx
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否为 CMD_PROP_RADIO_SETUP (或 CMD_PROP_RADIO_DIV_SETUP)包含以下覆盖项?

    // TI-RTOS 射频模式对象
    RF_Mode RF_PROP =

    rfMode = RF_MODE_Proprietary" 2_4、
    .cpePatchFxn =&rf_patch_cpe_genfsk、
    .mcePatchFxn =&rf_patch_mce_genfsk、
    .rfePatchFxn =&rf_patch_rfe_genfsk、
    };

    //覆盖 CMD_PROP_RADIO_SETUP
    uint32_t pOverrides[]={
    MCE_RFE_OVERRIDE (1、0、0、1、0、0)、
    HW_REG_OVERRIDE (0x4038、0x34)、
    HW_REG_OVERRIDE (0x6088、0x3F1F)、
    HW_REG_OVERRIDE (0x608C、0x8213)、

    HW32_array_override (0x405C、1)、
    (uint32_t) 0x1801F800、
    HW32_array_override (0x402C、1)、
    (uint32_t) 0x00608402、
    (uint32_t) 0x00000343、
    (uint32_t) 0x000484a3、
    (uint32_t) 0x1c8f0583、
    (uint32_t) 0x1c8f0543、
    (uint32_t) 0x65980603、
    (uint32_t) 0x00020623、
    (uint32_t) 0x659805c3、
    (uint32_t) 0x000205e3、
    (uint32_t) 0x02010403、
    HW32_array_override (0x4034、1)、
    (uint32_t) 0x177F0408、
    (uint32_t) 0x00008463、
    (uint32_t) 0x00388473、
    (uint32_t) 0x00F388a3、

    HW_REG_OVERRIDE (0x50C8、0x60f7)、//设置 PDIFLIMITRANGE=1以避免
    //频率样本伪影
    //接收时导致符号错误
    // CC2510 MSK。
    // HW_REG_OVERRIDE (0x50C8、0x60ff),//同时设置 PDIFLINPRED=1
    //这可以提高灵敏度,但是
    //对频率容差有负面影响。

    /*自定义整形*/
    (uint32_t) 0x00810083、//启用分段整形器
    (uint32_t) 0x001000a3、//启用分段整形器
    (uint32_t) 0x000000c3、//无自动形状编程
    (uint32_t) 0x000000e3、//无自动形状编程
    (uint32_t) 0x40064041、//开始覆盖形状
    (uint32_t) 0x0000b19a、//第一个时间值对 valid_uni=11、value=410
    (uint32_t) 0x00013199、//秒时间值对 VALID 直到= 19、值= 409
    (uint32_t) 0x00000000、//第三个时间值对 VALID 直到= 0、值= 0
    (uint32_t) 0x00000000、//第四个时间值对 VALID 直到= 0、值= 0
    (uint32_t) 0x00000000、//第五个时间值对 VALID 直到= 0、值= 0
    (uint32_t) 0x00000000、//第六个时间值对 VALID 直到= 0、值= 0

    (uint32_t) 0xFFFFFFFF、
    };


    CMD_PROP_RADIO_DIV_SETUP 看起来正常。 一件事:我从未在启用白化的情况下进行过测试。 您可以在 CC2500和 CC1350上尝试禁用白光功能吗?

    您是否能够在2 CC1350之间建立链路?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已设置覆盖。
    使用 FEC 和白化似乎是 CC2500的问题。
    软件已经过修改、可处理 FEC 和白化。

    cc1350之间的通信工作正常。