news 2026/10/6 15:31:43

从引脚到建链:QSFP28光模块调试实战笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从引脚到建链:QSFP28光模块调试实战笔记

1. 光模块学习笔记(二):从引脚到建链,把QSFP28和常用模块一次讲透

接上一篇笔记。上一篇我主要梳理了光模块的分类、基础工作原理,以及SFP/SFP+/SFP28这类小型可插拔模块的演进脉络。今天这篇我打算继续往下挖,把重心放在QSFP28这个形态上,配合实际工作中最常碰到的调试场景,把模块从“插上去”到“链路通”的整个过程拆开来讲。

先说一个观点:搞光模块这行,光看规格书是不够的,规格书只告诉你“能干什么”,不告诉你“干的时候会遇到什么”。真正上了机房、上了测试台,你会发现最浪费时间的不是模块选型,而是模块插上之后链路起不来,或者信号通了但误码高得离谱。这时候你对引脚定义、数字诊断、链路协商这些底层机制的熟悉程度,直接决定了排查效率。所以这一篇我重点写三块:一是QSFP28的引脚定义,这是物理层的“地图”;二是常见模块选型思路,这是规划阶段的“清单”;三是建链和排查的实操记录,这是日常工作的“试金石”。

这篇笔记适合刚接触数据中心网络、光传输设备的朋友,也适合那些做了几年运维但没系统抠过模块细节的同行。

2. QSFP28引脚定义逐针拆解,搞懂物理层的“地图”

2.1 引脚布局与信号分类,先看懂38针的整体结构

QSFP28这个名字,Q代表Quad,也就是四通道,SFP代表小型可插拔,28则代表单通道速率28Gbps(实际是25.78125Gbps的64B/66B编码后速率)。四通道加起来就是100Gbps,这是100G时代最主流的光模块形态。

它的电口是38个引脚,分上下两排排列,每排19个。别被这38个引脚吓到,实际拆开来看,这些引脚只负责四类事情:电源和地、低速管理信号、四组高速差分信号、以及一些辅助检测信号。

第一类,电源和地。电源引脚主要是给模块内部的光发射组件(TOSA)、光接收组件(ROSA)、驱动芯片和CDR芯片供电的。这里要特别注意电源引脚的数量,QSFP28的电源引脚比SFP+多得多,因为四通道的功耗远高于单通道,我记得标准里功耗上限是3.5W左右,实际许多100G LR4模块能到3.5W甚至更高,所以电源引脚必须分布均匀,避免单点过流。

第二类,低速管理信号。这部分包括模块在位检测(ModPrsL)、模块选择(ModSelL)、复位(ResetL)、低功耗模式(LPMode)、中断输出(IntL)、以及I2C通信用的SCL和SDA。这些信号看起来不显眼,但实际调试中,排查“系统为什么识别不到模块”,一半以上的问题都出在这几个引脚上面。

第三类就是四组高速差分信号。QSFP28的电口定义里,TX1到TX4和RX1到RX4,每组都是一个差分对,也就是正负两根线。这四组信号对应光模块内部的四个光通道,100G光模块的四个通道各跑25Gbps,四个通道合起来就是100G。

第四类是外壳地和一些保留引脚,这部分一般不用管,按标准接地就行。

2.2 电源、接地与低速率管理信号,调试时最容易被忽略的地方

先讲电源和地。QSFP28的38针里,电源引脚分布在多个位置,常见的电源电压是3.3V。这里有个很实用的经验:量模块供电是否正常,别只量模块电源引脚,要从连接器母座背面去量,因为很多模块插不到位,前面板量出来电压是虚的。

接地引脚同样重要。高速信号的参考平面是靠地引脚和连接器的金属外壳共同保证的,如果地接触不良,眼图会变得很差,误码率会直接飙升。我自己踩过这种坑,模块插上后光功率正常,但误码率一直在10的负8次方降不下去,最后排查下来是连接器的弹片变形导致接地不良。所以板卡设计时,QSFP28连接器周围的地孔一定要打满,尤其是在高速差分信号拐弯的地方。

接下来是低速管理信号,这部分我需要逐个说明。

