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:在 RGE 封装内的 DIO8引脚上有1Hz 输出?

Guru**** 2473260 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1402955/cc2340r5-1-hz-output-on-dio8-pin-in-rge-package

器件型号:CC2340R5

工具与软件:

根据数据表、我将在空项目中使用此代码在 DIO8到 DTB3引脚上产生1Hz 输出:

//...

/*
*在 Board_init ()之后添加以下内容;
*确保下方使用的 IOID 未被 PIN 或中的任何条目使用
*板级配置文件中的 GPIO 表。
*时钟源可以使用恒定 clockSrc 进行切换。
*/

// uint8_t clockSrc = 0xC;//对于 HF 晶体时钟除以8
uint8_t clockSrc = 0xF;//对于 LF 晶振时钟

//首先将输出驱动为低电平
GPIO_setConfig (8、GPIO_CFG_OUTPUT | GPIO_CFG_OUT_LOW);

//配置 IOC.IOC3.PORTCFG MMR 以选择 DTB
HWREG (IOC_BASE + IOC_O_IOC3)&&~IOC_IOC3_PORTCFG_M;
HWREG (IOC_BASE + IOC_O_IOC3)|= IOC_IOC3_PORTCFG_DTB;

//确保在 IOC 中选择 DTB 多路复用器(如果需要
//源时钟 IP)在 DTB0上被驱动时复位。
// ULLSEL 多路复用选择(选择 CKMD)
HWREG (IOC_BASE + IOC_O_DTBCFG)&=~IOC_DTBCFG_ULLSEL_M;
HWREG (IOC_BASE + IOC_O_DTBCFG)|= 0x1 << IOC_DTBCFG_ULLSEL_S;// 0x1将 CKMD 路由到 DTB3

//启用 IOC.DTBOE.EN0
HWREG (IOC_BASE + IOC_O_DTBOE)&&~IOC_DTBOE_EN3_M;
HWREG (IOC_BASE + IOC_O_DTBOE)|= IOC_DTBOE_EN3_EN;

//选择要在 DTB3上输出的时钟(CKMD)(DTB[0])
HWREG (CKMD_BASE + CKMD_O_DTBCTL)且=~CKMD_DTBCTL_CLKSEL_M;
HWREG (CKMD_BASE + CKMD_O_DTBCTL)|=(clockSrc)<< CKMD_DTBCTL_CLKSEL_S;

//启用 DTB 输出
HWREG (CKMD_BASE + CKMD_O_DTBCTL)并且=~CKMD_DTBCTL_EN_M;
HWREG (CKMD_BASE + CKMD_O_DTBCTL)|= CKMD_DTBCTL_EN;

//...

这段代码中有什么问题? 我无法生成1Hz 输出。

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

    您好!

    您是否看到任何输出信号? 如果是、您会看到什么输出信号?

    请注意、时钟信号的 DTB 路由是到内部时钟信号的直接线路、因此可能没有时钟分频。

    如果您需要1Hz 的信号、我建议创建一个计时器例程。

    谢谢!
    Toby

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

    感谢的答复,没有信号,我能够观察到示波器。

    我希望1Hz 输出来测量低频时钟的 ppm。

    为此、您能否提供指导或分享一些资源?

    我使用过此 https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_7_20_00_29/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/debugging-index-cc23xx.html#debugging-lf-hf-clock-output 、但未能实现任何目标。

    我需要通过 DTB12将1Hz 输出到 DIO18。

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

    如果您想要进行 PPM 测量、则也可以使用更高的频率进行测量。 无论输出频率是多少、都将显示相同的 PPM 误差。

    如果将 clkSrc 设置为0xF、您可以首先确认是否可以在 DIO19上看到输出?

    这应该是基于 LFXT 的时钟、因此输出信号应~32kHz。

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

    感谢您的答复。

    我可以在 DIO19上观察到信号,但在 DIO18上没有。为什么会发生这种情况?

    我已经在 DIO18上尝试了高频和低频、但在两种设置上均未观察到信号。

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

    并非所有引脚都支持输出内部时钟。

    从数据表中可以看到、DIO19 CAN 多路复用到 DTB0、而 DTB0能够支持输出内部时钟。

    DIO18不复用至 DTB0。

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

    感谢您的答复。

    这意味着、我无法通过 DIO18输出时钟信号、因为它不会多路复用至 DTB0。

    如果上面的行正确、那么我应该选择 DIO19输出时钟信号、因为它可以多路复用至 DTB0。

    等待一个富有成果的反应。

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

    是的、是这样。

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

    感谢您的答复。

    DIO19能够采用 RKP (5x5)封装提供时钟输出并多路复用为 DTB0。

    但是、在 RGE(44x4)封装中、我找不到多路复用为 DTB0的任何 DIO 引脚。 以便我可以通过该引脚输出时钟信号?

    那么、在 RGE (4x4)封装中、时钟输出应该考虑什么 DIO 引脚?

    等待一个富有成果的反应。

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

    感谢您分享有关您的用例的更多详细信息。

    我将在3个工作日内查看并提供更新。

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

    感谢您的答复。

    等待富有成效的反应。

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

    尊敬的 Rishabh:

    我建议创建一个单独的帖子(并参考此帖子)、请求通过哪个引脚来启用您在相应器件封装上的功能。

    谢谢!
    Toby