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.

[参考译文] TM4C1294KCPDT:DIVSCLK PQ4 MCU 引脚 102 无 MOSC、PIOSC、SYSCLK 分频输出

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1659047/tm4c1294kcpdt-divsclk-pq4-mcu-pin-102-no-mosc-piosc-sysclk-divided-output

器件 型号:TM4C1294KCPDT

您好:

为任何时钟源配置 divsclk 输出都不会产生信号。 晶体 MOSC 为 25MHz 和 SYSCLK 120MHz、而应用仅能正常工作、则不能提供 divsclk 输出。 我需要为另一个不含晶体的 MCU 提供 20MHz 时钟源、这真的应该毫不费力。

SysCtlClockOutConfig (SYSCTL_CLKOUT_SYSCLK | SYSCTL_DIVSCLK_EN、6);

然而、当 PQ4 配置为 GPIO 并向输出写入 1 时、它会将合并状态置为有效。  GPIO 是否有某种原因不能用作替代器件、或者数据表中是否遗漏了一种使其生成 DIVSCLK 的方法? 这同样的控制工作在 1294NCPDT 套板假阳具修订版 RA2 上,但它在 1294KCPDT 上没有做任何事情,也没有被列为 eratta。

image.png

 

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

    数据表指出 GPIO PQ4 输出需要 WPU、并且必须配置一个外设、最后一部分非常荒谬、因为它是时钟树的一部分(图 5-5)、而不是外设替代功能。 数据表仅提到、如果设置了 PQ4、则 NMI 源必须首先解锁引脚、与 GPIO PD7 相同、以用作模拟输入。  

    无论如何、在看到另一篇文章后、Charles 没有回答非常重要的一点、即需要弱上拉电阻才能在 PQ4 上获得信号输出。  

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

    您好 Genatco、  

    感谢您就此与我们联系。 根据数据表、它指出“DIVSCLK 寄存器中的 DIV 字段控制分频后的输出时钟频率。 选择 DIVSCLK 信号作为 GPIO 信号的备选功能、并且具有与第 1816 页的“电气特性“中列出的相同的 GPIO 继承电气特性。 这意味着 GPIO 需要执行正常的交替功能步骤、即启用端口 Q 时钟、AFSEL[4]=1、PCTL 字段 (PQ4=7) 和 GPIODEN[4]=1。 DEN 清除后、数字驱动器会关闭、并且没有任何输出。  

    如果通过 GPIOPadConfigSet (...、GPIO_PIN_TYPE_STD_WPU) 设置 WPU、该设置会产生副作用。 您能否将焊盘类型从 WPU 切换到 Plain GPIO 并设置 DEN 来确认是否是这种情况?

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

    你好 Joo。

    PQ4=7
    的 PCTL 字段

    当引脚 7 被分配 NMI 时、似乎需要这种处理。 首次置位时、引脚解锁功能实际上会为 DIVSCLK 禁用 PQ4。 文本是混合苹果和橙子、无需解锁 PQ4 即可根据 PD7 (8) 分配的模拟输入的要求设置 (7)。   

    端口 Q 时钟已启用、AFSEL[4]=1

    我遗漏了这件事,因为它没有意义根据图 5-5 和文本措辞覆盖整个图 5-1

    您能否将 PAD 类型从 WPU 切换为 Plain GPIO 并设置 DEN 并确认是否出现这种情况?

    GPIOPadConfigSet (GPIO_PORTQ0_AHB_BASE、GPIO_PIN_4、GPIO_strength_8mA、GPIO_PIN_TYPE_STD_WPU);

    //GPIO_PIN_TYPE_STD

    需要使用引脚类型 8 匹配来将 DEN 置为有效、TYPE_STD (0x8) 在 PQ4 首次解锁或未首先解锁的情况下不会输出信号。

     由于 DEN 引脚类型 (STD) 可能会在没有 WPU 的情况下禁用 GPIO 输出、并且示波器探头上不存在 20MHz。 根据时钟树概述的区域、不应需要 AFSEL。 DIVSCLK 不是外设、因为它是时钟树的一部分。  

    如果确实必须为 AFSEL 分配 GPIO、图 5-5 应指示 DIVSCLK 块周围有制动器的斜坡区域代表外围器件。 因此、根据时钟树图 5-5 和图 5-1、文本没有逻辑意义。 我实际上从 C2000 数据表中得到了 WPU 尖端;当 DIVCSCK 连接到监控器输入时、GPIO 输出必须配置为 OD。  

    想知道将 GPIO 作为时钟输入连接到另一个 MCU 是否需要 OD?  我不喜欢 WPU 的想法、但只测试存在 20MHz 时钟源、而只有示波器探头怀疑 WPU 略微失真时钟波形。

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

    您好 Genatco、  

    是的、我认为表前的文本应该突出显示 PQ4、并说明 DIVSCLK 是单独的备用功能。 关于主时钟树图、在 DIVSCLK 周围画一个框以将其标记为引脚多路复用功能是一个公平的反馈、也值得一去。  

    关于 STD 和 STD_WPU 比较、两者之间唯一不同的位是 PUR。 一旦 AFSEL=1、PCTL=7 且 DEN=1、divsclk 功能就会驱动 PQ4 推挽。 弱上拉与强驱动器旁边的电气无关、因此无法制造 20MHz 方波、如您所注意到、只会略微失真。 关于这一点的快速问题、对于 STD 运行、您是否设置了 AFSEL 位? 此外、为了进行调试、您可以为每个运行的 PQ4 读取 GPIOAFSEL、GPIOPCTL、GPIODEN 和 GPIOPUR?

    对于 OD 问题、OD 将信号拉低、高电平则来自上拉电阻器。 但是、该电阻器加上迹线和输入电容可以形成一个能够提供缓慢上升沿的低通滤波器。 这种缓慢的时间可以吃很多到 50ns 期间。 您找到的技巧适用于需要 OD 的共享/有线“或时钟节点或监控器输入、在我们的场景中并非如此。   

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

    另外、需要注意的是、锁定/提交保护仅适用于 JTAG/SWD 引脚和两个特殊的“默认至非 GPIO“引脚、即 PD7/NMI 和 PF0。 因此、PQ4 是普通引脚、无需经历锁定/提交流程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    std run、您是否设置了 AFSEL 位?

    为 HW 设置 GPIO 似乎可以设置 AFSEL 位、该位也是缺失的内容、但如果没有 WPU、仍然无法产生信号。

    PCTL=7

    PCTL=7 是由 DIRECTION ModeSet 还是 PinConfigure 宏设置? 早期的 Tivaware v2.1.71、v2.1.111 或 v2.1.4.178 可能未正确设置该功能。 因此、当引脚未连接到任何东西时、是否需要 WPU? 我将在没有 WPU 的情况下对其进行测试、因为它现在为另一个 MCU 计时。

    GPIOPinConfigure (GPIO_PQ4_DIVSCLK);


    GPIODirModeSet (GPIO_PORTQ_BASE、GPIO_PIN_4、GPIO_DIR_MODE_HW);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将在没有 WPU 的情况下对其进行测试、因为它现在为另一个 MCU
    计时

    每当从 Q4 中移除 WPU 时、时钟控制的 MCU 就会停止工作(停止)。 另一个奇数点是在将 Q4 引脚连接到另一个 MCU 单个 XTAL 输入之后;示波器探头直流耦合无法再读取 20MHz、在千赫范围内。 将示波器通道切换为交流耦合、然后将 20MHz 转换回、并且带有 2mA 焊盘的非常干净的正弦波被驱动到另一个 MCU 中。 显然、即使在 8mA 焊盘驱动强度下、Q4 输出也不处于 TTL 电平。

    当 Q4 引脚未连接时、示波器探头直流耦合的数据很容易读取 20MHz、这一点甚至很奇怪。