1. 从一颗温度传感器说起为什么本地与远程双路测温值得单独做嵌入式测温这件事看起来简单到不值一提——接个传感器读个寄存器换算成摄氏度完事。但真正在工业现场、HVAC暖通空调机组、冷链仓储或者机房环境里跑过项目的人都知道测到温度和测准温度之间隔着一整套工程体系。尤其是当系统需要同时掌握设备本体的温度和远端环境的温度时单点测量根本撑不起控制逻辑。这个项目要解决的核心问题就是用PJ85718DM这颗温度传感芯片配合STM32L4A6ZG这颗低功耗高性能 MCU搭建一套能同时监测本地板载/机箱内温度和远程通过探头引线延伸到远端温度的方案并且让这套方案能稳定服务于嵌入式和 HVAC 两类典型场景。先说清楚这两类场景到底在关心什么。嵌入式场景里本地温度往往关系到芯片结温、电源模块热状态、电池充放电安全远程温度则可能是机箱外部环境、被控对象表面温度。HVAC 场景更典型机组内部控制板自身的温度要监测防止电控箱过热而真正决定空调怎么吹、阀门怎么调、压缩机怎么启停的是回风温度、送风温度、盘管温度这些分布在风道和水路各处的远程测点。这两路温度如果只用一个传感器去猜控制精度和安全性都无从谈起。PJ85718DM 这颗芯片的价值就在这里。它是一颗支持本地温度 远程二极管温度双通道测量的传感器本地通道测芯片自身所在位置的温度远程通道则通过外接一个二极管接法的三极管或者专用远程测温二极管来测量远端温度。这种一颗芯片管两处的架构比用两颗独立传感器省了 PCB 面积、省了一路通信接口更重要的是两路温度在同一时刻采样时间对齐性好做温差计算、趋势判断时不会因为采样时刻错位而引入误差。STM32L4A6ZG 这边它是 STM32L4 系列里资源比较充裕的型号Cortex-M4 内核带 FPU1MB Flash、320KB SRAM关键是低功耗特性做得好多种低功耗模式配合温度监测这种大部分时间在待机、偶尔唤醒采样的应用非常合适。HVAC 设备经常是 7×24 小时运行功耗和长期稳定性都是硬指标选它是有道理的。这篇文章我会把整个方案拆开讲PJ85718DM 的测温原理和远程通道到底怎么接、STM32L4A6ZG 上怎么配置通信和采样时序、本地与远程两路数据怎么校准和换算、在 HVAC 这种长引线场景下会遇到什么坑、以及低功耗设计怎么做。适合正在做测温方案选型的嵌入式工程师、做 HVAC 控制器的开发者以及想搞清楚远程测温到底难在哪的读者。2. PJ85718DM 的双通道测温机制本地结温和远程二极管到底怎么测2.1 本地通道测的是什么为什么不能直接当成环境温度很多人第一次用温度传感器会有一个误解以为芯片测出来的就是环境温度。实际上 PJ85718DM 的本地通道测的是芯片自身裸片die的温度也就是结温。它反映的是芯片封装内部的热状态而不是你手边空气的温度。这个区别在工程上非常关键。芯片工作时自身会发热哪怕功耗只有几毫安在小小的封装里也会让结温比环境温度高出几度。如果 PCB 上旁边还挨着 DC-DC 电源、LDO 或者功率器件本地通道读数会被这些热源污染。所以本地通道的正确用法是监测芯片/电路板自身的热状态用来做过热保护、功耗管理、或者作为远程通道的参考基准。那如果确实想用本地通道测环境温度怎么办也不是不行但要做热隔离设计把芯片放在远离热源的区域底部铺铜但不接大面积散热焊盘避免被 PCB 铜皮导热干扰必要时在芯片和外壳之间留空气隙。实测下来做好隔离后本地通道和环境温度的偏差可以压到 1℃ 以内但这是设计功夫不是芯片自带的。PJ85718DM 本地通道的典型精度在常温区间能做到 ±0.5℃ 左右分辨率可以配置到 0.0625℃ 甚至更细。这个分辨率对 HVAC 来说绰绰有余——空调控制一般 0.5℃ 的粒度就够了分辨率高主要是为了做趋势判断和滤波让读数不跳。2.2 远程通道的核心外接二极管为什么能隔空测温远程通道是这个方案里最有意思的部分。它的原理是利用半导体 PN 结的正向压降与温度成线性关系这一物理特性。具体来说当一个二极管或三极管接成二极管通过恒定电流时其正向压降 Vbe 会随温度升高而下降大约每升高 1℃ 下降 2mV 左右。PJ85718DM 的远程通道会交替输出两个不同大小的激励电流比如 10μA 和 100μA比例通常是 1:10 或 1:16分别测量两种电流下的 Vbe然后取差值 ΔVbe。这个 ΔVbe 和绝对温度成正比ΔVbe (k × T / q) × ln(N)其中 k 是玻尔兹曼常数q 是电子电荷T 是绝对温度N 是两个电流的比例。因为公式里只有 T 是变量其他都是常数所以测出 ΔVbe 就能反推出温度。这种双电流法的好处是抵消了二极管饱和电流 Is 的影响而 Is 恰恰是随工艺、批次、老化漂移最大的参数。这就是为什么远程测温能做到高精度而不需要每颗都单独标定。远程通道能测多远理论上引线可以拉几米甚至十几米但实际受限于引线电阻、噪声耦合和寄生电容。HVAC 里常见的风道温度探头引线在 1~5 米范围这个距离下只要做好屏蔽和滤波PJ85718DM 完全能稳住。2.3 远程测温二极管怎么选、怎么接远程通道的外接器件不是随便找个二极管就行。要用三极管接成二极管的形式把基极和集电极短接用发射结作为测温 PN 结。常见的选择是 MMBT3904、2N3904 这类小信号 NPN或者专用的远程测温三极管。为什么用三极管而不是普通二极管因为三极管的发射结面积和掺杂工艺更可控Is 参数一致性好而且很多芯片厂商的远程测温通道就是针对这种接法优化的。接线方式上PJ85718DM 的远程通道一般有 D 和 D- 两个引脚。D 接到三极管的基极-集电极短接点D- 接到发射极。三极管的发射极同时要就近接地形成一个完整的电流回路。这里有个细节D 和 D- 最好走差分对等长、靠近、包地因为远程通道测的是毫伏级的 ΔVbe引线上任何不对称的噪声都会直接变成温度误差。如果远程探头需要和主板隔离比如探头在高压侧或者强干扰环境可以在 D/D- 之间加隔离器件但这会引入额外的寄生参数需要重新评估精度。大多数 HVAC 场景探头和主板共地不需要隔离。2.4 双通道的采样时序与数据就绪机制PJ85718DM 内部是分时复用的它不能同时测本地和远程而是轮流转换。芯片内部有一个状态机按配置的顺序依次完成本地通道转换、远程通道两次电流激励下的转换然后更新对应的数据寄存器。转换速率可以配置从每秒几次到几十次都有。这里要特别注意转换时间与更新率的关系。远程通道因为要做双电流测量单次转换时间比本地通道长。如果配置的更新率太高芯片可能来不及完成完整测量就进入下一轮导致数据寄存器更新不及时或者读到旧值。稳妥的做法是根据芯片手册给出的转换时间算出最小更新周期然后留 20% 余量。比如远程通道单次完整测量需要 30ms那更新率就不要超过 25Hz。STM32L4A6ZG 这边读取数据时要关注芯片的状态寄存器或者 ALERT 引脚。PJ85718DM 通常提供一个数据就绪标志或者 ALERT 输出MCU 可以轮询也可以中断触发。用中断更省 CPU尤其在低功耗场景下MCU 可以睡到 ALERT 来了再醒。3. STM32L4A6ZG 侧的接口设计与采样框架搭建3.1 通信接口选 I2C 还是 SMBus上拉电阻怎么算PJ85718DM 一般提供 I2C/SMBus 兼容接口。对 STM32L4A6ZG 来说直接用硬件 I2C 外设最省事。选 I2C 而不是 SPI 的理由很实际温度传感器这类慢速器件I2C 两根线就够了省引脚而且 I2C 支持多器件挂在同一总线上一个 HVAC 控制器上可能挂好几颗传感器不同位置的温度、湿度、压力I2C 扩展性更好。上拉电阻的计算是新手最容易翻车的地方。I2C 总线需要上拉阻值不能随便取。标准模式100kHz下上拉电阻典型值 4.7kΩ快速模式400kHz下常用 2.2kΩ 到 4.7kΩ。但这不是拍脑袋定的要满足两个约束上升时间约束Rp × Cbus 要小于规范要求的最大上升时间。总线电容 Cbus 包括 PCB 走线电容、引脚电容、器件电容一般估算 100pF 到 200pF。如果 Cbus 是 200pF快速模式要求上升时间小于 300ns那 Rp 最大约 1.5kΩ。灌电流约束Rp 太小会让器件灌电流超标。标准要求灌电流不超过 3mA3.3V 供电下 Rp 最小约 1.1kΩ。所以实际取值要在 1.1kΩ 到 1.5kΩ 之间权衡常见做法是取 2.2kΩ 并实测波形。如果波形上升沿太缓减小 Rp如果低电平压不下去增大 Rp。我一般会在板子上预留两个上拉位置调试时换着试。3.2 STM32L4A6ZG 的 I2C 初始化与时钟配置STM32L4A6ZG 的 I2C 外设配置有几个关键点。首先是时钟源I2C 的时钟来自 APB1配置时要确保 I2C 时钟使能且频率正确。用 CubeMX 的话选好 I2C 模式I2C 还是 SMBus、速度模式标准/快速/快速工具会自动算时序寄存器。但自动算出来的时序不一定最优尤其是快速模式1MHz下。我习惯手动核对 TIMINGR 寄存器里的 PRESC、SCLDEL、SDADEL、SCLH、SCLL 这几个字段。SCLDEL 是数据建立时间SDADEL 是数据保持时间这两个和从器件的时序要求有关。PJ85718DM 这类传感器一般标准/快速模式就够不用上快速。初始化代码大致长这样static void I2C1_Init(void) { hi2c1.Instance I2C1; hi2c1.Init.Timing 0x10909CEC; // 对应 400kHz 80MHz APB1 hi2c1.Init.OwnAddress1 0; hi2c1.Init.AddressingMode I2C_ADDRESSINGMODE_7BIT; hi2c1.Init.DualAddressMode I2C_DUALADDRESS_DISABLE; hi2c1.Init.OwnAddress2 0; hi2c1.Init.OwnAddress2Masks I2C_OA2_NOMASK; hi2c1.Init.GeneralCallMode I2C_GENERALCALL_DISABLE; hi2c1.Init.NoStretchMode I2C_NOSTRETCH_DISABLE; HAL_I2C_Init(hi2c1); }那个 Timing 值不是随便写的是用 ST 的 I2C 时序计算工具根据 APB1 频率和 400kHz 目标速率算出来的。换主频就要重算否则通信会不稳。3.3 温度数据的读取、换算与定点数处理PJ85718DM 的温度寄存器一般是 16 位高几位是整数部分低几位是小数部分。比如本地温度寄存器可能是 12 位有效数据分辨率 0.0625℃那换算就是int16_t raw (int16_t)((reg_high 8) | reg_low); float temp_c (raw 4) * 0.0625f; // 右移4位取整数部分再乘分辨率但嵌入式里我强烈建议用定点数而不是浮点除非你的 MCU 有 FPU 且不在乎那点开销。STM32L4A6ZG 虽然有 FPU但在高频采样的中断里做浮点运算还是不如整数快。做法是把温度统一放大 16 倍或 256 倍存成整数比如 25.5℃ 存成 255放大 10 倍或者 65280放大 256 倍。HVAC 控制里比较、做差、滤波全用整数最后显示或上报时再转成小数。远程通道的换算稍微复杂一点因为不同三极管的 ΔVbe 特性有差异芯片内部会用一个理想因子ideality factorη来修正。这个 η 值通常在芯片寄存器里可以配置默认值对常见三极管够用但如果精度要求高需要针对具体三极管标定。标定方法后面第 5 节会讲。3.4 采样任务的组织定时器触发 DMA 搬运在 STM32L4A6ZG 上组织采样任务我推荐定时器触发 DMA的组合。用一个基本定时器比如 TIM6产生固定周期的触发信号在中断里启动 I2C 读取或者更优雅地用 DMA 把 I2C 数据直接搬到内存缓冲区CPU 完全不参与搬运。为什么不用简单的 while 循环加 HAL_Delay因为那样 CPU 被阻塞低功耗和实时性都做不好。HVAC 控制器往往还要同时处理按键、显示、通信、继电器控制CPU 不能被温度采样独占。用定时器 DMA 后采样变成后台任务主循环该干嘛干嘛。具体配置上TIM6 的更新事件可以触发 I2C 的 DMA 请求需要查 STM32L4 的 DMAMUX 映射表确认 TIM6 的触发源能连到 I2C 的 DMA 通道。如果映射不支持退一步用定时器中断里手动启动 DMA 传输也能达到类似效果。4. 本地与远程两路温度的校准从能读到读得准4.1 本地通道的偏移校准单点校准就够用本地通道的误差主要来自两部分芯片本身的初始偏移和 PCB 热环境带来的系统性偏差。前者是芯片出厂就有的后者是设计决定的。对大多数应用单点校准就能把本地通道做到 ±0.5℃ 以内。校准方法很简单把整板放进恒温箱稳定在 25℃或者你关心的中心温度点等热平衡后读一批数据取平均和标准温度计对比差值写进 MCU 的 Flash 作为偏移量以后每次读数都减掉这个偏移。注意要等热平衡通常需要 15~30 分钟板子刚放进去读数是不可信的。如果工作温区很宽比如 -20℃ 到 70℃单点校准在两端会有残余误差因为芯片的误差曲线不是完全平的。这时候可以做两点校准在低温和高温各校一次中间用线性插值。两点校准能把全温区误差压到 ±0.3℃ 左右代价是产线要多一道工序。4.2 远程通道的误差来源引线电阻、噪声和理想因子远程通道的误差来源比本地复杂得多我按影响从大到小排一下误差来源典型影响应对手段理想因子不匹配1~3℃配置 η 寄存器或软件补偿引线电阻不对称0.5~2℃差分走线、等长、就近接地噪声耦合0.1~1℃屏蔽线、RC 滤波、多次平均三极管自热0.1~0.5℃减小激励电流、间歇测量冷端/接插件热电势0.1~0.3℃避免异种金属接点、恒温接插件理想因子是最容易被忽略的。不同型号的三极管 η 值在 1.0 到 1.01 之间看起来差别很小但 η 每差 0.001温度误差就有约 0.3℃。所以如果换了三极管型号一定要重新确认 η 配置。引线电阻的影响机制是这样的D 和 D- 引线上的电阻会和芯片内部的电流源、三极管的等效电阻形成分压导致实际加到 PN 结上的电流比例偏离设计值从而让 ΔVbe 算出的温度偏高或偏低。差分走线加等长能抵消大部分共模影响但完全消除很难所以远程通道通常需要一次现场校准。4.3 远程通道的现场校准流程远程通道的校准我一般分两步走。第一步是出厂校准在恒温环境下用标准温度源比如校准过的恒温槽给远程三极管一个已知温度读出芯片原始值算出偏移和增益修正系数写进 Flash。第二步是现场验证在实际安装位置用一支校准过的参考温度计贴着探头测对比读数如果偏差超过阈值就微调。这里有个实操技巧校准点尽量选在控制目标温度附近。比如你的 HVAC 系统主要工作在 22℃ 附近那就在 22℃ 校准而不是在 0℃ 或 50℃。因为误差曲线在局部近似线性在关心的工作点附近校准精度最高。还有一个坑远程三极管如果通过接插件连接接插件的接触电阻会随插拔次数和氧化程度变化导致校准系数漂移。所以要么用焊接连接要么选镀金接插件并且定期比如每年重新验证。4.4 用软件滤波把噪声压下去即使硬件做得再好远程通道的读数还是会有几十毫欧级别的抖动换算成温度就是零点几度。这时候软件滤波就派上用场了。最简单的是滑动平均维护一个长度为 N 的环形缓冲区每次新数据进来就替换最老的输出平均值。N 取 8 或 16 对温度这种慢变量很合适响应延迟可以接受。代码大概这样#define FILTER_N 16 static int32_t buf[FILTER_N]; static uint8_t idx 0; static int32_t sum 0; int32_t filter_update(int32_t new_val) { sum - buf[idx]; buf[idx] new_val; sum new_val; idx (idx 1) % FILTER_N; return sum / FILTER_N; }如果噪声里有明显的工频干扰50Hz 或 60Hz滑动平均可能压不干净因为干扰频率和采样率可能形成拍频。这时候可以用中值滤波 滑动平均组合先取最近 5 个数据的中值去掉尖峰再做滑动平均。中值滤波对脉冲噪声特别有效代价是要排序计算量稍大但对温度这种低频信号完全不是负担。注意滤波窗口不是越大越好。窗口太大温度真实变化时输出跟不上控制环路会滞后。HVAC 里温度变化本来就慢窗口 16 到 32 通常没问题但如果你的应用需要快速响应比如检测探头脱落导致的温度突变窗口要小一些或者加一个变化率检测逻辑。5. HVAC 长引线场景下的实战坑与低功耗设计5.1 长引线带来的三个典型问题HVAC 里远程探头引线拉到 3~5 米是常态这时候会遇到三个问题。第一个是引线电阻和电容。5 米的双绞线每米电阻约 0.1Ω总电阻 0.5Ω 左右对电流激励影响不大但分布电容可能有几百 pF会让 ΔVbe 的建立时间变长。如果芯片的采样窗口太短读数会偏低。解决办法是降低远程通道的转换速率给信号更多建立时间或者在 D/D- 之间加小电容比如 100pF做低通但电容不能太大否则会拖慢响应。第二个是电磁干扰。HVAC 机组里有压缩机、风机、变频器这些都是强干扰源。远程探头的长引线相当于一根天线很容易把干扰耦合进来。必须用屏蔽双绞线屏蔽层单端接地接主板地探头端悬空双绞线本身能抵消磁场耦合。如果干扰还是大可以在 D/D- 上串小磁珠或者共模电感。第三个是地电位差。如果探头和主板距离远两端的地可能不是同一个电位尤其在大功率设备里。地电位差会直接叠加到测量回路上。解决办法是让 D- 和探头地就近连接不要让地电流流过信号线如果地电位差实在大考虑用隔离方案但前面说过隔离会引入寄生参数要权衡。5.2 探头脱落和短路的检测远程探头通过接插件连接时间长了可能松动、氧化甚至脱落。探头一脱落远程通道读数会跳到极端值比如满量程或者负值如果控制逻辑不处理可能导致误动作。PJ85718DM 这类芯片通常有开路检测功能当 D 或 D- 断开时芯片会检测到异常并置位状态标志。MCU 要定期读这个标志一旦发现开路就切换到安全模式比如用本地温度或者固定值代替同时报警。短路检测同理D 和 D- 短接时读数也会异常。软件上可以加合理性检查如果远程温度超出物理可能范围比如 -50℃ 到 150℃ 之外或者和本地温度差异常大比如差 80℃就判定为故障。if (remote_temp -50 || remote_temp 150) { fault_flags | FAULT_REMOTE_OPEN; remote_temp local_temp; // 降级使用本地温度 }5.3 STM32L4A6ZG 低功耗模式与采样周期的配合HVAC 控制器很多是电池备份或者对功耗有要求的STM32L4A6ZG 的低功耗特性正好用上。核心思路是大部分时间 MCU 在 Stop 模式睡觉定时器RTC 或 LPTIM周期性唤醒醒来后启动一次温度采样采完继续睡。Stop 模式下STM32L4A6ZG 的功耗可以低到几微安RTC 还在跑。采样周期根据应用定HVAC 温度变化慢1 秒到 10 秒采一次都够。假设 5 秒采一次每次采样活跃 50ms那占空比只有 1%平均功耗极低。唤醒后的流程要精简先给 PJ85718DM 上电如果做了电源门控等它稳定触发一次转换等数据就绪读数据处理然后关传感器电源MCU 回 Stop。这里要注意传感器的上电稳定时间PJ85718DM 从断电到能正常转换可能需要几毫秒别一上电就读。如果传感器一直供电不做电源门控那 MCU 睡觉时传感器还在耗电整体功耗就下不来。PJ85718DM 本身有低功耗模式比如 shutdown 模式功耗不到 1μA可以通过 I2C 命令让它进低功耗采样前再唤醒。这样比电源门控更精细但要多写几条配置命令。5.4 一个完整的采样-处理-上报循环示例把前面这些串起来一个典型的循环是这样的void temp_task(void) { // 1. 唤醒传感器 pj85718_wakeup(); HAL_Delay(2); // 等稳定 // 2. 触发一次转换本地远程 pj85718_start_conversion(); // 3. 等数据就绪用ALERT中断或轮询状态位 while (!pj85718_data_ready()) { // 超时保护 } // 4. 读原始数据 int16_t raw_local pj85718_read_local(); int16_t raw_remote pj85718_read_remote(); // 5. 换算 校准 int32_t local_c convert_local(raw_local) - local_offset; int32_t remote_c convert_remote(raw_remote) * remote_gain / 1000 - remote_offset; // 6. 滤波 local_c filter_update_local(local_c); remote_c filter_update_remote(remote_c); // 7. 故障检查 check_sensor_fault(local_c, remote_c); // 8. 上报/控制 hvac_control_update(local_c, remote_c); // 9. 传感器回低功耗 pj85718_shutdown(); }这个循环里每一步都有讲究比如第 3 步的超时保护不能省否则传感器故障时 MCU 会卡死第 5 步的定点数运算要注意溢出远程温度的增益修正可能让数值放大要用 32 位甚至 64 位中间变量。6. 几个容易被忽略的工程细节6.1 PCB 布局本地通道和远程通道要分开对待PCB 布局上本地通道关心的是别被热源烤到远程通道关心的是别被噪声干扰到。这两者的布局策略是矛盾的要分开处理。本地通道所在的芯片区域周围不要放发热器件底部铺铜但不要大面积连接到内层地平面如果内层地平面温度高的话必要时开槽隔离。远程通道的 D/D- 走线要短、要差分、要包地远离时钟线、开关电源走线、继电器驱动线。如果远程走线必须跨过干扰源走内层并用地平面夹住。6.2 电源去耦和参考电压PJ85718DM 的供电要干净。虽然它对电源纹波不算特别敏感但远程通道测的是毫伏级信号电源上的噪声会通过芯片内部电路耦合进来。每个电源引脚旁边放 100nF 陶瓷电容再并一个 1μF 或 10μF 的钽电容或陶瓷电容做低频去耦。电容要就近放引线越短越好。如果芯片有独立的参考电压引脚参考电压的稳定性直接影响测量精度。用 LDO 供电比用开关电源好如果必须用开关电源后面要加 LC 滤波。6.3 温度传感器的自热效应任何温度传感器工作时都会发热PJ85718DM 也不例外。自热的大小取决于芯片功耗和封装热阻。如果芯片功耗是 1mW封装热阻是 200℃/W那自热就是 0.2℃。看起来不大但如果你的精度要求是 ±0.5℃这 0.2℃ 就占了很大比例。降低自热的方法减小激励电流远程通道的电流源可以配置、降低采样占空比间歇工作、改善散热但本地通道又不想散热太好矛盾。实际做法是折中在满足精度和响应速度的前提下尽量降低平均功耗。6.4 长期漂移和老化温度传感器用久了会有漂移尤其是远程三极管长期高温工作后 Is 参数会变。虽然双电流法抵消了大部分 Is 影响但残余漂移还是存在。工业级应用一般要求每年校准一次医疗或计量级要求更高。软件上可以做自诊断如果本地和远程温度在热平衡状态下应该接近比如设备停机时两者都在室温但读数差得远说明有一路漂了可以报警提示校准。这个方法不能定量修正但能发现异常。7. 写在最后这套方案适合什么、不适合什么PJ85718DM 加 STM32L4A6ZG 这套组合最适合的是需要同时监测板载温度和远端温度、对功耗有要求、精度要求在 ±1℃ 量级的场景。HVAC 控制器、工业数据采集、冷链监控、机房环境监测都属于这个范畴。它的优势是集成度高、双通道时间对齐好、低功耗特性配合 STM32L4 很顺。不适合的场景也很明确需要多点超过两路温度测量的这套方案要挂多颗芯片不如用多通道专用芯片需要极高精度±0.1℃的远程通道的引线和三极管误差很难压到那个水平得上更高端的方案探头需要完全电气隔离的这套方案要额外加隔离器件成本和复杂度都上去了。我在实际项目里踩过最大的坑是远程通道的引线处理——早期为了省事用了普通排线结果变频器一启动温度读数就跳好几度后来换成屏蔽双绞线加 RC 滤波才稳住。还有一个教训是校准点选错了在 0℃ 校准结果系统工作在 25℃误差比不校准还大。这些细节看起来琐碎但恰恰是决定方案能不能落地的关键。如果你正在做类似的测温方案建议先把远程通道的硬件三极管选型、引线、滤波做扎实再调软件。硬件底子不好软件再怎么滤波都是治标不治本。