微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 哪里可以下载到CC1310 LRM模式的例程

哪里可以下载到CC1310 LRM模式的例程

时间:12-23 整理:3721RD 点击:

你好,

请问哪里可以下载到CC1310在LRM模式下4.8K通信的例程。

RF studio 里面只有625波特率的代码。我们需要用到4.8K的波特率。

谢谢!

下载地址在这里: http://dev.ti.com/tirex/#/?link=TI-RTOS%20for%20CC13XX%20and%20CC26XX%2FDevelopment%20Tools%2FCC1310DK_7XD%2FDriver%20Examples%2FRF%20Examples

LONG LI8,

TI-RTOS中的RF drivers里面应该可以找到Tx/Rx的示例代码,你可以修改看看。

如果你有CCS,直接用里面的resource explorer找到工程,如果没有CCS,建议你下载安装一下,如果不能安装,你也可以直接去浏览TI-RTOS的安装目录找到代码。

Viki,

你好。能帮忙指出具体哪个例程是 LRM 模式 4.8K bps吗?或者提供一份关于LRM模式下的配置说明文档。

你给出的链接我全部下载下来了,全部是FSK调制模式。

谢谢!

Long,

这些例程全是FSK调试模式,传输距离很近。

我需要的是LRM调制模式的例程。

LONG 你好

4.8k的LRM,我帮你测好了,你把“smartrf_settings.c" 里面的代码改为我下面这个:

#include<driverlib/rf_mailbox.h>

#include <driverlib/rf_common_cmd.h>

#include <driverlib/rf_prop_cmd.h>

#include <ti/drivers/rf/RF.h>

#include <rf_patches/rf_patch_cpe_lrm.h>

#include <rf_patches/rf_patch_rfe_lrm.h>

#include "untitled.h"

// TI-RTOS RF Mode Object

RF_Mode RF_prop =

{

.rfMode = RF_MODE_PROPRIETARY_SUB_1,

.cpePatchFxn = &rf_patch_cpe_lrm,

.mcePatchFxn = 0,

.rfePatchFxn = &rf_patch_rfe_lrm,

};

// Overrides for CMD_PROP_RADIO_div_SETUP

static uint32_t pOverrides[] =

{

    // override_use_patch_prop_lrm.xml

    // PHY: Use MCE ROM bank 3, RFE RAM patch

MCE_RFE_OVERRIDE(0,3,0,1,0,0),

    // override_synth_prop_863_930_div5.xml

    // Synth: Set recommended RTRIM to 7

HW_REG_OVERRIDE(0x4038,0x0037),

    // Synth: Set Fref to 4 MHz

(uint32_t)0x000684A3,

    // Synth: Configure fine calibration setting

HW_REG_OVERRIDE(0x4020,0x7F00),

    // Synth: Configure fine calibration setting

HW_REG_OVERRIDE(0x4064,0x0040),

    // Synth: Configure fine calibration setting

(uint32_t)0xB1070503,

    // Synth: Configure fine calibration setting

(uint32_t)0x05330523,

    // Synth: Set loop bandwidth after lock to 20 kHz

(uint32_t)0x0A480583,

    // Synth: Set loop bandwidth after lock to 20 kHz

(uint32_t)0x7AB80603,

    // Synth: Configure VCO LDO (in ADI1, set VCOLDOCFG=0x9F to use voltage input reference)

ADI_REG_OVERRIDE(1,4,0x9F),

    // Synth: Configure synth LDO (in ADI1, set SLDOCTL0.COMP_CAP=1)

ADI_HALFREG_OVERRIDE(1,7,0x4,0x4),

    // Synth: Use 24 MHz XOSC as synth clock, enable extra PLL filtering

(uint32_t)0x02010403,

    // Synth: Configure extra PLL filtering

(uint32_t)0x00108463,

    // Synth: Increase synth programming timeout (0x04B0 RAT ticks = 300 us)

(uint32_t)0x04B00243,

    // override_phy_rx_aaf_bw_0xd.xml

    // Rx: Set anti-aliasing filter bandwidth to 0xD (in ADI0, set IFAMPCTL3[7:4]=0xD)

ADI_HALFREG_OVERRIDE(0,61,0xF,0xD),

    // override_phy_gfsk_rx.xml

    // Rx: Set LNA bias current trim offset to 3

(uint32_t)0x00038883,

    // Rx: Freeze RSSI on sync found event

HW_REG_OVERRIDE(0x6084,0x35F1),

    // override_phy_gfsk_pa_ramp_agc_reflevel_0x1a.xml

    // Tx: Enable PA ramping (0x41). Rx: Set AGC reference level to 0x1A.

HW_REG_OVERRIDE(0x6088,0x411A),

    // Tx: Configure PA ramping setting

HW_REG_OVERRIDE(0x608C,0x8213),

    // override_phy_lrm_rom_dsss8.xml

    // PHY: Configure DSSS=8

HW_REG_OVERRIDE(0x505C,0x073C),

    // override_phy_rx_rssi_offset_5db.xml

    // Rx: Set RSSI offset to adjust reported RSSI by +5 dB

(uint32_t)0x00FB88A3,

    // TX power override

    // Tx: Set PA trim to max (in ADI0, set 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, // INSERT APPLICABLE POINTER: (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 = 0x0,

.modulation.deviation = 0x99,

.symbolRate.preScale = 0x6,

.symbolRate.rateWord = 0x4EA4,

.rxBw = 0x26,

.preamConf.nPreamBytes = 0x5,

.preamConf.preamMode = 0x0,

.formatConf.nSwBits = 0x20,

.formatConf.bBitReversal = 0x0,

.formatConf.bMsbFirst = 0x0,

.formatConf.fecMode = 0x8,

.formatConf.whitenMode = 0x0,

.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_cmdFs =

{

.commandNo = 0x0803,

.status = 0x0000,

    .pNextOp = 0, // INSERT APPLICABLE POINTER: (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, // INSERT APPLICABLE POINTER: (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, // SET APPLICATION PAYLOAD LENGTH

.syncWord = 0x00000000,

    .pPkt = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx

};

// CMD_PROP_RX

rfc_CMD_PROP_RX_t RF_cmdPropRx =

{

.commandNo = 0x3802,

.status = 0x0000,

    .pNextOp = 0, // INSERT APPLICABLE POINTER: (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,

.syncWord = 0x00000000,

    .maxPktLen = 0x80, // MAKE SURE DATA ENTRY IS LARGE ENOUGH

.address0 = 0xAA,

.address1 = 0xBB,

.endTrigger.triggerType = 0x1,

.endTrigger.bEnaCmd = 0x0,

.endTrigger.triggerNo = 0x0,

.endTrigger.pastTrig = 0x0,

.endTime = 0x00000000,

    .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx

    .pOutput = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx

};

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top