ModPrsL,模块在位检测信号,低电平有效。模块插入连接器时,这个引脚被模块内部的电路拉低,系统就能知道这里有个模块。主机通过读取这个引脚的电平来判断模块是否在位,这也是系统日志里“unrecognized module”和“module absent”两个状态的根本区别。

ModSelL,模块选择信号,也是低电平有效。QSFP28通过I2C总线与主机通信,一条I2C总线上可以挂多个模块,那怎么区分是哪个模块在通信呢?就是靠ModSelL。主机在操作某个模块前,先把该模块的ModSelL拉低,其他模块的拉高,这样就能选通目标模块。这有点像多个设备共用一个串口,靠片选信号来区分设备。

ResetL,复位信号,低电平复位。这个引脚一般由主机控制,模块在工作异常时可以通过这个引脚做硬件复位。注意,复位之后模块需要重新初始化,读取模块信息的程序要等待模块准备好之后再去读,否则可能读到空数据。

LPMode,低功耗模式控制脚。当这个引脚被拉高时,模块进入低功耗模式,此时高速信号输出会被关闭,但I2C通信仍然可以工作。新插入的模块默认会进入低功耗模式,主机正常启动流程是先等模块在位,再拉低LPMode让模块进入全功率工作状态。很多人插上模块后发现没有光输出,大概率就是LPMode没有被正确拉低。

IntL,中断输出信号,低电平有效。当模块内部检测到异常(比如温度过高、电压异常、激光器失效),会把这个引脚拉低,主机检测到这个中断后再通过I2C读取具体的告警寄存器,定位具体问题。

2.3 四通道高速差分信号,100G的数据管道

QSFP28最核心的4组高速差分信号,对应的是电口到光口的数据通道。我们可以这样理解:四个电信号通道经过模块内部驱动电路,调制到四个不同波长的激光器上,通过一根光纤传输;接收端再用四个光电探测器分别接收四个波长,经过TIA放大后输出四路电信号。

以最常见的100G LR4为例,它的四路波长是1295.56nm、1300.05nm、1304.58nm、1309.14nm,四个波长通过波分复用合成一路光信号在单模光纤里传输。这种方案的好处是只用一根光纤就能跑100G,光纤资源利用率翻倍。

在实际做硬件调试时,高速信号这部分有几个关键检查点。第一,检查TX差分信号的电压摆幅。用示波器探测模块电口发端,正常情况下眼图应该有清晰的“眼睛”,摆幅一般在500mV左右,过小说明模块发射电路有问题,过大则可能产生过大的电磁干扰。第二,检查RX差分信号有没有接收数据。如果RX有信号但TX没输出,问题大概率出在模块的激光器驱动电路,或者模块没有正确退出低功耗模式。

这里插一个经验:如果系统上电后长时间不识别模块,不要急着怀疑是模块坏了,先量一下ModPrsL和LPMode两个脚的电平状态。很多时候是上电时序的问题——系统还没有完成初始化,模块的LPMode默认拉高,导致模块始终处于低功耗状态,链路自然起不来。

2.4 数字诊断与管理接口,读取模块状态的关键通道

QSFP28沿用并强化了SFF-8636标准里的数字诊断监控接口(DDM),通过两线I2C接口访问模块内部的寄存器。这个接口能读到的信息非常丰富,包括模块温度、供电电压、四路TX/RX光功率、激光器偏置电流等实时监控参数。

这块对于运维排查格外有用。举个例子,当一根光纤链路抖动,到底是发射端光功率不够,还是接收端灵敏度下降,或者是光纤本身损耗变大?通过读取两端的DDM信息,基本能锁定问题方向。

DDM读取有个小技巧:模块内部寄存器的地址映射比较固定,比如温度寄存器在0x0B到0x0C,电压在0x0D到0x0E,四路RX光功率从0x16开始到0x1D。但不同厂商对寄存器的实现细节有时会有差异,所以在做工具脚本时,最好先读一下模块的能力字段(位于寄存器0x00到0x7F的存储区),确认模块支持的监控参数范围,再决定要不要信任某些寄存器值的精度。

