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.

[参考译文] TMS320F28P650DK:CLB 多路复用器功能

Guru**** 2443730 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1529802/tms320f28p650dk-clb-multiplexer-functionality

器件型号:TMS320F28P650DK

工具/软件:

大家好!

我希望在 CLB 上实现一些故障检测逻辑、以帮助减轻 CPU 负载并更快地响应系统中的潜在输入故障。 目前、我想知道是否有办法可以仅在 CLB 上实现 16-1 多路复用器逻辑。 我需要能够选择每条线路并观察单独的输入引脚、以观察是否存在逻辑低电平输入。 发生这种情况时、我需要停止计数器的值并将其存储在 GPREG 中、以便在器件上触发故障并找出多路复用器上的线路出现故障。 理想情况下、我可以在多路复用器向 CPU1 生成 NMI 之前屏蔽多路复用器的某些字段。 我想我理解如何才能做到这一点、但我对几件事确实有一些问题。

1. if/如何在 CLB 内执行多路复用器选择逻辑。 起初、我希望我可以将计数器的各个位路由到 CLB 之外、或创建一些可以执行类似功能的 LUT 函数。

2.如何通过查找表或 HLC 应用硬编码掩码来过滤多路复用器上的特定输入。  

如果有一种更熟练的方法来获得这种没有 CLB 的逻辑、我也对此持开放态度。 我只需要大部分逻辑独立于 CPU

谢谢你

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

    您好:

    使用 PWM X-BAR 或 CLB X-BAR 可能会更容易、并利用 XBAR 标志寄存器来查看在跳闸/CLB 事件时启用了哪些信号。

    如果您有其他问题、请告诉我。

    谢谢您、

    Luke

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

    您好 Luke、

    感谢您的答复。 我的多路复用器输入端的边沿转换肯定会触发 ePWM 跳闸、但我想知道是否有一种不需要 CPU 干预来控制和递增多路复用器的选择线路的方法? 我直接转向 CLB、因为这似乎是需要执行的简单数字逻辑。

    谢谢

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

    尊敬的 Ayden:

    您当然可以使用 CLB 通过 2 条选择线路实现 4 输入多路复用器。 您可以使用多个 CLB 将这些多路复用器中的 4 个级联到一个 16 x 1 多路复用器。 但是、我不确定 CLB 可以采用以下行为:

    我需要停止计数器的值并将其存储在 GPREG 中、以便在器件上触发故障并找出多路复用器上的线路出现故障“。

    此外、这听起来更像是一组锁存器、而不是多路复用器。 多路复用器一次仅选择一个输入、而似乎这种行为涉及根据设置的输入触发不同类型的行为(使用 CLB 可以实现这一点,具体取决于您要执行的操作)。

    谢谢您、

    Luke