1、深圳金百泽电子科技股份有限公司()成立于 1997 年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223用 Protel99SE 实现脉冲电路的仿真摘要: 针对 Protel99SE 的数字电路模型不适用于脉冲电路仿真的缺陷,通过实例论述了用创建子电路模型和创建层次式模块电路来实现脉冲电路的仿真测试。 关键词:电子设计自动化 Protel99SE 仿真 子电路 层次式电路Protel
2、 设计系统作为电子设计自动化(EDA)软件中的佼佼者,一直受到广泛的欢迎。Protel99SE 是Protel 公司 2000 年推出的最新版本,内部集成了功能强大的模数混合仿真器,采用 Spice 仿真内核,含有丰富的器件模型库,能快速简便地实现大部分模块电路和数字电路的仿真12。且仿真结构十分精确,提高了电路设计的效率和效益。由于 Protel99SE 的数字电路(门电路)模型没有采用 Spice 模型,而是采用类 C 语言(DigitalSimcode)编写,它只注意到电路的输入与输出逻辑电平值,而对门电路的输入输出阻抗考虑不够,从而导致这些模型不适用于输入、输出电流较大的数字电路的仿真
3、。在脉冲电路中,由门电路构成的对称式多谐振荡器和微分型单稳态触发器等电路的输入、输出电流都较大,如果直接调用仿真库内的器件设计这些电路并进行仿真,结果将的失败的。然而,Protel99SE 提供了开放的仿真器件库维护护环境,用户可创新器件模型,它还支持层次式电路的设计与仿真。基于这两点,笔者探索出两种适合于脉冲电路的仿真方法,其结果是令人满意的。1 创建门电路的子电路模型直接调用仿真库内的器件导致仿真失败的原因是 Protel99SE 仿真库内的模型不能完整和全面地描述电路的性能。为此,有必要为门电路建立符合要求的子电路模型。下面以 TTL 电路中的四二输入与非门T1000 为例,介绍子电路模
4、型的建立步骤和方法。深圳金百泽电子科技股份有限公司()成立于 1997 年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223第一步,按图 1 画出门电路的内部结构。根据所选器件的有关参数(如门电路的延迟时间、功耗等)选取三极管及电阻等元件,画面子电路图。其中多发射极三极管用两个三极管 Q1 和 Q2 并联代替,Rx 是为了避免电气规则检查(ERC)出错而设置的,若短路 Rx,则在进行
5、电气规则检查时会报告出错信息,但并不影响仿真。第二步,在电路中标出有关节点。如图 1 中的 a、b、c、d、e 五个节点。第三步,创建器件电路符号并完成相关工作。Protel 99 SE 仿真器件的电路符号、参数、管脚等信息存放在 DesignExplorer99SE.ddb 仿真元器件库中。Protel99SE 的仿真器将在此读取器件的有关信息。需要做的工作有如下几项:(1)创建仿真元件库文件。打开数据库文件 Design Explorer 99 SE.ddb,创建新文件 T1000.Lib。(2)画元器件符合并为器件命名。打开文件 T1000.Lib,进入元器件符号编辑界面,单击右键,用T
6、ools-ReNameComponent 将器件命名为 T1000。画面 T1000 的电路符号,并编排好引脚,用 Tools-NewPart 创建四个子件 1/4、2/4、3/4、4/4。各个子件的引脚排列与 74LS00 相同,即在一个封装内集成四个与非门,如图 2 所示。(3)在 Browseschlib 页面,单击 Description 按钮,并切换到 Designator 页面,在 Default 区域中填入放置器件的缺省名称“U?“,在 Designator 域中填入 TTLGATE,在 FootPrint 1 域中填入 Dip14。再切换到 Library Fields 页,为
7、 Text Field 1-Text Field5 各个区域填写如下相应内容:深圳金百泽电子科技股份有限公司()成立于 1997 年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223Text Field 1:Type=SUBCKT(X);此域定义 T1000 为子电路。Text Field 2:model=T1000;此域将此子电路的模型名定义为 T1000。Text Field 3
8、:file=model_path.ckt;此域指出模型文件存放的路径及文件名。Text Field4:pins=1:1,2,3,14,72:4,5,6,14,73:10,9,8,14,74:13,12,11,14,7;此域定义各子件的管脚分配及管脚排列顺序。引脚排列顺序必须与模型文件中子电路定义语句所定义的节点排列顺序相对应。Text Field5:netlist=%D%1%2%3%4%5%M;此域包含 Spice 网络表的网络数据。其含义可参见参考文献45;该页的其余区域可不填。PartField NAME 项不用设置。第四步,创建器件模型文件。Protel 99SE 的模型文件存放在 De
9、sign Explorer 99SEModel.ddb 仿真文件中。首先在此数据库中创建文件夹 TTLGATE,再创建文件 T1000.ckt。Spice 语言规定子电路的扩展名为 ckt。根据图 1 按 Spice 模型文件规范编写此文件是一种较烦琐的事情,未能体现 Protel 的优点。下面介绍一种简便方法:将图 1 中的节点 e 的标号“e“去掉,并在此节点上放置接地符号(0),单击 Simulate/CreateSpiceNetlist 按钮,系统会自动生成 Spice 网表文件 T1000.nsx。将文件中的注释行和命令行删除,将节深圳金百泽电子科技股份有限公司()成立于 1997
10、年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223点 0 改为节点 e,在文件的最前面添加一行子电路命令语句:.SUBCKTT1000 a b c d e,将文件的最后一句由.END 改为.ENDST1000(子电路结束语句) ,最后将此文件内容复制到新建的子电路模型文件 T1000.ckt 之中。得到的新器件的模型文件如下所示:修改后的模型文件需重新启动一次系统才能生效。通过以上
11、几步即建立了可用于仿真的新器件 T1000(T1000 系列四二输入与非门) ,用同样的方法可创建其它门电路及其仿真模型。2 用新建的器件模型仿真调试对称式多谐振荡器由与非门构成的对称式多谐振荡器如图 3 所示。图中的与非门 T1000 就是新建的器件。电路的绘制必须符合 Protel99SE 仿真电路图的规范。在仿真设置对话框中选择仿真类型(瞬态分析)并完成仿真步长(尽量小一些为好)及收集信号等设置,单击 RUN 按钮,得到仿真结果如图 4 所示。由图可测出振荡周期约为 98.768s(启动测量光标测量),与理论计算及硬件实验结果相符,其它指标也与理论分析及硬件实验结果相符。新建的电路模型不
12、仅可用于脉冲电路的仿真与调试,它同样适用于组合电路和时序电路的仿真与测试,比 Protel99SE 仿真库中的门电路模型有更广泛的适用性。当然,模型的精度对仿具的精度有较大的影响,要提高精度,则要对子电路进行测试并调整元件及参数使之满足要求。3 用层次式电路仿真脉冲电路Protel99SE 具有创建层次式电路的功能,下面以微分型单稳态电路为例介绍用层次式电路图仿真脉冲深圳金百泽电子科技股份有限公司()成立于 1997 年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整
13、合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223电路的方法与步骤。(1)按图 5、图 6、图 7 创建层次式电路和次级电路,完成单稳态电路的设计。在设计过程中,上层电路及下层电路的节点必须标出网络标号,且网络标号应与端口名称相同;各次级电路的元件序号不能重复;各电路图的图号必须设置为不同的值(在 Documentoptions 菜单中,选择 Organizition 标签页进行设置) ,否则,进行电路规则检查(ERC)时会报告错误,如没有设置图纸号时的错误报告为1Error Duplicate Sheet Numbers 0 *.sch And*.sch
14、。当然,有些错误的存在并不影响仿真(如#1 错误) 。有关键立层次式电路的详细介绍请参阅参考文献3。(2)设置激励源的属性。激励脉冲的幅度应符合 TTL 电平规范,AC 和 DC 属性及相应延迟可不设置;上升时间(RiseTime)、下降时间(Full Time) 、延迟时间(DelayTime)必须设置为大于 0 的值,否则仿真失败;激励脉冲的周期必须根据电路输出的脉冲宽度 Tw 及电路的恢复时间 Tre 决定,其值必须大于电路的分辨时间。(3)设置好仿真类型(瞬态分析) 、仿真步长和仿真时间等选项,并选取要观察的信号。(4)单击 Simulate/Run 按钮,得仿真波形如图 8 所示。由
15、图 8 可见,输出脉宽为 Tw=7.0013s(启动测量光标测量) ,这与理论分析及硬件实验结果相同,各点波形也与理论分析及硬件实验的结果相同。层次式电路仿真脉冲电路的方法同样适宜于其它电路的仿真。图 8 微分型单稳态触发器的瞬态仿真波形深圳金百泽电子科技股份有限公司()成立于 1997 年,是线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的 PCB 设计、 PCB 快速制造、 SMT 加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223上述两种方法各有优缺点,用子电路模型仿真的方法适用于器件被重复多次调用的情况,有一劳永逸之感;缺点是建模较烦琐。层次式电路仿真的方法的优点是只需画出电路图而不需创建电路模型,其缺点是次级电路不能被重复使用,若要重复调用次级电路,则必须先将重复性层次式电路转化为一般性层次式电路6。实验表明,用上述两种方法不仅能较好地实现脉冲电路的仿真,也能用于其它数字电路和数模混合电路的仿真与调试,且仿真结果的误差极小,能较好地指导电路设计和实验。上述两种方法也存在一点不足之处,那就是电路的传输延迟时间 TPLH 较长。可仔细调整三极管等元件的参数,从而减小延迟时间,使用时必须加以注意。