本帖最后由 小恩GG 于 2022-7-5 14:12 编辑
LPC553x: VREF校准
VREF,称为基准电压或基准参考电压,可以提供始终恒定的精确电压值,由管脚VREF_OUT输出,并且此管脚需要接220nF的去耦电容。在LPC553x中,VREF_OUT输出范围为 1.0 V 至 2.1 V,出厂默认校准值为1.2 V。 VREF既可用于为外部设备提供参考电压,又可以在设备内部用作模拟外设(如ADC、DAC或CMP)的参考电压。在使用中需要重新调整校准值时,常通过粗调校准及精调校准完成。
1. 理论基础
VREF校准寄存器为UTRIM,包含粗调和微调两部分。 1) 对于粗调,使用 UTRIM[TRIM2V1] 以 100 mV 分辨率调整参考电压输出。4 比特TRIM2V1的输入范围是从0到二进制1011。 2) 对于微调,使用 UTRIM[VREFTRIM] 以 (0.5 x VREF_OUT) mV 分辨率调整参考电压输出。 其中 VREF_OUT是参考电压的实际输出值(以伏特为单位测量)。例如,当VREF_OUT = 1 V 时,精调步长分辨率为:(0.5x 1) = 0.5 mV。
2. 举例
以校准VREF为1.2V为例,首先设置粗调值UTRIM[TRIM2V1]=0b0010,精调值UTRIM[VREFTRIM]=0b0。理论上输出值为1.2V,但由于实际存在误差,利用万用表测其实际输出值VREF_OUT= 1.1980V。那么,此时的精调步长为(0.5*1.1980)mV=0.6mV,进而计算出所需LSB=(1200-1198)mV/0.6mV=4,最终,设置VREFTRIM=0b100。
3. 实验验证 以LPC553x SDK包中vref_1_example为基础,改为对1.6V电压的校准。其中,vreftrim为精调值,可通过串口设置。trimVal为粗调值,初始化为6。
代码及操作如下: 校准1.6V电压时,设置粗调域为0b0110,设置精调域为0。预期VREF_OUT输出电压为1.6V,实际输出电压为1.568V。
计算此时精调步长为(0.5*1.568)=0.784mV,所需LSB= (1600-1568)mV/0.784mV=41。 由于程序每6步精调步长显示一次,所以重新输入相近的精调步长42。 精调后的实际输出值为1.601V,基本满足校准要求。
|