• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

saber中有关控制信号驱动开关器件的疑问

控制信号是相位差信号,来控制驱动脉冲的相位。我的想法是通过control to voltage模块将控制信号转化为电信号,然后该电信号对脉冲方波电压进行延时控制。不知道saber中有没有控制延时的模块,我只找到了控制信号类型的(dalay,transport),没有电信号延时类型的。请用过的人指点一下,谢谢!

全部回复(14)
正序查看
倒序查看
2013-05-07 08:38
用buffer模块,里面有可以设置上升沿时或下降沿时的参数;具体看帮助。
0
回复
keykings
LV.3
3
2013-05-07 10:27
@andy.zhou.nuaa
用buffer模块,里面有可以设置上升沿时或下降沿时的参数;具体看帮助。
我想实现的延时是动态的,有没有那种可以实时输入延时信号的模块啊
0
回复
keykings
LV.3
4
2013-05-07 11:41
@andy.zhou.nuaa
用buffer模块,里面有可以设置上升沿时或下降沿时的参数;具体看帮助。

您好,我用了一下delay, transport,variable模块,可是不知为何输出波形不理想,可能是history_length的原因,可就是解释不了。麻烦您解释一下。谢谢!

输入是50Hz的方波,20ms延时,模块图如下

 

输出波形如下(上面波形为输出的,下面是输入)

 

0
回复
2013-05-08 08:44
@keykings
您好,我用了一下delay,transport,variable模块,可是不知为何输出波形不理想,可能是history_length的原因,可就是解释不了。麻烦您解释一下。谢谢!输入是50Hz的方波,20ms延时,模块图如下[图片] 输出波形如下(上面波形为输出的,下面是输入)[图片] 
设置history_length,使其数值不小于  仿真时间/仿真步长 会值
0
回复
keykings
LV.3
6
2013-05-08 10:54
@andy.zhou.nuaa
设置history_length,使其数值不小于 仿真时间/仿真步长会值
比如说,延时不一定是20ms,也可以是10ms ,15ms等等。图中的in2不是恒定的,而是来自一个控制输出信号
0
回复
2013-05-08 11:33
@keykings
您好,我用了一下delay,transport,variable模块,可是不知为何输出波形不理想,可能是history_length的原因,可就是解释不了。麻烦您解释一下。谢谢!输入是50Hz的方波,20ms延时,模块图如下[图片] 输出波形如下(上面波形为输出的,下面是输入)[图片] 

能不能同时贴上saber附件?

