
1. 从一颗芯片到一套模型为什么值得用Simplis啃UC2843搞电源设计的人对UC2843这个型号不会陌生。它属于经典电流模式PWM控制器家族内部集成了误差放大器、精密基准源、振荡器、电流采样比较器以及图腾柱输出级几乎把离线式反激、正激、Boost等拓扑所需的核心控制逻辑都塞进了一个8脚封装里。也正因为如此它成了很多工程师入门开关电源控制环路的“第一颗芯片”。但问题也随之而来真拿它搭一块板子去调环路周期长、成本高稍有不慎还会炸管。这时候用Simplis把UC2843的行为模型搭出来在仿真里先把PWM控制器的关键波形跑通就成了一条性价比极高的路径。Simplis和常见的SPICE类工具不太一样。它采用分段线性建模和状态空间求解专门针对开关电源这种周期性开关系统做了优化。用普通SPICE跑一个几十千赫兹的开关周期可能要等很久才能看到稳态而Simplis往往几个周期就能收敛。这也是为什么在电源圈里Simplis常被拿来验证PWM控制器、环路补偿和软启动逻辑。把UC2843放进Simplis里本质上是用行为级模型去复现它的核心功能振荡器产生时钟、误差放大器做环路调节、电流采样比较器决定占空比、输出驱动级带动外部MOSFET。这篇文章面向的是已经有一点电源基础、但还没系统搭过控制器模型的工程师或者正在做课程设计、项目预研的学生。我会从模型架构讲起把每个功能块的建模思路、参数计算、Simplis里的实现方式一步步拆开最后给出完整的仿真文件结构说明。你不需要有Simplis正版授权才能看懂因为核心逻辑是通用的换成其他仿真平台也能迁移。重点是理解UC2843内部到底在干什么以及怎么用仿真工具把它“翻译”成一个可运行的模型。2. UC2843内部功能块拆解与建模映射2.1 振荡器与时钟频率和最大占空比的源头UC2843的振荡器由RT和CT两个外部元件决定。内部有一个比较器当CT上的电压充到约2.8V时触发复位降到约1.0V时重新开始充电。这个充放电过程产生锯齿波同时输出一个窄脉冲作为时钟信号。频率的近似公式是[ f_{osc} \approx \frac{1.72}{R_T \cdot C_T} ]这个1.72不是随便来的它来自内部电流源和比较器阈值的综合结果。实际选型时如果你要跑100kHz取RT10kΩ那么CT大约需要1.72/(100k×10k)1.72nF取标准值1.8nF频率会略低一点大约95kHz。这个偏差在仿真里可以接受但如果你要做精确的环路带宽设计最好把实际频率反算回去。在Simplis里振荡器可以用一个受控锯齿波源加一个脉冲源来模拟。锯齿波从1.0V线性升到2.8V周期由上面的公式设定。时钟脉冲的宽度通常取几百纳秒用来触发SR锁存器的置位。这里有个容易忽略的点UC2843的最大占空比不是100%内部有一个分频触发器输出频率是振荡器频率的一半所以最大占空比被限制在50%左右。这一点在建模时必须体现否则你的反激电路在仿真里可能会跑到不合理的占空比。注意很多新手在Simplis里直接用一个比较器比较误差放大器和锯齿波结果占空比能跑到90%以上这就是漏掉了内部的分频逻辑。正确做法是在时钟路径上加一个T触发器把时钟二分频后再去置位SR锁存器。2.2 误差放大器环路补偿的核心UC2843的误差放大器是一个跨导型放大器输出电流与输入差模电压成正比增益典型值为80dB带宽约1MHz。它的同相输入端内部接在2.5V基准上反相输入端引出到引脚2。补偿网络通常接在引脚1和引脚2之间形成Type II或Type III补偿。在Simplis里建模时可以用一个压控电流源加一个输出电阻来模拟跨导特性。跨导值gm大约在1mS左右输出电阻ro大约在几十兆欧。但更实用的做法是直接用理想运放加RC网络因为大多数环路设计关注的是补偿后的开环特性而不是放大器本身的非线性。如果你要做精确的瞬态响应那就需要把gm和ro都建进去还要考虑输出摆幅限制。补偿网络的设计这里不展开但有一个经验在Simplis里调环路时先把误差放大器当成理想运放补偿网络用实际参数跑AC扫描看穿越频率和相位裕度。等环路稳定了再把运放的非理想因素加回去看波形有没有明显变化。这样分步走比一上来就建全模型要高效得多。2.3 电流采样比较器逐周期限流的关键电流模式控制的核心就是电流采样比较器。它把采样电阻上的电压和误差放大器输出比较一旦电流达到阈值就复位SR锁存器关断输出。UC2843的电流采样输入端有一个内部滤波器典型延迟约100ns这个延迟在仿真里可以用一个传输线或延迟模块来模拟。采样电阻的取值需要权衡。太大功耗高、效率低太小信噪比差、容易受干扰。一般取0.1Ω到1Ω之间。在Simplis里采样电阻用普通电阻即可但要注意电流探头的方向。比较器的阈值是误差放大器输出减去一个二极管压降约0.7V因为内部有一个钳位电路。这个细节在建模时可以用一个减法器加一个限幅器来实现。提示如果你在Simplis里发现电流波形有尖峰导致误触发可以在比较器前面加一个RC低通截止频率设在开关频率的1/10左右。这对应实际电路里的前沿消隐时间。2.4 输出驱动级图腾柱与死区UC2843的输出级是图腾柱结构能提供±1A的峰值驱动电流。在Simplis里可以用两个互补的MOSFET加一个反相器来模拟或者直接用行为级输出电阻加电压源。关键是要体现上升沿和下降沿的延迟以及输出高电平接近VCC、低电平接近地的特性。驱动级后面通常接一个MOSFET开关。在Simplis里MOSFET模型可以用理想开关加导通电阻或者用Simplis自带的功率MOSFET模型。如果你只是验证控制逻辑理想开关就够了如果要看开关损耗那就需要更精确的模型。3. 在Simplis里搭出可运行的UC2843模型3.1 工程创建与元件库准备打开Simplis新建一个工程选择“Switching Power Supply”模板。Simplis的元件库分几类基础元件电阻、电容、电感、源电压源、电流源、脉冲源、行为级模块受控源、比较器、锁存器、以及专用模型MOSFET、二极管、变压器。UC2843的模型需要用到脉冲源、比较器、SR锁存器、受控源和逻辑门。我习惯先把所有需要的元件从库里拖到原理图里摆成一个功能块布局左边是振荡器和时钟中间是误差放大器和比较器右边是输出驱动。这样调试的时候一眼就能看出信号流向。3.2 振荡器与时钟生成的具体实现用一个脉冲电压源产生时钟信号参数设置如下初始电压0V脉冲电压5V延迟时间0上升时间10ns下降时间10ns脉冲宽度500ns周期10us对应100kHz然后用一个积分器加复位开关产生锯齿波。积分器的时间常数由RT和CT决定复位开关由时钟脉冲控制。Simplis里可以用一个“Sample and Hold”模块或者“Resettable Integrator”来实现。如果你找不到现成模块就用一个压控电流源给电容充电再用一个开关在时钟到来时放电。这里有个小技巧锯齿波的幅度要设在1.0V到2.8V之间这样和内部比较器阈值一致。你可以在积分器后面加一个限幅器防止过冲。3.3 误差放大器与补偿网络的搭建误差放大器用Simplis的“OPAMP”模型配置成同相放大器。同相端接2.5V基准反相端接反馈网络。补偿网络用电阻和电容串联再并联的形式具体参数根据你的环路需求来定。比如一个典型的Type II补偿R110kΩC110nFC21nF。这样在低频有高增益中频有一个零点高频增益下降。在Simplis里跑AC扫描时需要把误差放大器断开注入一个小信号。Simplis有专门的“AC Analysis”模式可以自动完成环路增益测量。你只需要在反馈路径上放一个“Loop Break”元件Simplis会自动处理。3.4 电流比较器与SR锁存器的连接电流比较器用一个“Comparator”模块正端接误差放大器输出负端接采样电阻电压。输出接SR锁存器的复位端。SR锁存器的置位端接时钟脉冲输出接驱动级。Simplis里的SR锁存器可以用两个与非门交叉耦合实现也可以用现成的“SR Flip-Flop”模块。注意置位和复位的优先级在UC2843里复位优先也就是说即使时钟来了如果电流比较器已经触发输出仍然保持关断。这个逻辑在建模时要用“Reset Dominant”的锁存器。3.5 输出驱动与功率级的接口输出驱动用一个“Buffer”加两个MOSFET或者直接用“Gate Driver”模块。输出接功率MOSFET的栅极。功率级根据你的拓扑来定如果是反激就接变压器加整流二极管加输出电容。Simplis里有现成的反激模型可以直接调用。接口处要注意电平匹配。UC2843的输出高电平是VCC减去一个饱和压降大约VCC-1V。如果你的MOSFET阈值是2VVCC是12V那驱动电压足够。但如果VCC只有5V就要考虑用逻辑电平MOSFET。4. 仿真跑通之后波形解读与常见异常排查4.1 正常工作的波形特征跑通之后你应该能看到几个关键波形时钟脉冲、锯齿波、误差放大器输出、采样电阻电压、驱动脉冲。正常工作时驱动脉冲的占空比由误差放大器输出和锯齿波的交点决定。电流采样波形应该是一个上升的斜坡在达到阈值时被复位。如果输出带载你会看到误差放大器输出上升占空比增大直到输出电压稳定。这个过程在Simplis里通常几个毫秒就能看到稳态。4.2 不收敛与发散问题的排查Simplis虽然收敛性好但模型搭得不对也会发散。最常见的原因是锯齿波幅度设得不对导致比较器一直输出高或低。SR锁存器的置位和复位同时有效导致输出振荡。采样电阻太小电流信号被噪声淹没。补偿网络参数不合理环路自激。排查时先看时钟和锯齿波是否正常。如果锯齿波没有复位检查复位开关的控制信号。如果比较器输出一直不变检查阈值设置。如果驱动脉冲频率不对检查时钟周期和分频逻辑。注意Simplis里有个“Simulation Options”菜单可以把最大步长设小一点比如1ns这样能捕捉到窄脉冲。但步长太小会拖慢仿真速度建议先设10ns有问题再调小。4.3 占空比异常与最大占空比限制如果你发现占空比能跑到80%以上那多半是分频逻辑没加。UC2843的最大占空比是50%这是由内部T触发器保证的。在Simplis里你可以在时钟路径上加一个“T Flip-Flop”把时钟二分频后再去置位SR锁存器。这样每个时钟周期只能置位一次占空比自然被限制在50%以内。另一个可能是误差放大器输出过高导致比较器阈值超过锯齿波峰值。这时候占空比会达到最大但不会超过50%。如果超过那就是锁存器逻辑有问题。4.4 电流采样尖峰与前沿消隐实际电路里MOSFET开通瞬间会有电流尖峰这是由寄生电容放电引起的。在Simplis里如果你用的MOSFET模型有结电容也会看到这个尖峰。如果尖峰导致比较器误触发可以在采样信号后面加一个RC低通或者用一个“Blank”模块在开通后一段时间内屏蔽比较器输出。前沿消隐时间一般取200ns到500ns。在Simplis里可以用一个单稳态触发器加一个与门来实现开通信号触发单稳态输出高电平屏蔽比较器单稳态结束后比较器恢复工作。5. 从仿真到实测模型验证与参数微调5.1 用实际芯片数据手册校准模型仿真模型再准也是理想化的。要让它有实用价值必须用数据手册上的参数校准。比如振荡器频率公式里的1.72实际芯片可能有±5%的偏差。误差放大器的跨导、输出电阻、带宽数据手册上都有典型值。把这些值代入模型仿真结果会更接近实测。我一般会做三组校准第一组是开环频率响应用数据手册的增益带宽积第二组是瞬态响应用数据手册的启动时间和软启动特性第三组是保护特性比如过流保护阈值和延迟。5.2 环路补偿的仿真与实测对比在Simplis里调好的补偿网络拿到实际电路上不一定完全匹配。因为实际电路有寄生参数比如电感的直流电阻、电容的等效串联电阻、PCB走线电感。这些在仿真里可以部分体现但很难完全复现。我的做法是仿真里把补偿网络的相位裕度调到45度到60度之间然后实际电路上用网络分析仪测环路增益。如果实测相位裕度比仿真低10度以上那就要检查寄生参数的影响或者适当降低穿越频率。5.3 仿真文件的结构与复用建议一套完整的UC2843仿真文件应该包含主原理图、参数设置文件、仿真配置文件、以及波形查看配置。Simplis支持把子电路封装成模块你可以把UC2843做成一个子电路以后直接调用。我习惯把模型分成三层底层是行为级功能块中间层是UC2843整体模型顶层是具体应用电路。这样换拓扑的时候只需要改顶层中间层和底层不用动。提示Simplis的工程文件可以导出为文本格式方便版本管理。你可以把关键参数放在一个单独的“.param”文件里这样调参的时候不用改原理图。6. 几个容易踩的坑和我的个人经验第一个坑是振荡器频率和最大占空比的对应关系。很多人以为振荡器频率就是开关频率其实UC2843的开关频率是振荡器频率的一半。如果你要100kHz开关频率振荡器要设200kHz。这个在Simplis里如果搞错整个环路带宽都会偏。第二个坑是电流采样比较器的输入范围。UC2843的电流采样输入端有内部钳位最大输入电压约1V。如果你的采样电阻太大电流还没到额定值比较器就饱和了。所以采样电阻的取值要保证最大电流时电压不超过1V。第三个坑是误差放大器的输出摆幅。UC2843的误差放大器输出最低能到1V左右最高到VCC-1.5V。如果你在Simplis里用理想运放输出能到0V那占空比就能到0%实际芯片做不到。所以要在模型里加输出限幅。第四个坑是软启动。UC2843本身没有软启动引脚但可以通过在误差放大器输出加一个RC网络来实现。在Simplis里你可以用一个电压源加一个开关上电时慢慢抬高误差放大器输出这样占空比逐渐增大避免启动冲击。最后一个经验Simplis的仿真速度和你设置的步长、仿真时长、电路复杂度都有关。如果你只是看稳态波形仿真10ms就够了。如果要看启动过程可能要100ms。步长设10ns100ms就是1000万个点Simplis处理起来还是很快的但如果你加了复杂的MOSFET模型可能会慢一些。建议先用理想开关跑通逻辑再换详细模型看损耗。这套UC2843的Simplis模型我前后搭过三次第一次漏了分频逻辑占空比跑到70%第二次忘了加前沿消隐电流波形全是尖峰第三次才把误差放大器的非理想因素加进去。每次踩坑都让我对这颗芯片的理解更深一层。仿真终究是仿真但它能让你在动手焊板子之前把控制逻辑和环路特性摸清楚省下的时间和物料成本远比搭模型花的时间多。