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.

[参考译文] CC2640R2F-Q1:在通过 HCI 命令进行处理时、连续未调制 Tx 不能在我们的定制板上工作、而 Smart RF Studio 没有问题(使用 ble5堆栈)

Guru**** 2595805 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/611196/cc2640r2f-q1-continous-unmodulated-tx-doesn-t-work-on-our-custom-board-when-handling-through-the-hci-commands-while-smart-rf-studio-no-problem-using-ble5-stack

器件型号:CC2640R2F-Q1

尊敬的 TI 专家:

使用以下代码、我将使用频谱分析仪测试 DTM 运行。

当简单地使用调制时、信号在分析仪上表现良好。

在使用未调制时、它上没有显示任何内容。

作为参考、我们的定制板采用差分内部偏置设计。

Smart RF Studio 7正与我们的定制板一起使用、没问题。 我可以看到我想要看到的正弦信号。

这意味着我的代码有一个错误点。

让我知道什么是错误的。

/*对于 PTM => NPI_USE_UART 应该被使用并且 Board_display_use_uart=0 */
#if defineed (NPI_USE_UART)&&(NPI_USE_UART = 1)
void HufBLEEnterDTM (void)

   #if 0
   {
     scifClearAlertIntSource();
     scifAckAlertEvents ();
     scifUartSetEventMask (0);
     scifUartClearEvents ();
     
     //停止 UART 仿真器
     scifUartStopEmulator();
     scifWaitOnNbl(1000);
     
     //停止 UART 波特率生成
     scifUartSetBaudRate (0);
   }
   #endif  
 静态 uint8 CW;
 CW = CSReadUserKey (0);
 如果(CW >39) CW =39;

 //截取 NPI RX 事件。
 NPITASK_registerIncomingRXEventAppCB (SBP_handleNPIxInterceptEvent、intercept);

 //注册命令状态信息
 HCI_TL_Init (NULL、(HCI_TL_CommandStatusCB_t) SBP_sendToNPI、self Entity);

 //注册事件
 HCI_TL_getCmdResponderID (iCall_getLocalMsgEntityId (ICALL_SERVICE_CLASS_BLE_MSG、self 实体));    
 
 HCI_ResetCmd ();
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;     
 
 hciStatus_t status;
 //启用 PTM
 状态= HCI_EXT_EnablePTMCmd();
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;      
 if (status!= 0x00) HCI_EXT_EnablePTMCmd();
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;
 ASM_NOP;   ASM_NOP;

 //以下指令仅用于独立操作。 可通过 TI SmartRF 闪存编程器2更改 CW。
 #if 已定义(ENABLE_PTM_UNMODED_TX)&&(ENABLE_PTM_UNMODED_TX = 0)
 HCI_LE_TransmitterTestCmd (CW、0x25、0x02);   
 ///HCI_EXT_ModemTestTxCmd (HCI_EXT_TX_MODEG_CARRIER、CW);
 其他
 // FCC/ETSI 认证
 //对于法规测试,调用 ModemTest 命令后,不应在任何通道上发送数据包。
 // CW 通道上没有数据包。 您将在频谱分析仪上看到尖峰。
 //核心规范规定,使用 SetMaxDTMTxPower 时,控制器应将 Tx 功率设置为最大级别。
 //问题是“最大级别”的含义是有争议的。
 //例如、在差分天线配置中、CC2640R2芯片的 Tx 功率级别最大值为+5dBm、和
 //单端天线配置中为+2dBm。
 //但客户的应用可能只能达到0dBm。 通过使用 SetMaxDTMTxPower、您可以设置 DTM
 //最大 Tx 功率级别小于芯片最大功率级别。
 HCI_EXT_ModemTestTxCmd (HCI_EXT_TX_UNMODEG_CARRIER、CW);
 #endif

 dtm_mode = true;

BR、

吉元

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

    我应该使它循环以生成连续操作吗? 还是使用不同的 HCI 命令?

    是否应在命令启动前首先启动广播?

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

    如 BLE5发行说明中所述、此堆栈不支持 ModemTestTxCmd。 要进行此测试、您需要加载 BLE Stack 3.0.1。

    dev.ti.com/.../release_notes_ble5stack_1_00_00_33.html

    此致、
    Fredrik