亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

SPICE 编程基础

使用 SPICE 对电路仿真进行编程与使用任何其他计算机语言进行编程非常相似:您必须在文件中以文本形式键入命令,将该文件保存到计算机的硬盘驱动器中,然后使用程序(编译器或解释器)理解这些命令。在解释型计算机语言中,计算机拥有一个称为解释器的特殊程序 翻译您编写的程序(所谓的源文件 ) 转换成计算机自己的语言,在执行过程中: 在编译的计算机语言中,您编写的程序被一个特殊的程序一次性翻译成计算机自己的语言称为编译器的程序 .在您编写的程序被“编译”后,生成的可执行 文件无需进一步翻译即可直接被计算机理解。它现在可以在计算机上“运行”,无论该计算机上是否安装了编译器软件: SPICE 是一种解释型语言。为了让计算机能够理解您键入的 SPICE 指令,它必须安装 SPICE 程序(解释器): SPICE 源文件通常被称为“网表”,尽管它们有时也被称为“decks”文件中的一行被称为“卡片”。可爱,你不觉得吗?网表是由像您这样的人使用文字处理器或文本编辑器逐行键入指令创建的。对于任何类型的计算机编程,文本编辑器都比文字处理器更受欢迎,因为它们生成纯 ASCII 文本,没有用于文本突出显示的特殊嵌入代码(如斜体粗体 字体),它们是解释器和编译器软件无法解释的。与一般编程一样,您为 SPICE 创建的源文件必须遵循特定的编程约定。它本身就是一种计算机语言,虽然很简单。使用 BASIC 和 C/C++ 进行编程,并有阅读 PASCAL 和 FORTRAN 程序的经验,我认为 SPICE 的语言比其中任何一种都简单得多。它与 HTML 等标记语言的复杂性大致相同,但可能不那么复杂。使用 SPICE 分析电路需要遵循一系列步骤。当您第一次调用文本编辑程序并制作网表的初稿时,循环就开始了。下一步是在该新网表上运行 SPICE 并查看结果。如果您是 SPICE 的新手用户,您在创建良好网表的第一次尝试中将充满语法上的小错误。别担心——正如每个计算机程序员都知道的那样,熟练程度来自于大量的练习。如果您的试运行产生错误信息或明显不正确的结果,您需要重新调用文本编辑程序并修改网表。修改网表后,需要再次运行SPICE,查看结果。然后,序列看起来像这样:

要“运行”SPICE“程序”,您需要在终端提示界面输入命令,例如在 MS-DOS、UNIX 或 MS-Windows DOS 提示选项中找到的命令:

香料  

“spice”这个词调用SPICE解释程序(前提是计算机上已经安装了SPICE软件!),“<”符号将源文件的内容重定向到SPICE解释器,example.cir 是此电路示例的源文件的名称。文件扩展名“.cir ”不是强制性的;我见过“.inp ”(用于“输入”)和简单的“.txt ”工作也很好。它甚至可以在网表文件没有扩展名时工作。 SPICE 不关心你给它取什么名字,只要它的名字与你计算机的文件系统兼容(例如,对于旧的 MS-DOS 机器,文件名的长度必须不超过 8 个字符,其中一个 3字符扩展名,并且没有空格或其他非字母数字字符)。输入此命令后,SPICE 将读取 example.cir 的内容 文件,分析该文件指定的电路,然后将文本报告发送到计算机终端的标准输出(通常是屏幕,您可以在其中滚动查看)。一个典型的 SPICE 输出是几个屏幕的信息,所以你可能想通过稍微修改命令来查看它:

香料 

这种替代方法将 SPICE 的文本输出“管道”到“more”实用程序,它一次只允许显示一页。这意味着(英文)是 SPICE 的文本输出在满屏后停止,并等待用户按下键盘键以显示下一个满屏文本。如果您只是在测试示例电路文件并想检查任何错误,这是一个很好的方法。

spice example.txt 

