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.

[参考译文] CC3135MOD:CC3135MOD

Guru**** 2560390 points
Other Parts Discussed in Thread: CC3135MOD, CC3135, CC3100

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1018507/cc3135mod-cc3135mod

器件型号:CC3135MOD
主题中讨论的其他器件: CC3135CC3100

我正在使用 CC3135MOD。 我想通过 UART 协议将 CC3135MOD 与 STM32L4相连。 我需要有关如何开始实施 SDK 的指导、因为我看到 CC3135SDK 在函数中仅使用 SPI。 那么、请建议我如何使用 UART 开始实施? 因为我是 TI 论坛的新成员。  请建议参考文档、SDK 等、以便我可以快速开始开发的进一步步骤。  

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

    您好、Sudep、

    您使用 UART 的原因是什么? SPI 的使用将会更快、更简单。 我们甚至提供了移植指南、其中演示了如何通过 SPI 将 CC31xx 器件与 STM32L4搭配使用: https://www.ti.com/lit/swra704

    如果必须使用 UART、请查看 NWP 编程人员指南中的第19节"移植主机驱动程序"以及第3.4节"主机接口"。 我们目前没有任何使用 UART 的演示。

    此致、

    Sarah

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

    您好、Sarah、

    感谢您的宝贵支持。  实际上、您是对的、我应该使用 SPI 而不是 UART、因为 SDK 可用、但如果我没有提供与主机控制器的 HOST_INTR 连接、请告诉我。 因为我的硬件是定制的。 我只有 HOST_SPI_CLK、HOST_SPI_DIN、HOST_SPI_DOUT、HOST_SPI_CS_N 和 HIB_N 引脚可供使用、因为它们连接到 STM32L4。 是否可以使用使用使用 SPI 的 SDK、因为它没有 HOST_INTR 引脚。 请建议。  如果有、请提供参考链接。 等待您的回复。 再次感谢。

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

    您好、Sudep、

    是的、需要中断(也称为 IRQ)引脚。 这用于向主机 MCU 发出来自网络处理器的异步事件警报。 但是、如果您没有将主机 MCU 置于低功耗状态、则可以使用任何可用的 GPIO。

    此致、

    Sarah

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

    您好、Sarah、

    感谢您的回复。 这对我很有帮助。  实际上、我将设计您向我建议的硬件。 实际上、在我当前的硬件中、CC3135已经焊接、其 IRQ 引脚不可用于连接任何 GPIO、因此可能是我需要重新设计硬件才能按原样使用 SDK。 同时,我还需要您提供一个帮助,您是否有任何基于 UART 的可用示例? 如果您有、请向我提供参考。 再次感谢您。  

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

    您好、Sudep、

    我们目前没有 适用于 CC3135的任何 UART 示例。

    此致、

    Sarah

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

    您好、Sarah、

    我可以使用 CC3100 UART 示例通过必要的更改来为 CC3135提供参考吗?  

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

    您好、Sudep、

    您可以将其用作参考、但 CC3100移植层将不能与 CC3135正常配合使用。 请注意、RTOS/非 操作系统实现已发生很大变化。

    此致、

    Sarah

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

    谢谢 Sarah、

    感谢您的指导。 对我来说真的很有帮助。 我将以3100 UART 示例作为参考,同时我还将更改我的硬件以使用接口 SPI,以便我可以使用 SDK。 您能告诉我 SPI 和 UART 算法的功能是否相同? 因此、即使 CC3100的移植层不同、我也可以使用 CC3135SDK 的功能逻辑参考 、但会尝试使用 UART。 我可以这么做吗?

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

    您好、Sudep、

    SPI 和 UART 之间的大部分移植层是相同的、但请注意 IRQ 处理程序的使用方式差异。 我之前可能忘了提及它、但  NWP 程序员指南的附录 D 中有更多信息

    此致、

    Sarah

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

    您好、Sarah、

    正如我告诉过您的、我现在已经开始使用 SPI 进行 cc3135mod 工作了。 我使用的是 stm32l4系列 MCU。 正如我从移植指南2.1部分中看到的、它明确提到我应该使用 SimpleLink Wi-Fi CC32xx SDK for ARM M4、因此我已经阅读了 cc_PAL.c、cc.pal.h 和 user.h 文件。  

    在移植指南中、我们给出了要启用和禁用 N2HIB 信号、

    空 NwpPowerOn (空)

    HAL_GPIO_WritePin (HOST_NHIB_PORT、HOST_NHIB_PIN、1);

    空 NwpPowerOff (空)

    HAL_GPIO_WritePin (HOST_NHIB_PORT、HOST_NHIB_PIN、0);

    /*等待10msec */ HAL_DELAY (10);

    但在 SDK 中、我看到逻辑是相同的、但写入方式不同、如下所示、  

    空 NwpPowerOn (空)

    /*使1.32 ECO 退出复位*/
    HWREG (NWP_SPARE_REG_5)&=~NWP_SPARE_REG_5_SLSTOP;

    /*清除主机 IRQ 指示*/
    HWREG (N2A_INT_ACK)= 1;

    /* NWP 唤醒*/
    HWREG (WAKENWP)= WAKENWP_WAKEREQ;

    //取消屏蔽主机中断
    NwpUnMaskInterrupt();


    空 NwpPowerOff (空)

    volatile unsigned long apps_int_sts_raw;
    volatile unsigned long sl_stop_ind = HWREG (NWP_SPARE_REG_5);
    易失性无符号长整型 NWP_LPDs_WAKE_cfg = HWREG (NWP_LPD_WAKEEPCFG);
    _SlTimeoutParams_t SlTimeoutInfo ={0};

    if (((NWP_LPDs_WAKE_cfg!= NWP_LPD_WAKEUPCFG_APPS2NWP)&&//检查 NWP POR 条件- APPS2NWP 是复位条件*/
    !(sl_stop_ind & NWP_SPARE_REG_5_SLSTOP))/*检查是否已执行 sl_stop *

    HWREG (0xE000E104)= 0x200;//启用带外中断,这不是唤醒源*/
    HWREG (A2N_INT_TRIG)= 0x1;/*触发带外中断*
    HWREG (WAKENWP)= WAKENWP_WAKEREQ;//唤醒 NWP *

    _SlDrvStartMeasureTimeout (&SlTimeoutInfo、NWP_N2A_INT_ACK_TIMEOUT_msec);

    /*等待 NWP 清除 A2N_INT_TRIG 以指示其处于唤醒状态并准备好关断。
    *轮询直到 APP->NWP 中断被清除或超时:
    *对于 Service Pack 3.1.99.1或更高版本,此条件在不到1毫秒内即可满足。
    *否则、在某些情况下、可能需要长达3000毫秒的等待时间。 *

    APPS_INT_STS_RAW = HWREG (A2N_INT_STS_RAW);
    while (!(apps_int_sts_raw 和0x1))

    if (_SlDrvIsTimeoutExpired (&SlTimeoutInfo))

    中断;

    APPS_INT_STS_RAW = HWREG (A2N_INT_STS_RAW);

    WAIT_NWP_SHUTDOWN_READY;

    /*清除带外中断、由 NWP 确认*/
    HWREG (A2N_INT_STS_CLR)= 0x1;

    /*屏蔽主机中断*/
    NwpMaskInterrupt();

    /*切换到 PFM 模式*/
    HWREG (ANA_DCDC_PARAMS0)&=~ANA_DCDC_PARAMS0_PWMOVERRIDE;

    PG1.32器件的/* sl_stop ECO *
    HWREG (NWP_SPARE_REG_5)|= NWP_SPARE_REG_5_SLSTOP;

    /*等待20 μ s、这是开-关周期之间的最短时间*/
    USEC_DELAY (20);

    我是否需要根据  移植指南第2.1节中提到的已为 N2HIB 引脚设置的 GPIO 来更改 cc_PAL.c 文件中的函数?

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

    我忘了说我刚刚开始使用 TI SDK、因此如果可能、我想使用非 RTOS 平台。  

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

    您好、Sudep、

    CC32xx SDK 中的移植层特定于 CC3220/CC323x 应用 MCU 电源和复位管理。

    您的移植层特定于您的主机应用 MCU。  要打开/关闭 CC31xx NWP、您应该只需要 根据 CC31xx 数据表规格进行 NHIB 切换。

    此致、

    Sarah

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

    您好、Sarah、

    谢谢你。 我明白了。 意味着我只需在 cc_pal.h、cc_pal.c 和 user.h 中更改即可根据我的 MCU 进行移植?

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

    是的、没错。