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 访问相位状态标志

使用外部 ADC

如果片上 ADC 替换为外部 ADC(例如通过 SPI 连接的 Σ-Δ 器件),则需要进行以下更改:

  1. adc_config.c 文件中 — 将 ADC_readMetrologyData() 函数内的 ADC_readNormalized() 函数调用替换为对外部 ADC 驱动程序的调用。该函数必须将归一化的浮点(以零为中心,满量程约为 ±1.0)写入 workingData→rawVoltageData[PHASE_x]workingData→rawCurrentData[PHASE_x]。归一化约定为:

    normalized = (raw_sample - dc_offset) / gain

    其中,dc_offset 和 gain 是上述相同的两点校准常量,应用于外部 ADC 的原始输出计数。

  2. adc_config.h 文件中 — 删除或替换 ADC_VA_RESULT | ADC_VA_SOC 宏定义,因为 SysConfig 菜单中生成的名称不再适用。改为定义驱动程序所需的常量。ADC_VOLTAGE_DC_OFFSETADC_CURRENT_DC_OFFSETADC_VOLTAGE_GAINADC_CURRENT_GAIN 保持有效,必须设置为匹配外部 ADC 的分辨率和前端增益。
  3. .syscfg 文件中 — 如果未使用片上 ADC,请删除 ADCA 和 ADCB 外设实例,以避免消耗存储器和时钟资源。
  4. metrology_main_file.c 文件中 — 如果外部 ADC 使用数据就绪中断而不是计时器触发器,则将 ADC_readMetrologyData()Metrology_perSampleProcessing() 函数调用从 cpuTimer0ISR 函数移至外部 ADC 中断处理程序中。验证 ISR 是否以与 SAMPLE_RATE 相同的速率执行。
  5. template.h 文件中 — PHASE_x_VOLTAGE_SCALE_FACTORPHASE_x_CURRENT_SCALE_FACTOR 宏仍必须反映外部 ADC 模拟前端的物理缩放,因为计量引擎使用这些宏将归一化样本转换为电压和电流值。