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-4 显示了 C2000 外设、XBar 和 GPIO 多路复用器。可以将该图与图 2-5 进行对比,后者显示了相同的外设,外加 CLB。通过比较这两个图,您可以确切地看到 CLB 触及了 C2000 的哪些部分。在其基本级别的形式中,CLB 由 CLB1、CLB2、CLB3 和 CLB4 块构成。每个 CLB 块都具有与相应控制外设的专用连接。例如,CLB1 连接到 EPWM1、QEP1 和 ECAP1。同样地,CLB2 连接到 EPWM2、QEP2 和 ECAP2 等等。此外,所有 CLB 模块都连接到称为全局信号的一组共享输入信号,这些信号来源于全部四个 EPWM 模块和 CLB XBar。每个 CLB 块还能够驱动 CLB INTR 信号来中断 CPU 或 CLA。最后,四个 CLB 块中的每个块都挂在 CPU 和 CLA 总线上,从而使 CPU 和 CLA 能够访问 CLB 配置和数据寄存器。
查看图 2-5,可以发现专用的 CLB 信号包含本地输入(黑色),CLB 输出(绿色)和外设信号多路复用器控制信号(橙色)。例如,CLB1 的本地输入包含来自 EPWM1、QEP1 和 ECAP1 的信号混合以及两个 CPU 信号 – CPU TBCLKSYNC 和 CPU HALT。CLB1 使用全局信号和本地 1 信号来生成 CLB1 输出信号。根据相应(橙色)外设信号多路复用器的设置状态,CLB1 输出信号可以注入 EPWM1、QEP1 或 ECAP1 控制外设中,或者被这些外设忽略。换句话说,(绿色)CLB 输出信号是替换信号,将替代控制外设中的原始信号注入,而(橙色)外设信号多路复用器选择使用相应的 CLB 输出信号替换控制外设的哪些内部信号(或不替换)。最后,一些(绿色)CLB 输出信号也被路由到 CLB/OUTPUT XBar,在此处它们可以通过 GPIO 多路复用器发送到选定的器件引脚,或者输入全局输入信号以成为四个 CLB 模块中任何一个的输入。
CLB2、CLB3 和 CLB4 的工作方式相同,只是 CLB3 和 CLB4 所使用的本地信号较少(缺少 QEP3 和 QEP4 外设,并且未连接到 CPU TBCLKSYNC 和 CPU HALT)。
在内部,四个 CLB 块均由三个相同的构建块组成,这些构建块是 CLB 输入选择器、CLB 逻辑块和外设信号多路复用器。CLB 输入选择器从全局和本地总线中选择八个信号。每个 CLB 逻辑块将逻辑方程应用于八个输入,以按通过配置寄存器预先配置逻辑块的方式来驱动多达八个输出信号。最后,来自 CLB 逻辑块的 8 个输出被馈送到外设信号多路复用器中,在该多路复用器中可以选择这些输出以替换(或不替换)相应控制外设内 14 个可能内部信号中的 8 个。总的来说,CLB 的三个构建块的操作由相应的 CLB 配置寄存器进行控制。CLB 输入选择器和 CLB 外设信号多路复用器的配置寄存器加载通过功能调用完成,而 CLB 逻辑块的配置寄存器通过基于 GUI 的 SysConfig 工具生成的代码进行加载。以下各节更详细地说明各个 CLB 构建块如何协同工作以修改控制外设,实现新外设,或使用选定的 GPIO 来生成胶合逻辑。