Sign In
Forgot Password?
Sign In | | Create Account

Simulation Beyond Volts and Amps (Part 2)

Last week I wrote about  moving beyond electrical modeling to get more information about system behavior. To illustrate some of the basics, we looked at a portion of an incandescent lamp model which showed declarations for some of the lamp’s thermal properties. At the end of the post, I promised to illustrate some of the discussion with an example of an automotive emergency flasher system. Before diving into the example, however, we need to discuss the model for one more system component: a fuse.

Like the incandescent lamp, a fuse has both electrical and thermal properties. And like the lamp, a fuse’s electrical performance determines its thermal performance. The important difference is that when the fuse temperature gets high enough, the fuse melts and shuts down the circuit it protects. For simulation, we can model the fuse in a variety of ways. For our example, we will model the fuse as a resistance which changes state as the current through the fuse crosses a user-defined threshold. If the current is increasing as it crosses the threshold, the resistance changes from a very low to a very high value. If the current is decreasing as it crosses the threshold, the resistance transition is reversed. The modeling mechanism that enables the state change is inspiration for another blog post. The take away, however, is that the VHDL-AMS language enables multiple methods for modeling real world behavior. Similar to the lamp model, along with changing the fuse’s resistance based on its current, we can monitor the temperature of the fuse element using a VHDL-AMS quantity which is simply an analog unknown the simulator solves for.

(1) quantity v_fuse across i_fuse through p1 to p2;

(2) quantity r_fuse : resistance;

(3) quantity temp_element : temperature;

(4) signal r_switch : resistance := 0.0;

Line (1) declares two branch quantities, v_fuse and i_fuse, which are associated with pins p1 and p2 of the model. In this case, v_fuse represents the voltage across, and i_fuse the current through, the fuse’s element. Lines (2) and (3) declare free quantities which the simulator calculates to give additional information about the fuse’s performance. Line (2) declares r_fuse, the fuse’s resistance calculated as the sum of its cold and state-valued resistances. Line (3) declares temp_element, the temperature of the fuse’s element.

Line (4) declares r_switch as a signal, which in this case is a resistance that can change state instantaneously (quantities are analog unknowns which must change values continuously; signals are analog or digital unknowns that change state dis-continuously). The r_switch state-valued resistance is set by the amount of current flowing through the fuse, and is initialized to zero, meaning the fuse element’s normal (non-melted) resistance is simply its cold temperature resistance.

As I described for the lamp model, the terms following the [ : ] in lines (2) through (4) are type declarations which define the units use to plot the simulation results. Quantity r_fuse and signal r_switch are of type resistance and therefore plotted in Ohms; quantity temp_element is of type temperature and is plotted in degrees Celcius. The units for the v_fuse and i_fuse branch quantities are determined by the definitions for pins p1 and p2, which are assigned electrical natures elsewhere in the model.

Now that we’ve discussed the lamp and fuse models, it’s time to talk about the automotive emergency flasher system. I will introduce the circuit in my next post.

IEEE 1076.1, thermal modeling

More Blog Posts

About Mike Jensen

Mike JensenMost career paths rooted in high technology take many interesting (and often rewarding) twists and turns. Mine has certainly done just that. After graduating in electrical engineering from the University of Utah (go Utes!), I set off to explore the exciting, multi-faceted high tech industry. My career path since has wound its way from aircraft systems engineering for the United States Air Force, to over two decades in applications engineering and technical marketing for leading design automation software companies, working exclusively with mechatronic system modeling and analysis tools. Along the way, I’ve worked with customers in a broad range of industries and technologies including transportation, communications, automotive, aerospace, semiconductor, computers, and consumer electronics; all-in-all a very interesting, rewarding, and challenging ride. In my current gig, I work on technical marketing projects for Mentor Graphics' SystemVision product line. And in my spare time I dream up gadgets and gizmos, some even big enough to qualify as systems, that I hope someday to build -- providing I can find yet a little more of that increasingly elusive spare time. Visit Mike Jensen's Blog

More Posts by Mike Jensen


No one has commented yet on this post. Be the first to comment below.

Add Your Comment

Please complete the following information to comment or sign in.

(Your email will not be published)


Online Chat