ZHCAB39E January   2022  – February 2022 TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S

 

  1.   商标
  2. 1引言
  3. 2PTO – PulseGen
    1. 2.1 PulseGen 实现概述
    2. 2.2 PulseGen 限制
    3. 2.3 PulseGen CLB 配置
    4. 2.4 PulseGen 输入和输出信号
  4. 3PTO – QepDiv
    1. 3.1 QepDiv 实现概述
    2. 3.2 QepDiv 限制
    3. 3.3 QepDiv 分频器设置和初始化
    4. 3.4 QepDiv CLB 配置
  5. 4PTO – Abs2Qep
    1. 4.1 Abs2Qep 芯片资源
    2. 4.2 Abs2Qep 工作原理
      1. 4.2.1 Abs2Qep 转换公式
      2. 4.2.2 Abs2Qep 转换示例
      3. 4.2.3 Abs2Qep 过零检测
    3. 4.3 Abs2Qep CLB 配置
      1. 4.3.1 Abs2Qep QEP-A/B 脉冲序列生成
      2. 4.3.2 Abs2Qep 停止锁存器
      3. 4.3.3 Abs2Qep 高级控制器 (HLC)
    4. 4.4 Abs2Qep 输入和输出信号
  6. 5PTO – QepOnClb QEP 解码器
    1. 5.1 QepOnClb 和 eQEP 的比较
    2. 5.2 QepOnClb 芯片资源
    3. 5.3 QepOnClb 工作原理
    4. 5.4 QepOnClb CLB 资源
      1. 5.4.1 QepOnClb QCLK 状态机
      2. 5.4.2 QepOnClb 方向解码
      3. 5.4.3 QepOnClb 错误检测
      4. 5.4.4 QepOnClb 仿真波形
  7. 6示例工程
    1. 6.1 硬件要求
    2. 6.2 安装 Code Composer Studio 和 C2000WARE-MOTORCONTROL-SDK™
    3. 6.3 导入并运行示例工程
    4. 6.4 PulseGen 示例
    5. 6.5 QepDiv 示例
    6. 6.6 Abs2Qep 示例
      1. 6.6.1 观察变量
      2. 6.6.2 测试信号
      3. 6.6.3 引脚用途和测试连接
    7. 6.7 QepOnClb 示例
      1. 6.7.1 观察变量
      2. 6.7.2 接头引脚连接
  8. 7库源代码和工程
    1. 7.1 查找库源代码
    2. 7.2 导入和构建库工程
    3. 7.3 PTO - PulseGen API
      1. 7.3.1 pto_pulsegen_runPulseGen
      2. 7.3.2 pto_startOperation
      3. 7.3.3 pto_pulsegen_setupPeriph
      4. 7.3.4 pto_pulsegen_reset
    4. 7.4 PTO - QepDiv API
      1. 7.4.1 pto_qepdiv_config
      2. 7.4.2 pto_startOperation
      3. 7.4.3 pto_qepdiv_setupPeriph
      4. 7.4.4 pto_qepdiv_reset
    5. 7.5 PTO - Abs2Qep API
      1. 7.5.1 Abs2Qep API 配置
      2. 7.5.2 pto_abs2qep_runPulseGen
      3. 7.5.3 pto_abs2qep_setupPeriph
      4. 7.5.4 pto_abs2qep_translatePosition
    6. 7.6 PTO - QepOnClb API
      1. 7.6.1 pto_qeponclb_setupPeriph
      2. 7.6.2 pto_qeponclb_initCLBQEP
      3. 7.6.3 pto_qeponclb_configMaxCounterPos
      4. 7.6.4 pto_qeponclb_enableCLBQEP
      5. 7.6.5 pto_qeponclb_resetCLBQEP
      6. 7.6.6 pto_qeponclb_getCounterVal
      7. 7.6.7 pto_qeponclb_getCLBQEPPos
      8. 7.6.8 pto_qeponclb_clearFIFOptr
  9. 8在工程中使用参考 API
    1. 8.1 将 PTO 支持添加到工程中
    2. 8.2 往返于 CLB 的路由
    3. 8.3 初始化步骤
      1. 8.3.1 PTO-PulseGen API 初始化
      2. 8.3.2 PTO-QepDiv API 初始化
      3. 8.3.3 PTO-Abs2Qep API 初始化
      4. 8.3.4 PTO-QepOnClb API 初始化
  10. 9参考文献
  11.   修订历史记录

QepOnClb 仿真波形

本节提供了 QEP 实现的仿真。更多有关 CLB 仿真的信息,请参阅 CLB 工具用户指南 https://www.ti.com/lit/pdf/SPRUIR8

注:
  1. QEP-A/B 输入激励由 CLB 逻辑块 4 生成,用到了一个计数器和两个 FSM,如图 5-5 中所示。每个 FSM 的 e0 输入发生改变时,s0 输出会进行切换。FSM 模块的输出连接到逻辑块 1 仿真输入 in3 和 in5。
  2. 仅显示位置计数器的最后 5 位,以方便读取。
  3. 此示例指定的位置上限 MAXPOS 为 0xD。

GUID-20211213-SS0I-XXQZ-J6KR-5SBJ5KGHHLMV-low.png图 5-5 QepOnClb 仿真激励

图 5-6图 5-7 展示了正向运动仿真。match1 (MAXPOS) 输出接回计数器的复位(显示为橙色)。计数器达到 MAXPOS 时,下一个 CLB 时钟将复位为 0。

GUID-20211213-SS0I-HNXC-7RBH-HXHR3STTWKM6-low.png图 5-6 QepOnClb 正向仿真波形
GUID-20211213-SS0I-NZJC-VJMS-MRMKLB98NW49-low.png图 5-7 QepOnClb 正向 MAXPOS 仿真

图 5-8图 5-9 展示了反向运动仿真。match2 输出接回计数器的事件输入。如果计数器转换小于零 (0xFFFFFFFF),负载值 (MAXPOS -1) 将载入计数器。

注: 仅显示位置计数器的低 5 位,以方便读取。0x1F 对应于 0xFFFFFFFF。

GUID-20211213-SS0I-7SPC-X8DF-X95FMQ1L7ZRQ-low.png图 5-8 QepOnClb 反向仿真波形
GUID-20211213-SS0I-ZNJV-VTC6-9GBXNPTZFDKJ-low.png图 5-9 QepOnClb 反向 MAXPOS 仿真

图 5-10 展示了 QEP-A/B 同时转换时,错误检测信号为高电平。

GUID-20211213-SS0I-84D9-TVJJ-5V0GPL4G3LJT-low.png图 5-10 QepOnClb 错误检测仿真波形