ARM Cortex-M0+模拟接口设计:从电气规格到低功耗实践

📅 2026/6/20 6:27:22
ARM Cortex-M0+模拟接口设计:从电气规格到低功耗实践
1. 项目概述与核心价值在嵌入式硬件开发尤其是基于ARM Cortex-M0这类低功耗微控制器的项目中模拟接口的设计往往是决定系统精度、稳定性和功耗的关键。很多工程师在选型或设计时常常会陷入一个误区过于关注处理器的核心频率、内存大小等数字指标而忽略了数据手册中那些看似枯燥的“电气规格”表格。殊不知这些参数才是连接理想电路图与真实物理世界的桥梁。今天我们就以NXP Kinetis KL82这款在物联网和便携设备中常见的MCU为例深入“解剖”其内置的模拟比较器和6位DAC模块的电气特性。这不仅仅是读数据手册更是理解如何让芯片在您的电路板上稳定、精确工作的必修课。模拟比较器CMP和数模转换器DAC是微控制器与模拟世界对话的“耳朵”和“嘴巴”。比较器负责快速判断两个电压的高低常用于过压保护、窗口检测或唤醒触发而DAC则将您的数字代码转换为实实在在的电压用于设定阈值、生成波形或驱动模拟电路。KL82将这两个功能集成在内省去了外部分立器件但要用好它们就必须吃透其电气规格。本文将跳出简单罗列参数的窠臼结合我多年在低功耗传感节点和电池供电设备上的设计经验为您解读每一个关键参数背后的设计考量、典型应用中的陷阱以及如何根据这些规格进行可靠的电路设计和软件配置。无论您是正在评估KL82是否适合您的项目还是已经在使用但遇到了精度或功耗问题相信这篇详尽的解析都能提供直接的帮助。2. 模拟比较器电气规格深度解析模拟比较器是KL82中一个响应迅速、功耗灵活的模拟外设。它的核心功能很简单比较正输入端INP和负输入端INN的电压当INP INN时输出高电平反之输出低电平。但实现这一简单功能背后的电气特性却决定了其应用的边界和可靠性。2.1 供电与功耗平衡速度与能耗的艺术首先看供电电压VDD范围是1.71V到3.6V。这意味着KL82的比较器可以在低至1.71V的电池电压下工作非常适合单节干电池或锂锰电池供电的应用。但需要注意的是一些参数如输入偏移电压、传播延迟可能会在电压边界处略有恶化设计中应尽量让VDD工作在典型值附近比如3.0V或3.3V。功耗是低功耗设计的命脉。KL82的比较器提供了两种工作模式通过PMODE位控制低速模式(PMODE0)典型静态电流IDDLS最大为20μA。这是一个非常可观的数值意味着在等待传感器阈值触发或系统处于休眠监听状态时比较器仅消耗极少的电量。高速模式(PMODE1)典型静态电流IDDHS最大为200μA。功耗增加了10倍但换来了更快的响应速度。设计实践与取舍您该如何选择我的经验是对于电池供电的无线传感节点其大部分生命周期都处于深度睡眠状态仅靠比较器监控某个传感器信号如光敏电阻分压来唤醒。此时低速模式是唯一选择。20μA的电流配合一颗1000mAh的纽扣电池理论上可以持续工作超过5年这完全满足了长期监测的需求。只有当您需要比较高频信号比如超过10kHz的脉冲或对系统响应时间有极致要求如快速保护电路时才需要考虑切换到高速模式。在软件初始化时务必根据应用场景设置好CMPx_CR0[PMODE]位。2.2 输入与输出特性确保信号“纯净”接入输入电压范围VAIN是VSS – 0.3V到VDD。这里的VSS – 0.3V需要特别注意它意味着输入电压可以略低于地电平GND0.3V而不损坏器件这为处理带有轻微负压的交流耦合信号提供了一定的裕度。但绝不能将其当作轨到轨输入最佳实践是让输入信号严格控制在VSS到VDD之间。输入偏移电压VAIO最大为20mV。这是一个关键误差源。它意味着即使您将INP和INN连接到完全相同的电压比较器的输出也可能由于内部晶体管的不匹配而随机偏向高或低。20mV的偏移在比较1V以上的信号时影响不大但在比较几十毫伏级别的小信号时例如精密电流采样电阻上的压降这个偏移就可能造成误判。对策对于高精度比较应用有两点建议第一在软件中可以进行校准通过测量已知输入下的输出偏差来补偿第二KL82的比较器支持使用内部6位DAC作为参考电压其精度优于简单的电阻分压可以减少因参考源不准带来的叠加误差。比较器的输出是数字电平高电平VCMPOh最小为VDD – 0.5V低电平VCMPOl最大为0.5V。这属于标准的CMOS输出水平足以直接驱动后续的数字逻辑电路或触发中断。在连接外部电路时确保负载不会过重即可。2.3 迟滞与传播延迟提升抗噪与响应速度迟滞功能是工程实践中避免比较器在阈值附近因噪声而反复翻转的“神器”。KL82提供了四档可编程迟滞电压VH通过CR0[HYSTCTR]位控制0mV关闭、5mV、10mV、20mV、30mV。如何选择迟滞量这取决于您输入信号上的噪声幅度。例如如果您在比较一个来自长导线的传感器信号线上可能有10mV-15mV的噪声那么选择20mV或30mV的迟滞可以有效防止输出抖动。但迟滞并非越大越好它会引入一个“死区”。假设参考电压是1.0V迟滞设为30mV那么输入电压需要超过1.015V输出才变高而需要低于0.985V输出才变低。这降低了比较灵敏度。因此我的经验法则是将迟滞设置为略大于观测到的信号峰值噪声的2倍。数据手册中的图32和图33展示了在不同输入电平下迟滞电压的典型值可以看到迟滞并非完全恒定但在中间电平区域较为稳定。传播延迟tD决定了比较器的速度。低速模式下tDLS典型值为250ns最大600ns高速模式下tDHS典型值为50ns最大200ns。这个参数直接影响系统对快速事件的响应时间。例如用比较器做过零检测来控制交流电的相位假设工频50Hz其半周期为10ms那么即使600ns的延迟也微不足道。但若用于检测一个100ns宽的窄脉冲那么高速模式下的50ns延迟就必须纳入考量否则可能错过信号。计算示例如果您需要检测一个上升时间为1μs的信号并希望比较器在信号达到阈值后的200ns内做出反应那么就必须选择高速模式因为低速模式的最大延迟600ns可能无法满足时序要求。最后初始化延迟最大40μs提醒我们在软件中修改了比较器的配置如使能DAC、切换输入通道后必须等待足够的时间再读取输出否则得到的是不稳定状态。一个简单的做法是在配置后插入一个几十微秒的延时或者更好的是轮询输出位直到其稳定。3. 6位DAC电气规格与应用要点KL82内置了一个6位电阻串型DAC。6位分辨率意味着有64个2^6输出电平对于许多设定阈值、提供偏置的应用来说已经足够并且它在功耗和面积上具有优势。3.1 核心精度参数INL与DNL衡量DAC精度的两个最重要指标是积分非线性INL和微分非线性DNL。INL表示DAC实际传输特性曲线与理想直线之间的最大偏差。KL82的6位DAC的INL为±0.5 LSB。这意味着在最坏情况下DAC输出的电压与理想值可能相差半个步进。例如参考电压VREF为3.3V时1 LSB 3.3V / 64 ≈ 51.56mV。±0.5 LSB的INL对应最大误差约为±25.78mV。DNL表示相邻两个数字代码对应的输出电压差值与理想的1 LSB之间的偏差。KL82的DNL为±0.3 LSB。DNL保证了输出的单调性即输入代码增加时输出电压一定不会下降。这是DAC能够正常工作的基本要求。对应用的影响假设您用这个DAC为比较器生成一个1.65V的参考电压代码设为32。考虑到INL误差实际输出可能在1.624V到1.676V之间波动。在设计阈值时必须将这个误差范围考虑进去留出足够的余量避免因DAC误差导致系统误动作。对于需要更高精度的场合要么选择外置更高位数的DAC要么在软件中引入校准算法。3.2 输出特性与附加电流6位DAC的输出并非一个独立的引脚输出而是主要用作内部比较器的参考电压源。其输出范围理论上是从VSS到VREF可选择为VDDA或一个外部参考电压。数据手册中并未直接给出其驱动能力因为它通常只驱动内部高阻抗节点。需要特别注意的参数是IDAC6b即“6-bit DAC current adder (enabled)”典型值为7μA。这指的是当DAC使能时它会额外消耗大约7μA的静态电流。在计算系统总功耗时如果使能了DAC别忘了把这部分电流加上。在极低功耗设计中每一个微安都至关重要不用时务必通过DACEN位关闭DAC。3.3 参考电压选择与计算6位DAC的参考电压VREF是可选的通常可以连接到芯片的VDDA模拟电源或一个更精确的外部参考电压芯片的输出。选择VDDA最为方便但VDDA上的任何噪声或纹波都会直接反映在DAC输出上。如果系统对DAC输出的稳定性要求高强烈建议使用一个独立的、低噪声的基准电压源例如TLV431或REF3025连接到VREFH引脚。输出电压计算DAC的输出电压由以下公式决定Vout (VREF / 64) * DAC_CODE其中DAC_CODE是您写入DAC数据寄存器的值范围0-63。实操示例假设我们使用内部VDDA作为参考VDDA实测为3.30V。我们需要为比较器设定一个2.0V的阈值。计算LSB3.30V / 64 ≈ 0.0515625V计算所需代码2.0V / 0.0515625V ≈ 38.79取整最接近的代码是39十进制或0x27十六进制。写入代码39后理论输出为39 * 0.0515625V ≈ 2.011V存在约11mV的量化误差。这就是6位分辨率的限制。4. 12位DAC电气特性详解相较于内部的6位DACKL82还可能集成了一个更高精度的12位DAC模块具体需查阅芯片数据手册的模块列表。12位DAC提供了4096个输出电平精度大幅提升适用于需要生成模拟波形、进行精密调压等场景。4.1 工作模式与功耗权衡12位DAC通常提供两种功耗模式低功耗模式和高功率模式。这两种模式在速度、精度和电流消耗上有着显著的权衡。低功耗模式静态电流IDDA_DACL典型值更低可能低于150μA。但相应的其建立时间tDACLP较长典型值在100μs量级。这意味着当您改变DAC的输出代码后需要等待约100μs输出电压才能稳定到目标值±1 LSB的范围内。高功率模式静态电流IDDA_DACH显著增加可能达到700μA或更高。但换来的好处是建立时间tDACHP大大缩短典型值可能为15μs。此外高功率模式下的压摆率SR、带宽BW等动态性能也更好。选型建议对于输出缓慢变化的直流电平或低频信号如可调偏置电压低功耗模式是首选可以极大节省系统功耗。对于需要输出音频、波形等变化较快的信号则必须使用高功率模式以确保DAC能跟上数据更新的速度。例如要输出一个1kHz的正弦波每个周期需要至少20个采样点则更新率需达到20kHz即周期50μs。低功耗模式100μs的建立时间显然无法满足必须使用高功率模式。4.2 精度与误差分析12位DAC的精度指标更为丰富理解它们有助于进行系统误差预算分析。偏移误差当输入代码为0时实际输出电压与0V的偏差。通常用满量程范围FSR的百分比表示例如±0.8% FSR。如果FSR是3.3V那么最大偏移误差可达±26.4mV。这个误差是固定的可以通过软件校准消除在代码0时测量实际输出后续所有输出值减去这个偏移量。增益误差DAC实际传输特性的斜率与理想斜率的偏差。同样用%FSR表示。它影响了输出的比例也可以通过两点校准来修正。INL与DNL与6位DAC概念相同但指标更优。例如INL为±8 LSB。对于12位DAC1 LSB FSR / 4096。若FSR3.3V则1 LSB约0.8mV±8 LSB的INL意味着最大非线性误差约为±6.4mV。温度系数包括偏移电压温度系数TCO和增益误差温度系数TGE。这描述了DAC输出随温度漂移的特性。例如TCO为3.7 μV/°C意味着温度每变化10°C偏移电压可能漂移37μV。在宽温范围应用-40°C到85°C中这个漂移累积起来可能达到近0.5mV对于高精度应用需要考虑。误差预算实例假设在25°C室温下我们使用内部参考FSR3.3V输出目标电压1.650V代码0x800。量化误差固定为±0.5 LSB ≈ ±0.4mV。INL误差最大±8 LSB ≈ ±6.4mV。偏移误差最大±0.8% FSR ±26.4mV。增益误差最大±0.6% FSR ±19.8mV。总未校准误差最坏情况下可能达到以上误差的绝对值之和虽然概率极低超过50mV。这凸显了校准的重要性。通过简单的零点-满点两点校准可以大幅消除偏移和增益误差将精度主要限制在INL和DNL上。4.3 外部电路设计要点数据手册中给出的输出负载能力至关重要。通常DAC的输出端只能驱动有限的容性负载CL如100pF和阻性负载IL如1mA。如果直接驱动一个低阻抗负载会导致输出电压下降和失真。正确的做法是使用运算放大器作为缓冲器。将DAC输出连接到运放的同相输入端构成一个电压跟随器。运放具有高输入阻抗和低输出阻抗可以完美地隔离DAC并驱动外部负载。选择运放时需关注其输入偏置电流、失调电压和带宽以确保不引入新的显著误差。对于需要滤波的应用可以在运放输出端或DAC与运放之间加入RC滤波网络但需注意滤波电容会构成DAC的容性负载其值不应超过数据手册规定的CL最大值。电源抑制比PSRR也是一个重要参数它表示DAC输出对电源VDDA上纹波的抑制能力典型值为60-90dB。高的PSRR意味着即使模拟电源有些许噪声对DAC输出的影响也很小。为了获得最佳性能务必为VDDA提供干净、稳定的电源并按照数据手册的“硬件设计考虑”章节建议在VDDA引脚附近放置高质量的退耦电容如10μF电解电容并联0.1μF陶瓷电容。5. 电压参考源电气规格解析一个稳定、精确的电压参考源是所有模拟电路ADC, DAC, CMP的基石。KL82内部集成了一个带隙基准电压源可以输出约1.2V的稳定电压VREF_OUT。5.1 核心参数精度、温漂与负载调整率输出电压与微调出厂时基准电压在典型条件下VDDA3.3V25°C被修调到1.195V左右范围在1.1915V到1.1977V之间。这个初始精度对于许多应用已经足够。更棒的是芯片支持用户通过特定的寄存器进行微调微调步长Vstep约为0.5mV。这意味着您可以在应用板上通过软件校准将基准电压调整到更接近理想值如1.200V从而提升整个模拟子系统的绝对精度。温度漂移Vtdrift参数表示在整个工作温度范围内输出电压的最大变化范围典型值为80mV。这是基准源的关键指标。假设从-40°C到105°C温度变化145°C那么平均温漂约为0.55mV/°C。对于高精度测量这个漂移必须被考虑在内。数据手册中的图35直观展示了中点电压随温度的变化曲线。负载调整率ΔVLOAD表示输出电流从0变化到±1.0mA时输出电压的变化量典型值200μV。这说明该基准源具有一定的带载能力最大约1mA且负载变化时输出电压非常稳定。如果您需要驱动多个负载如同时为ADC和DAC提供参考需要计算总电流是否超过其驱动能力。5.2 工作模式与配置策略内部电压参考源通常有不同的工作模式例如低功耗缓冲器模式和高功率缓冲器模式对应不同的静态电流消耗Ilp和Ihp。选择原则与DAC类似低功耗模式当参考电压仅用于ADC或DAC的静态偏置且对建立时间要求不高时使用。高功率模式当参考电压需要快速响应负载变化或者用于动态采样率很高的ADC时使用。例如ADC以1Msps的速度连续采样时参考源需要能够快速为内部的采样电容阵列充电此时高功率模式能提供更稳定的电压。配置流程建议上电后使能电压参考模块通常有一个VREF_SC寄存器。根据应用需求选择低功耗或高功率缓冲器模式通过VREF_SC[REGEN]或类似位域。等待参考电压稳定。数据手册给出了缓冲器启动时间Tstup最大100μs。在软件中使能后必须延迟足够时间建议150-200μs或轮询稳定标志位如果提供。可选进行用户微调。可以在已知温度下如室温通过测量一个已知精度的外部电压反向计算并写入微调值到VREF_TRM寄存器。5.3 外部参考与内部参考的抉择KL82也允许您使用外部参考电压源通过VREFH引脚接入。这引出一个经典问题何时用内部参考何时用外部参考使用内部参考的情况空间和成本极度受限省去一颗外部芯片及其周边电路。精度要求一般系统误差允许在几十毫伏级别。功耗敏感外部基准芯片即使关断也有漏电流而内部参考在MCU深度睡眠时可被完全关闭。应用场景电池供电的传感器节点、消费类电子产品、对绝对精度要求不高的阈值检测。使用外部参考的情况高精度测量需求需要16位ADC发挥全部性能或DAC输出要求极高稳定性。宽温范围工作外部基准芯片如MAX6070、REF5025通常具有更低的温漂几个ppm/°C。需要非标准参考电压内部参考固定为~1.2V而您可能需要2.5V或4.096V等标准参考电压。应用场景工业仪表、数据采集系统、精密电源、医疗设备。我的经验在大多数物联网和消费类项目中KL82的内部1.2V参考已经足够出色。只有当您的设计涉及到精密传感器如称重传感器、热电偶或需要生成非常稳定的模拟电压时才值得增加成本和布局复杂度去使用外部参考。使用外部参考时务必在VREFH引脚附近放置高质量的滤波电容并确保走线远离数字噪声源。6. 通信接口电气特性与PCB布局要点KL82的通信外设如DSPI, I2C, LPUART的电气特性直接决定了总线通信的速率和可靠性而这些特性又与PCB布局和负载条件紧密相关。6.1 DSPI接口的时序与电压范围DSPI模块的时序参数分为“有限电压范围”2.7V-3.6V和“全电压范围”1.71V-3.6V两种规格。在更高电压下IO口的驱动能力和翻转速度更快因此允许更高的SCK时钟频率如24 MHz 3.3V。而在全电压范围的最低电压1.71V下最大频率会降低如15 MHz。关键时序参数解析建立时间DS7 (tSU)主模式下从设备数据DSPI_SIN必须在SCK时钟沿到来之前至少稳定15.8ns3.3V时。这个时间必须大于您选择的从设备的数据输出延迟tV。保持时间DS8 (tH)主模式下在SCK时钟沿之后从设备数据DSPI_SIN必须继续保持有效至少0ns。这通常很容易满足。输出有效时间DS5 (tV)主模式下在SCK时钟沿之后主设备数据DSPI_SOUT最晚15.0ns内有效。这个时间必须小于从设备的数据输入建立时间tSU。设计检查清单确定工作电压您的系统是3.3V还是更低如2.5V、1.8V这决定了您查阅哪张时序表。计算最大SCK频率根据时序参数用最严苛的路径计算。例如主模式下的周期tSCK必须满足tSCK tSU(主) tV(从) 布线延迟裕量。通常为了可靠我会将计算出的最大频率打个8折使用。配置CTAR寄存器根据计算出的频率和从设备要求正确配置DSPI的时钟和传输属性寄存器CTAR中的PBR,BR,PCSSCK,CSSCK,PASC,ASC等字段以产生符合时序要求的SCK波形。6.2 I2C接口的速率与布线实践I2C的时序规范相对标准但KL82支持高达1MHz的快速模式Plus。要实现高速可靠的I2C通信硬件设计比软件配置更重要。标准模式 vs. 快速模式 vs. 快速模式Plus标准模式最高100kHz对总线电容Cb不敏感布线要求宽松。快速模式最高400kHz要求总线电容Cb≤ 400pF上升时间tr有严格要求。快速模式Plus最高1MHz要求极为严格Cb最好控制在100pF以内。实现1MHz I2C的关键硬件措施上拉电阻这是最关键的一环。电阻值Rp由公式Rp(min) (VDD - 0.4V) / 3mA标准驱动和总线电容Cb共同决定。对于1MHzCb很小Rp可以取较小值以加快上升沿。通常使用1kΩ到2.2kΩ的电阻但需注意检查总线上所有设备的IO口最大灌电流能力。使用高驱动强度引脚将I2C引脚SDA, SCL配置为高驱动强度在PORTx_PCRn寄存器中设置DSE1以提供更强的下拉能力改善下降时间tf。最小化总线电容尽可能缩短SDA和SCL走线。避免走线过长或使用排线连接。总线上挂载的设备不要过多建议不超过3个。走线远离其他高速信号线平行走线间距至少3倍线宽。PCB布局I2C走线应尽可能短、直。如果必须走长线应考虑使用低电容的电缆或者在两端使用I2C缓冲器/中继器芯片如PCA9515。软件配置提示即使硬件优化了软件也需配合。在I2C模块的波特率分频寄存器设置时可以尝试将目标波特率设置得略高于实际需求例如计算出的分频值对应1.1MHz以抵消因时钟拉伸clock stretching或微小时序偏差带来的影响。6.3 通用PCB布局与去耦准则无论使用何种外设良好的PCB布局是保证KL82稳定工作的基础。数据手册的“硬件设计考虑”章节提供了黄金准则这里结合我的踩坑经验强调几点电源去耦这是重中之重。每个电源引脚VDD, VDDA, VREFH等都必须有一个0.1μF的陶瓷电容就近放置距离引脚不超过2mm。此外在电源入口处需要放置一个10μF或更大的钽电容或电解电容作为储能电容。对于模拟电源VDDA和参考电源VREFH去耦要求更严格建议使用X7R或X5R材质、精度为10%或更好的陶瓷电容。地平面必须有一个完整、连续的地平面Ground Plane。数字地和模拟地应在芯片下方单点连接通常通过磁珠或0Ω电阻。地平面为高速信号提供返回路径并减少电磁干扰。模拟与数字隔离将模拟电路晶振、ADC输入、DAC输出、VREF滤波集中放置在芯片的一侧并与数字电路MCU、内存、数字接口保持距离。避免数字信号线穿过模拟区域如果无法避免应在它们之间铺设地线进行隔离。复位与调试接口RESET_b引脚建议按照数据手册连接一个10kΩ上拉电阻和一个0.1μF电容到地形成RC滤波防止噪声误触发复位。对于SWD调试接口SWD_CLK, SWD_DIO虽然内部有上下拉但外部并联10kΩ电阻到VDD或GND可以增强在长线调试时的信号完整性。未用引脚处理所有未使用的GPIO引脚务必在软件初始化时将其复用功能设置为0即禁用并配置为输出低电平或输入禁用状态。切勿悬空悬空的引脚可能因感应电荷而振荡增加功耗和噪声。7. 低功耗设计中的模拟模块使用策略KL82的强项在于低功耗而模拟模块往往是功耗大户。如何平衡功能与功耗是设计的关键。7.1 模块化供电与时钟门控首先理解KL82的电源和时钟域。模拟模块如ADC, DAC, CMP, VREF通常由独立的电源VDDA供电并有其独立的时钟控制位。在软件中应遵循“用时开启用完即关”的原则。初始化流程在进入低功耗模式前遍历所有外设关闭其时钟设置SIM_SCGCx寄存器相应位为0和使能位。对于模拟模块还要关闭其电源如果支持独立关断。唤醒后恢复从低功耗模式唤醒后需要重新初始化要使用的外设。注意像VREF、DAC这类模块从关闭到稳定工作需要一定的建立时间几十到几百微秒在读取数据或进行转换前必须通过延时或状态查询确保其已就绪。7.2 比较器作为低功耗唤醒源这是KL82低功耗应用的经典场景。系统进入VLPS或LLS等低功耗停止模式CPU和大部分外设关闭仅保留比较器、RTC等少数模块运行。比较器持续监控一个引脚电压如电池电压、传感器输出当电压超过设定阈值时产生中断唤醒整个系统。配置要点选择正确的引脚确保用作比较器输入的引脚支持模拟功能并在PORTx_PCRn寄存器中正确配置复用。配置低功耗模式将比较器设置为低速模式PMODE0并根据噪声水平设置合适的迟滞。使用内部DAC作为参考这是最省电的方式避免外部电阻分压网络的漏电流。将6位DAC使能并设置为需要的代码。使能中断配置比较器控制寄存器使能上升沿、下降沿或双边沿中断。配置低泄漏唤醒单元将比较器输出连接到LLWU模块的相应输入以便在深度睡眠模式下产生唤醒事件。进入低功耗模式在确保比较器稳定工作后执行WFI指令进入停止模式。实测电流在这种配置下KL82的典型电流可以低至20μA比较器低速模式 7μA6位DAC RTC电流约1μA 内核漏电流总计可能低于30μA。这对于由纽扣电池供电的多年寿命设备至关重要。7.3 模拟模块的软件校准与补偿即使硬件设计完美半导体工艺的固有偏差也会引入误差。软件校准是提升系统精度的最后一道也是最有效的一道关卡。DAC输出校准使用一个高精度的外部万用表测量DAC在输入代码为0和满量程如4095时的实际输出电压。根据两点测量值计算实际的偏移和增益误差。在软件中建立一个查找表或使用公式在设定DAC输出代码前进行补偿。例如实际输出代码 (目标电压 - 实测偏移) / 实测增益。ADC参考电压校准如果使用内部VREF为ADC提供参考可以测量VREF的实际电压通过一个已知精度的外部基准和ADC的另一通道测量。根据测量出的VREF实际值重新计算ADC的转换系数或者将VREF的微调值写入VREF_TRM寄存器进行硬件修正。比较器阈值校准如果使用内部DAC为比较器提供阈值可以间接校准。通过一个可编程的精密电压源输入到比较器正端调整DAC代码直到比较器翻转记录此时的DAC代码和实际电压。多次测量后可以拟合出DAC的实际传输曲线用于后续精确设定。这些校准工作可以在生产测试环节通过工装完成将校准系数存储在MCU的Flash或EEPROM中。对于成本不敏感或高精度应用这是保证产品一致性的必要步骤。