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.

[参考译文] CC1352P7:在LP-CC1352P7-1上使用DMM时,BLE和专用子千兆无法可靠地运行

Guru**** 646230 points
Other Parts Discussed in Thread: LP-CC1352P7
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1102522/cc1352p7-ble-and-proprietary-sub-gig-not-functioning-reliably-using-dmm-on-lp-cc1352p7-1

部件号:CC1352P7
主题中讨论的其他部件:LAUNCHLL-CC1352R1

目标:

使用自定义子千兆应用程序(如rfEchoRx,其中RX在空闲时打开)和BLE (简单外设)的有效DMM项目,在该项目中,当自定义子千兆应用程序(rfEchoRx)在后台运行RX时,可从移动设备可靠地访问BLE接口。

问题:

按照 DMM集成 教程进行操作后,我们最终获得了能够可靠地在subgig网络上接收数据包的固件,但是BLE缺货,广告很少传输,并且无法在LAUNCHLL-CC1352R1板上进行移动连接。  在 LP-CC1352P7-1板上,我们确实看到了BLE广告,而子千兆接收信号,但只要尝试BLE连接,它几乎总是停止在道具上接收信号。堆栈侧和BLE停止传输。

详细信息:

  1. 两个不同的开发人员分别按照 DMM集成 教程进行操作,最终完成了自定义1 rxExpressx应用程序启动BLE堆栈(R1)或不稳定(P7)的项目。
  2. 我们 尝试 使用LAUNCHLL-CC1352R1和LP-CC1352P7-1开发板。
  3. 我们 已尝试 使用5_40_00_40和6_10_00_29 SDK。
  4. 我们有一个Ellisys BLE嗅探器,只有在极少数情况下,我们才看到从LAUNCXL-CC1352R1 板传输的BLE广告。 在 LP-CC1352P7-1主板上,我们确实看到了BLE广告,但在几乎所有情况下,当使用iOS LightBlue应用程序尝试连接时,prop堆栈都停止接收,BLE堆栈停止传输。
  5. 如果我们阻止rxEchoRx任务进入RX模式,那么BLE堆栈将正常运行,并且广告和移动连接将正常工作。
  6. 我们已尝试调整GPT优先级,使BLE的优先级高于PROP,但它们似乎没有效果。
  7. 我们曾尝试使用各种平衡模式(使用原始GPT教程值,以及其他GPT值),但它们似乎没有效果。

提问:

根据  DMM集成 教程和最新的SDK为LP-CC1352P7-1板提供一个工作项目,其中,在空闲和BLE时间正确多路复用时,支持子千兆RX开启。

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

    您好,Jim:

    e2e.ti.com/.../simple_5F00_peripheral_5F00_LP_5F00_CC1352P7_5F00_4_5F00_tirtos_5F00_ccs.zip

    随附的是LP-CC1352P7-4简单外围设备项目,已使用 DMM集成 SLA为其添加rfEchoRx和DMM。  在评估固件时,我没有注意到任何问题,因为prop RF和BLE外设功能都可以按预期运行。  请确保将ble_user_config.c复制到本地工作空间,并直接应用SimplePeripheral_fastStateUpdateCb更改,因为这可能直接影响BLE堆栈和应用程序状态性能。

    此致,
    Ryan

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

    Ryan,您好,这个项目用于错误的主板。 请您发送正确的项目以获得正确的主板吗

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

    您好,Ryan,感谢项目。  我能够将项目转换为使用LP-CC1352P7_1硬件。 一些快速测试表明,它比我的项目运行得好得多。但是,我需要做一些更仔细的测试才能确定。

    我开始把我的项目与您的项目分在一起,到目前为止,我发现了一个重要的差异,这可能是问题的原因。 在项目的rxEchoRx.c中,您具有以下内容:

    /*=========== 已填充的参数=========== */
    scheduleParams.StartTime = 0;
    scheduleParams.StartType = RF_StartNotSpecified;
    scheduleParams.allowDelay = RF_AllowDelayAny;
    scheduleParams.duration =~(0);// CMD_FS将运行,直到完成
    scheduleParams.EndTime =~(0);// CMD_FS将运行,直到完成
    scheduleParams.endType = RF_EndNotSpecified;
    scheduleParams.ActivityInfo = GEN_ACTIVATE_TABLE (RfActivity_FS,DMM_StackPNormal);
    /*=================================================================== */
    RF_ScheduleCmdlams_init(&scheduleParams);

    而教程则按以下方式显示顺序:

    RF_ScheduleCmdlams_init(&scheduleParams);

    /*=========== 已填充的参数=========== */
    scheduleParams.StartTime = 0;
    scheduleParams.StartType = RF_StartNotSpecified;
    scheduleParams.allowDelay = RF_AllowDelayAny;
    scheduleParams.duration =~(0);// CMD_FS将运行,直到完成
    scheduleParams.EndTime =~(0);// CMD_FS将运行,直到完成
    scheduleParams.endType = RF_EndNotSpecified;
    scheduleParams.ActivityInfo = GEN_ACTIVATE_TABLE (RfActivity_FS,DMM_StackPNormal);
    /*=================================================================== */

    我假设在您的项目中,在填写scheduleParams堆栈变量后调用RF_ScheduleCmdParams_init()是正确的,并且教程是错误的,您怎么看?

    此致,

    Jim

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

    您好,Joseph:

    我只有一个LP-CC1352P7-4需要评估,但是这与LP-CC1352P7-1硬件之间的唯一区别是PA输出路径,如果2.4 GHz或低于1 GHz的组件都不使用内部功率放大器,这一点无关紧要。  我的项目就是这种情况,因此固件可用于任何一个LaunchPad版本。

    您好,Jim:

    我在填充参数后使用RF_ScheduleCmdlams_init的代码是一个错误,幸运的是,它不影响项目的操作,因为大多数字段设置为默认值。  之后会立即为prop RX命令设置一个异常ActivityInfo,因此该错误不会影响设备行为。

    此致,
    Ryan

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

    您好,Ryan:

    我还没有回头看看 为什么LAUNCXL-CC1352R1主板不适合我,但我认为您创建的项目和我为 LP-CC1352P7-1主板创建的项目工作起来也是一样的。

    使用NRF Connect (而非LightBlue)仔细检查分析仪的迹线和一些实验后。 我认为我看到的大多数问题都与LightBlue应用程序中的应用程序层超时有关,因为它在建立连接后读取所有属性。 我修改了BLE连接的一些计时参数,效果更好。

    我正在实施移动应用程序,这将为我提供更多有关连接动态的控制和信息。

    在此之前,我接受您的回答,因为您提供了我要求的内容。

    谢谢,

    Jim