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.

[参考译文] CC1310:如何通过跳频功能动态选择要在 TI 15.4网络中的收集器和传感器节点上使用的通道?

Guru**** 2484615 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1189635/cc1310-how-to-dynamically-select-channels-to-use-on-collector-and-sensor-nodes-in-ti-15-4-network-with-frequency-hopping

器件型号:CC1310

您好!

收集器/传感器节点示例代码中的默认设置似乎表明、我们应该将 FH_ASYNC_CHANNEL_MASK 中的所有通道都包括在内 、如下代码所示:

// subg/config.h
/*!
 Channel mask used when CONFIG_FH_ENABLE is true.
 Represents the list of channels on which the device can hop.
 The actual sequence used shall be based on DH1CF function.
 It is represented as a bit string with LSB representing Ch0.
 e.g., 0x01 0x10 represents Ch0 and Ch12 are included.
 */
#define CONFIG_FH_CHANNEL_MASK        { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
                                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
                                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF }

/*!
 List of channels to target the Async frames
 It is represented as a bit string with LSB representing Ch0
 e.g., 0x01 0x10 represents Ch0 and Ch12 are included
 It should cover all channels that could be used by a target device in its
 hopping sequence. Channels marked beyond number of channels supported by
 PHY Config will be excluded by stack. To avoid interference on a channel,
 it should be removed from Async Mask and added to exclude channels
 (CONFIG_CHANNEL_MASK).
 */
#define FH_ASYNC_CHANNEL_MASK         { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
                                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \
                                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF }

在测试过程中、我发现、如果我们按照 CONFIG_FH_CHANNEL_MASK 中的定义减少实际使用的通道数量、如下所示:

#define CONFIG_FH_CHANNEL_MASK        { 0x55,0x55,0x55,0x55,0x55,0x55, \
                                        0x55,0x55,0x55,0x55,0x55,0x55, \
                                        0x55,0x00,0x00,0x00,0x00 }

传感器节点加入网络所需的时间将显著减少、大致与实际使用的通道数成正比。  理论上、如果我们对不同网络使用不同的信道、即使这些网络在附近共存也是如此。 它们不会相互干扰。 我们还可以避免来自其他系统的干扰。

我的问题是:如何为不同的网络动态设置不同的信道? 是否应该将所有通道都包含在  FH_ASYNC_CHANNEL_MASK 中、即使我们实际上没有将所有通道用于跳频?  

请提供建议。

 提前感谢。

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

    尊敬的 Zhiyong:

    [引用 userid="192864" URL"~/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1189635/cc1310-how-to-dynamically-select-channels-to-use-on-collector-and-sensor-nodes-in-ti-15-4-network-with-frequency-hopping ]我们是否应该将所有通道都包含在  FH_ASYNC_CHANNEL_MASK 中、即使我们实际上并未将所有通道用于跳频?  [/报价]

    您可以选择节点跳过的信道。 您所做的似乎是执行此操作的正确方法。 您不需要包含所有通道。 堆栈在运行时不会出现跳频通道数量较少的问题。  

    [引用 userid="192864" URL"~/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1189635/cc1310-how-to-dynamically-select-channels-to-use-on-collector-and-sensor-nodes-in-ti-15-4-network-with-frequency-hopping "]我们如何为不同的网络动态设置不同的通道?

    https://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_4_20_02_07/docs/ti154stack/html/ti154stack/frequency-hopping-mode.html#parameters-controlling-the-unicast-channel-hopping-sequence-of-the-node

    一旦节点启动跳频序列、就无法更改该跳频序列。 您需要重置节点以更改跳频序列。 因此 、动态通道选择实际上是不可能的。  

    但是、您可以在 jdlc.c 中的 jdlc_init 中看到通道的设置位置。

    希望这对您有所帮助。  

    此致、

    SID