ZHCACO0A august   2014  – may 2023 MSP430I2040 , MSP430I2041

 

  1.   1
  2.   使用 MSP430I2040 的单相和直流嵌入式计量(功率监视器)
  3.   商标
  4. 引言
    1. 1.1 安全性和预防措施
    2. 1.2 特性
  5. 设计详情
    1. 2.1 方框图
    2. 2.2 硬件设计
      1. 2.2.1 接口电路
      2. 2.2.2 11
      3. 2.2.3 分流电阻器
      4. 2.2.4 分压器电路
      5. 2.2.5 布局注意事项
      6. 2.2.6 分流传感器焊盘设计
    3. 2.3 软件设计
      1. 2.3.1 工具套件包
      2. 2.3.2 计量计算引擎
      3. 2.3.3 后台进程
      4. 2.3.4 相位校正
      5. 2.3.5 频率测量和周期跟踪
      6. 2.3.6 周期跟踪和前台进程触发
      7. 2.3.7 前台进程
  6. 校准技术
    1. 3.1 引言
    2. 3.2 校准技术
      1. 3.2.1 校准设置
        1. 3.2.1.1 仪器
        2. 3.2.1.2 设置
    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 直流参数校准
  7. 硬件设置
    1. 4.1 EVM 的顶视图
    2. 4.2 EVM 的底视图
    3. 4.3 硬件设置过程
      1. 4.3.1 设置 EVM 的电源
      2. 4.3.2 设置串行通信接口
      3. 4.3.3 设置线路输入和负载输出
      4. 4.3.4 设置调试接口
  8. 校准器软件
    1. 5.1 软件包内容
    2. 5.2 设置 PC 软件工具
      1. 5.2.1 最低系统要求
      2. 5.2.2 安装软件
      3. 5.2.3 配置软件
    3. 5.3 仪器
  9. 操作 PC 软件工具
    1. 6.1 引言
    2. 6.2 开始使用 EVM
    3. 6.3 已知问题
  10. 串行通信命令
    1. 7.1 引言
    2. 7.2 通信协议
      1. 7.2.1 轮询模式
        1. 7.2.1.1 命令和响应帧
    3. 7.3 命令
      1. 7.3.1  HOST_CMD_GET_METER_NAME
        1. 7.3.1.1 命令格式
      2. 7.3.2  HOST_CMD_GET_METER_VER
        1. 7.3.2.1 命令格式
      3. 7.3.3  HOST_CMD_GET_METER_CONFIGURATION
        1. 7.3.3.1 命令格式
        2. 7.3.3.2 参数定义
      4. 7.3.4  HOST_CMD_GET_RTC
        1. 7.3.4.1 命令格式
      5. 7.3.5  HOST_CMD_ALIGN_WITH_CALIBRATION_FACTORS
        1. 7.3.5.1 命令格式
      6. 7.3.6  HOST_CMD_SET_PASSWORD
        1. 7.3.6.1 命令格式
      7. 7.3.7  HOST_CMD_GET_READINGS_PHASE_N
        1. 7.3.7.1 命令格式
      8. 7.3.8  HOST_CMD_GET_EXTRA_READINGS_PHASE_N
        1. 7.3.8.1 命令格式
      9. 7.3.9  HOST_CMD_SUMCHECK_MEMORY
        1. 7.3.9.1 命令格式
      10. 7.3.10 HOST_CMD_CLEAR_CALIBRATION_DATA
        1. 7.3.10.1 命令格式
      11. 7.3.11 HOST_CMD_SET_CALIBRATION_PHASE_N
        1. 7.3.11.1 命令格式
      12. 7.3.12 HOST_CMD_GET_CALIBRATION_PHASE_N
        1. 7.3.12.1 命令格式
      13. 7.3.13 HOST_CMD_SET_CALIBRATION_EXTRAS
        1. 7.3.13.1 命令格式
      14. 7.3.14 HOST_CMD_GET_CALIBRATION_EXTRAS
        1. 7.3.14.1 命令格式
  11. 固件和嵌入式计量库 API
    1. 8.1 引言
    2. 8.2 嵌入式计量库 API
      1. 8.2.1 嵌入式计量库函数调用
        1. 8.2.1.1 用于计量引擎控制的函数
          1. 8.2.1.1.1 用于计量引擎控制的函数
          2.        int metrology_init (void)
          3.        int metrology_init_from_nv_data (void)
          4.        void align_metrology_with_calibration_data (void)
          5.        void metrology_switch_to_normal_mode (void)
          6.        void metrology_init_analog_front_end_normal_mode (void)
          7.        void metrology_disable_analog_front_end (void)
        2. 8.2.1.2 计量引擎初始化过程
        3. 8.2.1.3 用于计算和读取读数的函数
          1. 8.2.1.3.1 用于计算和读取读数的函数
          2.        power_t calculate_phase_readings (void)
          3.        power_t active_power (int ph)
          4.        power_t reactive_power (int ph)
          5.        power_t apparent_power (int ph)
          6.        power_t fundamental_active_power(int ph)
          7.        power_t fundamental_reactive_power(int ph)
          8.        power_factor_t power_factor (int ph)
          9.        rms_voltage_t rms_voltage (int ph)
          10.        rms_voltage_t fundamental_rms_voltage(int ph)
          11.        thd_t voltage_thd(int ph)
          12.        rms_current_t rms_current (int ph)
          13.        rms_current_t fundamental_rms_current(int ph)
          14.        thd_t current_thd(int ph)
          15.        int16_t mains_frequency (int ph)
          16.        uint16_t phase_status (int ph)
      2. 8.2.2 嵌入式计量库回调
      3. 8.2.3 应用程序级校准函数
        1. 8.2.3.1 用于读取和写入校准参数的函数
          1. 8.2.3.1.1 用于读取和写入校准参数的函数
          2.        int get_calibration_status (void)
          3.        void set_calibration_status (int value)
          4.        int clear_calibration_data (void)
          5.        int16_t get_temperature_intercept (void)
          6.        int16_t get_temperature_slope (void)
          7.        void set_temperature_parameters (int16_t temperature_at_calibration, int16_t temperature_sensor_intercept, int16_t temperature_sensor_slope)
          8.        calibration_scaling_factor_t get_P_scaling (int phx)
          9.        void set_P_scaling (int phx, calibration_scaling_factor_t value)
          10.        calibration_scaling_factor_t get_V_rms_scaling (int phx)
          11.        void set_V_rms_scaling (int phx, calibration_scaling_factor_t value)
          12.        int16_t get_v_dc_estimate (int phx)
          13.        int16_t get_initial_v_dc_estimate (int phx)
          14.        void set_v_dc_estimate (int phx, int16_t value)
          15.        int32_t get_v_ac_offset (int phx)
          16.        void set_v_ac_offset (int phx, int32_t value)
          17.        calibration_scaling_factor_t get_I_rms_scaling(int phx);
          18.        void set_I_rms_scaling(int phx, calibration_scaling_factor_t value);
          19.        int32_t get_i_dc_estimate(int phx);
          20.        int32_t get_initial_i_dc_estimate(int phx)
          21.        void set_i_dc_estimate(int phx, int32_t value);
          22.        int32_t get_i_ac_estimate(int phx);
          23.        void set_i_ac_offset (int phx, int32_t value)
          24.        uint16_t get_compensate_capacitor_value (int phx)
          25.        void set_compensate_capacitor_value (int phx, uint16_t value)
          26.        uint16_t get_compensate_resistance (int phx)
          27.        void set_compensate_resistance (int phx, uint16_t value)
          28.        int16_t get_phase_corr (int phx)
          29.        void set_phase_corr (int phx, int16_t value)
      4. 8.2.4 设置默认校准参数
  12. 示例应用程序代码
    1. 9.1 引言
    2. 9.2 准备要运行的应用程序代码
    3. 9.3 在没有 IAR 许可证的情况下下载
  13. 10硬件设计文件
    1. 10.1 封装
    2. 10.2 原理图
  14. 11EVM 规格和性能
    1. 11.1 EVM 规格
  15. 12在 MSP430i2040 和 MSP430i2041 上运行
    1. 12.1 164
  16. 13修订历史记录