第二个选项(上面)将 SPICE 的文本输出重定向到另一个文件,名为 example.txt , 可以在其中查看或打印。此选项对应于前面列出的开发周期的最后一步。该作者建议您仅在证明示例电路网表运行良好后才使用这种“重定向”到文本文件的技术,这样您就不会浪费时间调用文本编辑器来查看输出在“调试”阶段。一旦您将 SPICE 输出存储在 .txt 中 文件,您可以使用文本编辑器或(更好!)文字处理器来编辑输出,删除任何不必要的横幅和消息,甚至指定替代字体以突出标题和/或数据以获得更精美的外观。然后,当然,如果您愿意,您可以将输出打印到纸上。由于直接 SPICE 输出是纯 ASCII 文本,因此无论是否安装 SPICE,这样的文件都可以在任何计算机上通用解释。此外,纯文本格式确保文件与“点击式”模拟器生成的图形屏幕截图文件相比非常小。 SPICE 所需的网表文件格式非常简单。网表文件只不过是包含多行文本的纯 ASCII 文本文件,每行描述一个电路组件或特殊的 SPICE 命令。电路架构是通过为每条线路中每个组件的连接点分配编号来指定的,组件之间的连接由通用编号指定。检查以下示例电路图及其相应的 SPICE 文件。请记住,电路图的存在只是为了让人类更容易理解模拟。 SPICE 只理解网表:

示例网表 v1 1 0 直流 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 。结尾 

上面显示的源文件的每一行解释如下:

  • v1 代表电池(电压源 1),正极编号为 1,负极编号为 0,直流电压输出为 15 伏。
  • r1 代表图中的电阻 R1,连接在点 1 和点 0 之间,值为 2.2 kΩ。
  • r2 代表图中的电阻 R2,连接在点 1 和点 2 之间,值为 3.3 kΩ。
  • r3 代表图中的电阻 R3,连接在点 2 和点 0 之间,值为 150 kΩ。

SPICE 电路描述中的电气公共点(或“节点”)共享公共编号,这与连接大型电路中公共点的电线通常共享公共电线标签的方式非常相似。为了模拟这个电路,用户需要在文本编辑器上输入这六行文本并将它们保存为一个具有唯一名称的文件(例如 example.cir )。一旦网表组成并保存到文件中,用户就可以使用前面显示的命令行语句之一处理该文件(spice ),并将在他们的计算机屏幕上收到此文本输出:

1*******10/10/99 ******** 香料 2g.6 3/15/83 ********07:32:42**** * 0示例网表 0**** 输入列表温度 =27.000 摄氏度 v1 1 0 直流 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 。结尾 *****10/10/99 ********* 香料 2g.6 3/15/83 *****07:32:42****** 0示例网表 0**** 小信号偏置溶液温度 =27.000 摄氏度 节点电压 节点电压 ( 1) 15.0000 ( 2) 0.6522 电压源电流 名称当前 v1 -1.117E-02 总功耗 1.67E-01 瓦 工作结束 0 总工作时间 0.02 1*******10/10/99 ******** 香料 2g.6 3/15/83 *****07:32:42***** 0**** 输入列表温度 =27.000 摄氏度 

SPICE 首先打印输出顶部使用的时间、日期和版本。然后列出输入参数(源文件的行),然后显示从每个节点(参考编号)到地(参考编号始终为 0)的直流电压读数。接下来是通过每个电压源的电流读数列表(在这种情况下只有一个,v1)。最后,打印总功耗和计算时间(以秒为单位)。 SPICE 提供的所有输出值都以科学计数法显示。上面显示的 SPICE 输出列表对于大多数人来说有点冗长。对于最终的演示文稿,修剪所有不必要的文本并只留下重要的内容可能会很好。这是相同输出的示例,重定向到文本文件 (spice example.txt ),然后使用文本编辑器明智地进行修剪以进行最终演示并打印:

示例网表 v1 1 0 直流 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 。结尾 
节点电压节点电压 ( 1) 15.0000 ( 2) 0.6522 
电压源电流 名称当前 v1 -1.117E-02 
总功耗 1.67E-01 瓦 

SPICE 的一大优点是输入和输出格式都是纯文本,这是最通用且易于编辑的电子格式。几乎任何 计算机将能够编辑和显示这种格式,即使 SPICE 程序本身并不驻留在该计算机上。如果用户愿意,他或她可以自由使用文字处理程序的高级功能,使输出看起来更漂亮。为了让读者更清楚,甚至可以在输出的行之间插入注释。


工业技术

  1. SPICE 简介
  2. SPICE 的历史
  3. 命令行界面
  4. 电路组件
  5. 微处理器编程
  6. SPICE 中的半导体器件
  7. 电路的计算机模拟
  8. C# 编程中的命名空间
  9. C 编程运算符
  10. C 教程
  11. 双盘磨削的基本原理
  12. 外径磨削的基础知识