另外,QSFP28还支持中断逻辑,前面提到的IntL信号就与此相关。模块内部有报警和告警阈值寄存器,当某个监控参数越限时,模块会记录状态并由IntL上报给主机。运维监控软件开发时,可以充分利用这个机制,实现主动告警,而不是定时轮询。

这里额外提醒一句:SFF-8636相比SFF-8431(SFP+的规范)在寄存器地址映射上差异很大,同时QSFP28还增加了对4个独立通道的控制和诊断支持。写脚本读DDM时,一定要对应具体的规范版本,拿SFP+的思路去读QSFP28的寄存器的后果就是数据全是乱码。

3. 从SFP到QSFP28,光模块形态演进背后的逻辑

3.1 为什么要从SFP+升级到QSFP28,不止是速率翻倍

很多人觉得光模块的升级无非就是速率越来越快,接口形态自然跟着换代。这话没错,但背后的驱动力更复杂。SFP+在10G时代是主流,单通道10Gbps,接口体积小,但到了25G时代,单通道25Gbps的SFP28出现了,它沿用了SFP的封装尺寸,但功耗和信号完整性要求更高。再到100G时代,如果还做单通道100G,那个激光器的调制速度可能要突破物理极限,成本和散热都扛不住,所以业界转向了并行多通道方案——四路25G并行,这就是QSFP28诞生的逻辑。

QSFP28的电口是38PIN,体积比SFP28的20PIN大一圈,但带来的好处是四通道可以并行传输,单根光纤里用四波长波分复用,或者说用多芯并行(MPO接口)实现100G速率。密度直接提升,一个交换机面板上能容纳的100G端口数量相比10G时代翻了几倍。这对数据中心来说太重要了,机房空间和散热成本都是真金白银。

3.2 100G光模块的常见类型,选型先看距离再看光纤

100G光模块按传输距离来分,主要有这几类:100G SR4、100G LR4、100G ER4、100G CWDM4。

100G SR4用的是多模光纤,传输距离在100米左右,发射波长850nm,接口通常是MPO/MTP。它的原理是用四路独立的收发通道并行,每路25G。在数据中心机柜内部的TOR(Top of Rack)场景,SR4是绝对主力。但要注意,SR4必须要配多模光纤,如果机房跳线用的是单模,那无论怎么调都通不了。

100G LR4用的是单模光纤,传输距离10公里,发射波长是前面提到的四路CWDM波长(LWDM),接口通常是LC双工。它是城域网和数据中心互联(DCI)场景里的常客。很多人纠结SR4和LR4怎么选,其实逻辑很简单:距离100米以内、且机柜内的光纤以OM3/OM4为主,就选SR4;距离超过500米,甚至要到几公里,那就必须上LR4。

100G ER4可以到40公里,100G CWDM4是20公里。这些价格会高不少,主要用在长途传输或跨数据中心场景。如果你是做企业网升级改造的,通常用不到这么长的距离,不是越大越好,选型时一定先算链路预算。

再补充一个细节:同为封装QSFP28,SR4模块内部用的是VCSEL(垂直腔面发射激光器),LR4用的则是DFB(分布反馈式激光器)。VCSEL成本低、功耗低,但发散角大,只能支持多模短距离;DFB光谱特性好、支持长距离单模,但成本高、温度敏感。这里的器件原理值得多了解一下,因为后面做故障排查时,不同类型激光器的失效模式完全不同——VCSEL常见的是发光功率缓慢衰减,DFB常见的是温度漂移导致波长偏移。

3.3 200G、400G时代,QSFP28的位置在哪里

现在400G已经开始上量,但QSFP28并没有完全退役。在400G时代,业界推出了QSFP56和QSFP-DD等新形态,电口里的差分对数翻倍,分别达到8通道50G和8通道25G。QSFP28在200G场景仍有用武之地——IEEE已经定义了通过PAM4调制方式在QSFP28封装上跑200G的方案,即每个通道用50G PAM4信号,两个通道打包成一个通道来跑100G,四个通道加起来200G。

