模拟电路与AD混合仿真

仿真法

1.2.2.1 计算机仿真流程

从前,我们分析电路,要么是用笔和纸,要么就要搭电路板(bread board)。但随着电路规模的增大,用笔、纸变得越来越不可能,搭电路板又不能精确反映芯片上的电路特性,而且费用也越来越高。因此Simulation program integrated Circuit emphasis (Spice)电路仿真系统应运而生。

随着计算机的发展,Spice技术大放光彩,已有多款商业软件在市场中竞争。如HSpice、PSpice、Spectre、Smart-Spice …… 等,还有我们中国华大九天的Aeolus-AS。这些专用的仿真软件主要用于芯片级设计及仿真。终端用户的PCB板级系统仿真一般使用PADS,Altium Designer 等EDA工具集成的混合仿真模块。

uploading.4e448015.gif

正在上传…重新上传取消

本书采用Altium Designer 16.0集成的Mixed Simulation仿真插件来实现仿真实验。设计流程如图6所示。

如图7所示,这是一个可用于仿真分析的原理图。该图是2管直藕话筒信号放大器,每个元器件都绑定了对应的仿真模型,电源和输入信号增加了激励源,有20到40dB左右的放大能力。AD16能够将符合这些基本要求的原理图直接转换成XSpice文本并输出仿真结果。

uploading.4e448015.gif

正在上传…重新上传取消

uploading.4e448015.gif

正在上传…重新上传取消

1.2.2.2  AD16 仿真插件简介

1. AD16 是否支持仿真功能,可以在Home页面查看(如图8)。

Altium Designer 16.0中的电路仿真是混合模式仿真器,采用由乔治亚技术研究所(GTRI)基于伯克利SPICE3代码开发的增强版事件驱动型XSPICE仿真引擎,除了支持XSPICE 标准之外,还支持Pspice。多数元器件生产商的技术支持服务都能提供SPICE3或者Pspice模型的下载。

AD16的混合仿真集成库包括:基于SPICE3的电阻、电容、电感、电压/电流源、传输线和开关等模拟器件模型以及diodes、BJTs、JFETs、MESFETs和MOSFETs五类主要的通用半导体器件模型;基于XSPICE模拟器件模型是针对非线性模块的,包括特殊功能函数,诸如增益、磁滞效应、恒压或恒流源、s域传输函数精确度等;AD16还自带mdl模型向导,可以在标准模型基础上构建不同参数的同类器件,一个mdl文件对应一个型号的元器件。

更复杂的器件用局部子电路脚本来描述,例如运放、时钟、晶体、复合管等。每个局部子电路都保存在*.ckt文件中,调用时模型名称的前面会自动加上大写的X。可以将多个子电路模型写在同一个文件中。

这个.ckt文件是用SPICE3控制语句编写的文本文件,读者可以根据元器件手册提供的数据自行编写,但更靠谱的是到元器件生产商的网站上去下载。厂家提供的SPICE3或Pspice模型文件的后缀可能各不相同,但将其修改为.ckt以后Ad16也可以加载调用。

uploading.4e448015.gif

正在上传…重新上传取消数字器件模型本书没有涉及。

AD16通过原理图编辑器编辑元器件属性来绑定仿真模型。运行混合仿真以后,AD16自动从项目工程“xxx”活动的原理图生成与工程同名的仿真脚本文件“xxx.nsx”和输出显示文件“xxx.sdf”。

2.原理图绘图举例

AD16将原理图直接转换成XSPICE文件,仿真用的原理图与PCB工程项目用的原理图有所区别:

启动AD16,点击【File】→【New】→【project】→【Pcb project】,新建一个工程bjt.prjpcb。

点击【File】→【New】→【Schematic】给bjt.prjpcb工程添加一个原理图文件bjt.SchDoc,并添加元件如图9。

每个元器件图标都要双击一下,看看属性对话框右下角是否包括Simulation类型(如图10),没有就要添加。

电源和信号源要添加虚拟的激励源。图9中的Vbe就是输入信号激励源,V1是电源激励源。

1.2.2.3仿真选项设置

