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.

[FAQ] Why is there no PSpice model for a Monostable Multivibrator device?

Guru 54525 points

Replies: 0

Views: 555

To make a long post short: MMVs cannot be directly simulated by PSpice because of their direct dependence on external components. We recommend prototyping instead of simulating.

The remainder of this post is explaining why.


Monostable Multivibrators (MMV -- aka "one-shots") are particularly challenging to reproduce in PSpice due to their internal complexity and their dependence on external components.

It is possible to simulate the device by representing every semiconductor component inside the device, however the simulations created this way are slow and the PSpice circuit would give direct access to TI's intellectual property.

The method used to simulate most devices in PSpice is to represent their behavior rather than their internal structure. This is known as a "behavioral PSpice model" and is the more common form of model that we make publicly available.

 

MMVs use external timing components, namely one resistor and one capacitor, to produce a pulse of known width at the output. We can simulate this process with decent accuracy, however there is a large problem.

Every MMV has what's known as a "K" factor. This value directly influences the output pulse width, per the equation:

tw = K*R*C

Here's an example plot of the K factor taken from the SN74LVC1G123 datasheet:

As you can see, the K factor is dependent on two values -- supply voltage, and timing capacitor value.

This dependence on the external component's value is what makes PSpice modelling so difficult. PSpice doesn't provide a method to grab the external capacitor's value from a circuit to produce the appropriate K value.

Unfortunately, as long as this is the case, an accurate MMV behavioral PSpice model will not be available.

What's the solution for designing with these parts?

(1) Start with the required pulse width tolerance. If your end system can't handle ~10% change in the pulse width, I would recommend against using an MMV for the solution. Other more accurate solutions are probably better for your situation.

(2) Use the given K values in the datasheet values to calculate the necessary RC value via this equation:

RC = tw/K

(3) Start by selecting the C value as 0.1uF (one of the most common capacitor values avilable, typically used on every board for decoupling capacitance), then calculate R from that via the equation:

R = RC/C

(4) If R is found to be larger than 1 MΩ or smaller than 1 kΩ (or 5kΩ at 2V operation), repeat step (3) with a larger or smaller capacitor until a resistance in the appropriate range is found.

(5) Build a prototype with the found values and the exact components planned for use in the final design. Test the pulse width output across your expected operating temperature.

(6) It's likely that there will be some variation from the calculated values to the prototype. Adjust the resistor value to compensate.

It's important to note that an MMV isn't a very precise timing instrument. It is really intended as a low cost solution to provide a pulse that's "close enough" to the required width. If really accurate pulse widths are required, there are other options out there that will get you better results (for example, crystal oscillators and MCUs)


Looking for a low voltage translator? Check out the AXC family that supports 0.7V to 3.3V translation!

The Logic Minute training page has videos on many interesting topics that all are kept shorter than 5 minutes.