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.

[参考译文] TIDM-1010:ePWM 和时钟的 BiSS-C 库使用情况

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1263631/tidm-1010-biss-c-library-usage-of-epwms-and-clocks

器件型号:TIDM-1010

您好!

我们一直在使用提供的预编译库、并取得了一些成功、但现在我们要将该功能转移到一个更复杂的设计中。设计中存在资源限制、需要更好地理解源代码、以确保它使用正确的资源并正确配置时钟。  

我们的设计现在要求 CLB 时钟为100 MHz、PWM 时钟为200 MHz、此外、我们的新设计使用 EPWM1、我们不确定需要更改什么内容才能正确支持该功能。

1) 1)在 PM_Bissc_setupPeriph 中的示例设计中、EPWM1A 连接到 CLB3和 CLB4的 CLB_IN0、6和7。 在示例中、从不配置 EPWM1。 该信号预期的行为是什么? 它有什么作用?

2) 2)在 PM_Bissc_configureCLBLength 中的示例设计中、CLB4_BASE 中的 CLB_ADDR_COUNTER_1_MATCH1被强制为200。 这个值是多少? 如果 CLB 的时钟频率为100MHz、此值是否应更改为100?

3) 3)当我们将25传递到 PM_Bissc_setFreq 中时、我们会得到一个4 MHz BiSS-C 输出时钟、文档和注释会指示这应该是2 MHz。 时钟频率 = SYSCLK/(4*BISC_FREQ_DIVIDER)。 我们的 SYSCLK 为200 MHz、看起来我们现在的差异是2倍?

4) 4)我确定这个问题很愚蠢、时钟显然来自正确的引脚、引脚配置为连接 EPWM4A 和4B。 完成设置后、我们使用跳闸区强制输出为高电平、但我在代码中不明白 CLB 是如何与 ePWM 通信的。 EPWM4已启用、但未配置跳匣区域以外的区段。 CLB 如何控制 ePWM? 它们是如何进行物理连接的、即哪些 CLB 输出连接到 ePWM 输入?

谢谢!

