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.

[参考译文] CC2652R:鼠标比较事件发送到传感器控制器

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1323874/cc2652r-rat-compare-event-sent-to-sensor-controller

器件型号:CC2652R
主题中讨论的其他器件:SysConfig

您好!

我会使用传感器控制器以16kHz 的频率进行 ADC 测量、我会使用传感器控制器中的计时器0来控制这些测量的时序。 然后通过无线电报告数据、但接收器需要特定 ADC 测量的时间戳、它不需要每次测量的时间戳、但在某些无线电事件中、我需要知道传感器控制器计时器0的当前时间。

为了解决这个问题、我尝试了创建一个 RAT 比较事件并通过事件结构将其发送到传感器控制器、但收效甚微。 如果有可能、我想知道如何操作。

我的第二次尝试是使 RAT 比较事件切换 GPIO 引脚、然后在传感器控制器中配置引脚更改中断、以便保存时间戳。 但是、我无法从无线电域切换引脚、下面提供了我的配置和设置代码。 由于计时问题、我不想使用回调、因为主内核可能很忙并引入延迟。

static RF_RatConfigCompare channelConfig;
static RF_RatConfigOutput outputConfig;

bool radio_sample_enter(RF_Handle rfHandle, RadioObj_t *radioObj) {

    RF_RatConfigCompare_init(&channelConfig);
    RF_RatConfigOutput_init(&outputConfig);
    outputConfig.mode = RF_RatOutputModeToggle;
    outputConfig.select = RF_RatOutputSelectRatGpo7;    //note: channel 1 is reserved if sync word is used in RF
    channelConfig.callback = 0;
    channelConfig.timeout = radioObj->nextPackage;      //trigger the RAT event when the package is expected to be received
    channelConfig.channel = RF_RatChannelAny;
    ratHandle = RF_ratCompare(rfHandle, &channelConfig, &outputConfig);
    
    return true;
}

为了在发生比较事件时使 GPIO 引脚切换、上面的代码缺少什么;我应该期望哪个引脚切换? 我在示波器中查看了我的所有引脚、但这些引脚都没有响应此配置、并且在描述哪些引脚可由 RAT 通道控制的数据表中找不到引脚排列。

此致

亚历山大

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

    尊敬的 Alexander:

    您的代码不会显示在何处  使用 GPIO TI 驱动程序来配置/多路复用有效 IO 引脚至 RFC GPO 信号。  否则、您将不会观察到任何物理 IO 上的射频操作。  您可以参阅 rflib 文档的"访问无线电计时器"部分

    如果不能完全了解预期应用、可能仍有一种更简单的方法 来同步 SCS 和 RF 应用。  请参阅 SCS 文档的固件框架说明部分

    此致、
    瑞安

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

    您好、Ryan、

    感谢您的快速回答、您提供的资源主要解答了我的第二个问题。 我现在可以看到 GPIO 引脚以我的预期频率进行切换、不过、似乎还有另一个信号与 GPOCTL2交互。 我仅看到100 us 的短脉冲、这是预期切换的情况、这些脉冲在预期切换之间发生的频率太高。 在读取您提供的资源时、我看到了以下覆盖项:

    // Map RatGpo3 to one of four intermediate doorbell signals.
    // This has to be done in the override list in order to take permanent effect.
    // The override list can be found in the RF settings .c file exported from
    // SmartRF Studio.
    // Attention: This will change the default mapping of the PA and LNA signal as well.
    #include <ti/devices/[DEVICE_FAMILY]/inc/hw_rfc_dbell.h>
    static uint32_t pOverrides[] =
    {
        HW_REG_OVERRIDE(0x1110, RFC_DBELL_SYSGPOCTL_GPOCTL2_RATGPO3),
        // ...
    }

    当他们说 LNA 和 PA 也将重新映射时、是自动完成还是需要手动重新映射?

    我似乎达到了这个帖子的字符极限,我将在下一个帖子中附加我的当前代码。

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

    至于我的第一个问题、通过引脚改变信号对于我的应用来说不是最理想的。 我真正想要的是在 SCS 计时器0中有一个捕获事件、由 RFC 中的接收事件触发。 是否可以在该处理器中进行配置?

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

    BLE5-Stack 调试指南 中有一节介绍了如何 调试射频输出 、该部分讨论了将 LNA/PA 信号映射到 GPIO 的问题。  

    我不知道射频有任何直接 警报或被 SC 通知的方式、主要核心应用程序将需要促进此交换。    传感器控制器任务和系统 CPU 应用可以通过  AUX RAM 中的共享存储器交换时间戳数据。

    此致、
    瑞安