我在实际项目里见过一些过渡方案,有人用QSFP28封装跑200G,也有人把QSFP28模块插在QSFP-DD端口的拆分线上。核心思路都是利用现有封装的机械结构,只改变电信号调制方式,降低设备换代成本。

不过,PAM4信号对链路质量的容忍度比NRZ差很多,它对光信噪比、色散、连接器插损的要求都成倍提高。这意味着QSFP28的选型测试,不能光看能不能亮,还得看链路余量够不够。我建议有条件的朋友用眼图仪和误码仪对PAM4信号做更系统的压力测试,不要等到上了线发现问题才回头查。

4. 实操过程:从插到通,记录一次完整的建链调试

4.1 物理连接与准备,别在最简单的环节翻车

先说物理连接。这个环节看起来简单,但翻车率不低。接QSFP28模块时,注意模块插入方向,防尘塞要拔掉再插,插入时要感觉到“咔哒”一声,这说明卡扣到位了。很多机房故障,最后发现只是模块没插到位,或者防尘塞没摘掉就接上了光纤,链路光功率当然测不出来。

光纤跳线方面,先确认你的模块是多模还是单模:SR4配多模MPO跳线,线体通常是水绿色(OM3)或紫红色(OM4),LR4配单模LC跳线,线体是黄色。MPO跳线还要注意极性,A/B/C三种极性对应不同的收发关系,插反了链路指示灯不会亮,但看起来两条光纤都是通的,这问题在机房现场很常见。

我自己的习惯是:上电前先用光功率计测试光纤跳线的插损,尤其是MPO跳线,用光源和功率计扫一遍,确认每条通道的衰减值都在预期范围内,再往设备上插。

4.2 系统识别模块,读取DDM信息确认工作状态

模块插好后,登录交换机或者服务器,查看系统日志。以常见网络设备为例,插上模块后在命令窗口执行“show interface transceiver”之类的命令,可以看到模块的类型、序列号、生产厂商、速率、波长、DDM信息,包括温度、电压、四路TX/RX光功率。

正常情况下的判断标准大概是这样的:温度在室温附近,电压在3.3V附近,一般允许正负5%的偏差,TX光功率应该在标称范围内,RX光功率如果是断开光纤状态会显示无光或接近零。如果四项指标有一项明显异常,建议先处理异常再考虑链路。

读取DDM这一步非常关键,因为它能帮你确认模块在硬件层面是否正常工作。比如温度寄存器显示90度,那说明散热有大问题,勉强用下去后果很严重。再比如某个通道的TX光功率比其余通道低了5dB,这个模块大概率内部已经出了问题,需要返修。

4.3 链路建立与协商,让两端设备“握手成功”

硬件识别OK后,需要让链路两端交换协商信息。以太网光模块的链路协商逻辑相对简单,不像电口有自协商那么多档位。但100G链路要建立起来,系统需要把模块的工作模式切换到正确的速率档位。有些交换机的端口默认没有开启100G模式,特别是那些兼容10G/25G/100G的多速率端口,软件上要先确认端口速率配置正确。

这里我遇到过比较典型的案例:某监控平台部署了100G LR4模块,端口始终起不来,日志显示“transceiver not supported”。查到最后发现是交换机的固件版本太老,不认识这个厂商的模块固件信息。解决办法是升级交换机固件,或者给端口配置厂商兼容模式。

链路起来之后,先用Ping测试大包连通性,再用iperf之类工具打流量压测。但小流量通不代表链路质量合格,100G链路必须跑满吞吐,并观察误码情况。

4.4 长时间运行验证,模块稳定性才是最终目标

建链成功只是第一步。以我的习惯,新上的100G链路至少要观察24小时,重点看有无丢包、误码、光功率波动、模块温度漂移等。有些模块刚开机时光功率正常,但激光器热稳定性差,运行几小时后光功率下降几个dB,误码就出来了。这类隐蔽问题不强跑24小时根本发现不了。

长稳测试期间还要留意告警日志。QSFP28模块的IntL机制会实时上报异常,比如模块温度超过阈值,或某个通道RX光功率低于告警阈值,系统都会有记录。这些记录是排查问题的最好线索。

