参数
通常,组件的值直接在组件的value字段中指定。但是,在某些情况下,希望能够一次设置或更改几个组件的值,而不必编辑每个单独的组件值。
用于说明几个早期示例的简单电阻衰减器电路具有一个1k的电阻和两个2k的电阻。代替将值1k输入到一个电阻2k中的每个电阻中,可以设置两个变量来表示这些值。
要创建两个变量R1val = 1k和R2val = 2k,需要.param在逻辑示意图中放置一条 语句并将其转换为spice指令(通过执行以下操作:Text Attributes> Text type = spice):然后使用参数在其值字段中定义组件的值。通过在原理图中放置多个.param语句并设置为注释或者是Spice仿真。
值得注意的是可以同时在一个电路中使用多个.param语句,但是为了避免重复定义引起的冲突,每个语句中的参数标识符名称必须唯一。
.param语句的语法为:
.param <param_name1> = <value1> <param_name2> = <value2> ... <param_nameN> = <valueN>
也通过使用“+”延续字符,.param'语句可以包含多行:
.param
+ <参数名称1> = <值1>
+ <参数名称2> = <值2>
+ ...
+ ... <参数名称N > = <值N>
2
3
4
5
参数可以是数字,其他定义的参数或由数字和定义的参数任意组合组成的表达式。参数标识符名称必须以字母字符开头,其他字符必须是字母和数字。!、#、$、%、> 、[、]、 _、 ~、~~ 等作为特殊字符。
.param
=
=
= <{{表达式1}>
= <{表达式2的一部分
表达式2的延续}>
…
=
2
3
4
5
6
7
8
在选择换行符时必须格外小心,以清楚地区分将“+”字符用作延续字符与将数学上将“+”字符用作表达式中加法运算符的区别。
例如勾股定理中:
(1).param x = 3 y = 4
斜边= {sqrt(x ^ 2 +
y ^ 2)}
(2).param x = 3 y = 4
斜边= {sqrt(x ^ 2 +
- y ^ 2)}
这是.param语句中有效的表达式方式,可以得到预期的结果,再看以下几种:
(3).param x = 3 y = 4
斜边= {sqrt(x ^ 2
y ^ 2)}
(4).param x = 3 y = 4
斜边= {sqrt(x ^ 2 +
y ^ 2)}
(5).param x = 3 y = 4
斜边= {sqrt(x ^ 2
- y ^ 2)}
(3)(4)(5)这三种可能会产生意想不到的结果或可能因错误而仿真失败。需要注意的是:变量TIME和TEMP不是有效的标识符名称,因为在LTspice中,它们是保留名称。另外如果要在组件值字段中使用参数,必须将其括在大括号中:
如果一个参数用于定义另一个参数的值,也应将其括在大括号中,如以下示例所示:
R3val={R2val}
尽管此处未显示,但必须使用大括号将包含参数的表达式括起来,然后再使用这些表达式来定义其他参数,因此,即使在上面显示的示例中并非必须使用大括号,始终将其括起来也是一种好习惯大括号中的参数定义中使用的任何参数或表达式。“行为源”中使用的表达式中的参数不应放在大括号中。
参数的基本用法如下所示:
表达式和参数可以组合在一起,以简化和自动化组件和源配置值的计算,如以下示例: