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

TPS53676 AVSBus协议详解与动态调压实操指南

发布时间:2026/9/24 5:54:06 来源:云帆数科 栏目:资讯中心
TPS53676 AVSBus协议详解与动态调压实操指南
1. 从一颗多相控制器说起TPS53676 与 AVSBus 的定位如果你做过服务器主板、AI加速卡或者高端FPGA的供电设计大概率绕不开多相降压控制器这个品类。TPS53676 就是德州仪器在这个赛道里比较有代表性的一颗芯片——它支持多相并联、内置PMBus兼容接口同时额外挂了一条 AVSBus。很多人第一次看数据手册时会把 AVSBus 当成又一个PMBus实际上两者的设计目标完全不同PMBus 是给系统管理用的速度慢、语义偏监控AVSBus 是给处理器直接调压用的速度快、语义偏实时控制。这个区别决定了你在做动态电压调节DVS时的架构选择。用PMBus调压一次写操作要经历命令解析、寄存器更新、DAC建立延迟在毫秒级用AVSBus帧结构是定长的一次传输几十个时钟周期就能完成延迟压到微秒级。对于CPU在负载突变时需要快速抬压、或者AI芯片在进入低功耗档位时需要快速降压的场景这个数量级的差异是决定性的。这篇内容面向的是已经拿到TPS53676评估板或者正在做相关板级设计的硬件工程师、固件工程师以及需要写DVS控制逻辑的嵌入式开发者。我会把AVSBus的协议层、帧结构、和TPS53676的具体寄存器映射串起来讲最后落到一个可复现的动态调压实操流程上。读完之后你应该能独立完成读懂AVSBus的帧、配置TPS53676的AVSBus从机地址、用MCU或FPGA发起一次有效的电压设定、以及处理实际调试中常见的无响应和电压跳变问题。需要提前说明的是TPS53676的完整寄存器定义以官方数据手册和配套的GUI配置工具为准本文涉及的地址和位域是基于公开资料和常见工程实践的整理具体项目请以你手上的手册版本为准。2. AVSBus 协议层拆解它和PMBus到底差在哪2.1 物理层两根线背后的时序约束AVSBus 物理上是两线制一条时钟AVS_CLK一条数据AVS_DATA加上一条可选的告警线。它不像I2C那样有开漏和上拉电阻的强制要求AVSBus 的驱动是推挽的时钟频率典型值在1MHz到50MHz之间具体取决于控制器和从机的支持能力。TPS53676 这边支持的时钟范围需要查手册的时序表但工程上常用的配置是10MHz到25MHz这个区间。为什么不用I2C因为I2C的开漏结构在高速下上升沿太慢而且多主多从的仲裁机制会引入不确定性。AVSBus 是单主多从的点对点结构主机通常是处理器内部的电源管理单元或者一颗专用的电源管理MCU从机就是TPS53676这类控制器。推挽驱动加上定长帧让每一次传输的时钟周期数可以精确计算这对实时调压至关重要。实际布线时有个容易忽略的点AVS_CLK 和 AVS_DATA 要做等长匹配误差控制在时钟周期的十分之一以内。在25MHz下一个周期是40ns十分之一就是4ns对应PCB上大约0.6mm的走线长度差。很多人在评估板上跑得好好的一到自己的板子就出现偶发校验错误八成是这两根线没做等长。2.2 帧结构定长帧里的每一个bit都有意义AVSBus 的帧是定长的一次完整传输包含帧头、地址、命令、数据和校验几个部分。和PMBus那种变长、带PEC可选的结构不同AVSBus 的帧长是固定的这让从机可以用纯硬件状态机来解析不需要固件介入响应速度才能做到那么快。一个典型的AVSBus写帧结构大致是这样的字段位宽说明起始标志1 bit帧起始同步位从机地址4 bit最多支持16个从机读写方向1 bit0为写1为读命令码4 bit指定操作类型数据域16 bit电压值或配置数据校验位1 bit奇偶校验或CRC简化版这里要重点说的是数据域的16位。在电压设定命令里这16位不是直接对应电压的毫伏值而是一个经过编码的数值。TPS53676 内部有一个电压解码表主机写入的16位码值会被映射到具体的DAC输出。这个映射关系通常是非线性的低电压段分辨率高高电压段分辨率低因为处理器在低电压时对精度更敏感。注意不同厂商对16位数据域的编码方式可能不同有的用线性映射有的用分段线性。TPS53676 的具体编码表必须查手册不要想当然地按线性去算。2.3 命令集哪些操作是DVS必需的AVSBus 的命令码只有4位意味着最多16条命令。实际用到的核心命令就那么几条Set Voltage设定目标电压这是DVS最常用的。Read Voltage回读当前电压设定值。Set Slew Rate设定电压变化时的斜率防止电压跳变过快导致系统不稳定。Read Status读取控制器状态包括是否就绪、是否有故障。Set Phase在多相场景下调整有效相数轻载时减相提效率。Set Slew Rate 这条命令经常被忽视但它对DVS的稳定性影响很大。如果你把斜率设得太陡电压变化时输出电容的充放电电流会很大可能触发过流保护设得太缓处理器在负载突变时等不及电压到位会先降频甚至复位。工程上的经验值是斜率设置在每微秒几毫伏到几十毫伏之间具体要看输出电容的容量和ESR。2.4 和PMBus的协同两条总线各管一摊TPS53676 同时有PMBus和AVSBus这不是冗余设计而是分工。PMBus 负责那些不需要实时性的配置和监控上电时的初始电压设定、过流保护阈值、温度监控、故障日志读取。AVSBus 负责运行时的快速调压。一个典型的启动流程是系统上电后管理MCU通过PMBus给TPS53676写入初始配置包括输出电压、保护阈值、相数分配配置完成后处理器开始通过AVSBus接管电压调节。运行过程中PMBus仍然可以周期性读取温度和电流但不再参与电压设定。这种分工的好处是即使AVSBus出现异常PMBus仍然可以兜底把电压设到一个安全值。所以在设计时不要把所有的电压控制都压在AVSBus上PMBus的兜底路径要保留。3. TPS53676 侧的寄存器映射与从机配置3.1 从机地址怎么定硬件引脚还是软件配置AVSBus 的从机地址是4位最多16个设备挂在同一条总线上。TPS53676 的地址通常由硬件引脚在上电时锁存也有部分型号支持通过PMBus写入地址配置寄存器来覆盖。硬件引脚的好处是上电即确定不需要软件介入坏处是改地址要动PCB。在多相应用里如果一颗TPS53676管理多相它通常作为一个从机出现在AVSBus上内部的多相是它自己管理的不需要主机分别寻址每一相。但如果是多颗TPS53676并联给同一颗处理器供电那就需要给每颗分配不同的从机地址主机通过不同的地址来分别调压。实际项目中我遇到过一种情况两颗TPS53676给同一颗FPGA的不同电源域供电地址配成了同一个结果主机发一次调压命令两个电源域同时动导致FPGA内部电平不匹配。排查了半天才发现是地址冲突。所以上电后第一件事建议先用读命令扫一遍总线上所有可能的地址确认每个地址只响应一个设备。3.2 电压设定寄存器16位码值到实际电压的换算前面提到16位数据域不是直接的毫伏值这里展开说一下换算逻辑。TPS53676 的电压解码通常是这样的数据域的高几位表示电压档位低几位表示档位内的偏移。具体位数分配要看手册但思路是分段线性。假设手册给出的映射表是这样的以下为示意非真实值码值范围对应电压范围步进0x0000-0x3FFF0.5V-1.0V约15uV0x4000-0x7FFF1.0V-1.5V约30uV0x8000-0xBFFF1.5V-2.0V约60uV低电压段步进小是因为处理器在低电压时对精度要求高比如0.8V时±10mV就是1.25%的误差可能影响时序余量。高电压段步进大一些因为同样的绝对误差对应的百分比更小。写驱动时你需要把目标电压比如0.85V通过这张表反算出码值。如果手册没有给出完整的表通常会有几个关键点的码值中间用线性插值。但要注意插值只在同一个档位内有效跨档位要切换公式。3.3 斜率寄存器和相数寄存器斜率寄存器控制的是电压变化时的dV/dt。TPS53676 通常把斜率编码成几个档位比如每微秒1mV、5mV、10mV、20mV。选择时要考虑两个约束一是输出电容的充放电电流不能超过控制器的限流点二是电压到位时间要满足处理器的要求。举个实际计算的例子输出电容是1000uF目标电压变化是100mV如果斜率设为10mV/us那么变化时间是10us。在这10us内电容的充放电电流大约是 C * dV/dt 1000uF * 10mV/us 10A。这个电流会叠加在负载电流上如果负载本身已经接近限流点就可能触发保护。所以斜率不能随便设要算一下。相数寄存器在多相场景下用来动态调整有效相数。轻载时减少相数可以提高效率因为每相的开关损耗是固定的相数越少总损耗越低。但相数减少后每相的电流应力增加纹波也会变大。通常的策略是负载电流低于总能力的20%时减到一相20%到50%时两相50%以上全相。4. 动态电压调节的实操链路从目标电压到实际输出4.1 一次完整的DVS操作包含哪些步骤假设处理器要求把电压从0.9V调到0.85V整个链路是这样的处理器内部的电源管理单元计算出目标电压码值。通过AVSBus发起Set Voltage命令写入码值。TPS53676 收到命令后先检查当前状态是否允许调压比如是否在软启动过程中、是否有故障。如果允许控制器按照斜率寄存器设定的速率逐步调整内部DAC。DAC输出经过误差放大器和PWM调制驱动功率级。输出电压经过反馈网络回到控制器形成闭环。控制器通过AVSBus的Read Status命令可以回读是否调压完成。整个过程从命令发出到电压稳定在25MHz时钟下帧传输时间大约是1us左右加上DAC建立和环路响应总时间在几十微秒量级。这比PMBus的毫秒级快了三个数量级。4.2 用MCU模拟AVSBus主机的代码框架如果你手头没有带AVSBus主控的处理器可以用一颗普通MCU的GPIO来模拟时序。下面是一个基于STM32的伪代码框架展示如何发起一次Set Voltage// 假设AVS_CLK接在PA0AVS_DATA接在PA1 // 从机地址为0x3Set Voltage命令码为0x1 void avs_send_voltage(uint16_t code) { uint32_t frame 0; frame | (0x3 12); // 从机地址 frame | (0x0 11); // 写方向 frame | (0x1 7); // 命令码 frame | (code 0xFFFF); // 16位数据 // 加上起始位和校验位组成完整帧 // 然后按位翻转GPIO在时钟上升沿输出数据 for (int i 0; i FRAME_LEN; i) { gpio_write(AVS_DATA, (frame i) 1); gpio_write(AVS_CLK, 1); delay_ns(20); // 25MHz半周期20ns gpio_write(AVS_CLK, 0); delay_ns(20); } }这段代码的关键是时序精度。用GPIO翻转加delay_ns在25MHz下勉强能跑但如果有中断打断时序就乱了。更稳的做法是用SPI外设来模拟因为SPI的时钟是硬件产生的不受中断影响。把SPI配置成合适的时钟极性和相位数据位宽设成帧长就能硬件级地输出AVSBus帧。提示用SPI模拟时要注意AVSBus的起始位和校验位也要包含在SPI的数据里不能只发地址和数据。4.3 电压回读与闭环验证调压发出去之后怎么确认它真的生效了两个途径一是通过AVSBus的Read Voltage命令回读控制器内部的设定值二是用示波器或万用表直接量输出电容两端的实际电压。回读设定值只能确认命令被接收了不能确认功率级真的输出了。实际电压测量才是最终验证。但示波器探头要接在靠近负载端的位置不能接在控制器输出端因为中间有走线阻抗负载端的电压才是处理器真正看到的。我习惯的做法是先用回读确认命令生效再用示波器看负载端的电压波形重点看三个指标——稳态误差是否在处理器要求的范围内、变化过程中的过冲和下冲是否可接受、变化时间是否满足处理器的时序要求。4.4 多相场景下的调压同步问题如果TPS53676管理的是多相输出调压时所有相会同时响应因为它们共享同一个DAC。但如果是多颗TPS53676分别管理不同的相组给同一个负载供电那就需要主机同时给多颗发调压命令否则会出现相间电压不一致导致环流。解决方法是主机在一条AVSBus总线上用不同的从机地址连续发多次Set Voltage命令。由于AVSBus帧很短连续发多帧的总时间仍然在微秒级相间不同步的时间窗口很小环流可以控制在可接受范围内。但如果对同步要求极高就需要用一条广播命令让所有从机同时更新。AVSBus是否支持广播要看具体实现TPS53676的手册里会有说明。5. 调试中常见的无响应与电压跳变排查5.1 从机不响应先查地址再查时序AVSBus发出去没反应最常见的原因就两个地址不对或者时序不满足。排查顺序应该是先软后硬。先在软件层面确认从机地址。用读命令扫一遍0到15所有地址看哪个地址有返回。如果所有地址都没返回那可能是物理层的问题。这时候用示波器看AVS_CLK和AVS_DATA两根线确认时钟有没有输出、数据线有没有被拉低。如果时钟正常但数据线一直是高电平可能是从机没上电或者复位没释放。时序问题更隐蔽。AVSBus对建立时间和保持时间有要求如果MCU的GPIO翻转速度不够或者走线太长导致边沿变缓从机可能采样错误。用示波器看数据线在时钟上升沿附近是否稳定如果数据跳变和时钟上升沿太近就要调整相位或者降低时钟频率。还有一种情况是从机响应了但主机没收到。AVSBus的读操作需要主机在发完命令后释放数据线切换成输入模式等待从机驱动。如果主机没有及时切换方向就会和从机抢总线导致读回的数据全是0或者全是1。5.2 电压跳变过大斜率、电容和负载的三方博弈电压跳变过大通常表现为调压过程中出现过冲或下冲幅度超过处理器的容忍范围。原因可能在三处斜率设得太陡、输出电容不够、负载变化太快。排查时先看斜率。把斜率降到最低档如果跳变明显改善那就是斜率的问题。然后算一下在目标斜率下电容的充放电电流是否超过了控制器的限流点。如果超了要么加大电容要么降低斜率。如果斜率已经很低了还是跳变那可能是负载在调压过程中发生了突变。比如处理器一边在调压一边突然从休眠唤醒电流需求瞬间增大把电压拉下去了。这种情况需要处理器侧的配合在调压期间暂时限制负载变化或者把调压和负载切换的时序错开。5.3 调压后系统不稳定环路带宽和相数的影响调压后系统不稳定表现为电压持续振荡或者偶尔复位。这通常和环路带宽有关。TPS53676 的内部环路补偿是可以通过PMBus配置的如果补偿参数和当前的输出电容、电感不匹配环路相位裕度不够调压时就容易振荡。另一个因素是相数。如果在调压的同时减少了相数环路特性会变化因为有效输出电感和电容都变了。所以调压和减相最好不要同时进行先调压等电压稳定了再减相。实际调试时我建议先用PMBus把环路补偿调好确认在固定电压下系统稳定然后再开AVSBus调压。如果调压后不稳定先回退到固定电压确认是调压引入的问题还是环路本身的问题。5.4 用状态回读定位故障点TPS53676 的Read Status命令会返回一组状态位包括调压是否完成、是否过流、是否过温、是否欠压。调压异常时先读状态看是哪一类故障。如果状态显示调压完成但实际电压不对那可能是DAC后面的功率级有问题比如某相MOSFET没开关。如果状态显示过流那就是斜率太陡或者负载太重。如果状态显示欠压可能是输入电源跌落或者输出电容失效。养成每次调压后读一次状态的习惯能把很多问题在早期发现不至于等到系统复位了才去查。6. 把AVSBus用稳的几个工程习惯6.1 上电初始化顺序不能乱TPS53676 的上电顺序是有要求的先给VDD供电等内部LDO稳定再释放复位然后通过PMBus写入初始配置最后才使能AVSBus接口。如果顺序错了比如在复位还没释放时就发AVSBus命令从机不会响应而且可能锁死需要重新上电才能恢复。我在一个项目里遇到过因为复位释放太早TPS53676 的AVSBus接口进入了一个未定义状态主机怎么发命令都没反应最后是用PMBus发了一个软复位命令才恢复。所以初始化顺序一定要按手册来不要图省事跳过步骤。6.2 保留PMBus兜底路径不管AVSBus用得多顺PMBus的电压设定路径一定要保留。在系统启动的早期AVSBus主机可能还没初始化这时候电压靠PMBus设定。在系统运行中如果AVSBus出现异常PMBus可以快速把电压设到一个安全值避免处理器掉电。具体做法是在PMBus的配置里把初始电压设成处理器的安全电压然后在AVSBus接管后PMBus不再主动改电压但保留写权限。一旦检测到AVSBus通信超时或者状态异常管理MCU立即通过PMBus把电压设回安全值。6.3 斜率配置要留余量斜率配置不要卡着处理器的要求设要留20%到30%的余量。比如处理器要求电压在50us内到位你按50us算出来的斜率实际因为电容容差、温度漂移可能要到60us。留余量就是按40us来设斜率这样即使有偏差也能满足要求。余量的另一个好处是降低对输出电容的依赖。电容的容值随温度和偏压会变化留了余量后即使电容实际容值比标称低20%调压时间仍然在要求范围内。6.4 定期回读状态做健康检查AVSBus的Read Status命令不只是故障时用正常运行时也可以周期性回读做健康检查。比如每秒读一次记录电压设定值、电流、温度。如果发现温度缓慢上升可能是散热出了问题如果发现电流逐渐增大可能是负载有异常。这些数据积累下来对后续的故障分析很有价值。我习惯在调试阶段用脚本把每次调压的状态都打log后来系统出问题时翻log就能定位到是哪次调压之后开始异常的。6.5 评估板到自研板的移植要点评估板上跑通AVSBus移植到自研板时最容易出问题的三个地方走线等长、电源去耦、从机地址。走线等长前面说过了AVS_CLK和AVS_DATA的误差要控制在时钟周期的十分之一以内。电源去耦是指TPS53676的VDD引脚旁边的去耦电容评估板上通常放得很足自研板为了省面积可能减了容值导致内部LDO不稳AVSBus时序漂移。从机地址是硬件引脚评估板上可能默认是0自研板如果忘了改多颗芯片地址冲突。移植后不要直接跑高速先把AVSBus时钟降到1MHz确认通信正常再逐步升到目标频率。这样即使有问题也能定位是频率相关还是逻辑相关。7. 从协议到硅片一个完整的调压实例复盘7.1 场景设定与目标假设有一颗FPGA核心电压需要在0.85V和0.95V之间动态切换切换时间要求小于100us稳态误差±15mV。供电方案是一颗TPS53676管理四相输出电容是4颗470uF的陶瓷电容并联总容值1880uF。7.2 参数计算与配置选择先算斜率。电压变化100mV时间100us平均斜率是1mV/us。留30%余量按0.7mV/us配置。查TPS53676的斜率档位表选最接近且不低于0.7mV/us的档位假设是1mV/us。再算电容充放电电流。在1mV/us的斜率下电容电流是 C * dV/dt 1880uF * 1mV/us 1.88A。这个电流叠加在负载电流上四相控制器的限流点通常在几十安培1.88A完全在安全范围内。然后算码值。0.85V和0.95V分别查手册的电压映射表得到对应的16位码值。假设0.85V对应0x2A000.95V对应0x3C00。7.3 实际操作序列上电通过PMBus配置TPS53676初始电压0.85V四相使能过流阈值设为满载电流的1.5倍斜率设为1mV/us。等待PMBus配置生效读状态确认无故障。使能AVSBus接口主机发送Set Voltage命令码值0x3C00目标0.95V。等待100us读状态确认调压完成。用示波器测量负载端电压确认稳态在0.95V±15mV过冲不超过50mV。反向调压发0x2A00重复验证。7.4 实测波形分析与微调如果实测发现过冲超过50mV先看斜率是不是太陡。把斜率降到0.5mV/us过冲通常会减小。如果过冲还是大可能是输出电容的ESR太高或者环路带宽太宽。这时候需要通过PMBus调整环路补偿降低带宽。如果调压时间超过了100us先确认斜率是不是被其他因素限制了比如从机内部的状态机处理时间。TPS53676 从收到命令到开始调压有几十个时钟周期的延迟这个延迟在25MHz下是微秒级可以忽略。如果时间还是超可能是电容实际容值比标称大充放电时间变长这时候要么加大斜率要么减小电容。7.5 长期运行中的漂移与补偿系统运行几个小时后如果发现电压稳态值有漂移比如从0.95V漂到了0.94V可能是温度变化导致DAC基准漂移。TPS53676 内部有温度补偿但补偿范围有限。如果漂移超出容忍范围可以通过AVSBus定期回读实际电压然后微调码值来补偿。具体做法是每隔一段时间读一次实际电压通过外部ADC或者控制器内部的电压回读和设定值比较如果偏差超过阈值就发一次微调命令把码值加一或减一。这个闭环补偿可以放在管理MCU里做不影响处理器的调压逻辑。8. 写在最后几个容易踩的坑AVSBus的校验位不要忽略。有些工程师为了省事在模拟主机时把校验位固定填0结果从机偶尔会拒绝命令。校验位虽然简单但它是从机判断帧是否有效的第一道关老老实实按规则算。从机地址扫描时不要只扫一次。有些TPS53676在上电后需要一段时间才准备好AVSBus接口如果上电后立刻扫描可能扫不到。等PMBus配置完成后再扫成功率更高。调压命令的发送频率不要太高。虽然AVSBus很快但TPS53676内部的状态机需要时间处理。连续发命令的间隔建议不小于10us否则可能丢命令。如果确实需要高频调压先确认从机的命令处理速率。用SPI模拟AVSBus时注意SPI的片选信号不要接。AVSBus没有片选从机是靠地址识别的。如果SPI的片选误接到了AVS_DATA上会干扰数据线。最后TPS53676的AVSBus接口在PMBus配置未完成时是不工作的。不要跳过PMBus初始化直接发AVSBus命令那样从机不会响应而且可能进入错误状态。

