AFEx82H1 提供 DAC 增益和偏移校准功能,可以校正系统中出现的端点误差。需使用两个寄存器 DAC_GAIN.GAIN 和 DAC_OFFSET.OFFSET 来实现增益和偏移校准。在更改增益或偏移代码后应更新 DAC_DATA 寄存器以使新值生效。可以使用方程式 2 将 DAC_GAIN 编程为 0.5 至 1.499985 之间的值。
方程式 2.
其中
- N = DAC_GAIN 分辨率,以位数表示:AFE882H1 为 16 位,AFE782H1 为 14 位。
- GAIN 是 DAC_GAIN 寄存器设置的十进制值。
- GAIN 数据采用左对齐形式;对于 AFE782H1,DAC_GAIN 寄存器中的最后两个 LSB 将被忽略。
AFE882H1 的 DAC_GAIN 设置示例如表 6-1 所示。
表 6-1 DAC_GAIN 设置与 GAIN 代码
DAC_GAIN |
GAIN(十六进制) |
0.5 |
0x0000 |
1.0 |
0x8000 |
1.499985 |
0xFFFF |
DAC_OFFSET 以二进制补码编码形式存储在 DAC_OFFSET 寄存器中。可以使用方程式 3 将 DAC_OFFSET 值编程为 –2(N–1) 至 2(N–1) – 1 之间的值。
方程式 3.
其中
- N = DAC_OFFSET 分辨率,以位数表示:AFE882H1 为 16 位,AFE782H1 为 14 位。
- OFFSETMSB = DAC_OFFSET 寄存器的 MSB 位。
- OFFSETi = DAC_OFFSET 寄存器的其余位。
- i = 该位在 DAC_OFFSET 寄存器中的位置。
- OFFSET 数据采用左对齐形式;对于该器件,DAC_OFFSET 寄存器中的最后两个 LSB 将被忽略。
最高有效位决定数字的符号,称为符号位。符号位的权重为 –2(N-1),如方程式 3 所示。
AFE882H1 的 DAC_OFFSET 设置示例如表 6-2 所示。
表 6-2 DAC_OFFSET 设置与 OFFSET 代码
DAC_OFFSET |
OFFSET(十六进制) |
32767 |
0x7FFF |
1 |
0x0001 |
0 |
0x0000 |
-1 |
0xFFFF |
-2 |
0xFFFE |
–32768 |
0x8000 |
以下传递函数基于 DAC_GAIN 和 DAC_OFFSET 值应用于 DAC_DATA.DATA:
方程式 4.
其中
- DAC_CODE 是施加到 DAC 的内部信号。
- DATA 是 DAC_DATA 寄存器的十进制值。
- DAC_GAIN 和 DAC_OFFSET 是用户校准设置。
- DATA 数据采用左对齐形式;对于 AFE782H1,DAC_DATA 寄存器中的最后两个 LSB 将被忽略。
将方程式 4 中的 DAC_GAIN 和 DAC_OFFSET 代入方程式 2 和方程式 3 得到:
方程式 5.
乘数是使用截断而不是舍入来实现的。如果需要舍入,这种截断可能会导致 1 LSB 的差异。图 6-2 显示了 DAC 校准路径。