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.

[参考译文] TMS320F280025C:CLB 配置问题

Guru**** 2460850 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1157989/tms320f280025c-clb-configuration-issues

器件型号:TMS320F280025C
Thread 中讨论的其他器件:SysConfig

我正在尝试让 CLB 在该部分中工作。 为了使其变得简单、我想先从很小的位置开始。 将 GPIO 连接到 CLB 逻辑块的输入端、并将输出置于另一个 GPIO 上、点亮 LED。 一些简单的东西。  

我使用 SysConfig 来执行此操作。

CLB INPUTXBAR

要使用的输入将 CLB_INPUTXBAR5设置为 GPIO39

CLB XBAR

AUXSIG2、MUX 09、INPUTXBAR5

OUTPUTXBAR  

多路复用器1、CLB OUT4、OUTPUTXBAR8、GPIO31

4. CLB

CLB1、启用 CLB、CLB 输入2全局多路复用器 CLB X-BAR AUXSIG2、无滤波、无同步、无流水线、链接逻辑块0

5.图块0

OUTLUT_4、i0 = BOUNDARY.in 2、eqn = i0。

所以、 GPIO 39应进入 CLB 的输入2输出4 LUT 应直接拾取输入2、并在路由到 GPIO31时发送该输入、此时一个闪亮的绿色 LED 正在等待向我显示我的 GPIO39上的高电平和低电平输入 被"看到"。

...但是,不,。。。。

我已经查看了用于 MUX 1输出的 MUX 使能寄存器、以确保其被启用。 我已经监控过 GPIO 寄存器、以验证是否看到我的高贵或低贵的人。 现在又过去了1.5天,我的头皮比以前少了数千根头发...  

我要做的是、让 CMPSS2进入 CLB、触发一个25us 计时器、当时间增加时、它会向 PWM 4发送同步脉冲、以便在进行逐周期电流限制时使周期寄存器短路。 但一次有一件事...

很棒的建议,总是很受欢迎  

谢谢、  

David

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

    稍微中断一下、阅读更多...我曾认为 GIOP 将由 SysConfig 配置、因为当我这么做时、我会遇到"资源冲突"。 然后、即使看起来 CLB INPUTXBAR 指向正确的 GPIO 引脚、也必须使用 INPUTXBAR。  

    完成这些操作后、我的 GPIO 电平将通过 CLB。

    不过、如果您已经知道...的答案、

    我要做的是、让 CMPSS2进入 CLB、触发一个25us 计时器、当时间增加时、它会向 PWM 4发送同步脉冲、以便在进行逐周期电流限制时使周期寄存器短路。 但一次有一件事...

    请务必分享、我认为我已经解决了这个问题、但或许有一种更简单的方法...

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

    尊敬的 David:

    很高兴您开始考虑使用 CLB、它确实为系统带来了很大的潜力。 需要注意的几个事项:

    要路由 GPIO、您可以使用单个 CLB_INPUTXBAR 或 INPUTXBAR 和 CLB XBAR 的组合。 无需使用全部三个 IF 路由单个 GPIO。 我会说使用 CLB_INPUTXBAR、以便在需要将 GPIO 路由到其他外设时、您具有剩余的 INPUTXBAR。 在您的示例中、CLB 输入应在本地输入多路复用器上配置为 CLBINPUTXBAR INPUT5。

    (注意:INPUTXBAR5与 CLB_INPUTXBAR5不同、我知道在哪里可能会产生混淆)

    对于 OUTPUTXBAR、同样、我要说使用专用 CLB 输出 CLB_OUTPUTXBAR。 这样做的好处是、您可以使用 CLB 的任何输出将输出输出输出端输出到 GPIO、而不仅仅是 OUT4和 OUT5。

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

    对于您的系统、下面是我配置 CLB 的方法:

    配置 CLBXBAR 以获取有问题的 CMPSS 信号、将其分配到所需的 AuxSig 信号。

    在 CLB 输入中、将 CLB 输入配置为来自全局信号多路复用器上的 AuxSig。 我认为 CMPSS 是单次触发触发信号吗? 如果是、则将上升沿检测滤波配置为附加功能。

    为了在触发后实现计数器计数、您可以使用 FSM 实现一个双状态机(一个状态的计数器停止、另一个状态的计数器运行)和 CMPSS 输入触发的状态转换。 将输出拉低的状态转换可以在计数器计数时进行

    将计数器"启用"信号配置为从 FSM 输出向上计数、复位/匹配1值应配置为对应于25us 的值(CLB 的时钟频率为100MHz)。  

    然后、当该计数器达到匹配1值时、可以将 OUTLUT 配置为。  使 FSM 输出为低电平的状态转换也可以在计数器达到匹配1值时进行。

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

    我还建议查看 C2000 Academy 中的 CLB 模块和实验(https://dev.ti.com/tirex/global?id=c2000Academy)。 这非常有用、实验提供了有关简单 CLB 实现的分步说明。 我写了这篇文章、因此如果您对改进任一模块有进一步的建议、请联系我们(很快还会推出另一个 Academy 更新、该更新会将更多主题添加到 CLB 模块中)

    此致、

    Peter

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

    谢谢 Peter、  

    我已经介绍了在 CLB 上可以找到的所有材料。 只需要处理一些事情。 几十年来,我没有绘制卡尔诺夫地图。 但是、我们花了一点时间、一切都回来了。 真的很有趣

    CLB 功能绝对强大。 我将2406替换为这款产品、其功能令人印象深刻。

    现在、如果铸造厂能够保持器件的运行、我们将获得成功的"下一代"产品。

    David