ZHDU154 July   2026 TMS320F28P550SJ , TMS320F28P650DK

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2库声明
  6. 3库架构
    1. 3.1 后台处理
    2. 3.2 前台处理
    3. 3.3 数据传输机制
  7. 4计量计算
  8. 5配置和数据结构
  9. 6校准模块
  10. 7用户特定的配置
    1. 7.1 DEBUG 模式
      1. 7.1.1 调试模式的函数
      2. 7.1.2 如何配置 DEBUG 模式参数
    2. 7.2 ADC 模式
      1. 7.2.1 使用片上 ADC
      2. 7.2.2 两点校准
        1. 7.2.2.1 步骤 1 — 偏移校准(零输入点)
        2. 7.2.2.2 步骤 2 — 增益校准(满量程点)
      3. 7.2.3 使用外部 ADC
    3. 7.3 模式切换
    4. 7.4 THD 算法选择
      1. 7.4.1 方法 1 — 基于 PLL(未定义 HARMONICS_SUPPORT 宏时的默认值)
      2. 7.4.2 方法 2 — Goertzel DFT(HARMONICS_SUPPORT 和 USE_GOERTZEL_THD 宏均已定义时)
      3. 7.4.3 方法 3 — 2048 点实数 FFT(已定义 HARMONICS_SUPPORT 宏但未定义 USE_GOERTZEL_THD 宏时)
    5. 7.5 拓扑选择
    6. 7.6 启用功能
    7. 7.7 系统参数
    8. 7.8 每相位比例因子
  11. 8运行示例
    1. 8.1 访问每个相位的参数
    2. 8.2 访问系统总测量值
    3. 8.3 访问相位状态标志

访问相位状态标志

每个相位都有一个状态字段,其中包含 PHASE_STATUS 标志的位掩码:gMetrologyWorkingData.phases[0].status

下面列出了 metrology_defines.h 文件中定义的有用标志值:

  • PHASE_STATUS_NEW_LOG (0x0001) — 后台已完成测量窗口;但前台尚未处理该测量值。
  • PHASE_STATUS_V_OVERRANGE (0x0010) — 电压 ADC 输入达到终点限位(检测到削波)。
  • PHASE_STATUS_I_OVERRANGE (0x0020) — 电流 ADC 输入达到终点限位。
  • PHASE_STATUS_ZERO_CROSSING_MISSED (0x4000) — 预期的过零未在有效窗口内发生(频率超出范围或信号丢失)。

要检查是否已设置标志,请以十六进制格式显示状态字段或使用按位 AND 表达式:如果错过了过零,则 gMetrologyWorkingData.phases[0].status 和 0x4000 均不为零。

注: 要在不停止的情况下进行真正的实时监测,请启用 CCS 连续刷新模式(需要具有实时存储器访问功能的 XDS 调试探针)。启用连续刷新模式:
  1. Expressions 窗口中右键选择 → Continuous RefreshEnable
    • 在 CPU 继续运行时,这会定期轮询目标存储器。
    • 启用此功能会增加总线流量,并可能影响实时性能。因此,请谨慎使用此模式。