首页/新闻资讯/正文详情

PT100温度测量:ADS122U04与PIC18F47K40组合实战

发布时间:2026/11/5 1:02:27 来源:云帆数科 栏目:资讯中心
PT100温度测量:ADS122U04与PIC18F47K40组合实战
去年做恒温仓库和HVAC设备改造项目时需要对二十几个PT100通道做温度测量。主控端选来选去定下了PIC18F47K40ADC端则用了TI的ADS122U04IPWR。这套组合看起来没有花哨的地方但真正落地时从激励电流设置、引线误差补偿到UART协议时序再到后期线性化和干扰处理每一个环节都藏着不少坑。这篇内容就按我实际调试的路径把这套测量链路从头到尾拆一遍给准备用类似方案的工程师当个参考。如果你也在做风管温度、水箱温度、恒温箱或者过程控制环境中的温度采集这篇文章应该能帮你少走一段弯路。需要先说清楚的是本文不是把数据手册逐页翻译给你看。ADS122U04IPWR和PIC18F47K40的关键寄存器、命令字节最终必须以你手上的官方数据手册为准。我会把选型原因、设计思路、调试过程中的判断逻辑讲透并给出一套可以直接搬到项目里的工程化框架。1. 为什么选ADS122U04PIC18F47K40这套组合而不是一颗“带ADC的单片机”直接测温1.1 内置ADC不够用吗问题不只在分辨率很多人第一次听到这个方案时都会问PIC18F47K40不是自带12位ADC吗为什么还要外挂一片24位的ADS122U04我的回答通常是12位做NTC够用做Pt100就有点勉强了。以Pt100为例0°C时电阻为100Ω灵敏度大约是0.385Ω/°C。如果用1mA恒流激励0.1°C的温度变化只对应不到40µV的电压变化。而PIC18F47K40内置ADC在3.3V参考电压下一个LSB就约0.8mV就算前端放大10倍一个码仍然对应约0.2°C。你再算上参考电压漂移、放大器的失调和温漂想在工业现场稳定做到±0.2°C的测量结果内置ADC这条路走不通。ADS122U04的优势不是“24位”这三个字本身而是它把整个模拟信号链做完整了。芯片内部集成了可编程增益放大器PGA、两个匹配的恒流源IDAC、低漂移内部参考电压还有针对传感器开路/短路的诊断功能。外部只需要加一级简单RC滤波就能把RTD传感器的激励、放大、采样都解决。更重要的是这套模拟前端与单片机数字部分完全分开调试的时候可以先单独验证传感器和ADC再处理单片机侧的通信现场排查故障会轻松很多。1.2 为什么是ADS122U04而不是ADS1120或者ADS1220ADS1120、ADS1220都是SPI接口的24位ADCADS122U04的特别之处在名称里的“U”——UART接口。SPI虽快但在实际项目里有几个麻烦SCLK、CS、MISO、MOSI四条线时序敏感线一长就容易出问题如果单片机是3.3VADC是5V还得做电平转换。UART只占一根发送、一根接收接线少而且时序容错性好。最关键的一点是UART在工程上更容易做隔离和远传。HVAC设备里经常出现控制器在一块PCB、采集板在另一块PCB的情况板上距离半米到一米很常见。UART信号经过光耦或者数字隔离器时实现成本比SPI低很多时序也不会因为隔离传播延迟变得不可控。TI给ADS122U04的定位就是面向这类“中低速、分布式、需要隔离”的温度测量场景正好贴合工业和HVAC的实际需求。1.3 单片机为什么选PIC18F47K40而不是更“时髦”的ARM选PIC18F47K40首先是项目需求决定的。温度采集本身不是高计算量任务主要是定时读取、滤波、比较、输出控制8位机完全够用。PIC18F47K40的资源配置也很合适硬件UART、SPI、I2C都有IO口数量足够支撑多个继电器和指示灯工作电压范围宽工业级温度规格也齐。另一个实际因素是供应和成本。工业项目最怕芯片忽然停产或者现货被扫光PIC系列在这方面的渠道稳定性和生命周期保障比很多新架构要好。XC8编译出来的代码体积小、行为可预测调试嵌入式温控这类逻辑不复杂的项目时效率反而比上大芯片更快。如果你手头习惯用STM32或者国产ARM同样可以套用本文的设计逻辑只需要把UART驱动换成对应单片机的外设寄存器即可。2. 先搞懂RTD测温模型配置寄存器才有依据2.1 RTD的电阻-温度关系不是纯线性但很好预测PT100和PT1000都是铂电阻它们的电阻-温度特性遵循IEC 60751标准。0°C时Pt100是100ΩPt1000是1000Ω。整个温度区间内的关系可以用Callendar-Van Dusen方程描述R(t) R0 * (1 At Bt² C*(t-100)*t³)其中R0是0°C时的标称电阻A3.9083e-3B-5.775e-7。当温度大于0°C时带C的第三项基本不起作用当温度低于0°C时必须引入C-4.183e-12修正。很多工程师第一次看这个公式会觉得麻烦但在实际工程里最终转换成温度时无非两条路一是用查表加线性插值二是用迭代法逼近。查表适合MCU资源紧张的情况把-50°C到300°C按1°C间隔做一张表现场用二分查找误差完全可控。迭代法则适合想省Flash、不想维护大表的情况后面第五部分会详细说。2.2 2线、3线、4线接法的误差从哪里来RTD测温的原理很简单给热电阻通一个恒定电流测它两端电压算出电阻。但实际工程里热电阻到ADC板之间总有导线导线上也有电阻这部分电阻会被当成温度信号的一部分读进来。2线接法里激励电流流过导线和热电阻电压中包含两根导线的电阻。短距离、精度要求不高时勉强能用但工业现场导线往往有几米甚至几十米每米铜线大约0.02Ω到0.05Ω累计起来就是零点几欧对应好几度误差绝对不行。3线接法是工业现场的常规选择。ADS122U04有两个匹配的IDAC恒流源一个从A端流入流经RTD后从B端的其中一根线回流另一个IDAC专门流过B端的另一根线。差分测量时两路IDAC在两根回线上的压降相互抵消只要两个IDAC匹配度够高、两根线电阻接近引线误差就能被压到很小。实际计算一下如果每根线5ΩIDAC失配0.1%剩余误差只有5Ω*0.0015mΩ折合温度大约0.013°C完全可接受。4线接法精度最高因为采样回路几乎不流电流导线压降对测量没有影响但需要多拉一根线。只有在精度要求极高的计量场合才用HVAC和一般工业控制用得不多。2.3 激励电流、PGA增益和参考电压怎么配合这一节是很多人配置寄存器时最容易出问题的地方。先看激励电流的选择。恒流源流过RTD会发热功率等于I²R。1mA电流流过100Ω的Pt100发热量约0.1mW在液体中影响很小但传感器如果放在静止空气中自热效应可能带来零点几度的误差。对于Pt1000因为它电阻大同样1mA下自热功率是1mW所以通常把电流降到250µA到500µA。选定电流后要算RTD在整个量程内的最大电压。举个例子Pt100测量-50°C到150°C电阻范围约80.3Ω到159.2Ω。用0.5mA激励最大电压约79.6mV。ADS122U04的PGA增益是1到128倍可选内部参考电压通常是2.048V。PGA的输出电压必须小于参考电压也就是说输入电压不能超过VREF/Gain。增益16时最大允许输入是128mV79.6mV信号放大后是1.27V占满量程的62%这个配置比较合理。如果使用1mA激励最大电压变成159.2mV增益16就超限了必须降到增益8。很多人喜欢一上来就选最大增益觉得越高越准其实不然。增益过高会让信号超出输入范围满量程输出被削顶读数直接饱和。正确的做法是先确定温度范围和传感器类型算出最大电阻和最大电压再反推合适的增益和电流确保信号占满ADC动态范围的50%以上。2.4 采样率与系统响应温度变化慢但也不只是“越慢越准”Δ-Σ ADC的输出速率与数字滤波器的带宽相关。ADS122U04的数据率从20SPS到1000SPS可选低速率时内部滤波器压制噪音更好有效分辨率更高。温度信号本身变化很慢风管温度一分钟能波动1°C已经算快了所以在HVAC项目里我通常选20SPS到175SPS区间再配合软件滤波平滑度足够。工业温度控制如果要做PID可以考虑把采样率提高到175SPS左右不要一味的追求低速率否则控制环路的滞后会让你调参调到怀疑人生。3. 硬件电路细节从IDAC激励到RC滤波再到UART接口3.1 电源设计别把开关电源直接怼到芯片电源脚上ADS122U04的模拟性能和电源质量关系很大。HVAC机箱里通常有开关电源、继电器、变频器这些设备产生的噪声会通过电源线耦合到ADC供电端。我的习惯是先用一片低噪声LDO把开关电源的5V或12V降成3.3V再给ADS122U04供电。电源去耦也要认真做。AVDD和DVDD引脚附近各放一个0.1µF的陶瓷电容再并一个2.2µF到10µF的钽电容或者MLCC。如果AVDD和DVDD用同一路电源中间加一颗磁珠能隔离数字电流对模拟部分的干扰。PCB布线时开关电源的续流电感、功率MOS管以及继电器驱动电路要远离ADC芯片和它的模拟输入区域。3.2 RTD输入端的RC滤波数值要选小但别随便加大RTD输出的本身是直流缓变信号不需要高带宽所以很多人习惯在ADC输入端加个大时间常数的RC滤波比如10kΩ配1µF结果发现读数不准。原因很简单IDAC恒流源要流过这个电阻。10kΩ电阻上有1mA电流时压降是10V远超芯片允许的输入范围IDAC的顺应电压直接被顶死。就算电阻减小到1kΩ压降1V也会让输入共模电压发生偏移。正确的RC滤波值应该选得比较小比如100Ω级别电容选几nF到几十nF主要目的不是把信号滤得多干净而是滤掉线缆耦合进来的射频干扰和高频毛刺。更进一步的滤波交给ADC内部的数字滤波器去处理。还有一点容易被忽略3线接法两路IDAC所在的滤波网络要保持对称。如果A路和B路的RC值差很多即使IDAC本身匹配完美引线补偿也会被破坏掉。3.3 UART连接、电平匹配与隔离策略从PIC18F47K40的视角看ADS122U04就是一颗UART从设备。两者都工作在3.3V时直接交叉连接即可MCU的TX接ADC的RXMCU的RX接ADC的TX共地。为了保证信号质量可以在每条线上串联一个33Ω到100Ω的电阻吸收反射。这个做法在板间距离不超过一两米时非常管用。如果系统中有电位差风险比如传感器和控制板分属不同机箱或者现场有强干扰源建议加一道数字隔离。UART接口的好处在这里就体现出来了光耦或者ISO7721这类隔离器接在MCU和ADC之间即可隔离器两端各用独立的3.3V电源。值得留意的是上电时序问题。如果MCU和ADC不是同时上电可能在某一端的UART引脚处于不确定状态产生一帧垃圾数据。解决办法是MCU启动后先等待一段时间或者在代码里对UART输入做清空处理并且在一开始发送复位命令强制ADC回到已知状态。3.4 PCB布局模拟区域要“静”地平面要“单点”ADS122U04本身是16脚TSSOP封装布局并不难难的是不要让它被周围电路“污染”。我的经验是模拟输入引脚、RC滤波器、RTD接线端子放在PCB的一侧数字通信引脚对着MCU一侧模拟地和数字地在ADC芯片下面的一个点上汇合。不要让继电器的驱动电流经过模拟地平面也不要在ADC底下走数字总线和PWM信号。热布局同样重要。ADC内部的偏移和增益都受温度影响虽然ADS122U04参数的温漂指标不错但如果你把LDO或者功率电阻贴在ADC旁边PCB局部温度升高读数会跟着缓慢漂动。HVAC设备里发热器件不少让ADC尽量靠近温度传感器端子远离散热器和功率器件是一个成本为零但很有效的改善手段。4. 固件实操用PIC18F47K40通过UART驱动ADS122U044.1 先把PIC18F47K40的UART初始化好在MPLAB X XC8环境下初始化UART很简单关键是波特率要和你后续调试用的上位机工具一致。我一般先用9600波特率毕竟温度数据量不大波特率低一点抗干扰能力也强一些。以下是XC8风格的初始化示意#define _XTAL_FREQ 16000000 void uart1_init(void) { BAUD1CON 0x08; // BRG16 1 TX1STA 0x24; // 使能发送BRGH 1 RC1STA 0x90; // 串口使能连续接收使能 SPBRGH 0x00; SPBRG (uint16_t)(_XTAL_FREQ / (16UL * 9600UL) - 1); TX1IE 0; RC1IE 1; // 如果要用中断接收就开启 }如果系统时钟不一样重新算一下SPBRG寄存器值就行。这里只是把UART外设跑起来具体的中断优先级设计可以按项目需求决定。4.2 ADS122U04的UART命令结构没有片选怎么保证帧同步ADS122U04没有CS引脚所以UART总线上必须靠帧格式来保证同步。数据手册会给出明确的同步方式和命令格式我在项目里的做法是先上电发送复位命令再延时几毫秒让芯片回到空闲状态。之后每次发送读取命令都严格等待应答。命令包含了写配置寄存器、读配置寄存器和读取转换结果等操作。实际工程中我用的是一个比较保守的“一问一答”方式单片机发送读取命令ADC返回三个字节的转换数据。这个模式比连续输出模式更适合初学者和现场调试因为数据流中断后重新同步的逻辑简单很多。连续输出模式虽然省了一条命令但一旦UART上一个字节丢失后续所有字节都会错位恢复同步要把接收缓冲区彻底清空挺折腾。所以我推荐先实现一问一答模式功能稳定后再考虑连续模式。下面是一段示意性的固件流程命令字节的具体值和寄存器地址请以数据手册为准#define ADS_CMD_RESET 0x26 // 示意复位命令需查手册确认 #define ADS_CMD_RDATA 0x76 // 示意读取转换结果 void ads_write_reg(uint8_t reg_addr, uint8_t value) { uint8_t frame[3]; frame[0] 0x55; // 同步头 frame[1] (0x40 | (reg_addr 0x0F)); // 写寄存器命令 frame[2] value; // 寄存器内容 uart_write(frame, 3); delay_ms(1); }这里用0x55只是一个示意真正的同步头要以手册里的格式为准。切记不要拿网上别家芯片的命令直接套用ADS122U04和ADS1220的命令并不完全一致。4.3 配置寄存器先定传感器类型再一步步写初始化代码要按固定顺序来否则容易出现配置写不进去的错觉。建议的顺序是软件复位等待芯片就绪。写配置寄存器设定PGA增益、内部参考电压、IDAC电流。写输入多路复用配置选择差分通道。配置IDAC的引脚路由把恒流源导向对应引脚。写数据率选择单次或连续转换模式。示意代码如下void ads_init(void) { ads_write_reg(REG_CONFIG0, CFG0_VALUE_INTERNAL_VREF | CFG0_IDAC_500UA | CFG0_PGA_GAIN_16); ads_write_reg(REG_CONFIG1, CFG1_INPUT_MUX_AIN0_AIN1); // 差分输入 ads_write_reg(REG_CONFIG2, CFG2_IDAC_ROUTING_IDAC1_AIN0 | CFG2_IDAC_ROUTING_IDAC2_AIN1); ads_write_reg(REG_CONFIG3, CFG3_MODE_SINGLE_SHOT); // 单次转换 }这些宏定义在数据手册里都能找到对应的位域。我的建议是不要凭记忆去写而是把每个配置字节拆成位字段用宏拼出来这样代码可读性和可维护性都更好。4.4 读取转换结果处理24位补码和错误帧ADS122U04返回的24位数据通常是以二进制补码形式表达的。读取时要注意符号扩展。下面是示意代码int32_t ads_read_raw(void) { uint8_t data[3]; uint32_t code; ads_send_cmd(ADS_CMD_RDATA); if (ads_read_bytes(data, 3) ! 3) { return 0x80000000L; // 读失败标志 } code ((uint32_t)data[0] 16) | ((uint32_t)data[1] 8) | data[2]; if (code 0x800000) { code | 0xFF000000; // 补码符号扩展 } return (int32_t)code; }实际项目里我还会在读取后面加一个帧校验逻辑。例如连续读三次如果差值超过某一个阈值就认为当前帧不可信。这种方式虽然增加了一点代码量但能明显降低现场环境干扰导致偶发错误值直接进入控制逻辑的风险。4.5 单片机端接收中断别把大量主循环时间花在等待上温度采样看起来不快但如果一个项目有8路、16路甚至24路通道单片机还要做滤波、PID和通信就不能让主循环一直阻塞等待UART数据。我的做法是把UART接收放在中断里每收到一个字节存入缓冲区收满一帧就置一个标志位。主循环检查标志位后去取数据并处理。这样即使UART偶尔出现噪声也不会拖垮整个控制程序。这里特别注意一点PIC18F47K40的UART接收中断服务程序里要处理溢出错误标志。如果接收缓冲区没及时读走硬件会置OERR位之后UART就停止接收了。正确做法是在中断里检查OERR和FERR标志发现错误立即清标志并把接收缓冲清空。5. 原始码值换算到温度线性化、软件滤波与现场校准5.1 从ADC码值到电压的计算拿到ADC原始码值后第一件事是把它换算回电压值。ADS122U04这类Δ-Σ ADC的输出范围和参考电压、PGA增益直接相关。计算式可以简洁地写成V_in (Code / 2^23) * Vref / Gain这里Code是有符号数。以2.048V参考电压、增益16为例码值8388608大约对应128mV输入。如果你用的是双极性范围配置这个公式还要根据手册中的输出编码说明调整一下。工程上我建议先把公式写在代码注释里并放一份离线计算的小工具方便现场对数据的时候快速核对。在C代码里使用浮点可以直接算但8位机做多路温度采集时浮点运算会比较吃力。一个折中方案是先用整数把电压算成微伏单位再转成电阻最后通过查表转成温度。24位码值乘以一个系数完全在32位整数范围内不会有溢出问题。5.2 从电阻到温度查表法更省心迭代法更省空间我上过一个项目用XC8编译带浮点打印的代码Flash直接不够用。后来把浮点温度转换改成查表加线性插值代码体积瞬间降下来。做法很简单把Pt100在-50°C到200°C的标称电阻值按1°C间隔做成一张表实际电阻值进来后做二分查找找到相邻两个温度点后线性插值。由于RTD特性在小区间内近似线性这种做法的误差完全可以忽略。如果不想维护大表也可以直接用迭代逼近。先根据平均灵敏度估算一个初始温度再用CVD公式正算出该温度下的电阻和实测电阻比一比修正温度迭代三四次就收敛到0.01°C以内。这个方法的缺点是代码里要写浮点运算还要小心CVD公式在0°C两侧的切换逻辑。查表法虽然牺牲一点Flash但逻辑简单适合长期维护。5.3 软件滤波既要平滑也不要让控制环路太迟钝温度信号是缓变量但现场总有电磁干扰、继电器火花、变频器噪声会让ADC偶尔冒出一个很大的跳变值。处理这种尖峰我认为最佳组合是“中值滤波取掉异常点再对剩余值做滑动平均”。具体做法是维护一个长度为5的窗口每次取中值把这中值放队列再做16次或32次均值。这样既抵抗了偶然的尖峰又能把随机噪声压到很低的水平。滤波窗口长度和系统响应的关系要权衡。ADS122U04采样率175SPS时做32次均值相当于输出更新率约5.5Hz这在HVAC里完全够用。如果现场要做快速温度保护逻辑建议窗口缩短到8次保证响应时间在50ms左右否则设备过温时动作太慢反而危险。5.4 两点校准不要迷信芯片规格要信标准源即使芯片指标再漂亮整个信号链路里还有精密电阻偏差、传感器互换误差、导线电阻残余等实际问题。我在装配完成后每块板子都会做一次两点校准。校准方法不复杂先在冰水混合物中读一次再在沸水或者恒温槽里读一次然后把偏移和增益误差记下来。例如0°C时实测换算出来电阻是100.12Ω那么偏移就是0.12Ω50°C时偏差还有一点就计算增益系数修正。校准系数可以存在单片机Flash里也可以在EEPROM里。特别提醒如果项目中有多路通道每路都要单独校准不要只测一路然后复制到其他路因为PCB走线、连接器接触电阻都会导致通道间差异。6. 工业与HVAC现场的坑断线检测、干扰、漂移及应对6.1 读数偶尔跳变问题往往不在ADC而在干扰路径现场最常见的投诉是“读数偶尔跳一下”。这种跳变有两个主要来源。第一个是RTD线缆耦合了电磁干扰尤其是线缆和继电器触点、变频器输出线走在一起时。解决思路不是提高采样率而是先改善物理布局RTD线用屏蔽双绞线屏蔽层一端接地不要和强电电缆绑在一起。第二个来源是UART帧错误ADC和MCU之间距离稍长或者地电位不干净时某个字节翻转会导致整帧解析错位。解决思路是检查UART线路上的串联电阻、隔离器电源以及程序里加帧校验和超时重同步。我实际排查过一个现场温度数据每几十秒跳0.5°C查来查去发现是RTD线缆的屏蔽层两端都接地形成地环路。把传感器侧屏蔽层断开后问题彻底消失。所以接地策略不是“接了就行”而是“选好一点接”。6.2 热电阻断开后别让系统显示一个奇怪温度RTD断线在工业现场非常常见。接线端子松动、线缆被老鼠咬断、航空插头接触不良都会导致通道开路。如果固件没有诊断逻辑ADC输入端悬空时读数可能漂到某个看起来合法的中间值系统就会继续用它控温造成安全问题。解决思路分两层。硬件上使能ADS122U04内置的传感器诊断功能用内部弱电流检测开路/短路状态。软件上根据RTD电阻范围做合法性判断比如Pt100在-50°C到150°C范围内对应80Ω到159Ω超出这个范围就标记为故障并输出报警状态而不是温度值。我还会在状态上报中区分“正常”“开路”“短路”“超出量程”四种状态现场调试时能少很多沟通成本。6.3 漂移和老化定期校准比换更贵ADC管用RTD本身很稳定但现场连接器、线缆端子经过冷热循环后会慢慢氧化接触电阻逐渐变大。这类漂移不会让读数突然跳变而是缓慢偏大。比如台风冷热循环半年后接线端子上的氧化层可能带来0.1Ω左右的附加电阻对应温度约0.25°C。这种偏差往往是等到定期校验时才发现。我的做法是每年做一次系统校准确认而不是只在出厂时标定。因为生产环境里长期运行的温控设备测量链路中的连接器、保护电阻、滤波器都会随温度变化发生微小改变。如果你有少量时间建议把传感器端也换成可插拔、镀金、带锁紧结构的端子不要用普通的插簧端子能省掉很多接触电阻方面的烦恼。6.4 从调试到量产的一些小提醒最后分享几个个人经验。第一ADS122U04IPWR早期调试时建议单独用一个USB转UART工具直接连ADC芯片先把芯片的读写基本验证通再接单片机这样能把“芯片问题”和“单片机代码问题”分开来。第二批量生产时每块板的零点偏差都会不同所以Flash里最好预留一个校准标志位出厂测试时自动判断是否需要校准。第三代码里尽量把采样率、增益、IDAC配置做成可配置参数这样项目换传感器型号时不用改主逻辑只要改配置表就行。如果你打算把这套方案用到自己的项目里我的建议是从一个通道先跑通再把多路通道的轮询逻辑加上最后才做远程通信和上位机联动。一步一步来踩坑也踩得明明白白。

