ZHCAB39E January 2022 – February 2022 TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S
如Topic Link Label4.2所述,将绝对位置转换为 QCLK 脉冲后,C28x 会将 PTO 参数加载到 HLC 的 FIFO 中。当需要启动 PTO 时,通过 GPREG 位提供的命令将指示 HLC 从 FIFO 中提取参数,将这些参数加载到计数器中,然后启动 PTO。一旦启动,CLB 会独立生成 PTO-QEP 波形。
一旦 PTO 完成,HLC 将设置一个 CLB 中断标签。C28x 可以使用这个标签在加载新配置之前检查 PTO 是否完成。
图 4-6 显示了 PTO-QEP 波形以及它们与 CLB 组件的关系。在本示例中,位置采样周期由 C28x 上的 ePWM ISR 控制。
逻辑块的方框图如图 4-7 所示,表 4-3 详细描述了每个 CLB 组件的功能。
资源 | 功能 | 注意事项 |
---|---|---|
输入 | ||
In0 | LOAD 控制上升沿: 加载新的 PTO 配置 (HLC)。 |
连接到 GPREG 位 0。 在加载新配置之前,检查并确认最后一个 PTO 已完成(INTR 标签 == 2) |
In1 | DIRECTION 控制 1:顺时针(正向) 0:逆时针(反向) |
连接到 GPREG 位 1。 仅在最后一个 PTO 已完成(Intr 标签 2)时更改 |
In2 | 未使用 | 未使用 |
In3 | 未使用 | 未使用 |
In4 | 未使用 | 未使用 |
In5 | 未使用 | 未使用 |
In6 | 未使用 | 未使用 |
In7 | 未使用 | 未使用 |
输出 | ||
Out0 | 未使用 | 未使用 |
Out1 | 未使用 | 未使用 |
Out2 | PTO_QEP-I 索引从 0 到 1 的转换表示已过绝对零位置。 |
索引输出信号。 |
Out3 | 未使用 | 未使用 |
Out4 | PTO_QEP-A | PTO 正交输出 A |
Out5 | PTO_QEP-B | PTO 正交输出 B |
Out6 | 未使用 | 未使用 |
Out7 | 未使用 | 未使用 |
逻辑资源 | ||
LUT0 | 未使用 | 未使用 |
LUT1 | 未使用 | 未使用 |
LUT2 | 未使用 | 未使用 |
FSM0 | 生成 PTO_QEP-A 和 PTO-QEP-B | 在每个 QCLK 输入端生成 1 个边沿。QEP-A/B 的超前/滞后基于当前状态和 DIRECTION 输入信号。 |
FSM1 | 生成 HALT/RUN 信号 | 如果以下任一条件成立,则停止 PTO 输出:
|
FSM2 | 生成 PTO_QEP-I 信号 | 根据 QEP-I 控制信号强制 PTO_QEP-I 为高电平和低电平。如果需要,允许用户将 QEP-I 配置为在多个 QCLK 内保持高电平。 |
CNT0 | 生成 QCLK(PTO 宽度控制)信号 | 每个 CLB 时钟的计数加 1。
|
CNT1 | PTO 边沿计数控制 | 每个 QCLK 事件递增 1,由此可计算 PTO 期间发送的总 QEP-A + QEP-B 边沿数。
|
CNT2 | PTO_QEP-I 控制 | 每个 QCLK 事件递增 1,由此可计算 PTO 期间发送的总 QEP-A + QEP-B 边沿数。
注: 如果 PTO-QEP-I 在整个 PTO 内应保持低电平,则将 match1 和 match2 配置为一个大数字以避免匹配。(如 0xFFFFFFFF)。 |
高级控制器 | ||
HLC | 事件 1:加载新的 PTO 配置。 |
响应来自 C28x 的 LOAD 输入端的上升沿。这将配置并启动一个新的 PTO。如需了解所有步骤,请参阅Topic Link Label4.3.3中的程序说明。 |
事件 2:信号 PTO 已完成。 | 通过设置中断标签 2 来响应 PTO 信号的完成。此时,可安全加载新的 PTO 计数器配置。 |