ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2.4GHz双平衡吉尔伯特混频器设计与Spectre RF仿真全流程

2.4GHz双平衡吉尔伯特混频器设计与Spectre RF仿真全流程 2.4GHz这个频段课程设计和毕业设计里出镜率极高WiFi、蓝牙、ZigBee全挤在这一片所以拿它做射频前端练习几乎是必修课。可很多人一上来就照着论文里的电路图在Cadence IC618里搭一个2.4GHz双平衡吉尔伯特混频器结果问题一个接一个库挂不上、管子进不了饱和区、PSS不收敛、转换增益算出来是负的。这篇文章就从完整项目角度把TSMC 180nm工艺下的混频器设计、原理图搭建、testbench准备、仿真验证和避坑过程串起来讲一遍适合正在做射频课程设计、毕业设计或者刚接触Spectre RF仿真、想完整跑通一条混频器设计链路的同学参考。1. 设计目标与拓扑选择为什么非做2.4GHz双平衡吉尔伯特1.1 混频器在射频链路里到底干了什么接收机前端里天线收到的信号先经过LNA放大再由混频器完成频率搬移把2.4GHz的射频信号变到几十兆赫兹的中频。混频器放在这里本质上解决的是“选择性问题”2.4GHz信号直接送给ADC或基带处理对后端采样率和滤波器要求太高搬移到低得多的中频后滤波、放大和解调就从容得多。所以混频器在链路里的位置决定了它要同时满足几个相互矛盾的指标。转换增益不能太低否则会恶化后级噪声贡献噪声系数要低因为混频器直接决定了接收机的整体灵敏度线性度又必须够否则强干扰信号会在混频器里产生互调分量把有用信号盖住。再加上端口隔离度、功耗、本振功率这些设计目标从来不是单点最优化而是找折中。1.2 双平衡拓扑的优势与代价单管混频器结构最简单一个管子同时做跨导和开关但本振信号会直接泄漏到输出端隔离度很差单平衡混频器用一对开关管抵消了部分偶次本振谐波但RF到IF的馈通仍然存在。双平衡吉尔伯特结构做了两组交叉连接的开关管LO到IF、RF到IF的馈通在理想对称条件下可以互相抵消这是它成为有源混频器主流方案的根本原因。代价是管子数量多、偏置电路复杂、Stack高度高。180nm工艺的电源电压只有1.8V吉尔伯特结构等效于在电源和地之间叠了“尾电流源跨导管开关管负载电阻”四层每一层都要分到足够的电压余量。很多初学者的原理图在DC仿真时出问题根本原因就是这里——不是管子选错而是电压余量分配不合理。1.3 TSMC 180nm下的设计指标与约束TSMC 180nm工艺的NMOS特征频率大概在40GHz到50GHz做2.4GHz混频器没问题甚至还有不少余量但这不代表可以随便设计。180nm管的阈值电压在0.5V左右VDD只有1.8V这意味着跨导管和尾电流源的过驱动电压不能给太多否则开关管和负载就没有足够的空间了。我给这个设计定的一组目标值是这样的电源电压1.8V本振频率2.4GHz射频频率2.401GHz 左右中频1MHz也可以取10MHz便于观察转换增益≥8dBSSB噪声系数≤15dBIIP3≥-5dBm整体电流≤3mA端口隔离度LO到IF的泄漏越低越好理想值做出来应在-60dBc以下这些指标是偏中庸的不是追求极限性能而是保证在Cadence IC618里能顺利仿真、容易收敛。真要把IIP3做到0dBm以上或者把NF压到10dB以下偏置和尺寸都需要重新调这个后面讲折中时再说。2. 从建库到画原理图IC618环境准备与器件选型2.1 新建库、attach PDK与模型库加载在IC618里做仿真之前先把环境准备干净。打开Library Manager新建一个library比如叫“mixer_lib”创建时可以选“Attach to an existing technology library”找到tsmc180rf或者你机器上安装的TSMC 180nm PDK库attach上去。这一步等于告诉你这个库用的是什么工艺规则后面画原理图时器件模型、工艺参数才能匹配上。很多人跳过这一步直接建库不attach结果放器件时各种报错或者仿真时“device undefined”。等到报错再回头补attach也是可以的但不如一开始就做好。模型库加载方面在ADE窗口里打开“Setup→Model Libraries”把TSMC 180nm PDK的spectre模型文件加进去。路径一般在PDK安装目录下的models/spectre或类似位置具体以你机器上的PDK说明为准。这一步漏掉的话仿真器根本不认识你放的管子直接报一个很莫名的错误。2.2 各晶体管和被动器件的选型逻辑原理图里的器件主要分三类TSMC 180nm PDK里的MOS管、analogLib里的理想源和被动元件以及电阻电容。MOS管方面RF路径上的管子尽量用PDK里的rf管比如rf_nmos之类模型里包含了衬底寄生和噪声参数仿真结果更接近实际如果PDK里没有单独的rf管用普通nch也可以先把链路跑通。开关管对寄生非常敏感同样建议用rf管。信号源和负载方面在analogLib里用vdc做直流偏置、vsource或port做交流信号源、gnd接地。这里有个经验性选择RF端口用port还是vsource。port自带源阻抗噪声分析和功率增益计算更规范vsource是理想电压源使用简单。我建议RF输入用port设置50Ω源阻抗本振用vsource因为本振信号的绝对幅度更重要不需要它参与阻抗匹配计算。电阻电容用analogLib里的rpoly或resistor、cap/mimcap即可。前几轮仿真里理想电阻电容就够了不必追求寄生很全的模型——反正后面也要先看行为对不对。2.3 规格参数一组可以直接抄的初始设计值下面给一组我在IC618里实测能跑通整个仿真流程的初始值新开项目可以直接抄作业器件尺寸/参数说明RF跨导管2个W/L 100u/0.18u提供跨导gm约20mS左右LO开关管4个W/L 30u/0.18u最小沟长减少开关节点寄生尾电流源NMOSW/L 40u/0.5u沟道选长提高电流镜精度负载电阻600Ω决定增益和输出共模电平尾电流2.4mA由电流源和偏置电压共同决定LO直流偏置0.55V让四只管处于开关导通临界点LO正弦幅度450mV峰值峰峰值900mV保证可靠开关RF直流偏置0.7V让跨导管在饱和区输出隔直电容1pF连接输出到下级的AC耦合为什么LO偏置取0.55V因为180nm NMOS阈值在0.5V附近把开关管栅极偏置在阈值附近LO信号一摆过去开关管就能交替进入导通和截止状态。这个偏置太低了开关切换不充分转换增益直接掉下来太高了开关管长期导通混频器退化为放大器失去开关混频特性噪声和线性度都会恶化。为什么L不全部用最小沟长跨导管和尾电流源选0.18u、0.5u有讲究跨导管用最小沟长的好处是gm大、寄生电容小但输出电阻小在某些偏置下跨导线性度稍差尾电流源选0.5u是为了让沟道调制效应减弱电流更稳定。这些都是实践中常踩的点先按这个值跑跑通之后再去调。3. 第一轮仿真DC调试与转换增益打通3.1 testbench的搭法原理图画好后创建一个新的cellview作为testbench比如叫“tb_mixer_top”。把混频器的symbol放进去然后在输入端加信号源RF端口用port源阻抗50Ω频率2.401GHz幅度先设成-30dBm。这个小信号是为了后面测增益做PSS只跑LO大信号时这个RF信号用不到但先放好不碍事。LO端口用vsource正弦频率2.4GHz幅度450mV峰值DC偏置0.55V。注意这里的DC偏置是给开关管栅极的直流电平。电源VDD用vdc设1.8V。输出IF和IF-各接一个1pF电容到地模拟后级负载电容如果后面要接下一级用2pF到5pF更真实。testbench里的源一定不要忘记给DC工作路径。RF输入通过隔直电容接跨导管栅极隔直电容用10pF这样RF端口的直流不会干扰跨导管静态工作点同时2.4GHz信号能顺利通过。LO端也一样vsource的DC分量正好作为开关管的直流偏置不需要额外电容如果后面想单独调整LO偏置再加隔直。3.2 DC仿真看什么工作区、电流、gm打开ADE选择spectre先跑DC分析。DC仿真的任务不是看波形而是检查每个管子是否工作在预期区域。打开DC结果后查看“Results→Print→DC Operating Point”重点关注三件事跨导管的Vds是否大于Vgs-Vth。如果跨导管进入了线性区整个混频器就像没接电源一样增益就不会正常。常见原因是尾电流太大在负载电阻上压降过大导致跨导管源端电位被抬得太高。开关管的Vgs是否在阈值附近。理想情况下LO为0的静态平衡点应该让开关对都处于微导通状态如果DC下开关管已经深截止或者深导通PSS分析时的切换效率会受影响。尾电流源的漏极电流是不是你设定值。通过调整电流源偏置电压把总电流控制在2.4mA附近。还可以让仿真器打印跨导管的工作点gm。记住这个值后面算理论增益要用来和仿真结果对照。3.3 PSSPAC跑转换增益DC没问题后开始跑周期稳态分析。混频器是大信号周期时变系统本振信号驱动开关管周期性导通/截止小信号增益随时间变化。普通AC分析里偏置点是固定的根本模拟不了这种“开关”行为所以必须用PSSPAC。PSSPeriodic Steady State参数这样设fundamental tones2.4GHz也就是LO频率number of harmonics9到15。混频器的开关波形含丰富高次谐波harmonics给太少会导致波形不精确特别是噪声分析时影响明显可以先给9出问题再加到15。accuracymoderatetstab10ns左右让初始瞬态衰减掉output harmonics选择IF和IF-节点PSS收敛后才能再做PACPeriodic AC。PAC参数Sweep输入频率从0.1MHz扫描到50MHz这覆盖了整个中频观察范围input source选RF端口的port或vsourcesidebands1默认即可表示只关心基波附近的边带搬移输出IF或者差分输出IF - IF-PAC跑完直接画出输出端幅频响应。在1MHz中频附近的“转换增益”就是混频器把2.4GHz射频信号搬到1MHz中频的增益。我按上面那组初始参数跑出来的结果转换增益大约在10dB左右这和理想公式Gc(2/π)gmR_L估算的十几dB相比低了一些属于正常情况。理想公式假设开关瞬间切换实际开关管需要时间再加上寄生电容分流增益损耗几个dB非常正常。如果增益低于5dB先别急着改负载检查LO摆幅和偏置。开关切换不彻底是增益损失最常见原因。3.4 LO摆幅对增益的敏感度扫描这里专门提一个必须做的扫描固定其他条件扫描LO电压源的峰值幅度从200mV一路扫到700mV观察转换增益变化曲线。这个扫描能一次性看清三件事。第一LO幅度太小时开关管不完全切换增益很低第二LO幅度进入一个合理区间后增益曲线出现平台甚至略有上升第三LO幅度过大后开关管的噪声和信号馈通明显增加虽然增益不一定掉但线性度和噪声会恶化。我一般取斜坡进入平坦区的起点附近作为工作点而不是取增益最高点。原因是混频器设计最忌“增益敏感”如果工作点刚好落在增益急剧变化的区间工艺偏差、温度变化都会让增益剧烈飘动后级AGC压力很大。扫描LO幅度时PSS的收敛速度会变化所以建议从小到大一步步扫发现不收敛就加大tstab或者减少步长。这一步的经验是LO摆幅的“最佳点”通常出现在开关管过驱动电压刚好让它进入硬开关状态的附近不是越强越好。4. 线性度、噪声与隔离把指标一次性测完4.1 IIP3仿真的双音设置混频器的线性度最容易让人糊涂因为它的非线性不仅来自管子的直流非线性还来自开关管时变导通带来的“周期性时变非线性”。普通谐波平衡或者AC分析都搞不定这个需要用双音大信号周期分析。在Cadence IC618的Spectre RF里IIP3仿真最直接的路径是用PSS设置多个fundamental tones。具体做法fundamental tones填两个LO2.4GHzRF12.401GHz再把第二个射频音RF22.4015GHz加到RF输入端口上这样下变频后的中频分别是1MHz和1.5MHz三阶交调分量落在0.5MHz处远离直流方便读值注意RF1和RF2的频率间隔不能取太近否则IM3分量和中频基波靠得太近频谱窗口分辨不开但也不要取太远否则交调产物频率超出了你想观察的中频范围。上面的1MHz、1.5MHz、IM3在0.5MHz的组合是我实际比较顺手的设置。IP3仿真时把RF输入功率从-40dBm开始扫描到0dBm观察IF输出端的基波功率比如1MHz处和三阶交调分量0.5MHz处随输入功率的变化。基波斜率是1IM3斜率是3两条曲线延长线的交点横坐标就是IIP3纵坐标是OIP3。如果嫌手动扫点麻烦也可以直接用Cadence里PSS完成后的Direct Plot菜单选IP3填好RF频率和功率它会自动跑双音扫描并直接标出输入三阶交调点。实测下来这个方法在混频器上也能用只要PSS能收敛。这套电路我做下来IIP3大概在-5dBm附近符合初始目标。如果IIP3差得远优先看两个地方跨导管偏置电流是否让Vov太大、开关管是否已经进入了线性区。跨导级的过驱动电压越小线性度越好但同样偏置电流下需要的W/L越大寄生电容也越大这是个始终存在的矛盾。4.2 PSSPnoise跑噪声系数混频器的噪声比增益和线性度都更容易被忽视但实际系统指标里它往往是最致命的。噪声系数仿真要用PSS收敛结果做基础再加Pnoise分析。PNoise的关键设置noise typessb单边带。混频器和LNA不同它把RF频带和镜像频带的噪声一起搬到了中频如果不区分SSB和DSB测出来的NF会偏低3dB。一般接收机链路关心SSB噪声所以这里选ssb。outputIF或差动输出IF - IF-input source选RF输入portsweep扫中频频率0.1MHz到50MHzrelative harmonic1跑完后看1MHz附近的噪声系数通常这个结构在初始偏置下NF会落在12~18dB之间。如果NF偏高优先考虑增大跨导管gm。混频器噪声主要来源是开关管的开关噪声和跨导管热噪声增大跨导管电流和W/L能压噪声但会恶化线性度和功耗这就是典型的指标取舍。还有一个很容易犯的错PNoise扫频范围和PAC扫频范围尽量一致。这样后面就能把增益曲线和噪声曲线画在同一张图里直接求出每个中频点的增益和NF方便判断链路哪一个频点性能最优。4.3 用PSS输出频谱看端口隔离混频器的端口隔离度包括LO到IF、LO到RF、RF到IF三对。其中最关心LO到IF的隔离因为本振信号功率大一旦泄漏到中频输出后面滤波不好滤很容易干扰ADC采样。PSS跑完之后看IF节点的输出频谱2.4GHz频率处的分量大小就代表LO馈通量。双平衡结构理想对称时这个分量理论上应该为0实际仿真中如果管子尺寸不对称、版图寄生不对称或者LO信号不是完全差分就会出现一定的馈通。PSS跑出来的LO泄漏如果小于-60dBc说明电路对称性良好如果比较明显回去查开关对的匹配性以及LO驱动信号是否为严格的差分信号。RF到IF的隔离也可以从频谱里看在IF频谱中找到2.401GHz附近的能量。这个量一般比LO泄漏还好因为双平衡结构把RF路径上的共模分量也抵消了大半。4.4 增益、噪声、线性度的三角折中把三个指标放一起看才知道混频器为什么难调。提高负载电阻和跨导管的gm转换增益上升NF下降这是好事但负载电阻变大负载压降变大输出共模电平下降压缩了开关管和跨导管的电压余量IIP3掉得非常快。这是一个你不得不接受的反向依赖。增大尾电流跨导管gm变大、噪声变好、线性度也能改善但功耗上升而且负载压降进一步增大电压余量更紧。1.8V电源下尾电流往3mA以上加开关管的Vds可能就只剩下0.1V左右这时候混频器会开始明显压缩。我自己的调参顺序一般是先固定尾电流调负载电阻让输出共模在1.0V附近然后调跨导管尺寸让gm在15~25mS之间再调LO偏置和幅度让开关切换充分但不烧功耗最后回来确认IIP3有没有低于目标如果低了就从减小负载电阻开始重新迭代。性能不达标时不要迷信调某一颗管子多半是整个偏置点都要动。5. 踩坑实录不收敛、发散、结果诡异的排查链路5.1 器件未定义/模型库没生效这个错误是所有Cadence新手都会遇到的。原理图上的管子明明放在那里仿真器却不认识有时候会直接报“device undefined”有时候报model未找到。排查要按顺序来。第一步看Library Manager里tsmc180rf库是否正常挂载库名旁边有没有异常标记第二步在ADE里打开Model Libraries确认SPECTRE模型文件确实加载了第三步回到原理图选中一个管子按Q看它的model name是否和PDK文档一致不一致就说明用的cellview不对。我遇到过最隐蔽的情况是库attach信息是对的模型也加载了但testbench里用了原理图里的一个pin端子和一个net名拼写不一致导致原理图有悬空节点仿真器把它当成未知器件的一部分报出莫名其妙的错误。所以查“器件未定义”时把所有飘红的线也一并检查一遍。5.2 PSS不收敛的排查顺序PSS不收敛是混频器仿真里最常见的拦路虎。报错信息五花八门但解决办法基本就几个方向。先检查tstab是否太短。PSS其实是在算“电路进入周期稳态后的状态”如果初始瞬态还没衰减完就去采样它自然无法满足周期边界条件。把tstab从几纳秒拉到几十纳秒我遇到过直接收敛的案例成本最低先试这个。再检查number of harmonics是否太小。开关波形含有大量高次谐波harmonics给3个或5个常常不够给到9到15会好很多。但也不要无脑给到31100多个节点的中等规模电路还能跑节点一多计算量暴涨速度降得厉害。如果还不行试试在PSS的高级选项里把精度从moderate降到conservative或者设置homotopy为gmin continuation。在Cadence里PSS计算引擎有shooting和harmonic balance两种probe机构不同有时候shooting不收敛切到harmonic balance就秒收。不需要对内部算法有太深理解只要知道“这是两条不同的数值路径换着跑”就行。还有一个被忽视的洁癖式问题电路里有没有DC挂空节点。比如某个偏置电阻一端接了电源、另一端既没接栅极也没接地那这个节点悬空了PSS去迭代一个浮空的节点电压当然发散。把没用的线删干净再跑。5.3 瞬态发散与NaN问题如果你转而用tran来验证也会遇到发散。现象是输出波形在某个时间点突然变成NaN或者电压值飞到几百伏明显是数值不收敛。瞬态发散最常见的原因有三个。第一个是时间步长设置不合理。2.4GHz信号的周期大约0.4ns如果maxstep设成1ns仿真器根本没法分辨一个周期里开关切换的细节数值自然崩溃。一般把maxstep设为信号周期的十分之一也就是0.05ns甚至更小。第二个是初始条件缺失。电感、电容在没有初值的情况下上电仿真器可能给出一个剧烈跳变的起始点叠加在高频信号上就容易激发振荡最好给电源vdc加“dc”初值并在tran的initial condition里把关键节点设为DC仿真的结果。第三个是跨导管或开关管瞬间被推到反型区或累积区模型里的PN结出现数值奇异。这种情况往往要多加一个保险在仿真器选项里限制牛曼迭代次数或开启continuation。如果tran跑1us太慢先跑20ns看信号起振情况确定没有明显振荡或数值异常后再拉长仿真时间。中频1MHz意味着一个完整中频周期要1us对应2400个LO周期仿真确实会慢但作为验证手段值得等。5.4 结果明显不对时先查这三点总有一些结果看起来怪怪的比如转换增益变成-30dB或者PSS“收敛”但波形乱七八糟。这种时候不是急着调参数而是先怀疑setting。第一查输入源设置。LO频率是不是填成了2.401GHzRF的频率是不是反而填了2.4GHz看起来像是低级错误但我在疲劳状态下犯过不止一次有跨导管的同学也遇到过频率填反导致“混频”结果完全错位。第二查PAC的输出频点。harmonic balance类分析里如果输出频点设成了RF频率而非IF频率你读到的“增益”根本不是转换增益。一定要确认你在1MHz左右看结果而不是2.401GHz。第三查负载连接。IF输出端如果忘了接下拉电阻或接成了直流直接对地DC工作点就完全变了。很多初学者把IF负载电阻的一端接VDD、另一端接drain结果drain的直流电位被拉到接近VDD开关管和跨导管都进入线性区增益直接为负。这时候回头看一眼DC工作点往往一眼就能发现问题。6. 一份实际调通后的经验总结跑通之后回头看混频器仿真本身不难难的是每一步都知道自己为什么要这么设。DC检查是为了确认电压余量分配PSS是为了让周期时变系统进入稳态PAC在稳态基础上测小信号增益PNoise在同一稳态基础上测噪声IIP3则绕不开双音大信号。整个流程就像一套组合拳缺一个都不完整。我个人更推荐大家在完成第一版原理图和testbench后把所有分析都预先配好而不是一项一项单独加。这样做的最大好处是每次改了原理图参数所有指标能一口气刷新立刻看到变化趋势。调参时你会发现混频器的每个管子都在同时影响三个以上指标只盯一个波形是调不出来的。最后分享一个调参时的判断技巧把转换增益、NF、IIP3三条曲线都打出来之后先看增益和NF有没有明显“共振点”——有些尺寸组合会让增益和噪声同时改善这种组合通常意味着你正在逼近当前拓扑的性能上限值得多花时间细调而大部分时候是鱼和熊掌的关系那就得回到系统指标想清楚这个混频器后面接的LNA能容忍多大NF、前面有没有预选滤波能压制镜像再来决定往哪个方向偏。射频电路设计本质上是系统折中仿真工具只是帮你把这个折中看得更清楚而已。
返回列表