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.

[参考译文] CC2340R5:构建等效于 TIDA00759、BLE PIR 传感器

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1301556/cc2340r5-building-equivalent-of-tida00759-ble-pir-sensor

器件型号:CC2340R5
主题中讨论的其他器件: CC2650HDC2080、HDC3020 CC2652R7

TIDA00759是使用 CC2650的10年纽扣电池 PIR。 我想使用 CC2340R5重现此示例。   TIDA00759使用 SmartRF Studio 生成了数据包框架。 我曾尝试对 CC2340R5执行同样的操作、但当我从 SmartRF 进行代码导出时、我不知道如何让它在生成的代码中包含 BLE 数据包。 我使用的是 SmartRF Studio 8。  该代码片段位于 CC2650代码中、如何在 CC2340R5代码中获取该代码?

BTW 实际目标是温度/湿度传感器。 我们来看看 HDC2080和 HDC3020。 其他东西是否会更省电? 应用是 HVAC。

// BLE ADV NC 
RFC_CMD_BLE_ADV_NC_t RF_cmdBLEAdvNC =
{
.commandNo = 0x1805、
.status = 0x0000、
.pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
.StartTime = 0x00000000、
.startTrigger.triggerType = 0x0、
.startTrigger.bEnaCmd = 0x0、
.startTrigger.triggerNo = 0x0、
.startTrigger.pastTrig = 0x0、
.condition.rule = 0x1、
.condition.nSkip = 0x0、
.channel = 39、
.whitening.init = 0x0、
.whitening.bOverride = 0x0、
.pParams = 0、
.pOutput = 0、//插入适用的指针:(uint8_t*)&xxx
};
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如何实现 BLE 优势 地址、数据信息选项是否起作用? 我无法让他们做任何事情。

    另外、Smart RF Studio 无法检测到 Digikey 于11月30日发送给我的 CC23405 Rev A。 则会从 CCS 运行。 为什么 DigiKey 发送这些消息、论坛上的消息说现在不支持它们? 我的 XDS110ET 是版本 B。

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

    我想我理解现在的情况、SmartRF Studio 8  Code Export 生成使用 ti/drivers/RCL 的代码。 按预期运行。 在数据包 TX 下、只有随机、十六进制、文本有效负载选项。 SmartRF Studio 8 v1.0.1似乎缺少针对 TX of BLE 广播包的选项-这是 我需要的选项。

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

    您好!

    感谢您与我们联系。 我们将对此进行研究、并尽快与您联系。 要说明一点、您是希望使用 SmartRF 提供的自定义射频设置来实施 BLE 项目、还是计划在 proref 示例中实施 BLE 数据包?

    此致、

    1月

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

    我认为 rfPacketTx NoRTOS 示例是 CC2340 SDK 中最接近的示例。 为了节省功耗 、TIDA00759不使用 BLE 堆栈。 相反、它只是使用低级数据包驱动程序直接制作 BLE 广播数据包。  

    我想做相同的事情、但改用 CC2340。 因此 CC2340处于深度睡眠状态、等待温度传感器的 IRQ。 然后它唤醒并发送 BLE 广播数据包。  传感器仅传输数据。   TIDA00759使用的方案极低功耗、因为该方案避免了使用 BLE 堆栈和 RTOS。  

    我现在处于查看 rfPacketTx.c 的阶段、并尝试弄清楚如何说服它发送 BLE 广播包。

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

    这就是我需要的基本操作、如何 将此函数从 TIDA00759 (CC2650)转换为 CC2340r5的 RCL? 我找不到任何有关如何使用 RCL 制作 BLE 广播包的示例。 执行此操作的代码是在 OneLib 内、因此我看不到它。 我认为我应该能够获取 SmartRF Studio 来为我生成它、但没有该选项。

    静态空 sendPacket (uint8_t data) 
    {
    uint32_t time;

    /*初始化无线电参数*/
    rf_params_init (&rfParams);

    /*构造有效载荷*/
    数据包[0]= 07;
    数据包[1]= 59;
    packet[2]=数据;

    /*配置数据包*/
    adv_params.advLen = payload_length;
    adv_params.pAdvData =数据包;
    adv_params.pDeviceAddress =(uint16_t*)&radioDevAddr;
    adv_params.endTrigg.triggerType = trig_never;

    #if packet_type == ADV_IND_TYPE
    /*为 Adv IND 数据包配置无线电*/
    RF_cmdBLEADV.startTrigg.triggerType = TRIG_ABSTIME;
    rf_cmdBLEAdv.startTrigger.pastTrig = 1;
    RF_cmdBLEAdv.StartTime = 0;
    RF_cmdBLEAdv.pParams =(uint8_t*)&ADV_params;
    #else
    /*为 ADC 不可连接数据包配置无线电*/
    RF_cmdBLEAdvNC.startTrigger.triggerType = TRIG_ABSTIME;
    RF_cmdBLEAdvNC.startTrigger.pastTrig = 1;
    RF_cmdBLEAdvNC.StartTime = 0;
    rf_cmdBLEAdvnC.pParams =(uint8_t*)&ADV_params;
    #endif

    /*请求访问对讲机*/
    rfHandle = rf_open (&rfObject、&rf_prop、(RF_RadioSetup*)&RF_cmdRadioSetup、&rfParams);

    /*设置频率*/
    RF_postCmd (rfHandle、(RF_Op*)和 RF_cmdfs、RF_PriorityNormal、NULL、NULL);

    /*配置数据包传输时间*/
    Time = RF_getCurrentTime ();
    时间+= packet_interval;

    #if packet_type == ADV_IND_TYPE
    /*发送 Adv IND 数据包*/
    RF_cmdBLEAdv.StartTime =时间;

    RF_Event 结果= RF_runCmd (rfHandle、(RF_Op*)和 RF_cmdBLEAdv、RF_PriorityNormal、NULL、NULL);
    #else
    /*发送 ADC 不可连接的数据包*/
    RF_cmdBLEAdvNC.StartTime =时间;

    RF_Event 结果= RF_runCmd (rfHandle、(RF_Op*)和 RF_cmdBLEAdvNC、RF_PriorityNormal、NULL、NULL);
    #endif

    /*关闭无线电以节省电力*/
    rf_close (rfHandle);

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

    Jon、您好!

    通常、我不建议直接通过 RCL 仿真 BLE 功能。 我想问您是否可以考虑解运行 based_ble 等示例工程并将器件配置为仅发送广播? 此项目可在 \examples\rtos\LP_EM_CC2340R5\ble5stack。

    如果可能、请告诉我。

    Br、

    大卫。

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

    我已经安装了它、并且正在运行它。  但这意味着我必须让 FreeRTOS 和 BLE 堆栈运行、这样将会消耗更多的电量(即电池寿命)。 例如、我不希望 BLE 堆栈打开接收器、该设计仅传输数据。   

    我非常喜欢这种极低功耗的设计、

    支持蓝牙智能并可实现10年纽扣电池寿命的低功耗 PIR 运动检测器参考设计

    该设计只是唤醒、发送广播数据包、然后返回到深度睡眠模式。 无 BLE 堆栈、无 RTOS、

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

    您好、Jon。

    我将了解一下、并在2-3个工作日内与您联系。

    谢谢。
    托比

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

    似乎以前曾提出过此问题、但答案中没有解决方案。

    e2e.ti.com/.../cc2340r5-rcl_command_submit-and-rcl_command_pend-returns-0x8a

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

    是的、感谢参考其他相关帖子。
    这是一个类似的帖子、但有一些差异。 他们尝试使用非 BLE 堆栈项目完成 BLE RX。
    根据我的经验、执行 TX 应该比执行 RX 更容易、所有方面都相同。

     https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_7_20_01_10/docs/proprietary-rf/proprietary-rf-users-guide/proprietary-rf-guide/migration-cc23xx.html 上提供了迁移指南

    具体而言、对于 BLE、以下是 BLE 命令: C:\ti\simplelink_lowpower_f3_sdk_7_20_01_10\source\ti\drivers\RCL\commands\ble5.h
    这可用作上述迁移指南的补充。

    前面应该提及的免责声明中指出、CC2340和 CC26xx 是不同的器件系列、并且具有不同的无线电架构;从非 BLE-Stack 组件的角度来看、不能保证能实现1-1的兼容性。

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

    我是否可以使用通用 rfPacketTx 示例发送 BLE 广播数据包? 我使用了 BLE 通用设置、然后对数据尝试了许多组合。  我无法在 BT Sniffer 中显示任何内容。 调制需要调整还是类似的事情? 我没有射频测试设备来了解它是如何传输的。

    这应该是通道39。  #定义频率         (2480000000U)

    从 通用 rfPacketTx 示例 代码获取 BLE 广播包就足以满足我的需求。 如果我需要自己构建数据包、没问题。

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

    如果执行以下操作、能否检查在 BLE 监听器上是否看到数据包:

      使用 针对 CC2340的 SmartRF Studio 8并使用 BLE PHY 执行"数据包 TX"测试。

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

    我使用的是 Rev A CC2340R5评估板、SmartRF Studio 8无法识别它。 我从其他消息中看到我需要版本 B。

    我敢肯定、该监听器正在工作、它正在从其他器件中拾取数百个数据包。 当我为 CC2340板运行 BLE 样片时、我可以看到这些。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是版本 A CC2340R5评估板,SmartRF Studio 8无法识别它。 我从其他消息中看到需要版本 B

    明白了、在这里、我建议购买一个与最新 SDK 兼容的 Rev B 板。

    我请求尝试使用 SmartRF Studio 8的动机是查看 BLE 监听器是否可以检测到从发出的 BLE 数据包(因此、据了解 BLE 监听器可以正常工作)。 如果可以通过 BLE 监听器检测到 SmartRF Studio 8数据包、则可以将从 SmartRF Studio 8导出的代码集成到 CCS 项目中、从而发送可由 BLE 监听器检测到的数据包。

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

    我已 直接从 TI 订购另一个 CC2340R5评估板。 对 DigiKey 两周前向我发送 Rev A 感到不满意。

    我认为从 SmartRF Studio 导出的代码已在7到8之间更改。 7中、它导出了生成 BLE 数据包所需的所有代码。 在8中、它只导出芯片的设置代码。  我曾尝试使用7来导出旧代码、但7中不支持 CC2340R5。

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

    你走了同样的路、这提示我写下初始问题。 我想用示例 RCL 代码发送一个 BLE 数据包。 所以我说…… 我可以使用  SmartRF Studio 为我生成它(适用于 CC2650)。 但是、当您使用 SmartRF Studio 8为 CC2340R5生成代码时、它不再生成 BLE 数据包代码。 和 CC2340R5在 SmartRF Studio 7中不受支持。

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

    我在末端使用 rfPacketTx 测试了 SmartRF Studio 8导出:使用导出的 SmartRF Studio 8设置加载 CC2340R5 Rev B 固件、我可以在 SmartRF Studio 7中传输单独器件可以检测到的数据包(CC2652R7 BLE 模式)。

    一旦拥有 Rev B 板、就应该能够实现相同的目标。

    要从 SmartRF Studio 8中使用的导出文件为 RCL_SETTINGS_GENERAL.c/h。

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

    我的评估板刚从 TI 新加坡发出、包装盒/包装袋上再次显示 Rev A。 订单号 T04721801

    它们可以升级到版本 B 吗?或者它是不是一个不同的芯片?

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

    它可以是采用最新器件(CC2340R5)的 Rev A 板(PCB)。

    您能否检查它是否能与 SmartRF Studio 8配合使用?

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

    运气差、运行方式与之前的电路板一样。 SmartRF Studio 8无法识别它、但 CC Studio 能识别。 有其他原因 Studio 8可能无法工作,例如驱动程序问题,但我没有任何其他方法来检查它。

      明天我将尝试使用 rfPacketTx 导出 rcl_settings_generic.c/h、看看会发生什么情况。

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

    SmartRF Sudio 看到了 XDS110、但无法将其打开。

    我尝试将  rcl_settings_generic.c/h 复制到 rfPacketTx、但在监听器上看不到任何内容。

    您能压缩项目并发送给我吗? 这将让我验证这些板是否实际使用了 SmartRF Studio 中的代码。

    电路板正常工作、我可以查看来自 CC2340R5 BLE 演示应用的数据包。

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

    E2E 社区成员、您好!

    感谢您在 E2E 论坛上提出有关 TI SimpleLink 器件的问题! 能够最好地回答您的询问的主题专家在假期不在办公室。 1月初返回后、他们将审查您的帖子并在24小时内提供初步回复。

    此致、
    1月

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

    我让 SmartRF Studio 能够与我的其中一个板协同工作。 问题是它无法在虚拟机上运行(我尝试了 KVM、VirtualBox 和 VMware)。 我借了一台 Windows 笔记本电脑、就能够在我的 BLE Sniffer 中看到 SmartRF Studio 发出的数据包。 这样即可验证硬件是否正常工作。

    我完全无法实现的是使用 RCL 通过源代码发送 BLE 广播包。  (无 RTOS、无 BLE 堆栈)。  我尝试了许多 RCL 命令组合、包括特定于 BLE 的命令组合。

        ctxAdvertiser = RCL_CtxAdvertiser_DefaultRuntime();
        txCmd = RCL_CmdBle5Advertiser_DefaultRuntime();
        txCmd.ctx = &ctxAdvertiser;
    

    我需要一个微小的工作演示、即将使用 RCL 发送 BLE 广播包、或者管理层将把我送回我们基于北欧的产品。 请说明如何在示例中启用 RCL 日志记录。

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

    附件是我之前提到的修改后的示例。

    这将启用 CC2340R5 --> CC2652R7 (可能适用于 SmartRF Studio 7中的任何 CC26xx 器件)。

    在接收侧、使用信道17 (2440 MHz)。

    e2e.ti.com/.../rfPacketTx_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_nortos_5F00_ticlang.zip

    它可以与7.20 F3 SDK 配合使用。

    如果只想运行固件:

    e2e.ti.com/.../rfPacketTx_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_nortos_5F00_ticlang.out

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

    谢谢、我可以看到使用此代码生成的数据包。 我将使用此代码对这种生成信标的技术进行扩展。

    同时、我一直在研究使用 FreeRTOS 和 BLE 堆栈的并行实施。 我无法使非连接的工作。 我将为此启动一个新主题。

    一旦两种方案都运行起来、我就要比较功率分布。