相关推荐

四通道高精度温度采集系统设计:基于ADS122U04与PIC18F87K22
四通道高精度温度采集系统设计:基于ADS122U04与PIC18F87K22

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 1:02:27

基于ADS122U04与RA4L1的高精度温度采集方案设计
基于ADS122U04与RA4L1的高精度温度采集方案设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 1:02:27

8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南
8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南

8G显存在AI本地化圈子里处境挺尴尬的:你说它能跑模型吧,7B量化之后勉强能聊;你说它跑不好吧,又确实比集显强太多。大多数教程讲的都是怎么用Ollama跑一个聊天模型,但很少有人说可以更进一步——把它变成一只能听懂人话… · 2026/11/5 0:00:39

推理 INFRA 方法论(5):MoE 推理:Batch、DeepEP、DeepGEMM 与负载均衡
推理 INFRA 方法论(5):MoE 推理:Batch、DeepEP、DeepGEMM 与负载均衡

博客:Johney Zheng 的博客 全部文章索引 本文原文 沿着 batch 这条主线,分析专家覆盖率、通信量、tile 填充和负载倾斜,并用端到端实测校验理论预算。 Shape 与稀疏度的演变 模型E(routed)k专家 inter稀疏度形态稠密 FFN (Llama-70B)——… · 2026/11/5 3:56:30