相关推荐

PaddleFormers 集成 barometer_reader 表计读数模型:检测-分割-读数全流程解析与 PaddleHub 部署实战
PaddleFormers 集成 barometer_reader 表计读数模型:检测-分割-读数全流程解析与 PaddleHub 部署实战

人工智能大模型微调模型推理服务 【免费下载链接】PaddleFormers PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleFormers 点击查看 免费下载 本指… · 2026/9/24 5:54:06

光子嫩肤从报价到结算 哪些服务记录要一一对应
光子嫩肤从报价到结算 哪些服务记录要一一对应

光子嫩肤从报价到结算,至少要让三件事对应:原来约定什么,实际完成什么,差额怎样计算。只留最初的价格截图不够,面诊后的变更、当次服务与优惠抵扣也应能回看。把记录按环节接起来,能减少对同一项服务的不同… · 2026/9/24 5:54:00

【计算机Python毕业设计案例】基于 Python 的在线电子书阅读平台的设计与实现 基于 Web 框架的智能小说阅读系统的设计与开发(程序+文档+讲解+定制)
【计算机Python毕业设计案例】基于 Python 的在线电子书阅读平台的设计与实现 基于 Web 框架的智能小说阅读系统的设计与开发(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… · 2026/9/24 5:53:48

ESP32 上跑 WebAssembly:WAMR 运行时原理与实操指南
ESP32 上跑 WebAssembly:WAMR 运行时原理与实操指南

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

GEE实战01期:制作北京及周边地区夏季 NDVI 分布图
GEE实战01期:制作北京及周边地区夏季 NDVI 分布图

本期关注:借助ee.ImangCollection完成影像集合与时空筛选。 核心流程:在不下载数据的背景下,在浏览器上完成影像调用,NDVI合成,地图显示,简单分析以及数据导出的过程。 1.案例背景 归一化植被指数&#… · 2026/9/24 6:44:28

创维E900-S变砖救砖指南:海思3798MV100短接强刷实测
创维E900-S变砖救砖指南:海思3798MV100短接强刷实测

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

力扣集训day05
力扣集训day05

思路主要是结合归并排序的思路进行解答,大致就是1.先二分拆分(merge()),拆到拆无可拆,也就是左右边界重合为止,至于l>r这种情况,是用来判断空链表这种特殊情况的。2.然… · 2026/9/24 6:43:51

微信小程序 checkbox 和 radio 组件案例学习
微信小程序 checkbox 和 radio 组件案例学习

## 一、实验介绍本次案例学习微信小程序中 checkbox 复选框组件与 radio 单选框组件,实现对文本样式和字体大小的动态控制。复选框支持多选,可以同时设置文字加粗、倾斜、下划线;单选框只能选择一项,用来切换诗词的字体尺寸。本次… · 2026/9/24 6:43:45

74LS160级联与任意进制计数器:从硬件到Verilog的完整设计指南
74LS160级联与任意进制计数器:从硬件到Verilog的完整设计指南

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

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

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

企业微信二维码