K20微控制器数据手册关键参数解析:PLL、ADC与Flash设计实战
1. 项目概述与核心价值在嵌入式系统设计的江湖里数据手册Datasheet就是工程师的“武功秘籍”。但说实话面对动辄数百页、充斥着表格和符号的文档很多朋友尤其是刚入行的兄弟常常感到无从下手。那些冰冷的参数背后到底隐藏着怎样的设计玄机今天我就以Freescale现NXP的K20系列微控制器为例带大家深入“解剖”其数据手册中关于锁相环PLL、模数转换器ADC和闪存Flash的关键电气参数。这不仅仅是读表更是理解如何将这些参数转化为稳定、高效、可靠的硬件设计。K20作为一款基于ARM Cortex-M4内核的经典微控制器在工业控制、消费电子和物联网设备中应用广泛。它的性能上限和稳定性下限很大程度上就由PLL提供的时钟精度、ADC的转换质量以及Flash的操作可靠性所决定。很多人调不通外设、ADC采样不准、系统偶尔跑飞根源往往就在于对这些底层电气参数的理解不够透彻配置时踩了坑。本文将抛开泛泛而谈直接聚焦于数据手册中那些决定成败的“硬指标”。我会结合自己多年在电机控制和高精度测量项目中使用K20的实际经验不仅告诉你这些参数是什么更会拆解它们为什么重要以及在PCB布局、软件配置时需要避开哪些“雷区”。我们的目标很明确让你看完后能真正依据数据手册做出自信的设计决策而不是凭感觉或照抄例程。2. 锁相环PLL关键参数深度解析与设计考量PLL堪称微控制器的“心脏起搏器”它为内核、总线及大部分外设提供核心时钟。K20的PLL性能直接决定了系统能跑多快、跑多稳。2.1 VCO频率范围与功耗权衡在数据手册的Table 15中第一个关键参数就是VCO工作频率fvco其范围为48MHz至100MHz。这是一个非常典型的设计。为什么是这个范围VCO压控振荡器是PLL内部产生高频时钟的核心。48-100MHz的范围是性能、功耗和工艺制程平衡的结果。频率太低无法通过后续分频为系统提供足够高的主频频率太高则会导致功耗急剧上升Ipll参数直观反映了这一点且对内部模拟电路的设计和噪声抑制提出极高挑战。功耗的量化分析表格中给出了两个典型工况的电流值PLL 96 MHz: 典型值 1060 µAPLL 48 MHz: 典型值 600 µA这组数据极具参考价值。它告诉我们VCO频率翻倍从48MHz到96MHz功耗增加了近77%。在设计电池供电设备时如果系统性能要求不高完全可以将PLL配置在较低的VCO频率通过优化分频比来满足外设时钟需求从而显著节省功耗。例如你需要一个48MHz的系统时钟完全可以用48MHz的VCO直通或2分频而不是用96MHz的VCO再2分频。实操心得不要盲目追求最高频率。在项目初期应根据任务负载和功耗预算选择一个“够用且省电”的VCO频率点。使用芯片内部的时钟配置工具如Processor Expert或MCUXpresso Config Tools时要有意识地查看并调整这个参数。2.2 时钟抖动Jitter——系统稳定性的隐形杀手抖动是衡量时钟信号周期稳定性的关键指标直接影响到高速通信如USB、Ethernet的误码率和ADC采样的信噪比。Table 15中给出了两类抖动参数周期抖动Jcyc_pll指单个时钟周期与理想周期的偏差RMS值。fvco48MHz时典型值为120psfvco100MHz时典型值为50ps。这里有个反直觉的现象频率更高周期抖动反而更小。这通常意味着在更高频点VCO和环路滤波器的设计处于更优的工作区间相位噪声性能更好。累积抖动Jacc_pll指在特定时间窗口这里是1µs内时钟边沿累积的时序误差。fvco48MHz时为1350psfvco100MHz时为600ps。这个参数对需要长时间同步或精确计时的应用如电机PWM生成、音频采样尤为重要。设计影响高速串行通信例如一个50MHz的SPI时钟其周期为20ns。如果累积抖动达到1.35ns1350ps则占到了周期的6.75%这可能会压缩数据有效窗口在长距离或高干扰环境下导致采样错误。此时应优先选用高频、低抖动的PLL配置并可能需要在软件中增加容错机制。ADC采样ADC的采样保持电路需要极其稳定的时钟边沿来确保采样时刻精确。过大的抖动等同于在采样时刻引入了随机误差会直接劣化ADC的有效位数ENOB。对于16位高精度ADC应用必须关注此参数。注意事项数据手册脚注8明确指出“此规格基于飞思卡尔开发的PCB测得。PLL抖动依赖于每块PCB的噪声特性结果会有所不同。” 这意味着你的PCB布局和电源质量将直接影响最终的时钟抖动性能。必须为PLL的模拟电源VDDA和地VSSA提供干净的供电使用磁珠或电感进行隔离并布置紧凑的退耦电容通常为10nF和1µF组合。2.3 锁定与失锁容限确保时钟可靠建立Dlock锁定容限和Dunl失锁容限这两个参数常常被忽略但它们关乎PLL能否成功启动并保持锁定。锁定容限±1.49% ~ ±2.98%指PLL在尝试锁定时所能容忍的输入参考时钟fpll_ref与目标频率之间的初始最大偏差。如果参考时钟通常来自外部晶振或内部RC的频率精度太差超出了这个范围PLL将无法锁定系统也就无法获得正确的时钟。失锁容限±4.47% ~ ±5.97%指PLL在已锁定状态下所能容忍的参考时钟频率的最大突变范围。如果参考时钟因干扰或电源波动导致频率突变超出此范围PLL会失锁系统时钟将变得不稳定。设计对策参考时钟源选择务必选择频率精度和稳定性高的晶振。对于要求高的应用应选用精度在±20ppm甚至±10ppm以内的温补晶振TCXO确保其频率漂移始终远小于锁定容限。电源完整性参考时钟源的电源通常是VDD也需要保持稳定。剧烈的电压纹波可能导致晶振频率微变从而触发PLL失锁。软件监控K20的MCG模块提供了锁定状态标志位。在系统初始化PLL后必须加入检查锁定状态的代码并设置超时机制。如果锁定失败应能回退到安全的内部时钟如FEI模式并报告错误。2.4 锁定时间与系统启动优化锁定时间tpll_lock决定了从使能PLL到时钟稳定可用需要等待多久。其公式为150µs 1075 * (1/fpll_ref)。假设参考时钟fpll_ref为2MHz则锁定时间约为150µs 538µs 688µs。这对系统启动流程意味着什么在从上电或低功耗模式唤醒时如果你选择从内部低速时钟如FEI模式切换到PLL生成的高速时钟PEE模式必须在此函数调用后插入足够的延时通常建议1ms以上等待PLL稳定然后再切换系统时钟源。匆忙切换会导致内核和外设运行在错误的频率上引发不可预知的行为。// 示例代码片段使能并等待PLL锁定 void CLOCK_EnablePLL(uint32_t refFreq, uint32_t targetFreq) { // ... 配置PLL倍频、分频参数 ... MCG-C5 | MCG_C5_PLLCLKEN0_MASK; // 使能PLL时钟 MCG-C6 | MCG_C6_PLLS_MASK; // 选择PLL作为时钟源 // 关键等待PLL锁定 while (!(MCG-S MCG_S_LOCK0_MASK)) { // 可加入超时计数器避免死循环 } // 建议再增加一个小的保守延时例如几个微秒 software_delay_us(10); // ... 后续进行系统时钟切换 ... }3. 振荡器Oscillator电气规格系统时钟的基石PLL需要优质的“种子”时钟这就是振荡器模块。K20支持多种振荡器模式其电气参数是硬件设计正确与否的直接依据。3.1 功耗模式HGO与电流消耗的抉择Table 16清晰地展示了低功耗模式HGO0和高增益模式HGO1下的电流差异。以8MHzRANGE01为例低功耗模式300 µA高增益模式500 µA高增益模式HGO1通过增加内部放大器的驱动能力能够驱动更高频率的晶振最高32MHz和具有更高等效串联电阻ESR的晶振同时也能提供更大的振荡幅度Vpp接近VDD增强抗干扰能力。但代价是功耗几乎翻倍。低功耗模式HGO0则相反功耗低但驱动能力弱通常只建议用于驱动低频率如32kHz RTC晶振或低ESR、小负载电容的MHz级晶振。如何选择看晶振规格首先查阅你选用的晶振数据手册确认其要求的驱动电平Drive Level和ESR。如果晶振要求的驱动电平较低且ESR小优先选择低功耗模式。看应用场景对于电池供电的常运行设备每一个微安都至关重要应优先尝试配置为低功耗模式并充分测试稳定性。对于工业环境等干扰强的场合高增益模式带来的稳定性提升可能比那几百微安的功耗更重要。实测验证最可靠的方法是在实际PCB上用示波器观察振荡波形。一个健康的振荡波形应该是干净、幅值充足的正弦波或削顶正弦波。如果波形畸形、幅度不足或带有毛刺就需要切换到高增益模式或者检查负载电容匹配和PCB布局。3.2 负载电容Cx, Cy匹配不起眼却致命数据手册中Cx和Cy的值标注为“—”并备注“参见晶体或谐振器制造商的建议”。这是硬件设计中最容易出错的地方之一。原理简述晶振两端需要连接对地的电容Cx, Cy它们与晶振自身的寄生电容一起与晶振内部的等效电感形成谐振回路共同决定了振荡频率。电容值不匹配会导致频率偏移、启动困难甚至停振。实操步骤获取晶振参数从晶振供应商的数据手册中找到其要求的负载电容CL通常为12pF, 18pF, 20pF等。计算外部电容值公式为Cx Cy 2 * (CL - Cstray)。其中Cstray是PCB走线和芯片引脚引入的寄生电容通常估算为2-5pF。例如晶振CL18pF估算Cstray3pF则Cx Cy 2 * (18 - 3) 30pF。应选择最接近的标准电容值如27pF或33pF。利用内部电容K20的振荡器模块内部集成了可编程负载电容。你可以通过配置寄存器如MCG_C2[LP] OSC_CR[SCxP] OSC_CR[SCxS]等具体请参考参考手册来选择内部电容从而省去外部元件。这能节省BOM成本和PCB面积但需要仔细调试以匹配你的晶振。踩坑记录我曾在一个项目中使用了20pF负载电容的晶振但PCB上贴了22pF的电容同时未关闭芯片内部电容导致总负载电容过大。结果系统在低温下频繁启动失败。最后通过换用15pF外部电容并禁用内部电容解决了问题。教训是必须精确计算并验证负载电容且内部和外部电容不要同时启用除非你很清楚总容量。3.3 启动时间与低功耗设计Table 17中的晶体启动时间tcst参数对低功耗设计至关重要。例如32kHz晶振在低功耗模式HGO0下启动时间典型值为750ms在高增益模式下为250ms。设计影响当MCU从深度低功耗模式如LLS、VLLS唤醒时如果系统时钟需要切换到外部晶振你必须等待足够长的时间让晶振起振并稳定。在软件初始化序列中在使能振荡器后必须查询相关的稳定标志位如MCG_S[OSCINIT]并配合超时等待。如果未等待足够时间就进行后续操作系统将运行在错误的时钟下。// 等待外部晶振稳定 void OSC_WaitForStable(uint32_t timeout) { while (!(MCG-S MCG_S_OSCINIT_MASK)) { if (timeout-- 0) { // 处理超时错误切换回内部RC时钟 handle_clock_failure(); return; } // 简单延时循环 for (volatile int i 0; i 1000; i); } }对于需要快速唤醒的应用应权衡是否使用启动更快的高增益模式或者考虑在进入低功耗模式时不关闭外部晶振功耗会略高。4. 闪存Flash电气规格固件操作的性能与可靠性底线Flash是程序代码和常量数据的家其读写速度和可靠性直接影响系统启动、固件更新和运行时数据存储的效率。4.1 编程与擦除时序优化OTA升级体验Table 20和21给出了Flash操作的高压时间和命令执行时间。理解这些参数对于设计高效的固件更新OTA流程和评估系统响应能力至关重要。关键参数解读长字编程时间thvpgm4典型值7.5µs最大18µs。这意味着编程一个32位4字节数据Flash控制器内部的高压泵需要工作这么长时间。这不是软件等待的总时间软件发出编程命令后需要轮询状态标志位直到完成。扇区擦除时间thversscr典型值13ms最大113ms。一个扇区通常为2KB。最大时间是基于闪存生命周期末期end-of-life的预期随着擦写次数增加擦除时间会变长。设计时必须按最大值来规划超时时间。擦除块时间thversblk256k对于256KB的大块擦除时间典型值416ms最大可达3616ms超过3.6秒。在执行全片擦除或大规模更新时这个时间必须被充分考虑。软件设计策略非阻塞操作与状态机绝不要在擦除或编程Flash时使用死循环等待。应将其设计为状态机发起命令 - 退出低功耗或执行其他任务 - 定期检查完成标志。例如在RTOS中可以创建一个低优先级的擦写任务。OTA升级超时设计如果通过串口或无线进行OTA通信协议必须能容忍长达数秒的擦写等待。建议在发送擦除命令后设备回复“正在擦除”然后上位机启动一个足够长的超时定时器例如对于256KB块设置5-8秒的超时。利用典型值优化体验虽然设计要按最大时间保证可靠性但在用户交互上可以利用典型值。例如显示进度条时可以用典型时间作为预估但后台等待仍按最大时间处理。4.2 高电压操作电流电源设计不可忽视的一环Table 22揭示了Flash在进行编程IDD_PGM和擦除IDD_ERS操作时会在芯片总电流基础上额外增加平均电流典型值分别为2.5mA和1.5mA。这对电源设计意味着什么在MCU执行自编程IAP时例如将自己从Flash的A区拷贝到B区或者写入大量数据到Flash系统会持续处于高电流消耗状态。如果你的电源系统特别是LDO或DC-DC的额定电流或瞬态响应能力刚好卡在MCU常态运行的边缘那么在进行Flash操作时可能会引起电源电压的瞬间跌落严重时会导致MCU复位或Flash数据写入错误。设计检查清单电源芯片选型确保为MCU供电的电源芯片LDO的持续输出电流能力大于MCU最大运行电流 Flash编程/擦除附加电流 其他外设电流之和并留有至少30%的裕量。退耦电容在MCU的VDD引脚附近必须放置足够容量的退耦电容如10µF的钽电容或陶瓷电容来应对这种瞬间的电流需求。通常建议每个电源引脚搭配一个0.1µF的陶瓷电容并在电源入口处放置一个10µF的 bulk电容。监测与保护在关键应用中可以考虑用ADC监测供电电压如果在Flash操作期间检测到电压跌落接近最低工作电压如1.8V应中止操作并进入安全状态。4.3 可靠性规格数据保存年限与擦写次数Table 23的可靠性规格是评估产品寿命的核心。数据保持时间tnvmretp10k,tnvmretp1k在经历1万次擦写后数据典型保持时间为50年在经历1千次擦写后典型保持时间为100年。注意这是指在规定的温度范围内通常是25°C。高温会显著加速数据丢失。如果你的产品工作环境温度很高如汽车引擎舱实际数据保持时间会缩短。循环耐久性nnvmcycp最小10K次典型50K次。这意味着每个Flash单元可以被反复擦写至少1万次。应用指南磨损均衡Wear Leveling如果你需要在Flash中频繁记录数据如日志、参数绝对不能固定写在一个扇区。必须实现简单的磨损均衡算法轮流使用多个扇区确保每个单元的擦写次数尽可能平均。关键数据备份对于极其重要的参数如设备序列号、校准系数应存储在两个或更多个独立的物理扇区并定期校验。一旦发现一个扇区数据异常立即从备份扇区恢复。EEPROM模拟K20本身没有EEPROM常用Flash来模拟。典型的做法是使用两个或更多扇区以“日志式”结构存储键值对。每次更新数据时追加写入新记录只有当扇区满时才进行擦除。这能极大减少对同一物理单元的擦写次数。5. 模数转换器ADC电气规格精度背后的秘密K20的ADC支持高达16位的分辨率但要达到数据手册宣称的性能必须深刻理解其工作条件和约束。5.1 16位ADC的苛刻条件与配置要点Table 27和28明确指出16位精度仅在特定的差分输入引脚ADCx_DP0/DM0, DP1/DM1, DP3/DM3上才能达到。其他通道只能保证13位差分/12位单端精度。这是硬件设计的第一步将需要高精度的模拟信号连接到这些指定的差分引脚对上。关键约束条件解析模拟源电阻RAS要求小于5kΩ对于fADCK 4MHz。这是一个硬性要求。如果信号源内阻过大例如来自一个高输出阻抗的传感器必须使用运放构建电压跟随器进行缓冲将输出阻抗降低到百欧姆级别。输入电容CADIN16位模式下典型8pF最大10pF。过长的走线、不合理的过孔都会增加寄生电容影响ADC采样网络的建立时间。采样时间计算ADC的精度依赖于采样电容被充分充电到输入电压。所需的采样时间与外部源电阻RAS和输入电容包括CADIN和寄生电容构成的RC常数有关。数据手册提供了计算工具但在实践中对于高阻抗源需要在软件中配置更长的采样时间通过ADCx_CFG1[ADLSMP]和ADCx_CFG1[ADLSTS]位。PCB布局黄金法则模拟与数字隔离将ADC相关的引脚VDDA, VREFH, VREFL, VSSA及模拟输入视为一个独立的“模拟岛”。使用磁珠或0Ω电阻将模拟电源VDDA从数字电源VDD隔离。地平面分割与单点连接模拟地VSSA和数字地VSS应在芯片下方或附近通过单点连接一个磁珠或直接窄桥连接避免数字噪声电流流经模拟地平面。退耦电容就近放置在VDDA和VSSA引脚附近1-2mm内放置一个10nF和一个1µF的陶瓷电容。VREFH引脚同样需要如果使用外部基准电压。信号走线模拟输入走线应尽量短远离高频数字信号线如时钟、PWM。如果无法避免交叉应垂直交叉。可以在模拟输入走线两侧布置接地屏蔽线。5.2 可编程增益放大器PGA的利与弊Table 29和30描述了内部PGA的特性。PGA可以在ADC前端放大微弱信号但引入了一系列新的约束。优势放大微弱信号最高64倍增益能将mV级信号放大到适合ADC采样的范围。高输入阻抗差分输入阻抗在增益为1时高达128kΩ对信号源的负载效应很小。挑战与配置要点输入信号摆幅限制PGA的输出不能饱和。其最大差分输入摆幅VPP,DIFF受限于公式和参考电压。例如当增益64VREFPGA1.2V时最大允许的差分输入峰值电压仅为约(1.2V * 0.583) / 64 ≈ 10.9mV。输入信号必须严格限制在此范围内否则会导致严重失真。建立时间切换PGA增益后需要忽略至少2次ADC转换结果TGSW典型10µs让内部电路稳定。带宽下降增益越高PGA的带宽BW越低。16位模式下即使增益为1带宽也仅4kHz。这意味着PGA无法处理高频信号。它只适用于直流或低频缓变信号如温度、压力、慢变电压的放大。直流输入电流PGA会从输入源吸取微小的直流电流IDC_PGA这对于某些高输出阻抗的传感器如电化学传感器可能需要考虑。使用建议对于需要测量微弱直流或低频信号的场景如热电偶、桥式传感器PGA是利器。务必在前级使用RC低通滤波器确保输入信号频率远低于PGA带宽。精确计算并限制输入信号幅度防止饱和。在改变增益后软件上丢弃前几个采样值。5.3 有效位数ENOB与采样率、平均值的权衡Table 28中的有效位数ENOB是衡量ADC实际精度的金标准。它综合了噪声、失真等所有非理想因素。例如16位差分模式32次硬件平均下ENOB典型值为14.5位。这意味着虽然ADC输出是16位数字但其最低的1.5位可能主要是噪声真实信息含量相当于14.5位。如何提升ENOB降低ADC时钟fADCK数据手册中的Figure 13和14图表显示fADCK越低ENOB通常越高。因为更低的转换速度给了采样保持电路更充分的建立时间减少了内部噪声。在满足系统采样率的前提下尽量使用较低的ADC时钟。启用硬件平均K20的ADC支持4、8、16、32次硬件平均。这是提升ENOB最有效的手段之一。32次平均下ENOB提升非常显著。代价是采样率降低为原来的1/32。优化参考电压使用独立、低噪声的基准电压源如外部REF芯片代替VDDA作为VREFH可以大幅改善ADC的线性度和噪声性能。软件过采样如果硬件平均次数不够可以在软件中对连续采样值进行累加和平均也能抑制随机噪声提升分辨率。采样率计算ADC转换率Crate并非简单的fADCK / 转换周期数。它受到采样时间、硬件转换时间、硬件平均等因素的影响。数据手册提供了典型值例如16位模式下无硬件平均连续转换时典型最大采样率为461.467 Ksps。最准确的方法是使用厂商提供的ADC配置工具进行计算或根据参考手册中的公式自行计算。一个实用的经验是在满足应用需求的最低采样率下选择最低的ADC时钟和最高的硬件平均次数以获得最佳的信噪比和精度。6. 常见问题排查与实战技巧实录基于以上参数分析在实际项目中会遇到各种问题。这里分享几个典型的排查案例和技巧。6.1 问题一系统运行不稳定偶尔死机或数据错误可能原因PLL失锁或时钟抖动过大。排查步骤测量电源纹波用示波器带宽至少100MHz的AC耦合模式测量MCU的VDD和VDDA电源引脚。重点关注高频开关噪声几十MHz到百MHz和低频纹波。纹波峰值不应超过数据手册中电源电压范围的5%。检查时钟信号使用高带宽示波器测量外部晶振引脚EXTAL/XTAL和主要时钟输出引脚如果可用的波形。观察幅度是否足够接近VDD波形是否干净有无过冲或振铃。软件加固在初始化PLL后不仅检查锁定标志还增加一个保守的延时如1ms。在关键任务中可以周期性如每秒一次检查MCG_S[LOCK]位一旦发现失锁立即触发安全恢复流程如切换到内部RC时钟并重启PLL。如果使用外部时钟源确保其使能OSC_CR[ERCLKEN]在进入低功耗模式前没有被意外关闭。6.2 问题二ADC采样值跳动大精度远达不到预期可能原因模拟电路布局不当、参考电压不净、采样时间不足。排查步骤静态测试将ADC输入引脚通过一个短导线连接到VSSA测零点和VREFH测满量程。读取大量样本如1000个计算平均值和标准差。理想的零点读数应非常稳定跳动在个位数LSB内。如果跳动很大问题很可能在电源或地上。检查参考电压测量VREFH如果使用外部基准或VDDA如果作为基准的电压纹波。一个干净的基准是ADC高精度的前提。可以考虑增加一个π型滤波器磁珠电容为基准芯片供电。验证采样时间对于高阻抗信号源逐步增加ADC配置中的采样时间调整ADLSMP和ADLSTS观察采样值的稳定性是否改善。如果改善明显说明原先的采样时间不足RC网络未充分建立。隔离数字噪声在ADC采样期间可以尝试暂时关闭不必要的、高速切换的外设如PWM、高速SPI等看采样结果是否变好。如果有效说明数字噪声通过电源或地耦合到了模拟部分需要加强隔离。6.3 问题三Flash写入失败或写入后数据读取错误可能原因操作时序不当、电源波动、地址或数据对齐错误。排查步骤严格遵守操作序列Flash擦写有严格的命令序列Write Buffer - Program/Erase Command。必须一字不差地按照参考手册中的流程编写代码包括写入特定的命令到特定的地址。一个常见的错误是漏写了某个步骤或写错了地址。检查地址对齐K20的Flash编程通常要求长字4字节对齐。确保你写入的地址是4的倍数。验证Flash状态在发出擦写命令后必须读取Flash模块的状态寄存器如FTFA_FSTAT检查错误标志如ACCERR, FPVIOL, MGSTAT0。很多失败是因为访问冲突在Flash操作期间去读取Flash代码或保护违规试图写受保护的扇区。电源监测在Flash操作函数入口和出口读取芯片内部的电压监测标志如果可用或简单测量供电电压确保没有发生欠压。跨扇区操作如果需要擦写的数据跨越两个扇区必须分两次操作先擦除A扇区并写入A部分数据再擦除B扇区并写入B部分数据。不能一次性对一个跨扇区的长数据进行连续写入。6.4 问题四使用PGA后ADC读数出现固定偏移或非线性可能原因输入信号超出PGA线性范围、增益切换后未稳定、外部源电阻影响。排查步骤测量输入信号范围用示波器直接测量连接到PGA输入引脚的实际差分电压。确认其峰值在数据手册Table 30规定的VPP,DIFF范围内。插入稳定延时在软件中每次改变PGA增益设置ADC_PGA[PGAG]后执行至少2次ADC转换并丢弃结果然后再开始采集有效数据。检查外部电阻确保信号源的内阻RAS远小于100Ω。如果传感器输出阻抗高必须使用运放缓冲。PGA的增益精度对外部电阻很敏感。校准对于高精度测量PGA的增益误差和偏移误差需要通过系统校准来消除。可以在已知的零点和满量程点如接VSSA和接一个精准的参考电压进行采样计算出实际的增益和偏移系数在软件中进行补偿。