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.

[参考译文] TM4C129XNCZAD:无法在 PQ4处测量120MHz 系统时钟

Guru**** 2394295 points
Other Parts Discussed in Thread: TM4C129XNCZAD

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/672843/tm4c129xnczad-unable-to-measure-120mhz-system-clock-at-pq4

器件型号:TM4C129XNCZAD

您好!

我将 TM4C129XNCZAD 配置为以120MHz 运行、并尝试通过 PQ4输出此时钟速度。 但是、即使通过寄存器的设置是正确的、我也无法获得它。 我可以看到的最大频率为60MHz。 我想知道这是否是 GPIO 速度的限制?

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

    据信、至少在系统时钟和信号输出之间施加了一个" 2分频"电路。   我要补充的是、MCU 输出级的能力(不太可能)支持120MHz。   (对于其他供应商器件也是如此。)

    将 MCU 的计时器配置为 PWM 输出-生成最高(可用)的可编程频率输出-尽管我怀疑它可以达到您报告的60MHz。   (我打赌30MHz (4倍)是定时器生成的 PWM 输出可以维持的最高频率。)

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

    您应该在这里与一些非常"经验丰富"的编程人员交谈、他们只能获得几 MHz 的输出 -您可以获得60 MHz 的输出。 比他们好10倍。 我稍后将在这里链接他们的帖子。

    至于您的问题、请尝试查看芯片是否支持输出主时钟并从此处开始。

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

    为保护您提到的那些程序员(我不相信我属于该组)、他们 的"最大频率"。 GPIO 输出受到"可能/合法"产生以下结果的愿望的限制:

    • A (合理)形状/电平输出
    • 同时保持 MCU 为正常/习惯 MCU 任务提供服务的能力

    当前海报"高速、产出成就"的(真实)原因不是  他利用"仅硬件专用机制"的结果、而是存在于'129系列器件中?  (不包括'123.)

    您发现的"经验"方法"确实解释了"最快的 GPIO 引脚切换、同时采用了"不可回避、级联、ASM、 "位开启-位关闭"指令-"不允许"实际 MCU 功能。    

    您的方法和 此处引用的方法是否都有其位置?    (即不同目标(通常)需要(有些)不同的方法...)   

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

    实际上、我正在尝试使用 CLKOUT 功能来验证我已配置的系统频率。 我很乐意同意您的看法、即系统时钟和信号输出之间存在一个" 2分频"电路。 但是、如果 TI 的某个人能够帮助验证这种看法、我会更有信心。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢-谢谢。

    您可能会注意到2个关键事实:

    • 这个供应商-不是我-将我之前的帖子标记为"建议的答案"。   (我绝不会"为自己投票")
    • 更常见的系统时钟"简化测量"方法(适用于'123和'129)是采用(任何) MCU 计时器在其"PWM 输出模式"-提供一个"分频"-系统时钟的高精度"副本。   重要的是-由于此信号的频率较低(但分频因子是积分和已知的)、因此这种方法不会对系统时钟硬件施加(添加/不需要)负载-这可能会对这种频率测量产生负面影响。

    这种"更通用"的测量技术可从"其他"扩展到 ARM MCU、并且相信这种"基础广泛的通用解决方案"提供的价值比大多数(单一供应商)实现的价值更高。

    如果该供应商"偶然发现"此主题-如果他们评论"存在不同和/或扩展的 MCU 硬件资源"-仅施加在引脚"PQ4"上-使其能够在更高的频率下进行切换、这将很有用。    (远远超出所有其他 MCU GPIO 的输出能力!)

    应该注意的是、这种"PQ4测量方法"使用任何 MCU 计时器受限得多、也就是说、"不清楚这样的高频- PQ4输出-是否可以在不存在"不良影响"的情况下持续下去!  (受该引脚的影响-或者(更糟糕的) MCU 本身!"   这样的"全速前进"输出肯定会增加 MCU 功耗-而(其他)"冰山"可能会变得很低! (笑声) 请注意 HMS Titanic、"遇到了(不想要的)"地下命运"-同时(也)@"无防护、全速"...)  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用足够大的分频器、使其不会达到60MHz 限制。 如果您观察到6x 分频器上的20Mhz DIpsclk、则您知道系统时钟为120MHz。

    出于您的目的、您无需在1倍分频器上运行 divsclk。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Chee Chin 和 CB1:

    我可以看到,需要进一步澄清这一问题,希望以下评论将有助于做到这一点。

    1) 1) GPIO 设计将输出限制为60MHz、因为它在60MHz 以上不能承受。 如果您想确认它以120MHz 运行、请尝试不同的分频器、您将会很容易地看到它。 但很清楚、它不是一个除以2的电路、否则所有输出都将被除以。

    请注意、PQ4引脚输出 DIVSCLK 信号、而不是系统时钟、DIVSCLK 不与系统时钟同步。 它旨在用作其他器件的时钟源、并且与器件中的其他信号没有时序关系。

    2) 2)我建议 CB1的帖子作为答案、因为我认为他关于使用定时器/PWM 方法的建议比 DIVSCLK 具有优势、因为前面提到了用于测量系统时钟以所需频率运行的同步方面。

    3) 3)关于 CB1的问题-我不是很清楚如何构建 PQ4的 GPIO、 但我觉得可以放心地说、它之所以能够正常工作、是因为它连接到 DIVSCLK 输出、所以输出信号不需要外设方面的处理、也不需要 CPU 处理。 它只是一个原始时钟信号、时钟和 GPIO 之间有一个简单的分频器、这与 PWM 和其他外设不同、它们配置了更多的设置并具有更多的开销。

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

    谢谢 Ralph -非常感谢。

    可以指出,"刚刚到达的张贴"出现在(一些)冲突中:

    • "这不是2分频电路"

    更晚了

    • " 只是一个原始时钟信号、时钟和 GPIO 之间有一个简单的分频器"

    我认为(有些),"简单的除法器"可能是"二分法"的(近)甚至完全等效的"。

    现在、"PQ4"仅出现在"129系列上-如果该特定 MCU 引脚的"硬件处理"与"正常"GPIO 不同、这将是有用的。   发现这一点的一种方法可能是比较 PQ4的示波器电容器输出与(不同)定时器输出引脚(在其最高 PWM 频率下运行)的相同电容器。   如果对 PQ4的硬件进行"微调"-当频率与计时器 PWM 输出的频率相匹配时、怀疑由此产生出色的波形。   如果"PQ4"未得到"特殊处理"- MCU 将会增加灵活性-如果需要、 可以在多个候选 MCU 引脚上多路复用"DIVSCLK 输出"-而不是"仅限于 PQ4"。    还可能证明引脚"PQ4"实际上最接近 DIVSCLK 的实现方式-从而实现最短的内部布线...

    也许需要注意的是-一旦 MCU 计时器被配置为"PWM 输出"、则无需其他 MCU 干预。   (除非需要对该输出进行某些更改或停止)  、否则许多计时器可用这一事实会使其使用更加灵活-并且(可能)会使"PQ4"的使用存在疑问-因为它"不同步"。 系统时钟。"

    我的"芯片堆栈"(仍然)在 PQ4上运行、享受"额外的输出能力"-(也许)证明它(许多其他)的限制...

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

    我必须检查、但我认为4C123器件没有像4C129器件那样具有直接时钟输出、这将是差异所在。 是的、PWM 在代码处理的意义上没有 MCU 干预、但我认为需要一两个额外的周期、而纯时钟输出则不是这样。

    我认为 OP 的帖子不是他生成了信号、而是他尝试生成信号、并且由于 GPIO 限制而失败。 他说、看到的最大频率为60MHz、这符合预期。

    是的、没错、它根本不是方波。 甚至在我们的高端1GHz 感应示波器上、正弦波的一半要比方波近得多。 虽然它仍然明确定义了输出频率、但并不能完全代替 PWM。 不过、我没有详细测试在哪里可以看到好的方波、所以不确定"限制"是什么。 但是、由于 DIVSCLK 输出与 TM4C 系统时钟不同步、因此我不会说、即使是使用方波、它除了提供外部组件之外也特别有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    再次感谢-我"编辑"了我的回答-在您之前开始-(获得了一个字体)-并在几分钟前完成了帖子。

    请注意、我的(一个以上)帖子旨在比较输出信号的"纯度"PQ4与任何计时器输出-设置为相同频率(PWM 模式下带计时器)。 我必须相信"PQ4的产出"已经"增加"、否则其价值(赦免)很小-甚至值得怀疑...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 CB1、

    我今天早上看到了您的编辑、但在回复之前需要做一些准备工作、因为在撰写回复时、我试图清除我的消息中的一些混淆、我决定测试一些内容。

    因此、根据我之前的帖子、我的理解是、当我说输出上没有应用分频器时、我意味着没有强制降低频率输出的强制分频器。 GPIO 被限制为60MHz,因此它不会输出120MHz,但这不是因为*分频器*导致了这种情况。

    现在、在做更多测试后、我发现确切的答案更复杂。

    当 DIVSCLK 的输出设置为"0"时、分频器的输出表示 div x 1、GPIO 看起来仍然会强制输出为 div x 2、因此这将从一开始就与分频器理论一致。 我觉得这是一个设计选择、旨在保护 GPIO 不输出超过60MHz 的频率、因为在输出上进行2分频时、任何信号都不能超过60MHz。 在我的测试期间、我测试了分频器输出在40、60、80和120MHz 系统时钟下的情况、DIVSCLK 设置为0和1、 在所有情况下、设置都按照 GPIO 上的输出频率对齐、这表明 PQ4输出之间没有差异。

    尽管如此、分频器在所有其他设置中都按通告工作、并按数据表中通告的方式进行分频。

    这告诉我、除了 DIVSCLK 设置之外、GPIO 上没有2分频的平坦值、因为其他编程值提供所需的输出、 但我所描述的简单分频器在原始时钟输出和 GPIO 引脚之间配置为*最小*除以2以用于 GPIO 输出、然后它将针对所有其他分频设置进行正确映射。

    希望这能为这个主题提供更多的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    拉尔夫

    再次感谢-谢谢。

    在我的"@相似的 MCU 巨头"-大多数(部分)触发器始终施加在系统时钟和 GPIO 之间。 (除非该引脚确实被视为(非常)特殊。 这是我的基础-如果不是通过"DIVx 2 (即 FF)"来实现、那么"带通滤波器"的成本/尺寸不太可能限制频率。 我们最好"继续"。

    我认为(仍然)有价值的是、"识别任何特殊的硬件处理"PQ4"。 (我们没有'129个器件或电路板)对比"PQ4的输出波形(甚至驱动能力)与强制进入50%占空比 PWM 模式的计时器输出之间的对比是否"富有洞察力"? 这两种器件都将设置为相同的频率、并且通过连接简单的阻性负载(连接到任一电源轨)、可以快速/轻松地记录 PQ4所拥有的任何"附加输出能力"。 (请记住-您指出(某些)治疗(出现在 PQ4上)。) 如果它被用作输出源-"将它向上烧开"只会有所帮助-这是不是真的吗? 并且可能证明销售功能-如果实施(真正)能带来好处。

    您什么时候有时间-您是否可以进行这样的实验? (再次-公司/我没有这样的"129个董事会")但我可以找到几个机会、欢迎增加这种能力...

    再次感谢您的努力... (过去和"希望"等待/即将到来...)

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

    嗯、它的用途是作为一个外部时钟源、而不是驱动任何诸如 PWM 的电阻负载、所以我怀疑它是否会像外设那样成功。 但是、无论如何、对于可预见的功能、我没有时间进行此类附加测试、只是为了详细了解 PQ4输出能力。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一般而言、应该注意的是、"并非总是"是针对"外部器件"的时钟源、仅限于"一个!"    这不会证明时钟源的"太多"。
    这就是提供"扩展驱动能力"的理由-尤其是当"外部驱动已被"表示!"    "额外驱动器"可能 "避免"添加缓冲器-始终有用...

    可通过临时连接1/8W 电阻器来实现"电阻负载"。   预期电流的范围可能在2 - 20mA 之间、从而能够通过各种 GPIO 轻松比较 PQ4与计时器的 PWM 输出。   (165Ω Ω 上的3V3可产生20mA @ 0.066W)

    总之、此主题具有无意图未屏蔽的 PQ4限制:

    • 与系统时钟不同步 - 这是(有点不寻常)-并且大大限制了此类信号的用途
    • 可从"一个且仅一个 MCU"获取... (而计时器引脚"在缝隙处突发"-从 MCU 的所有端发出!)

    因此、PQ4 具有"改进的输出能力"、证明了它(唯一的)"节省优势"、不是吗?    (否则-它的要点是什么?)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "这两种设置之间没有区别。"

    这是一个模糊的语句。 但是、您好像在说、设置系统会忽略除以1的设置、并将其视为除以2? 仅针对120MHz 还是所有频率?

    如果是、TI 应考虑修改数据表。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Danny:

    而不是系统、GPIO 输出。 两个非常不同的点。 我们需要考虑的唯一修正是有关 GPIO 输出的脚注、具体来说是当使用1分频设置时 GPIO 输出上使用的分频器-我说脚注是因为数据表没有明确说明 GPIO 的输出是什么 这样既不会提供错误的信息、也不会绘制完整准确的图片。 此项目已添加到列表中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为数据表非常清楚地说明了 DIVSSCLK 是一个引脚、而不是一个信号。 数据表直接将数据表中的数据从 DIVCLK 更改为引脚。

    您似乎在说(如果 divsclk 是信号)它将始终正确、即如果 DIV 字段为0且系统时钟为120MHz、divsclk 将为120MHz。 如果 DIV 为0、GPIO 将把该频率除以2、这是绝对的-您的原始语句不是很清楚(对我来说)。

    无论采用哪种方法、澄清都很有帮助-只有 TI 了解内部信息的工作方式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、

    感谢您验证将输出限制为60MHz 的 GPIO 设计。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会注意到、这种"酷刑/过度应力"(60MHz) PQ4输出-可能无法证明"正常/习惯"值...
    一个"实际" 50%占空比方波-可从任一 MCU 定时器中获得-设置为 PWM 并提供(适当)分频... 与 PQ4相比、计时器具有"更灵活"的特点(在 I/O 方面更具可预测性)...