ZHCAFO1 August   2025 MSPM0G3507

 

  1.   1
  2. 1说明
  3. 2所需外设
  4. 3设计步骤
  5. 4设计注意事项
  6. 5软件流程图
  7. 6器件配置
  8. 7应用代码
    1. 7.1 应用代码 – 级联信号计算
  9. 8结果
  10. 9其他资源
  11.   商标

应用代码 – 级联信号计算

此子系统功能的一个关键部分是计算完全级联的信号输出,表示为 G1 × G2 × Vin。这一功能由 cascade_input_voltage() 函数完成,该函数通过考虑两个运算放大器级及 DAC 施加的偏置电压,重构完整放大后的输入信号。

MSPM0G3507 Cascade_Input_Voltage() 代码图 7-2 Cascade_Input_Voltage() 代码

该计算背后的数学模型为:

方程式 1. (G1 × G2 × Vin1) = Vout2 + ((1 + G1) × G2 × Vdac1) × 24 - ((1 + G2) × Vdac2 × 24

由以下组合推导而来

方程式 2. Vout1 = -G1 × Vin1 + (1 + G1) × Vdac1
方程式 3. Vout2 = -G2 × Vout1 + (1 + G2) × Vdac2

其中:

  • G1 和 G2 分别是第一级和第二级运算放大器的增益。
  • Vout1 和 Vout2 分别是第一级和第二级放大器(OPA0 和 OPA1)的输出。
  • Vdac1 和 Vdac2 分别是通过 DAC8_0 和 DAC8_1 施加到 OPA0 和 OPA1 的偏置电压。

该公式补偿每一级 DAC 引起的偏移影响,并重构真实输入信号,仿佛未施加任何偏置一样。代码中使用的左移 (<< 4) 操作,以在缩放回 12 位环境时补偿 8 位 DAC 的分辨率限制,每个 DAC 值必须乘以 16(例如,24)才能与完整的 ADC 范围保持一致。然后,该重构的信号通过 UART 传输,从而为主机系统提供原始输入电压的直流补偿表示,并由所配置的系统增益进行调整比例