0
回复
2013-05-08 12:31
@keykings
比如说,延时不一定是20ms,也可以是10ms,15ms等等。图中的in2不是恒定的,而是来自一个控制输出信号
设置history_length,使其数值不小于  仿真时间/仿真步长 会值
0
回复
2013-05-08 12:38
@keykings
比如说,延时不一定是20ms,也可以是10ms,15ms等等。图中的in2不是恒定的,而是来自一个控制输出信号
如下为此模板的相关说明,你可以参考一下;如果看不懂的话,我看这两天是否有空把它理一下给你。
#VERSION mt_template/analogy/control/c_var_delay.dec@@/main/8
#DATED 11-Nov-2004.16:13:50
#encrypted element template c_var_delay in1 in2  out =
# init_output, history_length
#**********************************************************************#
#                     Copyright 2004 Synopsys Inc.                     #
#          This template and the associated documentation are          #
#             confidential and proprietary to Synopsys, Inc.           #
#        Your use or disclosure of this template is subject to         #
#       the terms and conditions of a written license agreement        #
#           between you, or your company, and Synopsys, Inc            #
#**********************************************************************#
# The template implements a variable time delay function: *
# out = in1(time - in2, if time >= in2, *
# out = init_output if time < in2, *
# where out is the output signal, "in1" is the input signal, "in2"  is *
# the value of the instantaneous time delay provided through the input *
# "in2", init_output is the output signal before time reaches the *
# time_delay value. The values of the input "in1"  and the *
# corresponding time instances are stored in the array named "history" *
# at every time step. The delayed value of the "in1" variable is *
# determined by linear interpolation. *
# The array accomodates up to "history_length" variable-time *
# pairs, where history_length is the template parameter. If simulation *
# takes more than "history_length" steps, all the values in the array *
# are shifted one time slot back with inevitable loss of data at the *
# first two cells. If, after the first and any subsequent shift, the *
# variable value delayed for more than stored in the history array is *
# requested,  the template will output value stored in the first cell *
# and the warning that the requested value was overridden. *
# *
#   IMPORTANT! THE TEMPLATE CAN NOT BE USED AT AC AND CONTINUE TR *
# ANALYSES. *
#   IMPORTANT! PARAMETER history_length CAN NOT BE ALTERED. IF THE *
# PARAMETER HAS BEEN CHANGED, THE DESIGN *
# RENETLISTED. *
# *
# The template is connected to a system with 3 terminals: *
# in1 - input control pin which can be connected to any output *
# control pin. *
# in2 - input control pin through which instantaneous value of *
# time delay is provided. The terminal can be connected to any output *
# control pin. *
# out - output control pin which can be connected to any input *
# control pin. *
# *
# The template has two parameters: *
# init_output - output signal until the simulation time exceeds *
# the delay time (nu). The parameter is set to 0 by default. *
# history_length - array size in time-input pairs. The variable *
# at "in1" input and respective time instances are stored in this array.*
# The larger the array, the more memory is required by Saber. The *
# value of the parameter is  set to 512 by default. *
#************************************************************************
encrypted \
element template c_var_delay in1 in2  out = init_output, history_length
input nu in1, # Input 1, main signal
in2 # Input 2, delay time
output nu out # Output.
number init_output = 0, # The output value until time < time_delay
history_length = 512 # Storage size in time-input pairs
{
   val nu outval # Intermediate variables
   val nu error_level # Error level
   state nu prev_input = 0 # Variable value at previous successful step
   state time prev_time = 0 # Time at previous successful step
   state nu before, # Internal variables
after,
dum
#
# The remainder of this template is encrypted to
# protect the integrity of the code and the intellectual property
# contained within.
#
# Questions you may have about this template are
# answered in the online template documentation.
# You may request a copy of the unencrypted source
# code by contacting your Sales Representative or Technical Support
# Engineer.

0
回复
keykings
LV.3
10
2013-05-08 19:00
@andy.zhou.nuaa
如下为此模板的相关说明,你可以参考一下;如果看不懂的话,我看这两天是否有空把它理一下给你。#VERSIONmt_template/analogy/control/c_var_delay.dec@@/main/8#DATED11-Nov-2004.16:13:50#encryptedelementtemplatec_var_delayin1in2 out=#init_output,history_length#**********************************************************************##          Copyright2004SynopsysInc.          ##     Thistemplateandtheassociateddocumentationare     ##      confidentialandproprietarytoSynopsys,Inc.     ##    Youruseordisclosureofthistemplateissubjectto    ##   thetermsandconditionsofawrittenlicenseagreement    ##     betweenyou,oryourcompany,andSynopsys,Inc      ##**********************************************************************##Thetemplateimplementsavariabletimedelayfunction:*#out=in1(time-in2,iftime>=in2,*#out=init_outputiftime
我改了一下history_length的值,终于好了。非常谢谢你!
0
回复
keykings
LV.3
11
2013-05-08 19:05
@新月GG
能不能同时贴上saber附件?

我这个只是个测试模块功能的简单模块。test 

如果是全桥电路,是不是每个开关管都要用control to voltage模块,感觉挺麻烦的。对于复杂的控制系统,感觉saber是不是没有matlab好用啊?我在考虑与matlab联合仿真。

0
回复
2013-05-09 09:25
@keykings
我这个只是个测试模块功能的简单模块。[图片]test 如果是全桥电路,是不是每个开关管都要用controltovoltage模块,感觉挺麻烦的。对于复杂的控制系统,感觉saber是不是没有matlab好用啊?我在考虑与matlab联合仿真。

是的,每个开关管都要用转换模块。拷贝复制不就行了。

saber的优势是仿真准确性。

0
回复
keykings
LV.3
13
2013-05-09 10:22
@新月GG
是的,每个开关管都要用转换模块。拷贝复制不就行了。saber的优势是仿真准确性。

哦,谢谢。你有没有用过matlab联合仿真?我通过saber启动不了matlab7.0,正纠结中。

 

0
回复
keykings
LV.3
14
2013-05-09 10:34
@新月GG
是的,每个开关管都要用转换模块。拷贝复制不就行了。saber的优势是仿真准确性。
在matlab的work文件夹里,直接启动SaberCosim.mdl就会有发送命令出错的提示。应该是matlab的问题
0
回复
keykings
LV.3
15
2013-05-09 13:42
@新月GG
是的,每个开关管都要用转换模块。拷贝复制不就行了。saber的优势是仿真准确性。

 

 

0
回复