珍妮弗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    yusheng Wu said:
    1)在 PM_Bissc_setupPeriph EPWM1A 的示例设计中、该引脚连接到 CLB_IN0、6和7的 CLB3和 CLB4。 在示例中、从不配置 EPWM1。 该信号预期的行为是什么? 它有什么作用?

    此设计未使用任何 PWM 作为输入。 如果该输入连接到逻辑块、则该输入不会连接到逻辑块内的任何东西。  EPWM4被 CLB 用作到引脚的路由-也就是说、它会覆盖 PWM 输出功能、以便将信号从 CLB 传输到引脚。   

    2) PM_Bissc_configureCLBLength CLB4_BASE 中示例设计的 CLB_ADDR_COUNTER_1_MATCH1强制设置为200。 这个值是多少? 如果 CLB 的时钟频率为100MHz,则应将其更改为100?

    我不知道什么 counter1 match1是用于和将需要一些时间来深入研究它. 遗憾的是、我们没有明确详细介绍此设计的 CLB 实现的文档。  

    3)当我们向 PM_Bissc_setFreq 传递25时、我们得到一个4 MHz BiSS-C 输出时钟、文档和注释表明这应该是2 MHz。 时钟频率 = SYSCLK/(4*BISC_FREQ_DIVIDER)。 我们的 SYSCLK 为200 MHz、似乎现在的偏差系数为2?

    注释不正确。 这是从 CLB 时钟本身到 BiSS clk 的缩放、而不是从 SYSCLK。  提供该库的 F2837xD 上的 CLB 也在100MHz 下运行、因此不需要更改缩放。  

    4)我确定这个问题比较愚蠢、时钟信号显然来自正确的引脚、且引脚配置为连接 EPWM4A 和4B。 完成设置后、我们使用跳闸区强制输出为高电平、但我在代码中不明白 CLB 是如何与 ePWM 通信的。 EPWM4已启用、但未配置跳匣区域以外的区段。 CLB 如何控制 ePWM? 它们如何进行物理连接、即哪些 CLB 输出连接到 ePWM 输入?

    CLB 覆盖 ePWM4功能以到达这些引脚。 CLB 引入了一些外设信号、并且还可以将一些信号作为输出覆盖。 可以使用 CLB 定制某些外设。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您快速且有帮助的回复
    1) 1)在 PM_Bissc_setupPeriph 中的示例设计中、EPWM1A 连接到 CLB3和 CLB4的 CLB_IN0、6和7。 在示例中、从不配置 EPWM1。 该信号预期的行为是什么? 它有什么作用?
    Lori 响应

    此设计未使用任何 PWM 作为输入。 如果该输入连接到逻辑块、则该输入不会连接到逻辑块内的任何东西。  EPWM4被 CLB 用作到引脚的路由-也就是说、它会覆盖 PWM 输出功能、以便将信号从 CLB 传输到引脚。  

    Jennifer 回复

    我们生成了 CLB logic.Tile4 in0和 in7以及 Tile in0的方框图、反馈到 CLB 逻辑中的输入电平会影响该行为。 我们应该如何处理该信号? 是将其绑定为高电平还是低电平?

    什么 CLB 输出连接到 BiSS 时钟?
    哪个 CLB 输出连接到 SPI 时钟?


    3) 3)当我们将25传递到 PM_Bissc_setFreq 中时、我们会得到一个4 MHz BiSS-C 输出时钟、文档和注释会指示这应该是2 MHz。 时钟频率 = SYSCLK/(4*BISC_FREQ_DIVIDER)。 我们的 SYSCLK 为200 MHz、看起来我们现在的差异是2倍?

           注释不正确。 这是从 CLB 时钟本身到 BiSS clk 的缩放、而不是从 SYSCLK。  提供该库的 F2837xD 上的 CLB 也在100MHz 下运行、因此不需要更改缩放。  

           Jennifer 回复

           如果在100 MHz 上运行 BISC_FREQ_DIVIDER 为25。 时钟频率= CLB_CLK/(2*BISC_FREQ_DIVIDER)。 预期值为2 MHz NOT 4 MHz? 如果我们获得的4 MHz 意味着我们的 CLB 时钟在200 MHz 运行?


     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们生成了 CLB logic.Tile4 in0和 in7和 tile in0的方框图馈送到 CLB 逻辑中,输入的电平会影响行为。 我们应该如何处理该信号? 我们应该将其绑定为高电平还是低电平?

    如果使用它、它不是 ePWM。 输入为 C28x 的 GPREG、通过 CLB MUX 从编码器传输的 MA、或来自另一个逻辑块的连接。 由于我们没有详细记录这一点、因此我必须研究一下。 我不在办公室,直到下星期三,所以会有一个延迟。  

    什么 CLB 输出连接到 BiSS 时钟?
    哪个 CLB 输出连接到 SPI 时钟?

    由于它覆盖了 ePWM4、因此可能是 Tile4输出0。 TRM 的 CLB 部分中记录了输出及其可以连接到的内容。 通过 XBAR 的输出将是逻辑块 x -输出4或5、因为这些连接到 F2837xD 上的 xbar。

      如果我在100 MHz 运行时 BISC_FREQ_divider 为25。 时钟频率= CLB_CLK/(2*BISC_FREQ_DIVIDER)。 预期值为2 MHz NOT 4 MHz? 如果我们获得的4 MHz 意味着我们的 CLB 时钟在200 MHz 上运行?

    比例因子会改变计数器的匹配值、以确定 BiSS 时钟的边沿(即宽度)。 这是指有多少 CLB 时钟适合进入 BiSS 时钟的时间低电平或时间高电平的比率。 对于给定的 CLB 时钟和 BiSS 时钟、其比率将始终相同。  

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

    感谢您的帮助、我们将 在下周期待进一步回复以确认信号功能是否正常。

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

    Jennifer、

    两者都连接到 GPREG。 C28x 可以通过写入 CLB4 GPREG 位0来控制 in0、同样地、通过写入 GPREG 位7来控制 in7。

    您观察到的 PWM 输入处于全局多路复用器级别、但 CLB_IN_MUX_SEL 具有更高的优先级并连接 GPREG。