5. 常见问题与排查技巧实录

5.1 模块插上后系统识别不到,优先查这五个点

识别不到模块,是故障率排第一的问题。处理思路按顺序走:先怀疑物理电路,再怀疑信号时序,然后怀疑模块兼容性,最后才怀疑模块本身损坏。

第一步量电源,确认模块供电引脚上有3.3V电压。第二步量ModPrsL,确认模块插入后被拉低。第三步量LPMode,确认主机已拉低该引脚让模块退出低功耗模式。第四步用I2C工具读模块的ID寄存器,确认I2C总线通信正常。第五步才考虑模块兼容性,比如厂商ID不在系统兼容列表里,或者模块固件版本过旧。

我见过一个人反复插拔模块半天不见好,最后发现是交换机对端端口shutdown了。所以排查早期,先看一眼对端端口状态,能少走很多弯路。

还有一个经验:QSFP28模块对连接器的弹片力度要求比SFP+高,如果插拔过很多次,连接器弹片变形、氧化是常见的。遇到识别不正常的老端口,可以换一个端口试一下,这一步能快速把“模块坏”和“端口坏”分开。

5.2 光功率正常但链路不通,问题可能出在协商或配置

光功率正常为什么链路起不来?通常原因有几个:两端模块速率不匹配、接口被shutdown、光纤收发接反(特别是双芯LC场景)、VLAN或trunk配置问题、软件版本兼容性。

查这类问题时,我会把链路两端的模块DDM信息都拉出来对比:发射光功率、接收光功率、链路层Up/Down状态。如果TX和RX光功率都正常但物理层不Up,优先怀疑速率协商或配置问题。如果对端RX光功率为-30dBm以下,说明光路有问题,就该用光源和光功率计去分段测量光纤链路。

这里要特别提醒MPO场景:SR4的MPO接口有12芯,模块只用其中的8芯,四发四收。如果MPO跳线的排纤方向反了,光功率测量结果可能正常,但具体到某一对通道时就错位了,链路必然起不来。别问我为什么知道,这都是实验室里拿血的教训换来的。

5.3 误码率偏高,从光路和信号完整性两头查

误码问题比链路不通更难搞,因为它能通,但质量不行。排查从物理链路开始:先确认两端模块的RX光功率在接收灵敏度范围内,一般来说100G模块的灵敏度在-10dBm左右,预留3dB以上的余量比较稳妥,再确认光纤接头是否脏污,用光纤显微镜检查端面。光纤端面脏是误码的头号杀手,一根头发丝的灰尘都可能让误码率高出几个数量级。

光功率没问题再查信号完整性。如果模块支持CDR(时钟数据恢复)功能,可以尝试开启或关闭CDR看误码有无变化。某些模块的CDR设置与对端不匹配时,会表现为偶发性误码。

如果链路中间有跳接,比如经过配线架或者光纤交汇箱,建议对每一个连接点都用插损测试仪扫一遍。曾有案例排查误码问题,查了一整天,最后发现是ODF架上有一根跳线的接头端面被磨花了,光功率只差了0.5dB,但反射噪声把信号弄脏了。

5.4 故障排查速查表

现象优先检查项常用排查手段
系统识别不到模块ModPrsL、LPMode、I2C通信万用表量电平、I2C工具读寄存器
端口无光输出LPMode是否拉低、激光器状态光功率计测TX光
光功率偏低光纤端面脏污、插损超标光纤显微镜、光源+光功率计
链路Up但Ping不通端口配置、VLAN、对端状态检查配置、抓包
误码率偏高接收功率余量、端面质量误码仪测试、DDM监控
链路时断时续散热、连接器接触不良长稳测试、温度监测
温度告警散热环境、模块功耗检查风扇、更换模块

这张表是浓缩经验,建议把这张表当作团队内部排查的固定动作手册。现实情况里,大部分故障按表操作一遍,十分钟内能定位。定位不了的,就是那种需要上眼图仪、误码仪的高难度问题了,那就老老实实回实验室慢慢测。

6. 工具选型与测试环境搭建的几点心得

6.1 模块通用性选型,兼容性列表要提前看

