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

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

发布时间:2026/11/3 1:01:59 来源:云帆数科 栏目:资讯中心
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
1. 为什么要在 SPI 链路上做隔离从一次现场故障说起我自己做嵌入式这几年真正意识到隔离不是选配而是必需是在一次工业现场的设备批量返修之后。那批设备用了 SPI 连接主控和外部 ADC板子本身调试一切正常但一装到现场只要旁边有大功率电机启停ADC 数据就跳变严重的时候甚至把主控的 SPI 引脚直接打坏。后来排查发现问题根本不在逻辑代码而在共地干扰——现场电机的地电流通过 PCB 的地平面回流在 SPI 信号线上叠加了很大的共模噪声而主控和传感器之间没有做任何电气隔离。那之后我对 SPI 隔离这件事的态度就变了在工业环境里SPI 隔离不是给信号加个保险而是给整个系统的地和电源域画一条清晰的边界。隔离的本质是让通信双方在电气上完全独立信号只通过隔离器件以磁场或光的形式跨越边界这样任何一侧的过压、浪涌、地弹都不会直接传导到另一侧。这篇文章要聊的主角是 MAX14431BAEE 和 PIC18F85J10 这一组合。前者是 Maxim现在并入 ADI推出的 SPI 数字隔离器后者是 Microchip 的 8 位 PIC 单片机两者搭在一起可以用非常简洁的硬件结构把工业/嵌入式场景里常见的 SPI 通信链路做成完全隔离的方案。下面这部分我会先讲清楚隔离的必要性再一步步拆解芯片选型、驱动设计、电源处理和调试方法最后给出一个可以直接参考的实测案例。2. MAX14431BAEE 到底隔离了什么从引脚到数据通道的逐个拆解2.1 这颗芯片在隔离 SPI 里扮演的角色MAX14431BAEE 是一款四通道数字隔离器内部结构是每通道一个独立的隔离栅信号通过二氧化硅隔离层两侧的电容耦合来传输而不是传统光耦那种光电转换。这个区别在工程上很关键光耦的传输延迟通常在微秒级而且随着温度和使用年限会漂移而电容耦合的延迟是纳秒级通道间一致性也更好。在 SPI 隔离场景里我们通常需要隔离四根线SCLK时钟、MOSI主发从收、MISO从发主收、CS片选。MAX14431BAEE 恰好是四通道所以一片就能完整覆盖标准 SPI 的全部信号线不需要额外再加隔离器件。它的通道配置是两路正向A 侧到 B 侧、两路反向B 侧到 A 侧正好对应 SPI 的双向数据流。具体到引脚映射常用的接法是SPI 信号MAX14431 输入侧MAX14431 输出侧SCLK主控侧 VI1从设备侧 VO1MOSI主控侧 VI2从设备侧 VO2MISO从设备侧 VI3主控侧 VO3CS主控侧 VI4从设备侧 VO4这样的连接保证时钟和数据都是从主控侧单向流向从设备MISO 则反向回流。需要注意的是MAX14431BAEE 是固定方向的不能通过配置切换方向。如果项目里存在主从角色互换、需要双向收发在同一个引脚上切换的场景那就要考虑用支持方向控制的隔离器或者用两片四通道各接一半方向。对于绝大多数主从固定的 SPI 应用这种固定方向设计反而更省心——不会出现 GPIO 切换时序不对导致总线冲突的问题。2.2 隔离器参数里最容易被忽视的几个指标选隔离器不能只看通道数有几个参数在做 SPI 隔离时特别容易踩坑。第一个是传输延迟。SPI 是同步串行协议从设备在时钟上升沿采样数据所以 SCLK 经过隔离器产生的延迟如果太大或者和 MOSI 的延迟不一致就会直接造成采样错位。MAX14431BAEE 的典型传输延迟在十几纳秒这个量级配合 10MHz 以内的 SPI 时钟完全没有问题。但如果你用的是高频 SPI Flash 或者需要跑到 40MHz 以上那就要认真算一下时钟和数据通路的延迟差必要时在软件里调整 SPI 的相位和极性设置来补偿。第二个是通道间延迟匹配。SCLK、MOSI、CS 这三条线是同一方向传输MISO 是反方向。如果同一方向的通道延迟不一致比如 SCLK 比 MOSI 晚了 20ns那么从设备采样时钟时数据还没稳定就会出现偶发读取错误。MAX14431BAEE 的通道间延迟匹配做得比较好这也是我选它的原因之一。第三个是边沿速率。隔离器输出端的驱动能力和斜率控制会影响信号完整性。在 SPI 线路上如果隔离器输出上升沿太慢从设备会把一个沿误判成两个或者触发多次采样。MAX14431BAEE 的输出摆率经过内部优化在典型负载下不会出现明显振铃。但如果你把隔离器到从设备的走线拉得很长还是建议在从设备端加一个 33Ω 左右的串联电阻配合示波器看过冲情况。第四个是每通道的数据速率上限。MAX14431BAEE 单个通道支持到 200Mbps 级别的信号速率这远远超过了 SPI 的常规需求所以在 SPI 场景里基本不用考虑速率瓶颈反而要关注的是低速率下的波形质量。有些隔离器在极低速率下因为内部刷新机制会产生奇怪的脉冲MAX14431 系列不存在这个问题静态电平能稳定保持。2.3 为什么不用光耦而用电容隔离如果只是隔离一个开关量光耦便宜好用很多人第一反应就是光耦。但在 SPI 这种高速同步总线里光耦的劣势很明显光耦的传播延迟一般是几微秒而且 LED 老化后延迟还会变SPI 时钟一高就废了。光耦的 CTR电流传输比随温度变化大低温时可能输出驱动不足逻辑高电平都维持不住。光耦需要在外围配限流电阻和上拉电阻一个通道就要好几个元件四个通道的面积和成本远超一颗集成隔离器。电容隔离的优势在于延迟低、功耗低、通道集成度高、不需要复杂的驱动电路。MAX14431BAEE 内部把隔离电容和收发电路都做进去了外部只需要在电源引脚加去耦电容连外围元件都省了。这在 PCB 面积紧张的嵌入式板卡上非常实用。3. PIC18F85J10 这侧怎么接主控端的配置思路3.1 这颗单片机在隔离方案里承担的角色PIC18F85J10 是 Microchip 的高性能 8 位单片机主频最高到 64MHz片上集成了两个 MSSP 模块可以配置成 SPI 主机或从机。它内部还有 3.9KB 的 RAM 和 128KB 的 Flash对于工业现场的数据采集、协议转换、简单控制这类任务资源完全够用。在 MAX14431BAEE 加 PIC18F85J10 的组合里PIC 通常扮演 SPI 主机的角色。它负责产生 SCLK 和 CS把数据通过 MOSI 发出去同时从 MISO 收数据。隔离器放在 PIC 和外部从设备之间PIC 的 SPI 引脚直接连到隔离器的 A 侧外部从设备连到 B 侧。这里有个很容易犯的错误PIC 的 SPI 输出引脚必须配置成数字输出而且要注意开漏和推挽的区别。MSSP 模块的 SDO 引脚默认就是推挽输出但有些 PIC 型号的引脚默认是模拟输入必须在初始化代码里先关闭模拟功能否则 SPI 波形根本出不来。3.2 PIC 侧 SPI 引脚的正确初始化顺序我调试的时候发现很多问题不是隔离器造成的而是 PIC 引脚初始化顺序不对。以 PIC18F85J10 为例正确的初始化步骤是将 TRIS 寄存器中 SCLK、MOSI、CS 对应位设为 0输出MISO 对应位设为 1输入。将 ANSEL 寄存器中这些引脚对应的位全部设为 0关闭模拟输入功能。配置 MSSP 控制寄存器 SSPCON1选择 SPI 主机模式、时钟极性、相位。设置 SSPADD 或 SSPADD 相关的波特率寄存器确定 SCLK 频率。先使能 MSSP 模块再操作 CS 引脚。这里的顺序很有讲究。如果你先使能 MSSP 再关闭模拟输入引脚可能已经处于错误的输入状态产生一个毛刺。虽然很多情况下这个毛刺不会立刻造成问题但在工业环境里任何多余的边沿都可能被从设备误判成 SPI 起始条件所以最好还是按上面的顺序来。另外CS 控制有两种做法一种是直接用 MSSP 的从选择自动控制另一种是用普通 GPIO 手动控制。在隔离方案里我推荐手动控制。原因很简单隔离器本身有一定延迟自动 CS 的时序和实际从设备 CS 之间存在偏差手动控制可以精确地先拉低 CS等待几个微秒再启动 SPI 传输结束后先停止 SPI 再拉高 CS这样从设备永远看到的是一个干净、完整的传输帧。3.3 时钟极性和相位怎么配合隔离器SPI 有四种模式由 CPOL时钟极性和 CPHA时钟相位组合决定。在加了隔离器之后不能想当然地沿用之前的模式设置而是要看从设备的 datasheet 加上隔离器的延迟综合判断。从设备通常会在某个特定边沿采样数据。比如很多 SPI Flash 要求主机在时钟上升沿发送数据、下降沿采样返回数据这对应 SPI Mode 0CPOL0CPHA0。加上 MAX14431BAEE 之后主机的 SCLK 和 MOSI 都经过了隔离器都有差不多同样的延迟所以数据相对于时钟的相位关系基本不变Mode 0 仍然可以正常工作。但有一种情况需要特别注意如果从设备的 MISO 数据是在 SCLK 的下降沿更新而主控在下降沿之后很快采样隔离器的延迟可能会让主控采到上一个周期的旧数据。这种时候可以把 CPHA 改成 1让主控在下一个边沿再采样实际上给数据多留了半个周期的稳定时间。我在实际项目里通常会先用示波器测量经过隔离器之后的 SCLK 和 MOSI 波形确认它们在从设备端的相对时序再配合逻辑分析仪抓一次完整的读写操作看从设备返回的数据是否正确。如果返回数据整体错位一个 bit就调整 CPHA如果只有某些位出错就检查是不是延迟匹配的问题。这是排查 SPI 隔离问题最有效的手段。4. 供电架构与电源隔离整个方案的隐藏难点4.1 隔离并不只是信号隔离电源域必须分开MAX14431BAEE 有两侧电源引脚A 侧 VDD1 和 B 侧 VDD2。真正实现电气隔离的前提是这两侧电源必须来自不同的电源域不能共地。很多人以为只隔离信号线就够了结果 VDD1 和 VDD2 共用了同一个 3.3V LDO信号虽然过了隔离器但地还是连着的——那隔离等于白做共模干扰照样从电源和地传过去。正确做法是用一个隔离型 DC-DC 转换器把输入侧电源转换成输出侧电源。比如输入侧是 24V 工业电源经过隔离 DC-DC 得到 3.3V 给从设备供电PIC 主控侧用另一个非隔离 LDO 从 24V 得到 3.3V。两侧的地完全分离隔离器两端的参考地分别是各自的 GND1 和 GND2。选用 DC-DC 时要注意隔离电压和输出功率。如果只是给一个 SPI 从设备供电功率需求通常很小几十毫安就够。但如果从设备侧还有运放、ADC、继电器等负载就要把功率余量留足避免输出跌落导致通信异常。4.2 MAX14431BAEE 电源引脚的去耦与布局隔离器对电源噪声比较敏感因为内部隔离栅的信号传输需要稳定的电压参考。MAX14431BAEE 的每个电源引脚都应该放置一个 0.1μF 陶瓷电容尽量靠近引脚。如果 PCB 空间允许再在稍远的位置加一个 1μF 或 10μF 的电容做低频储能。关键的一点是A 侧去耦电容必须完全位于 A 侧地平面区域B 侧去耦电容必须完全位于 B 侧地平面区域。不能跨接在隔离带两侧否则高频噪声会通过电容路径耦合过去削弱隔离效果。PCB 布局时隔离器下方要留出足够的爬电距离通常做法是挖掉隔离器正下方的铜皮形成物理隔离带提高系统在潮湿、污染环境下的绝缘可靠性。4.3 电源纹波对 SPI 传输的影响在隔离系统里DC-DC 输出端的纹波是 SPI 信号质量的隐形杀手。如果纹波过大隔离器 B 侧的逻辑电平阈值会波动导致从设备采样出错。我调试时习惯用示波器在 DC-DC 输出端测量纹波要求在 20MHz 带宽限制下峰峰值不超过 50mV。如果超标可以在 DC-DC 输出端加 LC 滤波电感和电容的具体值根据开关频率和负载电流来算一般 10μH 电感加 22μF 电容能明显改善。有个容易被忽略的地方很多隔离 DC-DC 模块的输出端是浮地的测量纹波时如果你把示波器探头的地夹子接到 DC-DC 输出地而示波器本身接的是市电地可能形成共地回路导致测量结果不真实。建议使用差分探头或者用两个通道相减的方式测量或者干脆把示波器用隔离变压器供电再看真实纹波。这个细节我在早期调试时踩过坑测出来的纹波波形一直是乱的后来才知道是测量方式的问题。5. 信号完整性与 PCB 布线让 10MHz SPI 在隔离后依然干净5.1 隔离器两侧走线的阻抗与长度匹配SPI 信号速率不算高但隔离器两侧的走线仍然需要遵守基本的高速布线原则。MAX14431BAEE 的输出边沿比较陡如果走线过长、阻抗不连续反射会引起过冲和振铃。我的经验是主控到隔离器 A 侧的走线尽量短控制在 10mm 以内因为这一侧信号是直接来自单片机引脚驱动能力有限。隔离器 B 侧到从设备的走线可以适当长一些但仍然建议控制在 50mm 以内并保持走线等长。SCLK、MOSI、MISO、CS 四条线尽量走同一层减少过孔引入的不连续性。如果从设备和隔离器之间的距离确实比较远可以在从设备端串联一个 22Ω 到 33Ω 的电阻电阻放在靠近从设备引脚的位置用于抑制反射。这个值不是随便定的要结合走线特征阻抗和从设备输入阻抗来调整。最简单的调法是用示波器看从设备引脚处的波形把电阻从 0Ω 慢慢加大直到过冲最小。5.2 地平面的分割与隔离带处理隔离系统的 PCB 布局核心是隔离带。A 侧的所有元件、走线、铺铜必须在隔离带一侧B 侧的在另一侧中间保持足够的物理间距。MAX14431BAEE 本身的封装很小但隔离带宽度至少要有 2mm 到 3mm具体爬电距离根据工作电压和污染等级来定工业环境一般建议不低于 4mm。值得提醒的是不要在隔离带下方铺设完整的连续地平面否则会形成跨接电容高频噪声会趁机耦合过去。正确做法是把地平面在隔离带处断开只在隔离器底部的少量区域保留必要的参考地。有些参考设计会在隔离带下方挖空两层第三层依然保持完整地平面这是为了控制 EMI。具体做法取决于你的板层结构和 EMC 要求不能一概而论。5.3 实测波形应该是什么样子调试的时候我会重点看两个位置的波形一个是隔离器 B 侧的 SCLK另一个是从设备端的 MOSI。正常情况应该是干净的方波边沿单调过冲不超过 10%。如果出现明显的振铃第一步加串联电阻如果信号边沿出现平台或台阶多半是延迟问题或者驱动能力不足可以考虑换用输出驱动能力更强的型号或者降低 SPI 频率。还有一个常见问题是CS 信号的毛刺。如果 CS 走线离 SCLK 太近SCLK 的边沿变化会通过串扰耦合到 CS 上导致从设备误认为 CS 拉低而开始一次假传输。这个问题在未隔离的设计里也存在但隔离器的高边沿速率会加剧。解决办法是让 CS 走线远离 SCLK并在 CS 引脚加一个小电容比如 10pF滤波但电容不能太大否则会拖慢 CS 的下降沿影响建立时间。6. 从零搭一套验证电路具体元器件清单与操作步骤6.1 最小系统物料清单如果你也想快速验证 MAX14431BAEE 加 PIC18F85J10 的隔离 SPI 方案可以按以下物料准备序号器件型号/规格数量1主控 MCUPIC18F85J1012SPI 隔离器MAX14431BAEE13隔离 DC-DC24V 转 3.3V隔离 3kV输出 1W14主控侧 LDO24V 转 3.3V100mA15SPI 从设备任选 SPI Flash 或 ADC如 W25Q1616去耦电容0.1μF 0402 陶瓷87串联电阻33Ω 040248储能电容10μF 08052注意MAX14431BAEE 的工作电压范围很宽2.25V 到 3.6V所以两侧都可以用 3.3V。如果你的从设备是 5V 逻辑需要额外加电平转换或者选择支持 5V 的隔离器型号。MAX14431 系列也有不同电压等级的版本选型时要核对 datasheet。6.2 上电调试流程搭好电路之后不要急着跑 SPI 通信按下面的顺序一步步来先不上电用万用表测量 A 侧电源和地之间的电阻确认没有短路B 侧同理。A 侧单独上电测量 PIC 的 VDD 和 GND 电压是否正确再确认 PIC 的 SPI 引脚在空闲状态下是确定的电平MISO 应该是高或低不能是浮空。B 侧单独上电测量隔离 DC-DC 输出电压是否为 3.3V再测量隔离器 B 侧 CS 引脚默认电平应该跟随 A 侧 CS 电平因为隔离器会透传电平。用示波器探头同时抓 A 侧 SCLK 和 B 侧 SCLK在 PIC 里写一个最简单的 GPIO 翻转程序或者直接操作 MSSP 产生连续时钟观察两边的波形应该形状一致B 侧略有时延。确认 SCLK 通顺后再跑 MOSI方法是让 PIC 发送固定的 0xAA、0x55 交替数据在 B 侧看 MOSI 波形确认数据比特流正确。最后接上从设备先读一次 From 设备的 ID 寄存器如果支持确认 MISO 链路正常。我建议第一次调试时把 SPI 时钟频率设得很低比如 100kHz 左右。这样即使延迟匹配有问题也不容易采错方便定位是硬件问题还是软件问题。确认低速率完全正常后再逐步提高频率每次翻一倍观察误码率的拐点在哪里。6.3 软件驱动需要注意的细节PIC18F85J10 的 MSSP 模块初始化代码网上很多但隔离方案有两个额外注意点一是在 SPI 传输前后要对 CS 做延时。因为隔离器有数十纳秒的延迟CS 拉低后如果立即发时钟从设备可能还没准备好。常见做法是CS_LOW(); delay_us(10); // 启动 MSSP 传输 while (SSPSTATbits.BF 0); CS_HIGH(); delay_us(10);延时时间要根据从设备 datasheet 里 CS 建立时间要求来定一般 5μs 到 20μs 足够。数据手册里如果写的是 ns 级那 10μs 已经是充分余量了。二是FIFO 或 DMA 模式下需要注意隔离延迟累积。PIC18F85J10 是老型号没有 DMA都是 CPU 轮询 BF 标志位所以每次收发一个字节都有 CPU 参与天然限制了速率上限。实测在 10MHz SPI 时钟下这套方案能稳定跑通 Flash 的页读和页写但要跑满 Flash 的快速读命令比如 0x0B 命令可能需要降一点时钟因为 CPU 处理标志位也需要时间。6.4 实测结果与性能边界我搭的验证环境里从设备用的是一颗 SPI NOR FlashW25Q16通过 MAX14431BAEE 接到 PIC18F85J10。实测情况如下SPI 时钟传输内容结果1MHz读取 JEDEC ID稳定通过5MHz连续读 4KB稳定通过10MHz连续读 4KB偶发位错误调整 CPHA 后稳定16MHz页写大量数据写操作不稳定建议降频这里 10MHz 出现偶发错误不是隔离器的问题是我一开始按 Mode 0 配置后来改成 Mode 3CPOL1、CPHA1就稳定了。说明延迟匹配在高频时确实会影响采样点调整时钟相位是一种很有效的补救手段。7. 隔离方案的常见坑与排查思路遇到问题从哪里下手7.1 故障现象一完全不通MISO 没有数据如果从设备完全不响应先区分是 A 侧问题还是 B 侧问题。方法很简单在 PIC 里发送单字节命令后用示波器看隔离器 A 侧 SCLK 和 MOSI 是否有信号再看 B 侧 SCLK 和 MOSI 是否同步出现。如果 A 侧有、B 侧没有说明隔离器供电或者使能有问题如果 B 侧有信号但 MISO 没有返回查从设备供电是否正常以及从设备 CS 是否真的拉低了。一个特别隐蔽的问题隔离器 B 侧电源和从设备电源不是同一个电源域但两者的地没有处理好。如果 B 侧 GND2 和从设备 GND 之间有较大电位差即使从设备供电正常信号电平参考也不一致MISO 完全乱掉。用万用表量一下 B 侧 GND2 和从设备 GND 之间的电压应该接近 0V。7.2 故障现象二数据偶发错误十分钟出现一次偶发错误通常不是逻辑问题而是时序或噪声问题。排查步骤用逻辑分析仪同时抓 SCLK、CS、MOSI、MISO 的 A 侧和 B 侧信号记录出错瞬间的波形。检查出错是否都发生在 CS 拉高或拉低的边沿附近。如果是说明 CS 毛刺或建立时间不足。用示波器看从设备端 SCLK 波形是否有振铃或台阶。加串联电阻并观察改善情况。检查从设备电源纹波特别是隔离 DC-DC 在负载波动时的纹波。调整 SPI 模式CPOL/CPHA看错误率是否变化。这套流程我用了很多次大部分偶发错误最终都归结到 CS 时序或者电源纹波上。真正的延迟失配导致的问题反而不多见因为 MAX14431BAEE 的通道匹配做得够好。7.3 故障现象三通信正常但温度升高后出现错误工业设备经常要在高温环境下工作。MAX14431BAEE 是 CMOS 工艺的电容隔离器温度特性比光耦好很多但隔离 DC-DC 的效率会随温度变化输出纹波可能增大。另外PCB 上的去耦电容在高温下容量可能下降特别是小封装陶瓷电容直流偏压特性叠加温度特性可能让实际容量下降一半以上。我的建议是去耦电容选用 X7R 或 X5R 材质避免使用 Y5V 这种高容量但温度特性差的类型。7.4 故障现象四低速率正常、高速率就乱这基本锁定是时序预算问题。计算一下每个周期的总延迟隔离器传输延迟加从设备数据建立时间加 PCB 走线延迟必须小于 SPI 时钟周期的一半。如果超了就要降频或者调整相位。MAX14431BAEE 在 10MHz 下没有问题但如果你想要 20MHz 以上建议换用传输延迟更小的隔离器型号或者用 FPGA 同时在时钟和数据通路上做补偿。8. 这套方案适合什么场景又有什么局限8.1 典型应用场景工业传感器数据采集主控和传感器分布在设备不同区域存在地电位差或者传感器需要独立供电。电机驱动板与主控板的通信驱动板上的功率开关产生的 dv/dt 噪声非常强信号隔离能避免噪声通过 SPI 回流到主控。高压侧与低压侧之间的配置口比如 BMS、充电桩里低压控制板需要读写高压侧芯片的寄存器。医疗设备里的病人端和主控端隔离病人端需要满足漏电流要求隔离 SPI 能显著降低泄漏路径。PIC18F85J10 的优势是货源稳定、开发环境MPLAB X成熟、老工程师维护方便很适合长生命周期产品。如果项目算力需求更大也可以把 MAX14431BAEE 接到 STM32、i.MX 甚至 FPGA 上电路部分几乎是完全一样的泛化能力很好。8.2 局限与替代方案这套方案不适用于以下情况SPI 速率超过 20MHzMAX14431BAEE 虽然单通道速率高但延迟匹配在极高频下会变成瓶颈建议选延迟更小的数字隔离器。隔离电压要求超过 5kVrmsMAX14431BAEE 的隔离等级面向常规工业场景如果要求加强绝缘要考虑封装更大、爬电距离更长的型号。需要双向隔离通道自动切换比如 SPI 从机模式下MISO 和 MOSI 方向固定但如果从设备需要主从切换单颗固定方向隔离器不够用。如果只是隔离一两个 GPIO而且速率很低用传统光耦或者容耦隔离器都行成本和 MAX14431BAEE 相比会低一些。但如果要隔离完整 SPI 总线买一颗四通道集成隔离器往往比四个光耦更划算而且占板面积小得多。9. 最后的几个实操心得这套方案我实际调了小两周才完全稳定期间踩过的坑都写在上面了。最后再分享三个印象最深的心得第一千万不要省电源隔离。我一开始偷懒B 侧电源直接从 A 侧电源串了一个磁珠过去结果低速率测试全过一到现场就被电机干扰打回原形。后来老老实实加了隔离 DC-DC问题立刻消失。隔离信号不隔离电源等于只做了一半。第二调试顺序真的很重要。先确保 SCLK 通了再调数据先低速率再高速率先把波形看清楚了再动寄存器。如果你一上来就全速跑出问题根本没法定位。我之前好几次都是因为着急结果浪费了更多时间。第三示波器探头的地线要当心。测隔离器 B 侧波形时如果探头地夹子接的是 B 侧地而示波器通过电源线接了大地那等于把 B 侧地和大地连起来了隔离效果被测量工具破坏。有条件的话用差分探头或者直接用带隔离的示波器。这个细节很少被写进应用笔记但实际工程中非常关键。如果你想把这套方案收到自己的项目里建议先把 MAX14431BAEE 的数据手册翻一遍重点看传输延迟、通道匹配和电源电压范围这几页再把 PIC18F85J10 的 MSSP 章节读透搞清楚 SPI 引脚的复用功能和模拟开关的关闭方法。这两个文档吃透了后面调起来会顺畅很多。

