This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TINA/Spice/UCC28700: UCC28700 simulation error in LTspice

Part Number: UCC28700
Other Parts Discussed in Thread: TINA-TI,

Tool/software: TINA-TI or Spice Models

Hello, I am trying to simulate a flyback with UCC28700 in LTspice. I got the unencrypted model from TI. However, the simulation pops up the following error:

Missing expression in " t=100"

Any idea what could could cause that? Please advise.

Thank you!

  • HI Yan,

    I had to delete the model that you posted since it was unencrypted and we can not release that publicly. As for your error, it is not an issue with the model as such since it works in PSpice and TINA-TI. It seems that your simulator is having an issue with understanding one of the standard spice syntax. The only place where t=100 is use is in the following lines

    .subckt one_shot in out

    + params:  t=100

    I would try to move everything to one line as follows and see if it works.

    .subckt one_shot in out params:  t=100
  • Hi, Nikhil,

    Thanks for your reply. I tried to move them to one line as you recommended but that did not solve the problem. Any other suggestions that I can try? Thank you.

    Yan
  • Hi Yan,

    I am surprised that this standard syntax is not supported. What is your error message?

    The only other thing I can think of is to hard code the value of 't'. There are 2 instances of one_shot with different t values. In the actual UCC28700 model, you can call the first one one_shot_1 and the second one can be called one_shot_2.

    U_TOP_N360021 one_shot

    +  PARAMS:  T=300

    X_U_TOP_U_MOD_UPCC_U62         U_TOP_U_MOD_UPCC_N16782718

    +  U_TOP_U_MOD_UPCC_N16784328 one_shot PARAMS:  T=220

    Change to following

    U_TOP_N360021 one_shot_1

    X_U_TOP_U_MOD_UPCC_U62         U_TOP_U_MOD_UPCC_N16782718

    +  U_TOP_U_MOD_UPCC_N16784328 one_shot_2

    Then define these 2 subcircuits (basically copy the one_shot subcircuit and replicate it, and rename it to include _1 in one of them and _2 in the second one).

    Then make the following changes

    .subckt one_shot in out * replicate and rename it to include _1 and _2

    *+ params:  t=100  * comment or delete this line

    s_s1         meas 0 reset2 0 s1

    e_abm1         ch 0 value { if( v(in)>0.5 | v(out)>0.5,1,0)    }

    r_r2         reset2 reset  0.1 

    e_abm3         out 0 value { if( v(meas)<0.5 & v(ch)>0.5,1,0)    }

    r_r1         meas ch  {t} * replaced {t} with the actual value 220 or 300 depending on whether this is _1 or _2.

    c_c2         0 reset2  1.4427n 

    c_c1         0 meas  1.4427n 

    e_abm2         reset 0 value { if(v(ch)<0.5,1,0)    }

    .model s1 vswitch

    + roff=1e+009

    + ron=1

    + voff=0.25

    + von=0.75

    .ends one_shot

  • Hi, Nikhil,

    I tried your suggestion. But I got error message which is "unknown parameter ....". I am wondering whether I made correct change, can you send your changed model to me? My email address is Yan.Y.Zhou@deltaww.com. There is NDA between TI and Delta. You can copy Julio Sanchez (j-sanchez@ti.com) who manages Delta account. Thank you!

    Yan
  • Hi Yan,

    I will close this out and we will communicate through email.