对接项目时,模块选型的第一原则不是看参数多好看,而是看兼容性列表。大厂交换机的兼容列表一般会列出推荐的厂商和具体型号,这份名单之外的模块,插上去可能被系统拒认。如果你在做测试环境规划,强烈建议先准备一套完整的通用性对照表,把交换机品牌型号、模块厂商、固件版本、支持速率一一对应起来。

这背后的原因是每个光模块的固件里都有一组能力描述符(T0/T1/T2页),交换机在识别模块时会去读取这些描述符,跟自身的兼容库匹配。库里的能正常工作,不在库里的就看系统策略——有的拒认,有的只告警不阻断。

顺便提一句:国产模块这几年进步很大,很多项目的兼容性做得比国外品牌还积极,会去主动匹配主流交换机的兼容库。选型测试阶段把这些都跑一遍,可以省一大笔预算。

6.2 测试环境搭建要点,复用和隔离都要兼顾

搭光模块测试环境,需要注意两点:一是链路尽量隔离,别跟正在跑业务的网络混在一起;二是要能灵活替换模块和光纤,别为了测一个模块把整个机柜网络都拆了。

我的建议是准备一个专用的测试交换机,配不同速率的光口,再备几套光电转换器和可调光衰减器做链路预算验证。测试时按顺序记录:模块型号、序列号、固件版本、DDM数据、长稳时间、误码测试结果,形成一份完整的测试报告。这样后续排查问题时有据可查,也可以反向追溯某个批次模块的质量。

另外,如果你的测试环境里既有SFP28又有QSFP28,记得两类模块的供电能力不同。SFP28单模块功耗约1W,QSFP28能到3.5W,测试交换机对两种模块的供电余量要单独确认,否则会出现“模块规格没问题但端口供电不足”的情况。

关于光模块学习笔记的第二篇,我着重聊了QSFP28的引脚定义和实操建链。其实写这篇的目的不是让你把这些引脚全背下来,而是建议你在遇到故障时能快速定位到对应的信号和寄存器。光模块看着小,但它同时牵扯到电子、光学、通信三个领域的知识,一次学不透很正常,先记住排查路径,再在工作中慢慢加深理解。后续有时间我打算继续整理第三篇,重点写光模块的测试方案和更细的调试指令,把这个系列做成一份能真正帮上忙的实战手册。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 15:30:02

DeepSeek长文本处理实战:电子病历分析落地指南

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

作者头像 李华
网站建设 2026/10/6 15:29:35

F280049C浮点加速实战:FPU与TMU协同优化指南

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

作者头像 李华
网站建设 2026/10/6 15:29:35

华为ICT云赛道云存储试题:从OBS/EVS/SFS选型到沙箱实战避坑指南

简介:面向华为ICT云赛道及云存储方向备考者的试题整理资料,以PDF形式收录云存储相关知识点的选择题与判断题,覆盖数据类型、存储架构、FC/NFS/CIFS协议、RAID、SmartTier、LUN迁移、复制一致性组及常见管理命令等核心模块。资源包共1个文件&a…

作者头像 李华
网站建设 2026/10/6 15:29:17

VCD转SAIF功耗分析实战:翻转率文件精准生成与验证

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

作者头像 李华
网站建设 2026/10/6 15:23:18

LoRA微调显存估算与OOM排查:32GB显卡跑7B模型的实操指南

先说一个我反复遇到的场景:你拿到了一张32GB显存的卡,兴冲冲跑LoRA微调一个7B模型,脚本刚启动,loss还没出来就收到OutOfMemoryError。更气人的是,别人同一份代码在24GB的卡上都能跑,你32GB反而爆了。这种问…

作者头像 李华
网站建设 2026/10/6 15:23:03

单片机继电器驱动电路详解:NPN与PNP三极管方案及参数计算

做单片机项目,十有八九要跟继电器打交道。电机正反转、电磁阀开关、加热棒通断、智能门禁控制,背后基本都是单片机加继电器。很多新手第一次画这类电路时,都会忍不住想:直接拿I/O口去接继电器线圈行不行?可以&#xff…

作者头像 李华