Saturday, 12 April 2014

circuit analysis - How do I reduce the rise and fall time to ideal case of 0 in my LTSpice model?


Working with basic circuit with pulsed voltage yields a rise and fall time or 0.5ns. My maximum time step is 1ps. With no delay , rise or fall times assigned. ( default assigned to zero) .


How do I reduce the rise and fall time to ideal case of 0 in my LTSpice model ?


What are the minimum limits in LTSpice rise and fall times if it cannot be 0(zero) ?


In this example simulation I changed my simulation parameters to picoseconds range. Even then there is a rise and fall time of 0.05ps.


enter image description here


At a higher range the same happens. In the attachment simulation in the range of seconds is shown. Is there a setting that I need to change in LTSpice ?


enter image description here



Answer




Rise & fall times can't be truly zero due to the way that SPICE works. A "zero" risetime by definition will have an infinite dV/dt. This doesn't make sense from the perspective of the solver, which in the case of LTSpice is a modified trapezoidal method. The tightest risetime you can muster will be the smallest timestep you use (dt).


This is OK, since in the real world risetimes aren't zero either. Even incredibly high speed digital communications buses will have rise times in the range of tens of picoseconds, and most practical signals the average EE deals with will be in the single or double digit nanosecond range.


For practical purposes, you shouldn't worry too much about sharp risetimes in SPICE. It can actually be detrimental, since it will (1) slow down your solver by requiring a tighter timestep, and (2) may introduce numerical instability. If I want a sharp risetime, I'll usually set the risetime on pulse trains to two or three orders of magnitude less than the period of the pulse, and then forget about it.


For more information on how LTSpice works internally, Mike Engelhardt (author of LTSpice) has a great blog entry: http://www.linear.com/solutions/5739.


EDIT: jonk in the comments above pointed out this very useful LTWiki link describing the default behaviour when zero risetime is specified: http://ltwiki.org/index.php5?title=Most_frequently_asked_questions_for_beginners#I_have_a_pulse_source_in_my_schematic_with_zero_transition_times..C2.A0_LTspice_only_shows_slow_transition_times_of_2ns..C2.A0_What.27s_going_on_here.3F.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...