2、OpenBMC国产BMC开发实战:飞腾E2000S开发宿主机环境搭建与依赖安装
2、OpenBMC国产BMC开发实战:飞腾E2000S开发宿主机环境搭建与依赖安装

本文所有命令都在下面这套环境里验证通过:Ubuntu 18.04.6 LTS(64 位)、16 核 / 32GB 内存 / 300GB 可用磁盘、普通用户(非 root)构建。除前文列出的依赖包外,实际编译中还有几处容易被忽略的前置条件&#… · 2026/11/5 3:56:30

敏感数据喂给大模型,成本还越算越亏
敏感数据喂给大模型,成本还越算越亏

AI 大模型做数据分析,效率提升非常直接:两三千行明细,现在一句话出结论。但效率的另一面是暴露面——让人睡不着的不是模型算错,而是敏感数据得先离开自己的环境才有结果。一、风险的落点IBM《2025 数据泄露成本报告》&#xff1a… · 2026/11/5 3:56:30

财务数据用AI,必须留在本地跑
财务数据用AI,必须留在本地跑

财务是数据敏感行业里最谨慎的一环。工资、成本、往来、税负,一张明细表就是公司的底牌;月结、季报又是重复劳动。分歧不在能不能用 AI,而在数据在哪一步、以什么形式离开你的环境。一、财务数据的三个特殊性合规是第一层。员工薪酬、银行流水… · 2026/11/5 3:56:30

【Linux网络】传输层协议TCP(3)滑动窗口、流量控制
【Linux网络】传输层协议TCP(3)滑动窗口、流量控制

hello~ 很高兴见到大家! 这次带来的是Linux网络中关于网络基础这部分的一些知识点,如果对你有所帮助的话,可否留下你宝贵的三连呢? 个 人 主 页: 默|笙 文章目录一、滑动窗口1.1 流量控制与窗口探测1.2 滑动窗口介绍滑动窗口的正常工作流程异常情况情况一:报文已送… · 2026/11/5 3:56:30

压Agent别再烧钱跑大模型!0 Token开销|可写简历,这套Mock LLM仿真压测方案无敌
压Agent别再烧钱跑大模型!0 Token开销|可写简历,这套Mock LLM仿真压测方案无敌

上一篇我们聊透了一件反常识的事:直接拿JMeter压Agent对外HTTP接口,根本不算真正的Agent压测。Agent内部多轮推理、循环工具调用带来的资源放大效应,HTTP层监控完全感知不到。 很多同学看完埋点方案之后,马上遇到第二个拦路虎&… · 2026/11/5 3:55:29

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码