ZHCA964A September 2019 – July 2020 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
图 2-6 所示为四个 CLB 模块的其中一个和相关控制外设(EPWM1、QEP1 和 ECAP1)的内部细节。输入包括全局信号,本地 1 信号和 GPREG 寄存器的 8 个位。根据输入多路复用器配置寄存器预先配置的方式,输入多路复用器选择器从这些输入中选择最多 8 个信号(蓝色),并将其发送到逻辑块 1 进行处理。根据逻辑块 1 配置寄存器的状态,将预设的逻辑操作应用于这 8 个输入,以生成 8 个 CLB1 输出信号(绿色)。这些信号都被路由到 EPWM1、QEP1 和 ECAP1 外设,其中有几个信号还到达 CLB XBar、输出 XBar 和 EPWM XBar,在此处它们被发送到 EPWM 模块、GPIO 或反馈到四个 CLB 逻辑块中的任何一个,以供进一步处理(通过全局信号总线)。
最后到达 EPWM1、QEP1 和 ECAP1 控制外设的 CLB1 输出信号可用于取代这些外设内的选定内部信号,具体取决于外设信号多路复用器寄存器的配置方式。外设信号多路复用器(橙色)控制位于控制外设内部各等级的多路复用器,用于决定将哪些信号传播到下一级 – 原始内部信号(黑色)或来自逻辑块 1 的新替换信号(绿色)。该方法提供了极大的灵活性,可替换外设的给定级或添加新的级(使用 CLB 逻辑)。例如把 ECAPI 的输入立即馈送至逻辑块 1 并且在 ECAP1 的最后一个级处注入逻辑块 1 输出的极端情况下,逻辑块 1 内部的逻辑成为新的自定义外设,完全取代原始 ECAP1 外设。请注意,尽管现在已替换了 ECPAP1 的内部,但 ECAP1 的 GPIO 多路复用器输入和输出分配保持不变,这意味着新外设必须使用与刚刚取代的 ECAP1 相同的输入和输出 GPIO。
换句话说,在对 CLB1 进行编程时,应首先选择一个要修改的控制外设,然后确定该外设的哪些内部信号将由 CLB1 逻辑块的输出进行替换(使用外设信号多路复用器)。在确定这些信号之后,应使用输入多路复用器选择器选择 CLB1 的输入,新 CLB1 功能的逻辑将需要这些输入来生成所需的输出信号。在建立 CLB1 的输入和 CLB1 的输出(使用功能调用)之后,就可以使用基于 GUI 的 SysConfig 工具对输入配置必要的逻辑以生成输出。
请注意:CLB 配置功能调用和 SysConfig 工具都通过 CPU 或 CLA 总线(品红色)将配置状态加载到 CLB1 配置寄存器中。相同的总线也可用于在逻辑块内的 HLC 处理器与 C2000 存储器之间传输数据。HLC 处理器还可以基于 CLB 内部达到的某种预定条件来驱动 CLB INTR 中断 CPU(稍后会进一步介绍)。此外,如果 CLB 未修改任何控制外设(在未使用 CLB 或 CLB 仅将信号驱动到 CLB XBar 和其他 Xbar 中时会发生该情况),则可以忽略外设信号多路复用器。以下各节提供有关输入多路复用器选择器、外设信号多路复用器和 CLB 逻辑块的更多详细信息。