相关推荐

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

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

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

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

OpenClaw与LINE集成提升养虾业沟通效率
OpenClaw与LINE集成提升养虾业沟通效率

1. OpenClaw与LINE集成的核心价值OpenClaw作为一款多平台即时通讯聚合工具,其与LINE的深度整合为养虾行业带来了前所未有的沟通效率提升。传统养虾场管理中,技术人员、养殖工人、销售团队之间的信息传递往往存在滞后性,而通过OpenClaw接入LIN… · 2026/11/2 23:59:44

一文读懂NVIDIA-Nemotron-3-Ultra:LatentMoE架构如何实现55B活跃参数的高效推理
一文读懂NVIDIA-Nemotron-3-Ultra:LatentMoE架构如何实现55B活跃参数的高效推理

一文读懂NVIDIA-Nemotron-3-Ultra:LatentMoE架构如何实现55B活跃参数的高效推理 NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16是英伟达最新发布的大型语言模型,采用革命性的LatentMoE架构,在保持5500亿总参数的同时仅激活550亿参数进行推理&… · 2026/11/3 1:43:16

NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4震撼发布:5500亿参数AI模型如何重塑多语言推理与长文本处理?
NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4震撼发布:5500亿参数AI模型如何重塑多语言推理与长文本处理?

NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4震撼发布:5500亿参数AI模型如何重塑多语言推理与长文本处理? 🚀 NVIDIA最新发布的Nemotron-3-Ultra-550B-A55B-NVFP4是迄今为止最强大的开源AI模型之一,拥有5500亿参数的巨型规模&#x… · 2026/11/3 1:43:16

