IC18F16Q40单片机中的固定电压参考(Fixed Voltage Reference, FVR)外设是一个高精度、低漂移的内部电压基准源,主要用于为模拟外设(如ADC、比较器等)提供稳定的参考电压,从而提升系统精度并减少对外部元件的依赖。以下是其核心特性和应用详解:
一、FVR的核心功能与配置
稳定电压输出
FVR可生成多档固定的稳定电压(典型值为1.024V、2.048V、4.096V),通过配置FVRCON寄存器选择输出级别15。例如初始化代码:
FVRCON = (1 << 7) | (1 << 5) | (1 << 4) | (2 << 2) | (2 << 0); // 使能FVR,选择4.096V输出
此处:
位7(FVREN)使能FVR模块;
位5-4(CDAFVR1:0)选择DAC参考电压(代码中设为2对应4.096V);
位2-0(ADFVR1:0)选择ADC参考电压(代码中设为2对应4.096V)
低功耗与快速启动
FVR支持快速稳定模式(通常需数微秒),且可通过FVRCON控制功耗模式,适合低功耗应用场景
二、FVR的典型应用场景
为ADC提供高精度参考
PIC18F16Q40的12位ADCC模块(带计算功能)依赖FVR作为参考电压,替代外部基准源,简化电路设计并提高抗干扰能力。例如温度传感器应用中,FVR为ADC提供稳定参考,确保测量准确性15。
配置流程:
初始化FVR并设定输出电压;
在ADCC配置中(ADREF寄存器)选择FVR作为正参考源。
为模拟比较器/DAC提供基准
片内比较器可将FVR输出作为比较阈值;
8位DAC模块也可使用FVR作为输入基准,提升输出精度28。
支持内部温度传感器
在温度检测应用中,FVR为内部温度传感器的ADC转换提供基准电压,结合校准参数(从EEPROM读取的TempGain和TempOffSet)计算实际温度值。
关键代码片段:
ADC_Meas = (ADRESH << 8) | ADRESL; // 读取ADC结果
ADC_Meas = ADC_Meas * TempGain / 256; // 基于FVR参考电压校准计算
ADC_Meas = ADC_Meas + TempOffSet;
三、FVR输出电压选项与适用场景
配置位(ADFVR/CDAFVR) | 输出电压 | 主要应用场景 | 00 | 禁用 | 节能模式 | 01 | 1.024V | 低功耗ADC测量 | 10 | 2.048V | 通用ADC/DAC参考 | 11 | 4.096V | 高精度传感器或宽动态范围ADC |
|