主题中讨论的其他器件: CC1312R
大家好、
我想了解一些有关远距离通信的信息。 我 将 使用 cc1312r 发送数据、并使用 cc1310获取数据。 我想通过远距离射频通信来实现它。
但对于远距离、cc1310具有625bps 选项、cc1312r 具有5kbps 字节。
我通过选择 Rx Filter BW = 98.0符号速率= 10偏差5 TX 功率= 14而尝试了这种远距离通信、但没有白化
使用此选择参数、这两个定制板之间没有通信。 我应该怎么做才能在远距离通信这两个板?
此致
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.
大家好、
我想了解一些有关远距离通信的信息。 我 将 使用 cc1312r 发送数据、并使用 cc1310获取数据。 我想通过远距离射频通信来实现它。
但对于远距离、cc1310具有625bps 选项、cc1312r 具有5kbps 字节。
我通过选择 Rx Filter BW = 98.0符号速率= 10偏差5 TX 功率= 14而尝试了这种远距离通信、但没有白化
使用此选择参数、这两个定制板之间没有通信。 我应该怎么做才能在远距离通信这两个板?
此致
是的、我看到在未连接电路板的情况下、2.5kpbs 和5kbps。 我想我们只能使用我们的板连接到 SmartRFStudio 的设置。 这就是为什么我没有看到2.5kbps 和5bkps。 我不知道版本、但制造商编号为 CC1310F128RGZT
谢谢你
根据、这两个板之间的 tp 与2.5kbps 通信。 我在没有连接到电路板的情况下保存了这两个文件。 我使用了以下文件。 cc1312r 发送数据,但不从 cc1310接收数据
我应该错过什么?
用于 cc1310的智能设置文件:
// TI-RTOS 射频模式对象
RF_Mode RF_PROP =
{
rfMode = RF_MODE_Proprietary"子模式1、
.cpePatchFxn =&rf_patch_cpe_sl_longrange、
.mcePatchFxn =&rf_patch_mce_sl_longrange、
.rfePatchFxn =&rf_patch_rfe_sl_longrange
};
//覆盖 CMD_PROP_RADIO_DIV_SETUP
uint32_t pOverrides[]=
{
// override_use_patch_simplelink_long_range.xml
// PHY:使用 MCE RAM 补丁、RFE RAM 补丁
MCE_RFE_OVERRIDE (1、0、0、1、0、0)、
// override_synth_prop_863_930_div5_lbw60k.xml
//合成:将推荐的 RTRIM 设置为7
HW_REG_OVERRIDE (0x4038、0x0037)、
//合成:将频率设置为4MHz
(uint32_t) 0x000684A3、
//合成:配置精细校准设置
HW_REG_OVERRIDE (0x4020、0x7F00)、
//合成:配置精细校准设置
HW_REG_OVERRIDE (0x4064、0x0040)、
//合成:配置精细校准设置
(uint32_t) 0xB1070503、
//合成:配置精细校准设置
(uint32_t) 0x05330523、
//合成:将锁定后的环路带宽设置为60kHz
(uint32_t) 0x40410583、
//合成:将锁定后的环路带宽设置为60kHz
(uint32_t) 0x32CC0603、
//合成:将锁定后的环路带宽设置为60kHz
(uint32_t) 0x00010623、
//合成:配置 VCO LDO (在 ADI1中、设置 VCOLDOCFG=0x9F 以使用电压输入基准)
ADI_REG_OVERRIDE (1、4、0x9F)、
//合成:配置同步 LDO (在 ADI1中、设置 SLDOCTL0.COMP_CAP=1)
ADI_HALFREG_OVERRIDE (1、7、0x4、0x4)、
//合成:使用24MHz XOSC 作为同步时钟、启用额外的 PLL 滤波
(uint32_t) 0x02010403、
//合成:配置额外的 PLL 滤波
(uint32_t) 0x00108463、
//合成:增加同步编程超时(0x04B0 RAT 节拍= 300us)
(uint32_t) 0x04B00243、
// override_synth_disable_bias_div5.xml
//合成:将分频器偏置设置为禁用
HW32_array_override (0x405C、1)、
//合成:将分频器偏置设置为禁用(特定于 loder=5)
(uint32_t) 0x18000200、
// override_phy_rx_aaf_bw_0xd.xml
// Rx:将抗混叠滤波器带宽设置为0xD (在 ADI0中、设置 IFAMPCTL3[7:4]=0xD)
ADI_HALFREG_OVERRIDE (0、61、0xF、0xD)、
// override_phy_gfsk_rx.xml
// Rx:将 LNA 偏置电流修整偏移设置为3
(uint32_t) 0x00038883、
// Rx:在发现同步事件时冻结 RSSI
HW_REG_OVERRIDE (0x6084、0x35F1)、
// override_phy_gfsk_pa_ramp_agc_reflevel_0x14.xml
// Tx:配置 PA 斜升设置(0x41)。 RX:将 AGC 基准电平设置为0x14。
HW_REG_OVERRIDE (0x6088、0x4114)、
// Tx:配置 PA 斜升设置
HW_REG_OVERRIDE (0x608C、0x8213)、
// override_phy_long_range_dsss4.xml
// PHY:配置 DSSS SF=4
HW_REG_OVERRIDE (0x505C、0x0303)、
// override_phy_rx_rssi_offset_5db.xml
// Rx:设置 RSSI 偏移以将报告的 RSSI 调整+5dB (默认值:0)、针对外部偏置和差分配置进行了修整
(uint32_t) 0x00FB88A3、
// TX 功率覆盖
// Tx:将 PA 调整设置为最大值(在 ADI0中、设置 PACTL0=0xf8)
ADI_REG_OVERRIDE (0、12、0xF8)、
(uint32_t) 0xFFFFFFFF
};
// CMD_PROP_RADIO_DIV_SETUP
//针对所有频段的专有模式无线电设置命令
RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup =
{
.commandNo = 0x3807、
.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、
modulation .modType = 0x1、
.modulation.deviation = 0x14、
symbolRate.prescale = 0xF、
symbolRate.rateWord = 0x3333、
//.symbolRate.decimMode = 0x0、
.rxBw = 0x21、
.PreambBytes = 0x2、
.Conf.前置 放大器模式= 0x0、
.formatConf.nSwBits = 0x20、
.formatConf.bBitVersal = 0x0、
.formatConf.bMsbFirst = 0x0、
formatConf.fecMode = 0x8、
formatConf.whitenMode = 0x1、
.config.frontEndMode = 0x0、
config.biasMode = 0x1、
config.analogCfgMode = 0x0、
config.bNoFsPowerUp = 0x0、
TxPower = 0xA73F、
.pRegOverride = pOverrides、
.centerFreq = 0x0364、
.intFreq = 0x8000、
.loDivider = 0x05
};
// CMD_FS
//频率合成器编程命令
RFC_CMD_FS_t 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 = 0x0364、
fractFreq = 0x0000、
synthConf.bTxMode = 0x0、
.synthConf.refFreq = 0x0、
.__dummy0 = 0x00、
.__dummy1 = 0x00、
.__dummy2=0x00,
.__dummy3=0x0000
};
// CMD_PROP_TX
//专有模式发送命令
RFC_CMD_PROP_TX_t 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 = 0x1、
.pktLen = 0x14、
syncdWord = 0x00000000、
.pPKT = 0 //插入适用的指针:(UINT8_t*)&xxx
};
// CMD_PROP_RX
//专有模式接收命令
RFC_CMD_PROP_RX_t RF_cmdPropRx =
{
.commandNo = 0x3802、
.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.bRepeatOk = 0x0、
.pktConf.bRepeatNok = 0x0、
.pktConf.bUseCrc = 0x1、
.pktConf.bVarLen = 0x1、
.pktConf.bChkAddress = 0x0、
.pktConf.endType = 0x0、
.pktConf.filterOp = 0x0、
rxConf.bAutoFlushIgnored = 0x0、
rxConf.bAutoFlushCrcErr = 0x0、
rxConf.bIncludeHdr = 0x1、
rxConf.bIncludeCrc = 0x0、
rxConf.bAppendRssi = 0x0、
rxConf.bAppendTimestamp = 0x0、
rxConf.bAppendStatus = 0x1、
syncdWord = 0x00000000、
.maxPktLen = 0xFF、
.address0 = 0xAA、
.address1 = 0xBB、
endTrigger.triggerType = 0x1、
.endTrigger.bEnaCmd = 0x0、
.endTrigger.triggerNo = 0x0、
.endTrigger.PastTrig = 0x0、
.EndTime = 0x00000000、
.pQueue = 0、//插入适用的指针:(dataQueue_t*)&xxx
.pOutput = 0 //插入适用的指针:(uint8_t*)&xxx
};
用于 cc1312r 的智能设置文件:
// TI-RTOS 射频模式对象
RF_Mode RF_PROP =
{
rfMode = RF_MODE_AUTO、
.cpePatchFxn =&rf_patch_cpe_prop、
.mcePatchFxn = 0、
.rfePatchFxn = 0
};
//覆盖 CMD_PROP_RADIO_DIV_SETUP
uint32_t pOverrides[]=
{
// override_prop_common.xml
//直流/直流稳压器:在 Tx 中、使用 DCDCCTL5[3:0]= 0x7 (DITHER _EN = 0和 IPEAK = 7)。
(uint32_t) 0x00F788D3、
// override_prop_common_sub1g.xml
//设置 RF_FSCA.ANADV.DIV_SEL_BIAS = 1. 位[0:16、24、30]无关...
(uint32_t) 0x4001405D、
//设置 RF_FSCA.ANADV.DIV_SEL_BIAS = 1. 位[0:16、24、30]无关...
(uint32_t) 0x08141131、
// override_phy_simplelink_long_range_dsss4.xml
// PHY:为有效载荷数据配置 DSSS SF=4
HW_REG_OVERRIDE (0x5068、0x030C)、
// override_tc480_tc481_tc482.xml
// Tx:配置 PA 斜坡时间、PACTL2.RC=0x3 (在 ADI0中、设置 PACTL2[4:3]=0x3)
ADI_2HALFREG_OVERRIDE (0、16、0x8、0x8、17、0x1、0x1)、
// Rx:将 AGC 基准电平设置为0x17 (默认值:0x2E)
HW_REG_OVERRIDE (0x609C、0x0017)、
// Rx:设置 RSSI 偏移以将报告的 RSSI 调整-2dB (默认值:-2)、针对外部偏置和差分配置进行了修整
(uint32_t) 0x000288A3、
// Rx:将抗混叠滤波器带宽设置为0xD (在 ADI0中、设置 IFAMPCTL3[7:4]=0xD)
ADI_HALFREG_OVERRIDE (0、61、0xF、0xD)、
// Tx:将关闭斜坡前的等待时间设置为0x1A (默认值:0x1f)
HW_REG_OVERRIDE (0x6028、0x001A)、
// TX 功率覆盖
// Tx:将 PA 修整设置为最大值以最大化其输出功率(在 ADI0中、设置 PACTL0=0xf8)
ADI_REG_OVERRIDE (0、12、0xF8)、
(uint32_t) 0xFFFFFFFF
};
// CMD_PROP_RADIO_DIV_SETUP
//针对所有频段的专有模式无线电设置命令
RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup =
{
.commandNo = 0x3807、
.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、
modulation .modType = 0x1、
.modulation.deviation = 0x14、
.modulation.deviationStepSz = 0x0、
symbolRate.prescale = 0xF、
symbolRate.rateWord = 0x3333、
.symbolRate.decimMode = 0x0、
.rxBw = 0x4E、
.PreambBytes = 0x2、
.Conf.前置 放大器模式= 0x0、
.formatConf.nSwBits = 0x20、
.formatConf.bBitVersal = 0x0、
.formatConf.bMsbFirst = 0x0、
formatConf.fecMode = 0x8、
formatConf.whitenMode = 0x1、
.config.frontEndMode = 0x0、
config.biasMode = 0x1、
config.analogCfgMode = 0x0、
config.bNoFsPowerUp = 0x0、
CONFIG.bSynthNarrowBand = 0x0、
TxPower = 0x013F、
.pRegOverride = pOverrides、
.centerFreq = 0x0364、
.intFreq = 0x8000、
.loDivider = 0x05
};
// CMD_FS
//频率合成器编程命令
RFC_CMD_FS_t 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 = 0x0364、
fractFreq = 0x0000、
synthConf.bTxMode = 0x0、
.synthConf.refFreq = 0x0、
.__dummy0 = 0x00、
.__dummy1 = 0x00、
.__dummy2=0x00,
.__dummy3=0x0000
};
// CMD_PROP_TX
//专有模式发送命令
RFC_CMD_PROP_TX_t 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 = 0x1、
.pktLen = 0x14、
syncdWord = 0x00000000、
.pPKT = 0 //插入适用的指针:(UINT8_t*)&xxx
};
// CMD_PROP_RX
//专有模式接收命令
RFC_CMD_PROP_RX_t RF_cmdPropRx =
{
.commandNo = 0x3802、
.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.bRepeatOk = 0x0、
.pktConf.bRepeatNok = 0x0、
.pktConf.bUseCrc = 0x1、
.pktConf.bVarLen = 0x1、
.pktConf.bChkAddress = 0x0、
.pktConf.endType = 0x0、
.pktConf.filterOp = 0x0、
rxConf.bAutoFlushIgnored = 0x0、
rxConf.bAutoFlushCrcErr = 0x0、
rxConf.bIncludeHdr = 0x1、
rxConf.bIncludeCrc = 0x0、
rxConf.bAppendRssi = 0x0、
rxConf.bAppendTimestamp = 0x0、
rxConf.bAppendStatus = 0x1、
syncdWord = 0x00000000、
.maxPktLen = 0xFF、
.address0 = 0xAA、
.address1 = 0xBB、
endTrigger.triggerType = 0x1、
.endTrigger.bEnaCmd = 0x0、
.endTrigger.triggerNo = 0x0、
.endTrigger.PastTrig = 0x0、
.EndTime = 0x00000000、
.pQueue = 0、//插入适用的指针:(dataQueue_t*)&xxx
.pOutput = 0 //插入适用的指针:(uint8_t*)&xxx
};
很抱歉、有点难看到使用了修订版 A。
尝试为 CC1310注释:
// Synth: Set divider bias to disabledHW32_ARRAY_OVERRIDE(0x405C,1),// Synth: Set divider bias to disabled (specific for loDivider=5)
(uint32_t)0x18000200,
我强烈建议更新为 CC1310的修订版 B
您好、
感谢您的回答。 它运行得非常好。这条评论背后的原因是什么?
现在、我还尝试通过 cc1310发送数据、并通过 cc1310在2.5kbps 远距离内接收数据。 我使用的是相同的 rfsetting 文件 、并为两个 cc1310定制板添加了注释行。 但这次没有解决。 它只发送一次数据 、然后进行剪切。 但是当我取消评论行时、数据会被发送、但这次 不会被其他1310定制板接收。
-您对此情况有什么意见吗?
和
-为什么要更新 cc1310的修订版 B
此致
从已下拉的页面:
"如果在离线模式下使用 SmartRF Studio v2.4.3或更高版本、或者连接了修订版 B 芯片、则生成的设置 将不会与修订版 A 直接向后兼容。例外情况是在779-930 MHz 频段中使用具有50kbps 数据速率的2GFSK。 需要修改使用779MHz - 930MHz 频段的所有其他无线电设置、 以支持修订版 A、方法 是注释掉以下覆盖项。 20μA 将其注释为功耗的小幅增加(约为 μ A) //从 SmartRF Studio 静态 uint32_t pOverrides 生成的覆盖[]={... // override_synth_disable_bias_div5.xml //合成器:将分频器偏置设置为禁用 HW32_array_override (0x405C,1),//<-注释输出//合成器:将分频器偏置设置为禁用(特定于 loder=5)(UINT32_t)0x18000200,//<-注释输出... "