字节跳动ByteFF2发布:AI极化力场重构药物与新材料研发范式
字节跳动ByteFF2发布:AI极化力场重构药物与新材料研发范式

字节跳动ByteFF2发布:AI极化力场重构药物与新材料研发范式 导语 字节跳动推出AI驱动的极化力场模型ByteFF2(ByteFF-Pol),通过图神经网络与量子力学数据融合,无需实验校准即可实现有机液体和电解质的高精度模拟&#… · 2026/11/3 1:43:16

Qwen3-Omni-Captioner:重塑音频理解的多模态大模型革命
Qwen3-Omni-Captioner:重塑音频理解的多模态大模型革命

Qwen3-Omni-Captioner:重塑音频理解的多模态大模型革命 导语 阿里达摩院推出的Qwen3-Omni-30B-A3B-Captioner音频细粒度描述模型,通过多模态技术突破传统音频分析局限,为复杂场景下的音频理解提供新范式。 行业现状:音频智能分析的… · 2026/11/3 1:43:16

如何3步跑通 pandas_exercises:新手也能上手的完整Pandas练习集
如何3步跑通 pandas_exercises:新手也能上手的完整Pandas练习集

如何3步跑通 pandas_exercises:新手也能上手的完整Pandas练习集 【免费下载链接】pandas_exercises Practice your pandas skills! 项目地址: https://gitcode.com/gh_mirrors/pa/pandas_exercises 教程看完还是写不出代码,是学 Pandas 最常见的瓶… · 2026/11/3 1:43:16

Moonlight-16B-A3B:Muon优化器加持的MoE模型如何重塑大语言模型效率边界
Moonlight-16B-A3B:Muon优化器加持的MoE模型如何重塑大语言模型效率边界

Moonlight-16B-A3B:Muon优化器加持的MoE模型如何重塑大语言模型效率边界 导语 Moonshot AI开源的Moonlight-16B-A3B模型以160亿总参数、30亿激活参数的混合专家架构,在5.7T训练tokens下实现MMLU70.0、CMMLU78.2的突破,将16B参数模型的训练成本… · 2026/11/3 1:42:16

双极步进电机控制实战: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/2 13:10:28

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/2 4:42:45

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/2 5:17:18

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

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

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

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

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

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

双极步进电机控制实战: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/2 13:10:28

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/2 4:42:45

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/2 5:17:18

了解更多?预约专属演示

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

企业微信二维码