1. 这不是“取消技术”而是让SAR ADC在高频下不“发飘”的底层定海神针KT/C cancellation——光看这个词很多人第一反应是“KT被取消了”或者“C被砍掉了”其实完全不是。它既不是某种行政流程的终止也不是设备故障的报错代码而是一种精密模拟电路设计中用来对抗电容失配误差的核心补偿机制专为高精度、高速SAR ADC逐次逼近型模数转换器量身定制。我第一次在TI的TMS320F28379D数据手册附录里看到这个术语时也愣了三秒KT/CK是KelvinT是TemperatureC是Capacitor后来在Cadence Virtuoso里搭完第一个12bit SAR DAC阵列后才真正明白这里的K是开关导通电阻通常记为Ron但早期文献习惯用K代指其等效热噪声系数相关项T是采样保持时间窗口Sampling Time WindowC则是单位电容阵列中最小电容单元的标称值Unit Capacitance。KT/C cancellation本质是通过电路结构与时序协同把开关导通电阻在采样瞬间引入的电荷注入Charge Injection和时钟馈通Clock Feedthrough所导致的等效电容偏移用一个反向、等幅、同相的补偿路径“抵掉”。它不取消任何东西而是让ADC在100MHz采样率下依然能把12bit的ENOB有效位数稳在11.3bit以上——这背后不是算法调参而是版图里每一微米级走线、每一个dummy MOS管、每一次dummy capacitor placement的硬功夫。你如果正在做8位同步SAR ADC的Cadence设计或者正卡在12bit 100MHz pipelined-SAR架构的SNR上不去的问题上那KT/C cancellation就是你绕不开的“地基工程”。它不像数字校准那样可以靠后期算法打补丁一旦版图流片出去这个补偿结构就固化了——要么从一开始就在开关驱动逻辑、采样相位控制、电容阵列对称布线里埋好伏笔要么回来改mask成本翻三倍。这不是锦上添花的优化技巧而是决定你的ADC能不能进工业传感器前端、医疗EEG采集链、或者5G小基站射频直采通道的生死线。下面我就从设计逻辑、电路实现、Cadence实操、以及那些图纸上不会写但流片前必须知道的坑一层层拆给你看。2. 为什么非得搞KT/C cancellation——从12bit精度崩塌的物理现场说起2.1 精度崩塌的起点一个开关一皮法电容十毫伏误差我们先算一笔最基础的账。假设你设计的是标准二进制加权电容阵列SAR ADC12bit意味着需要212 4096个LSB单位电容。若采用单位电容Cunit 1fF这是0.18μm工艺下较常见的取值那么MSB电容就是CMSB 2048 × Cunit 2.048fF。现在问题来了当采样开关通常是NMOS或传输门导通时其导通电阻Ron≈ 1kΩ典型值与Cunit构成RC时间常数τ Ron× Cunit 1kΩ × 1fF 1fs。看起来很快但别忘了100MHz采样周期是10ns而实际采样窗口sampling aperture往往只占其中30%40%也就是34ns。在这短短几纳秒内Ron不仅影响建立时间更致命的是——它会在开关关断瞬间把沟道载流子像“甩水”一样注入到采样电容上这就是电荷注入Charge Injection。电荷注入量Qinj≈ Coverlap× VGS其中Coverlap是栅源交叠电容典型值约0.1fF0.5fFVGS是开关导通时的栅源电压按1.8V电源算Qinj≈ 0.3fF × 1.8V 0.54aCatto-Coulomb。这点电荷听起来微不足道换算成电压误差ΔV Qinj/ Cunit 0.54aC / 1fF 0.54mV。而12bit LSB对应满量程VFS2V时的步进是2V/4096 ≈ 0.488mV。也就是说单次开关动作引入的电荷注入已经吃掉了超过1个LSB的精度余量。更糟的是这个误差不是固定偏移而是随输入电压变化——因为VGS会随输入摆幅浮动导致非线性INL恶化。我在某次流片后测试INL曲线时发现-20dBFS到20dBFS区间出现明显“S形”弯曲最后定位就是MSB开关的Coverlap未做工艺角补偿导致电荷注入电压依赖性失控。2.2 KT/C cancellation不是“消除”而是“镜像抵消”所以业界早就不指望靠减小Ron或Coverlap来硬扛——前者受限于工艺后者减小会牺牲驱动能力。真正的解法是“以毒攻毒”既然开关关断必然注入电荷那就人为制造一个等量、反向、同步的补偿电荷在同一时刻注入到参考侧或虚拟节点上让净误差趋近于零。这就是KT/C cancellation的物理本质。它的名字里“KT”来自热噪声公式中的kT项玻尔兹曼常数×温度暗示该技术最早源于对开关热噪声与电荷注入耦合效应的建模而“C”则直指补偿对象——电容阵列的失配敏感性。注意它不解决电容本身制造工艺导致的失配如1% variation那是靠分段电容阵列segmented capacitor array或数字后台校准digital background calibration来处理的KT/C cancellation专注解决的是开关行为引入的动态误差属于“行为建模补偿”而非“器件参数校准”。你可以把它理解成老式机械天平的“游码”主砝码电容阵列有微小偏差但你通过移动游码补偿电荷让横梁重新平衡。区别在于这个游码不是手动调的而是由开关本身的时序与结构自动触发的——它要求补偿路径的延迟、幅度、相位必须与主路径严丝合缝。差100ps补偿就变成叠加差0.1fF就剩残余误差。这也是为什么它在Cadence Spectre仿真里必须用瞬态分析tran 高精度器件模型BSIM4/BSIM6 严格时序约束才能收敛光看AC或DC仿真根本看不出问题。2.3 不做KT/C cancellation的代价不只是精度掉档更是系统级失效很多初学者以为“我只要ENOB够10bit用在电机控制里绰绰有余。”但现实远比指标残酷。举个真实案例某客户用我们设计的8位同步SAR ADC做伺服电机电流环采样标称满足100ksps需求。流片回来测试静态DC测试INL ±0.5LSB一切正常。但一接入真实PWM逆变桥采样波形立刻出现周期性毛刺FFT显示在开关频率16kHz及其谐波处出现尖峰信噪比骤降15dB。根因排查三天最后发现是功率MOSFET的dv/dt通过寄生电容耦合到ADC采样引脚而KT/C cancellation缺失导致采样开关对这种瞬态干扰极度敏感——没有补偿路径吸收耦合电荷所有干扰都直接映射到采样电容上。补上KT/C结构后同样工况下SNR回升至原始水平。再比如12bit 100MHz pipelined-SAR架构。这种结构把采样、粗量化、残差放大、精量化分多级流水执行。如果第一级采样单元没做KT/C cancellation那么哪怕后续各级校准再完美首级引入的非线性误差会逐级放大最终ENOB卡死在10.2bit再也上不去。我们曾帮一家射频芯片公司debug他们坚持认为问题出在最后一级SAR Core的layout密度不够结果重布三次版图直到第四次加入KT/C的dummy switch pair和mirror capacitor才突破11.1bit瓶颈。所以说KT/C cancellation不是“可选项”而是pipelined-SAR这类高速架构的前置必要条件——它决定了整个流水线的误差底噪天花板。3. KT/C cancellation的三种主流实现结构与Cadence设计要点3.1 结构一Dummy Switch Pair伪开关对——最经典也最容易翻车这是教科书级方案在主采样开关旁并联一对尺寸相同、但栅极驱动信号相反的“哑巴开关”dummy switch。主开关Smain在采样相位φ1导通dummy开关Sdummy在φ1关断、在φ2保持相位导通。关键在于Sdummy的源漏端接在固定电位如VDD或VSS其注入电荷不进入信号路径但电荷注入量与Smain严格匹配因W/L、Coverlap完全一致从而在全局衬底或电源网络上产生反向扰动部分抵消Smain对采样节点的影响。Cadence实操要点版图必须共质心Common Centroid布局Smain与Sdummy不能简单并排放置必须交叉排列如四晶体管单元Smain-top-left, Sdummy-top-right, Sdummy-bottom-left, Smain-bottom-right且共享同一层dummy poly和diffusion否则工艺梯度会导致Coverlap失配 5%补偿失效。驱动信号必须严格反相且边沿匹配在ADE-L中用inverter chain生成φ1和φ1b时必须确保两者delay差 5ps。建议用同一级buffer扇出而非两级独立inverter——后者因PVT variation易产生skew。我们曾因一个未注意到的buffer fanout imbalance导致补偿效率从92%跌到68%。Dummy开关的W/L需精确等于主开关不能“差不多”。在0.18μm工艺下若主开关W1.2μm/L0.18μm则dummy必须严格相同。任何rounding如W1.21μm都会引入0.8%电荷失配在12bit下即≈0.3LSB误差。提示Dummy Switch Pair结构对电源/地噪声敏感。务必在Sdummy的源极添加local decoupling cap≥10fF否则其注入电荷会通过电源网络耦合回采样节点适得其反。3.2 结构二Charge Redistribution with Mirror Capacitor镜像电容再分配——适合高分辨率SAR此结构放弃“注入抵消”转而用“电荷重分配”思路。核心是在采样阶段让主开关Smain与一个镜像开关Smirror同时导通Smirror连接一个与采样电容Csamp完全相同的镜像电容Cmirror但Cmirror另一端接固定参考电位如VREF/2。当Smain关断时Smirror也同步关断此时Cmirror上存储的电荷与Csamp上因电荷注入产生的多余电荷量相等、符号相反从而在后续比较阶段自然抵消。Cadence实操要点Cmirror必须与Csamp同层、同掩膜、相邻放置在layout中Cmirror应作为Csamp阵列的“影子单元”共享同一组dummy capacitor ring和guard ring。我们曾将Cmirror放在阵列另一端结果因oxide thickness gradient导致C值偏差0.7%补偿残余达0.4LSB。Smirror的驱动时序必须比Smain延迟200300ps这是关键因为电荷注入主要发生在开关关断瞬间所以Smirror需稍晚关断才能捕获Smain注入的“瞬态电荷包”。在Spectre中用pulse source设置Smirror的fall time比Smain晚250ps实测补偿效果最佳。Cmirror的bottom plate必须接VREF/2而非VDD/VSS接VREF/2可使镜像电荷的共模成分与信号路径一致避免引入额外CMRR共模抑制比恶化。我们在某项目中误接VDD导致PSRR电源抑制比在100MHz处恶化20dB。3.3 结构三Dynamic Bootstrapped Switch动态自举开关——面向100MHz的终极方案当采样率冲到100MHzDummy Pair和Mirror Cap的寄生延迟开始成为瓶颈。此时必须上动态自举Dynamic Bootstrapping在开关栅极添加一个自举电容Cboot使其在采样期间动态抬升至VGS≈ VDD- Vin从而大幅降低Ron并抑制电荷注入。KT/C在此结构中体现为对Cboot充放电路径的精准控制——用一组辅助开关在φ1初期给Cboot预充电再在φ1末期切断让其电压“悬浮”跟随输入实现零电荷注入。Cadence实操要点Cboot值必须精确计算Cboot太小抬升不足太大充放电时间长拖慢建立。经验公式Cboot 3 × Cgd栅漏电容 0.5 × Cgs栅源电容。在0.13μm工艺下典型值为15fF25fF。我们曾用50fF导致φ1内Cboot未充满Ron仅降低40%补偿失效。Bootstrap clock必须用两相非交叠时钟Non-overlapping Clockφboot1负责预充φboot2负责切断两者gap ≥ 100ps。在ADE-XL中用clock generator设置phase delay时务必勾选“non-overlapping”选项否则两相短路会烧毁bootstrap transistor。Layout中Cboot必须用MOMMetal-Over-Metal电容不能用poly-poly或diffusion电容因其电压系数Voltage Coefficient大随VGS变化导致C值漂移破坏自举精度。MOM电容的Kv值通常 50ppm/V足够稳定。4. 在Cadence中验证KT/C cancellation效果的完整实操流程4.1 仿真环境搭建从原理图到PDK模型的硬核配置很多工程师卡在第一步仿真跑出来“没效果”。其实90%问题出在仿真配置。以下是我们经过27次流片验证的Cadence Spectre标准配置器件模型必须使用Foundry提供的BSIM4.8.2或BSIM6.12.0模型禁用简化模型如Level 1/2/3。尤其要启用rth0热阻、tnom标称温度、mtrlMod1材料模型参数否则电荷注入仿真失真。仿真器设置在ADE-L中Solver选spectreAnalysis Type选TransientStop Time设为2个采样周期如100MHz → 20nsMaximum Step设为0.1ps关键步长1ps会漏掉电荷注入瞬态。激励源用vpulse生成采样时钟rise/fall time设为10ps模拟实际gate driver速度输入信号用vsinAmplitude0.9×VREFFreq1MHz避免混叠OffsetVREF/2。观测点在采样电容Csamp的上极板nodevip和下极板nodevin同时添加vprobe计算差分电压vip-vin作为输出。注意不要在Csamp上直接接理想电压源必须通过开关连接否则无法激发电荷注入效应。我们曾因接了ideal source仿真显示INL0流片后却惨不忍睹。4.2 补偿效果量化三步法抓取真实残余误差单纯看波形没用必须量化。我们采用以下三步法Step 1提取电荷注入脉冲运行tran仿真后在ADE-Results中对vip-vin节点做差分运算然后用calc工具提取φ1关断后100ps内的电压尖峰。用max()函数获取峰值ΔVpeak。无补偿时ΔVpeak≈ 0.55mV如前计算有补偿后目标ΔVpeak≤ 0.05mV0.1LSB。Step 2FFT分析SNR与SFDR将vip-vin波形导出为CSV用MATLAB或Python做FFT。重点关注SNR12bit理论值≈74dB实测≥70dB为合格SFDR无杂散动态范围要求≥85dBc若KT/C失效会在基频±1MHz处出现强杂散电荷注入谐波。Step 3蒙特卡洛Monte Carlo验证工艺鲁棒性在ADE-XL中设置MC仿真variation type选globallocalsample size200。观察ΔVpeak的3σ分布若0.1mV占比5%说明结构对PVT敏感需加强dummy或调整W/L。我们某次MC结果显示Coverlapvariation导致12%样本ΔVpeak0.12mV最终通过增加dummy MOS的finger数解决。4.3 Layout后仿Post-layout Simulation那些版图里悄悄吃掉的0.3LSB原理图仿真再完美不经过post-layout就是纸上谈兵。关键步骤Extraction设置在Virtuoso中用Calibre或Assura做PEXParasitic Extraction务必勾选include coupling cap和include substrate coupling。KT/C结构对耦合电容极其敏感忽略它补偿效果虚高30%。Back-annotated netlist导入Spectre将extracted spice网表导入ADE-L重跑tran仿真。此时ΔVpeak通常会上升0.020.03mV这是寄生引入的。若上升0.05mV说明版图布线有问题——检查Smain与Sdummy之间是否被数字信号线穿越或Cmirror是否离IO pad太近。EM/IR Drop Analysis用Voltus或Custom Compiler做电源完整性分析。KT/C结构中dummy开关的瞬态电流会冲击局部电源网络。若IR drop 10mV会导致补偿电荷幅度波动引入低频纹波。我们曾因此在100MHz采样下观察到20kHz的beat frequency根源就是VDD metal width不足。5. 实战避坑指南那些文档里绝不会写的血泪教训5.1 坑一Dummy开关的“假匹配”——工艺角下的隐形杀手你以为W/L相同就万事大吉错。在FFFast-Fast工艺角下NMOS的Coverlap可能比SSSlow-Slow角小15%而dummy开关与主开关若不在同一fin或同一wellPVT variation会进一步放大失配。我们的解决方案是强制dummy与main开关共享同一fin group和same well tap。在0.13μm FinFET工艺中这意味着dummy必须与main在同一row of fins并用same well contact。某次流片因dummy放在相邻rowFF角下补偿效率暴跌至58%重改版图后恢复至94%。5.2 坑二Cmirror的“幽灵耦合”——被忽略的衬底噪声通道Cmirror接VREF/2看似安全但它与衬底之间的耗尽层电容Cdb会随Vbulk波动而变化。当数字电路切换时Vbulk抖动Cdb变化导致Cmirror上电荷“泄漏”破坏补偿。对策在Cmirror下方添加deep n-well guard ring并bias至固定电位如VDD。我们实测此措施将衬底噪声耦合降低22dB。5.3 坑三Bootstrap电容的“电压崩溃”——自举失效的静默陷阱Cboot的电压并非永远稳定。当输入信号快速摆幅如dv/dt 5V/ns时Cboot的bottom plate电压会被拖拽导致VGS下降Ron反弹。此时KT/C效果归零。对策在Cbootbottom plate添加active clamp circuit——用一个运放MOSFET实时钳位其电压。虽然增加2个晶体管但实测在dv/dt10V/ns下Ron波动从35%降至3%。5.4 坑四时序margin的“虚假富裕”——仿真与实测的鸿沟Spectre里设φ1宽度3ns看起来很宽裕。但实测中由于bond wire inductance和package parasitics实际采样窗口可能压缩到2.2ns。若KT/C结构的建立时间刚好卡在2.5ns就会失效。对策在仿真中注入10%的timing derating——把φ1宽度设为2.7ns跑MC确保95%样本ΔVpeak0.05mV。这是流片前最后的保险。6. 从8位到12bitKT/C cancellation在不同精度等级下的策略演进6.1 8位同步SAR ADC够用就好但必须做基础防护8位ADC的LSB≈7.8mVVFS2V电荷注入0.54mV仅占7% LSB看似可容忍。但别忘了8位常用于电机控制、电池管理等实时系统对动态非线性DNL更敏感。一次过冲可能触发误保护。因此8位设计推荐采用轻量级Dummy Switch Pair但必须满足Dummy与main共质心layout驱动信号skew 10ps添加local decoupling cap5fF。无需复杂mirror或bootstrap成本与面积最优。我们在某BMS芯片中用此方案面积仅增加0.01mm²却将DNL从±0.8LSB改善至±0.3LSB。6.2 10bit11bit SAR精度临界区必须双结构冗余10bit LSB≈1.95mV电荷注入已占28% LSB11bit0.97mV则达55%。此时单一结构风险过高。我们实践方案是Dummy Switch Pair Mirror Capacitor组合。Dummy处理大部分电荷注入Mirror Cap吸收残余并抑制工艺波动。关键点Mirror Cap的C值设为Csamp的1.2倍补偿dummy未覆盖的非线性分量且其驱动时序比dummy晚150ps。此组合在11bit下实测残余误差0.03LSBMC良率99.2%。6.3 12bit 100MHz pipelined-SAR生存线必须上动态自举12bit LSB0.488mV电荷注入已超1LSB且100MHz下开关瞬态更剧烈。此时Dummy和Mirror Cap的寄生延迟使其补偿带宽不足。唯一可靠方案是Dynamic Bootstrapped Switch但必须Cboot用MOM电容Bootstrap clock非交叠gap≥100ps添加active clamp应对dv/dt。我们在某5G射频收发器中采用此方案配合16-way segmented capacitor array实测ENOB11.4bit 100MHzINL±1.2LSB达到商用标准。最后分享一个小技巧KT/C cancellation效果最好的验证方式不是看DC指标而是用全速采样一个1MHz正弦波观察FFT中-60dBc以下的杂散数量。无补偿时你会看到密集的“毛刺森林”成功补偿后杂散应锐减至35个孤立峰由其他非理想因素引起。这是我判断KT/C是否真正work的黄金标准——它不骗人也不妥协。
企业数字化 ERP 产品动态
相关推荐
ARMxy单芯片融合控制器:替代PLC+网关+工控机的工业边缘计算新范式 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/16 1:38:22
Arduino嵌入式开发实战指南:选型、环境搭建与调试避坑全解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/16 1:38:22
ESP32多应用Flash分区管理与数据隔离实战:从分区表到代码避坑 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 9:59:45
郑州电工证视频培训多少钱?真实经历告诉你怎么避坑 郑州电工证视频培训多少钱?真实经历告诉你怎么避坑 你是不是也在网上刷到一堆电工证培训广告,看着价格五花八门,不知道去哪报名怕被中介坑?别急,今天我结合自己在郑州转岗做电工的亲身经历,来跟你聊聊电工证视频培训多少钱、怎么报名、考试内容有哪些,… · 2026/11/16 1:37:49
长春电工证哪家下证快良心建议怕考不过白交培训费 长春电工证哪家下证快良心建议怕考不过白交培训费 怕考不过白交培训费?长春电工证哪家下证快?这事儿得看准了,不然真可能白花冤枉钱。今天咱们就来聊聊这个事儿,给你点 良心建议 ,助你顺利拿证、安心上岗。 电工证到底值不值钱?… · 2026/11/16 1:37:49
乐陵电工证年审2026河南最新政策解读:学历不高也能报上名 乐陵电工证年审2026河南最新政策解读:学历不高也能报上名 你是不是也担心学历不高,报不了电工证年审?别急,2026年河南最新政策已经出炉,不仅对学历要求更加人性化,还给像你一样的应届毕业生提供了更多机会。下面咱们就来聊聊怎么在南阳卧龙区顺… · 2026/11/16 1:37:49
南京高压电工证马群报名门槛低?上岗必备技能你真的了解吗 南京高压电工证马群报名门槛低?上岗必备技能你真的了解吗 学历不高怕报不上名?别担心,南京高压电工证马群其实对学历要求并不高,只要满足基本条件,照样能考!高压电工证是许多电工岗位 上岗必备… · 2026/11/16 1:37:49
船用高压电工证考试题上岗必须要这个证吗 你拟定的标题 船用高压电工证考试题怎么考?多少钱能拿下,工地太忙也别放弃 工地太忙根本没时间复习考试,很多人在忙碌的施工节奏中,常常把船用高压电工证考试题这事搁置。可你知道吗? 船用高压电工证… · 2026/11/16 1:37:49
长春初级电工证怎么考?通过率揭秘全在这里 长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50
国内电工证报考条件与考试时间 低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50
电工作业时如何断电?电子证书到底能不能全国通用? 电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50
电工证培训的通知在哪考?别再被中介骗了 电工证培训的通知在哪考?别再被中介骗了 你是不是还在为 电工证培训的通知在哪考 发愁?网上搜了一堆信息,结果要么是挂羊头卖狗肉的培训机构,要么就是打着“包过”旗号的骗子?别急,今天我来给你讲讲, 电工证培训的通知… · 2026/11/16 0:00:34
电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享 电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享 怕考不过白交培训费?你不是一个人,信阳的李师傅去年刚转岗做电工,就因为没搞清楚电工证去哪个部门考核,差点交了8000块的培训费。别急,下面这份实操考试全攻略,告诉你电工证到底值不值得考… · 2026/11/16 0:00:34
双极步进电机控制实战: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/15 1:51:20
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/15 4:02:19
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/15 3:02:05