ZHCU480A April   2018  – November 2024

 

  1.   1
  2.   说明
  3.   资源
  4.   特性
  5.   应用
  6.   6
  7. 1系统说明
    1. 1.1 主要系统规格
  8. 2系统概述
    1. 2.1 方框图
    2. 2.2 主要产品
      1. 2.2.1 C2000 实时 MCU LaunchPad
      2. 2.2.2 SN65HVD78
      3. 2.2.3 TLV702
      4. 2.2.4 TPS22918-Q1
    3. 2.3 设计注意事项
      1. 2.3.1 BiSS-C 协议
        1. 2.3.1.1 线路延迟补偿
        2. 2.3.1.2 编码器处理时间请求
        3. 2.3.1.3 控制通信
      2. 2.3.2 C2000 BiSS-C 编码器接口概述
      3. 2.3.3 TIDM-1010 板实现
      4. 2.3.4 MCU 资源要求
        1. 2.3.4.1 输入、输出信号和 CLB 逻辑块
      5. 2.3.5 CLB BiSS-C 实现详细信息
        1. 2.3.5.1 事务波形
        2. 2.3.5.2 FRAME_STATE 生成
        3. 2.3.5.3 CLB_SPI_CLOCK 生成
        4. 2.3.5.4 ENCODER_CLOCK (MA) 生成
      6. 2.3.6 PM BiSS-C 接口库
        1. 2.3.6.1 PM BiSS-C 库函数
  9. 3硬件、软件、测试要求和测试结果
    1. 3.1 硬件
      1. 3.1.1 TIDM-1010 跳线配置
    2. 3.2 软件
      1. 3.2.1 C2000 驱动程序库 (DriverLib)
      2. 3.2.2 C2000 SysConfig
      3. 3.2.3 C2000 可配置逻辑块工具
      4. 3.2.4 安装 Code Composer Studio™ 和 C2000WARE-MOTORCONTROL-SDK
      5. 3.2.5 查找参考软件
    3. 3.3 测试和结果
      1. 3.3.1 硬件配置
      2. 3.3.2 构建和加载工程
      3. 3.3.3 运行示例代码
      4. 3.3.4 编码器测试
      5. 3.3.5 基准测试
      6. 3.3.6 故障排除
  10. 4设计文件
  11. 5软件文件
  12. 6相关文档
    1.     商标
  13. 7术语
  14. 8关于作者
  15. 9修订历史记录

ENCODER_CLOCK (MA) 生成

ENCODER_CLOCK 或 BiSS MA 生成类似于上一节中显示的 CLB_SPI_CLOCK 生成。有两个主要差异:

  • 生成的 MA 时钟总数取决于接收到响应的时间。
  • MA 信号的末端必须保持高电平或低电平,以指示 CDM 位。

图 2-18 中的标记 (1) 指示通过 图 2-17 中所示的逻辑检测到编码器的 ACK 的点。在标记 (1) 之前,生成了未知数量的 MA 时钟。从标记 (1) 开始,所需的额外 MA 时钟数量为 X + 4 + 6,其中:

  • X 位:位置位总数(单圈 + 多圈)
  • 4 位:开始位 + CDM 位 + 错误位 + 警告位
  • 6 位:CRC 位

该数字由应用程序存储在 TILE4 HLC 寄存器 R0 中。HLC 使用此值以及当前计数器值来调整时钟总数 (COUNTER_1 match1)。例如,请参阅 图 2-18):

  1. 如果 X = 13,则应用程序在 HLC R0 中存储 23
  2. 在标记 (1) 处检测到 ACK 时,将触发 HLC 程序。
  3. HLC 读取当前 CLB_ENCODER_CLOCK_COUNT (4),并添加 R0 (23) = 27
  4. HLC 将 27 加载到 TILE4 COUNT_1 match1 中
  5. 当 CLB_ENCODER_CLOCK_COUNT 达到 match1 时,MA 时钟的生成完成。
TIDM-1010 ENCODER_CLOCK (MA) 生成图 2-16 ENCODER_CLOCK (MA) 生成
TIDM-1010 编码器 ACK 检测逻辑图 2-17 编码器 ACK 检测逻辑
TIDM-1010 MA 生成仿真波形:CDM 信号高电平图 2-18 MA 生成仿真波形:CDM 信号高电平

CDM 位是每个 BiSS-C 帧传输到编码器的一位控制数据。MA 信号的末端必须保持高电平或低电平,以指示当前 CDM 位。图 2-18 展示了 BISSC_CDM_BIT 电平为高电平时的仿真波形。图 2-19 展示了 BISSC_CDM_BIT 信号为低电平时的仿真波形。BISS_CDM_BIT 信号由写入逻辑块的 GPREG 的 C28x CPU 控制。

注: 对于该讨论,信号状态(高电平或低电平)是指 BISS_CDM_BIT 信号的电平。编码器将实际 CDM 位值解释为信号电平的反转。例如,如果 BISS_CDM_BIT 信号为高电平,则编码器会检测到 CDM 位值为 0。软件库考虑了这种反转。

当 FRAME_STATE 因 CLB_ENCODER_CLOCK_COMPLETE (图 2-16) 而改变时,逻辑块 4 FSM_0 将 BISS_CDM_BIT 电平附加到 MA 信号。在 BISSC_CDM_BIT 电平为低电平时,输出 (图 2-19) 从 ENC_CLOCK_MA 中删除一个额外的边沿。

TIDM-1010 MA 生成仿真波形:CDM 信号低电平图 2-19 MA 生成仿真波形:CDM 信号低电平