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.

[参考译文] TMS570LS3137:使用 N2HET 生成方波作为时钟输出

Guru**** 2609895 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/755865/tms570ls3137-generating-square-wave-as-clock-output-using-n2het

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

大家好、

使用 N2HET、我需要生成一个4MHz 方波信号以馈送另一个器件作为其时钟输入、但看不到用于此目的的指令。 我是否忽略了指令集?

感谢您的任何指示。

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

    我认为我可以使用 CNT 和 ECMP 指令来实现时钟生成输出。 对吗?

    我可以将 ALU 寄存器 B 与 CNT 指令一同使用、但无法确定如何配置 ECMP 指令、除了我应该设置 hr_LR=1 (无延迟)、ENABLE_PIN_ACTION = 1和 ORIGINAL_PIN_ACTION = 1之外。


    是需要的吗?

    已编辑:还需要设置 ACTION = PULSE_LOW (切换输出)、COMP_MODE=ECMP。

    如何重新加载 ALU 寄存器 B=0、以便下次与25位数据字段进行比较?

    谢谢。

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

    你好、Chuck、

    我们有一个很好的仿真工具:HET IDE。您可以在 IDE 中尝试该指令、并将波形输出到 WaveViewer。 IDE 提供了多个示例来生成 PWM 并捕获输入波形。 算法位于 IDE->Edit->Insert Algorithm 中。 这是一个使用 NHET 指令的简单 PWM 输出:CNT、ECMP、BR。 突出显示的波形是生成的 PWM。

    但是、4MHz 太高。 NHET 无法为您生成精确的4MHz PWM。

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

    您好 QJ、

    我将使用100MHz 的最大频率为 N2HET 计时、并为 LR 环路提供8条指令。

    当您说4MHz 太高而无法输出时、是 Halcogen 还是 MCU 本身的局限性?

    如果这是由于 MCU、您能否向我介绍 TRM 或器件数据表以了解此限制?

    谢谢、

    卡盘。

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

    你好、Chuck、

    VCLK2=100MHz 对于 NHET、您使用8周期环路分辨率(最多允许7条指令)。

    您至少需要两个环路分辨率周期-一个将引脚设置为高电平、一个低电平。

    CNT_MAX=PERIOD/LRP-1=250ns/80ns-1=2--> 240ns 周期--> 4.167Mhz 不完全是4Mhz

    仿真显示 PWM 也是4.16MHz。 (#12、watch_0_out)

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

    您好 QJ、

    我从您之前的帖子中了解到、N2HET 不能实际输出4MHz、显然情况并非如此。

    对于8条指令、我的 hr 为10ns、我的 lr 循环为80ns、最后一个循环返回到第一个循环。 有问题吗? 否则、为什么只有7个可用?

    ECMP 指令具有切换引脚功能、因此引脚可实现的最大输出频率为100/8/2=6.25MHz、我对吗?

    我知道我无法输出4MHz、因为分频器不是整数。

    谢谢!

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

    N2HET 被打开后、N2HET 程序的执行从第一个环路分辨率时钟开始。 在首次出现循环分辨率和随后出现的循环分辨率时、位置地址00h 处的指令被预取。

    N2HET 程序必须被写入、这样它们就完成执行并在下一个环路分辨率时钟发生前返回到地址00h。 如果 N2HET 程序超过这个执行时间限制、那么一个程序溢出条件发生。

    我的句子不准确。 一条指令可能需要超过1个周期。 程序循环时间是用于指令执行的所有周期的总和。 程序的最后一条指令必须分支回0x00。 如果循环分辨率为8、则不包括最后一条 BR 指令的最大指令为7。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你。

    因此 、N2HET 程序的最大允许周期计数(大约1个周期/指令和大约2个周期/指令)必须小于或等于[环路分辨率- 1]。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的坏情况、它必须低于或等于环路分辨率。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我以前的理解。

    因此、周期数必须小于或等于环路分辨率(LR)、而不是 lr-1。

    此致:)