布局注意事项

虽然外部电路的电路设计非常简单,但在 PCB 布局和元件放置中有几点需要注意,以实现最佳精度。图 2-3图 2-4 分别展示了顶层和底层的布局。对于布局和放置,要记住的原则很简单:

  • 关键电路是两组接口滤波器电路。
  • 从传感器传输到 SD24 输入的信号在任何情况下都是差分信号。
  • 将模拟接地和数字接地分开,在电源接地处重新连接在一起。
  • 尽可能在模拟信号周围设置接地平面,以防止干扰。

现在回到布局,请注意图 2-3 中绿色矩形内是电压传感器和分流传感器的接口电路。该电路(包括用于电压传感器的 R10、R11、C12、C13、C14 以及 R8、R9、C8、C9 和 C10)的布置应与原理图上绘制的方式类似。这样做有助于在信号通过接口滤波器电路时保护其差分特性。

图 2-3图 2-4 中的黄色矩形内部显示离开接口滤波器的差分信号对应紧密并排布置并在它们一侧被模拟接地平面环绕(当然,这并不总是可能的)。

尽管 R15、R6、L1 有一个端子实质上连接到 AGND,但应将每个端子视为通过单点连接到 AGND 的单独信号(图 2-4 中以青色圈出的部分显示 R15 仅通过单条线路连接到 AGND)。实际上,这种布局方式也适用于 C12、C13、C8、C9 的连接。这有助于电路保持独立(电压信号和电流信号都没有干扰对方的路径)并且不受接地平面中流动的噪声的影响。

接地平面的设计使其环绕了大部分模拟电路。使用 i2040 很容易做到这一点,因为模拟信号引脚在封装的一侧组合在一起。此外,接地平面上增加了许多过孔,使顶部和底部接地平面紧密地连接在一起,从而提供更强的噪声保护。

GUID-D9B0F4C6-B8F8-40F5-94B0-0F99EBB915CE-low.png图 2-3 顶层布局
GUID-0B7AE722-9847-421B-BA12-241F70DA760B-low.png图 2-4 底层布局