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.

[参考译文] CC2538:TI cc2538启用射频测试音调问题

Guru**** 2534270 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/627244/cc2538-ti-cc2538-enabling-rf-test-tone-issue

器件型号:CC2538
Thread 中讨论的其他器件: Z-stack

大家好、

我们将锁定到前进位置以测试我们的新天线 PCB。 因此、我尝试在最大 TX 输出功率下使用 ti cc2538无线电模块的未调制测试音。

我的问题是固件仅在刷写后正常运行。 重置控制器(例如断电)后、不再发出测试音。 重新刷新 UC 也不起作用。 如果我在刷写测试固件之前加载另一个固件、我将获得与之前描述的相同行为。
我从最新 z 堆栈样本中提取的无线电设置(znpTestRF 函数)

请找到以下我的代码

感谢您的任何帮助-谢谢

#include "board.h"
#include "radio.h"
#include "LEDs.h"

#include 
#include 
#include 
#include 
#include 
#include 

#include "cc2538rf.h"


//================================ 变量========================================================
静态空 clock_init (void){
/*禁用全局中断*/
bool bIntDisabled = IntMasterDisable();

/*为晶振操作配置32kHz 引脚 PD6和 PD7 */
/*默认情况下,它们配置为 GPIO */
GPIODirModeSet (GPIO_D_base、0x40、GPIO_DIR_MODE_IN);
GPIODirModeSet (GPIO_D_base、0x80、GPIO_DIR_MODE_IN);
IOCPadConfigSet (GPIO_D_base、0x40、IOC_OVERRIDE_ANA);
IOCPadConfigSet (GPIO_D_base、0x80、IOC_OVERRIDE_ANA);

/*将实时时钟设置为使用32kHz 外部晶体*/
/*将系统时钟设置为使用外部32MHz 晶体*/
/*将系统时钟设置为32MHz */
SysCtrlClockSet (true、false、SYS_CTRL_SYSDIV_32MHz);

/*将 IO 时钟设置为以16MHz 运行*/
//这样,外设可以在系统时钟选通时运行*/
SysCtrlIOClockSet (SYS_CTRL_SYSDIV_16MHz);

/*等待选定的时钟配置稳定*/
while (!((HWREG (SYS_CTRL_CLOCK _STA))和(SYS_CTRL_CLOCK _STA_XOSC_STB)));

/*如果最初启用、则重新启用中断*/
if (!bIntDisabled){
IntMasterEnable();
}
}/**


\brief 程序在此处开始执行。
//
int main (void){
uint32_t reg;
//初始化电路板
clock_init ();

/*如果我们关闭,请不要关闭,因为这将触发 Strobe 错误*/
if (HWREG (RFCORE_XREG_RXENABLE)!= 0){
CC2538_RF_CSP_ISRFOFF ();
//清除 FIFO ISR 标志
HWREG (RFCORE_SFR_RFIRQF0)=~(RFCORE_SFR_RFIRQF0_FIFOP|RFCOR_SFR_RFIRQF0_RXPKTDONE);
}

HWREG (RFCORE_XREG_MDMCTRL0)= 0x85;
HWREG (RFCORE_XREG_RXCTRL) = 0x3F;
HWREG (RFCORE_XREG_FSCTRL) = 0x55;
HWREG (RFCORE_XREG_FSCAL1) = 0x01;
HWREG (RFCORE_XREG_AGCCTRL1)= 0x15;
HWREG (RFCORE_XREG_ADCTEST0)= 0x10;
HWREG (RFCORE_XREG_ADCTEST1)= 0x0E;
HWREG (RFCORE_XREG_ADCTEST2)= 0x03;

HWREG (RFCORE_XREG_FRMCTRL0)= 0x43;
HWREG (RFCORE_XREG_FRMCTRL1)= 0x00;

HWREG (RFCORE_XREG_TXPOWER) = 0xFF; //+7dBm

//准备无线电
HWREG (RFCORE_XREG_FREQCTRL)= 0x0B; //通道11、2405MHz

REG = HWREG (RFCORE_XREG_MDMTEST0)&=~0xF0;
HWREG (RFCORE_XREG_MDMTEST0)= reg ||(0x07 << 4);

REG = HWREG (RFCORE_XREG_MDMTEST1)&&=~RFCORE_XREG_MDMTEST1_MOD_IF;//禁用调制
HWREG (RFCORE_XREG_MDMTEST1)= reg;

CC2538_RF_CSP_ISFLUSHTX ();

CC2538_RF_CSP_ISTXON (); //TX_ON

while (1);
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为什么不使用 SmartRF Studio 进行测试?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 YiKai Chen:

    我们无法使用 SmartRF Studio、因为我们无法将任何线/调试接口连接到已组装的器件。 我们使用的是金属外壳、在测试中应按原样使用、因为射频测试应指出是否存在基于外壳设计的一些影响。

    此致 Chris