微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > RF_xx的困惑

RF_xx的困惑

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

由于课题的需要,需要将RTOS上的CC1310射频长距离模式的驱动移植到contiki操作系统上。但是在移植的过程中发现RF_open()\RF_close()\RF_postCmd()\RF_runCmd()等关于射频驱动的源代码没有看到。请问CCS工程中支持CC1310长距离模式,

1.关于长距离调用的RF_open()\RF_close()\RF_postCmd()\RF_runCmd()等函数到底在哪里?

2.如果这些函数不能得到,contiki上怎么做才能写出正确的CC1310 625bps长距离模式的驱动?(contiki目前支持CC1310 50kbps的速率)

在CCS工程中,是否使用长距离模式,在RF_open()\RF_close()\RF_postCmd()\RF_runCmd()等函数的使用上是一样的

区别仅在于他们使用的命令中的配置不同

具体的,你可以自己比较一下C:\TI\simplelink_cc13x0_sdk_1_50_00_08\examples\rtos\CC1310_LAUNCHXL\drivers\rfPacketErrorRate\smartrf_settings目录下的smartrf_settings_predefined.c文件中RF_cmdPropRadioDivSetup_fsk与RF_cmdPropRadioDivSetup_lrm两个命令配置上的区别

例如

// CMD_PROP_RADIO_div_SETUP FSK
rfc_CMD_PROP_RADIO_div_SETUP_t RF_cmdPropRadioDivSetup_fsk =
{
.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 = 0x1,
.modulation.deviation = 0x64,
.symbolRate.preScale = 0xF,
.symbolRate.rateWord = 0x8000,
.rxBw = 0x24,
.preamConf.nPreamBytes = 0x4,
.preamConf.preamMode = 0x0,
.formatConf.nSwBits = 0x20,
.formatConf.bBitReversal = 0x0,
.formatConf.bMsbFirst = 0x1,
.formatConf.fecMode = 0x0,
.formatConf.whitenMode = 0x0,
.config.frontEndMode = 0x0,
.config.biasMode = 0x1,
.config.analogCfgMode = 0x0,
.config.bNoFsPowerUp = 0x0,
.txPower = 0xA73F,
.pRegOverride = pOverrides_fsk,
.centerFreq = 0x0364,
.intFreq = 0x8000,
.loDivider = 0x05,
};

// CMD_PROP_RADIO_div_SETUP LRM
rfc_CMD_PROP_RADIO_div_SETUP_t RF_cmdPropRadioDivSetup_lrm =
{
.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 = 0x14,
.symbolRate.preScale = 0xF,
.symbolRate.rateWord = 0x199A,
.rxBw = 0x20,
.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_lrm,
.centerFreq = 0x0364,
.intFreq = 0x8000,
.loDivider = 0x05,
};

我需要在contiki上实现长距离,就需要RF_open()\RF_close()\RF_postCmd()\RF_runCmd()等函数。但是contikI上并没有这样的API,请问我该怎么做?

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

网站地图

Top