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.

[参考译文] CC1352R:DMM - BLE +定制堆栈(具有 EasyLink)

Guru**** 2442090 points


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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1217144/cc1352r-dmm---ble-custom-stack-with-easylink

器件型号:CC1352R

您好!  

自定义栈描述:

我使用自定义堆栈、该堆栈使用 EasyLink 访问无线电。 此定制堆栈使用5kbps SimpleLink 远距离协议作为其物理层。 它是通过使用 SDK 在版本5_20_0_52中实现的。  无线电大部分时间处于接收模式、偶尔会发送数据和 ACK 数据包。

问题:

我决定将 BLE 用作第二个堆栈、以便能够通过 OAD 更新器件。 我曾尝试在用户指南和 SimpleLink Academy 的帮助下使用 BLE (Project Zero)和我的自定义堆栈配置 DMM、但遗憾的是、我 遇到了问题。  也就是说、在堆栈启动后、BLE 会发送一个 Adv、在该自定义堆栈将无线电置于接收状态之后、BLE 直到自定义堆栈未中止 RX 才能进行广播。  

我尝试过的解决方案:

我尝试使 BLE 优先级高于海关堆栈优先级、但没有改变。

我尝试在 syscfg 中配置平衡模式、但它也没有解决我的问题。

Question:

Q1: 几乎一直处于 Rx 模式的自定义堆栈能否与 BLE 配合? DMM 应该中断 Rx 操作以传输 ADV 吗?

Q2:我是否需要在 EasyLink 中配置(在 syscfg 或通过函数进行配置)/实现某个东西以允许与其他堆栈进行合作?

Q3:如果我的自定义堆栈可以与 BLE 配合使用、对于如何解决我的问题、您有什么解决方案吗?

此致

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

    尊敬的 Jakub:

    到目前为止您的 RX 命令是如何配置的? 它是否可抢占(bEnaCmd 设置为"1")以及它是否设置为在给定的时间后超时(EndTime 配置为某个值)? 您可以在技术参考手册(swcu185e.pdf)的第25.3.2.5.1节中了解有关这些触发条件的更多信息

    关于您的问题:

    Q1:为了传输 BLE ADV、您一定应该中断 RX。 请设置应用程序策略设置和状态。

    Q2: 还请根据您希望优先的堆栈设置 DMM 权重。

    以下是有关它的一些提示: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/962414/lpstk-cc1352r-proprietary-rf-cmd_fs-cmd_prop_tx-scheduling-with-dmm-api

    此致、

    Arthur

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

    感谢您的答复、Arthur。

    所以我的 RX 命令是在 EasyLink 中配置的。 回复后、我将 bEnaCmd 更改为"1"、并为我的 Custom Stack 放入500ms rxTimeout (在 SYSCFG 中)。 发生这些更改后、RX 在500ms 后以"Timeout Status"关闭、但只住一段时间、因为自定义堆栈在知道 RX 已关闭后立即开启、使 RX 重新开启。 在休息期间、BLE 随机传输 Adv、一个几个中断(在示波器上看到)。

    我还访问了 SimpleLink Academy for DMM、并在 SimpleLink Academy 的基础上实施了 app - DMM:BLE + rfEchoRx、其中 rfEchoRx (prop RF)一直处于 RX 模式、直到终止(例如接收到的数据包或终止)。 该解决方案的工作原理与我的方案类似、因此 rfEchoRx 占用无线电、而 BLE 在给定时间抢先一次。 我看到这个解决方案与我的解决方案的主要区别在于调度无线电命令的功能。 DMM:BLE + rfEchoRx 使用 RF_runScheduleCmd、而 EasyLink 使用 RF_ScheduleCmd。

    问:描述差异是否是一个问题?

    此致

    雅各布

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

    尊敬的 Jakub:

    也许 Rf_runScheduleCmd 在命令完成前实际阻塞的事实、与会立即返回的 RF_ScheduleCmd 不同、会使解决方案在这种情况下起作用。 这一切都取决于应用逻辑。

    此致、

    Arthur