配合简单易用的参数配置窗口,AD16集成的混合仿真工具,可以在电路原理图设计阶段将原理图转换成仿真文件,完成基于时序、离散度、信噪比等多种数据的分析。

点击菜单【Design】→【Simulate】→【Mixed Sim】,启动混合仿真分析,弹出仿真设置窗口(图11),这个窗口左侧是仿真选项与全局参数选项选择,右侧是对应的设置对话框。

uploading.4e448015.gif

正在上传…重新上传取消

仿真分析全局基本设置 General Setup:

“Collect Data For”指定仿真运算的数据来源,决定下方“Available Signals”窗口显示的电压或电流的数据是来自网络节点(node)、探针(Probes)还是元件(Device),或者这3者的组合

“Sheets to Netlist”指定仿真涉及的网络范围,同时决定下方“Available Signals”窗口显示的数据是来自整个工程,还是仅仅局限于本原理图

“SimView Setup”设定仿真窗口的显示内容和模式。把“Available Signals”窗口的内容全部传送到“Active Signals”窗口内,就能在显示窗口自动显示。选择“keep last setup”,显示窗口就能显示上一次设置的内容。

  1. 直流工作点分析 Operating Point Analysis

直流工作点分析用来模拟带有电感、电容和半导体电路的直流工作点。

在计算瞬态初始化条件时,除了使能Use Initial Conditions参数的情况外,直流工作点分析优先执行。为了保证结果的线性化,分析时使用非线性的小信号模型,且视电感为短路,电容为开路,不考虑任何交流源的干扰因素。

直流工作点分析是开始其他分析的基础,无论是否钩选,直流工作点分析总是在后台优先执行。钩选直流工作点分析,会在仿真结果显示窗里添加一个直流工作点分析标签“Operating Point”,激活这个标签,鼠标移动到窗口空白处点击右键,在弹窗里选择“Add Wave…”就可以添加显示可用的节点信号。

  1. 直流扫描分析DC Sweep Analysis 

uploading.4e448015.gif

正在上传…重新上传取消

勾选并点击“DC Sweep Analysis”,如图12:

“Primary Source”:扫描主变量

“Value”里面有可用仿真源列表,可选择“Vbe”,“V1”或option [temp]选项,然后设置起始、终止和步长。

直流扫描分析就是直流转移特性。“Primary Source”作为X轴,添加信号到绘图窗口就输出一条直流转移曲线。若允许“Enable Secondary”,则可以得到一簇直流转移曲线。

【例】:在图11界面,点击“››”把“Avallable signals”框里的内容全部移到“Active Signals”框里,观察全部信号;勾选“DC Sweep Analysis”,按照图12设置参数;点击

uploading.4e448015.gif

转存失败重新上传取消确认,AD开始执行分析运算:在窗口底部显示进度条,在“Message”面板显示警告和错误提示信息;如果工程无错误,就会

uploading.4e448015.gif

正在上传…重新上传取消

生成一个与工程同名的.nxs(SPICE Netlist)文件,同时生成并打开一个与工程同名的.sdf文件,里面显示“Active Signals”框里的各种仿真结果如图 7:“Operating Point”标签显示静态信息:

netr2_1表示电阻器“r2”引脚1这段网络 700mV

q1[ib]  表示三极管“q1”基极电流 26.4uA

q1[ic]  表示三极管“q1”集电极电流 2.529mA

q1[ie]  表示三极管“q1”发射极电流 -2.556mA

q1[p]  表示三极管“q1”消耗功率 300.2uW

r1[i]   表示流过电阻器“r1”的电流 -2.529mA

r1[p]   表示电阻器“r1”上消耗的功率 30.07mW

……

V1#branch 流过电压源V1的电流,利用这个参数可以把0V电压源当电流表用。-2.529mA表示从负极流入正极流出

……

【注意】V1和V(1)是不同的。V1表示电压源这个元器件,这个元件的参数(电流i或功耗p)要用中括号括起来;V(1)表示网络“1”的对地电压。如果没有添加网络标号,就用“net”+“元器件引脚标记”来表示这个网络节点的电压。

“DC Sweep”标签显示扫描出来的曲线簇。第二扫描源被设置成多少步,就有多少条曲线。

  1. 瞬态分析和傅立叶分析 Transient Analysis

与瞬态分析相关的参数包括:

启动时间Transient Start Time 默认为0.000

停止时间Transient Stop Time 默认为5.00毫秒

步长Transient Step Time 默认为20.0微秒

最大步长Transient Max Step Time 默认为20.0微秒

是否使用初始条件Use Initial Conditions 默认为否

是否使用默认值Use Transient Defaults  关闭这个选项才能修改上面的设定。上面这几个数据设定与待分析的信号振荡周期T紧密相关,一般要保证启、停时间间隔要等于2T到5T之间,步长在0.01T以下,最大步长0.1T左右

缺省显示的正弦波数Default Cycles Displayed:默认为5,勾选Use Transient Defaults时,图形显示5个峰谷(即x轴时间跨度为5T)

每个周期内数据点显示的数量Default Points Per Cycle:太高会加长分析时间

是否启动傅里叶变换Enable Fourier 默认为否,若勾选这个选项,系统会基于瞬态分析中最后一个周期数据来变换,下面有2个选项:

Fourier Fundamental Frequency  基准频率, 默认为1.000k

Fourier Number of Harmonics谐波数, 默认为10

在执行傅立叶分析后,系统将自动创建一个与工程同名的.sim数据文件,文件中包含了关于每一个谐波的幅度和相位详细的信息。

  1. 交流小信号分析 AC Small Signal Analysis

交流小信号分析:计算电路在设定频率范围内的响应(分析之前,必须保证电路中最少有一个交流信号源)。扫描类型包括线性/十进制/八进制Sweep Type Linear/ Decade/ Octave

阻抗分析是交流小信号分析功能的延伸,通过计算输入电源电压值除以输出电流值得到。如果要得到输出阻抗特征图,就必须满足下面条件:删除输入信号源或输入端接地;删除外加的电路负载;输出端接一个电压源。

  1. 噪声分析 Noise Analysis

噪声分析是测量电阻和半导体的噪声影响,电容、电感和受控源视为无噪声元器件。噪声电平取决于频率,单位为

uploading.4e448015.gif

正在上传…重新上传取消,电阻和半导体产生的噪声类型不同。

噪声分析的输出节点Output Node有I-P/ V-P/ VSIN三种。

  1. Pole-Zero(临界点)分析 Pole-Zero Analysis

利用电路的小信号交流传输函数计算极点/零点,进行稳定性分析。传输函数可以是电压增益或阻抗中的任一个。

  1. 传递函数分析 Transfer Function Analysis

 传递函数分析也称为直流小信号分析。具体是计算每个电压节点上的直流输入电阻、直流输出电阻和直流增益。

  1. 参数扫描Parameter Sweep 

与直流、交流或瞬态分析等配合使用,对电路所执行的分析进行参数扫描,研究电路参数变化对各项性能的影响。分析结果产生一个列表或一组曲线图。

  1. 温度扫描Temperature Sweep

用来确定温度漂移等性能指标。

  1. 蒙特卡罗分析Monte Carlo Analysis等

蒙特卡罗分析是一种统计方法。它是在给定容差参数的前提下,用一组组伪随机数求出元器件参数的随机抽样序列,然后对每一个序列进行直流扫描、直流工作点、传递函数、噪声、交流小信号和瞬态分析,估算出电路性能的分布规律。可以设定对最坏情况下的性能进行分析。

AD16的蒙特卡罗分析特别强化了最坏情况分析功能。

  1. 全局参数设置

      可以添加全局变量。

  1. 高级变量设置

需要关注的变量有3个:

如图14,“ABSTOL”电流误差绝对值,默认是1.0e-12,这个值对运算速度影响巨大,要根据实际需要调整,一般情况下就用1.0e-4比较合适

迭代次数“ITL3”默认是4,“ITL4”默认是40,如果频繁报错,都可以改为400或以上

“RAMPTIME”瞬态分析上电时间,默认是0,有时会导致分析失败,这里可以改为1.0e-3

uploading.4e448015.gif

转存失败重新上传取消

1.2.3实验法

实验是检验设计的唯一标准。设计是否成功,最终需要一块PCB板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ylwgg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值