Lesson 3 : Section 2 : Using Mason to Solve Circuits

Section 2: Using Mason to Solve Circuits

Step 1: How to place a control element

Figure 3.1: Selecting an item

These steps show you how to place control elements or parts.

Figure 3.2 Placing an item

Figure 3.3: Right click to stop placing an item

Step 2: Place the control elements

The next step is to place the Frequency block and two ports as shown in Figure 3.4.

Figure 3.4: Place these control elements using the techniques from Step 1

The ports have an associated impedance; this is equivalent to the source and the load impedances as seen in Figure 3.5. In particular, the Port 1 impedance is the source impedance (it will stay 50Ώ). The Port 2 impedance will be the load impedance, and will later be changed to 100Ώ in a later step. By making the load resistor into a port, we can easily measure the power that is transmitted to the load.

Figure 3.5: Source (50Ώ) and load (100Ώ) impedances

Step 3: Add a simple transmission line

Add a simple transmission line from the “mason_lumped_elements” library (using the same steps from Step 1).

Figure 3.6: Add a simple transmission line

Step 4: Fix the Width of the Value Field (if needed)

Left click on the transmission line and you will see a pop-up window. First notice the little horizontal line circled in red in Figure 3.7. It is just to the right of the Value text box. You want to grab that with a left click and drag that line as far as you can to the right (outside of the box is good). You will now be able to see and edit more text in this field.

Figure 3.7: First fix the width of the value text box

Step 5: Modify the Parameters

The next step is to change the values of the simple transmission line. This is a multi-step process.

    1. Clock on the property to modify (e.g., z0 = 50).

    2. Use the right arrow key to edit the text without deleting the argument

    3. Backspace to delete the undesired value (e.g., 50)

    4. Add the text for the desired value (e.g., 70.71)

    5. Also modify the theta to be 90 (by default, degrees)

    6. Click on the right port and make its impedance 100 (by default, ohms)

Figure 3.8: Modify the transmission line properties

Step 6: Connect the transmission line to the Ports

Use the wire tool to connect the transmission line with the ports. These are the nets (or nodes) of the circuit. Click on the picture to expand, if you need help locating the wire tool.

Figure 3.9: Add the lines using the wire tool

Step 7: Generate the symbol references

This is very important and many errors can be traced to improperly generated symbol references. You can manually provide references (which is why this is not automated), but it is safer to generate automatically. First, bring up the “Generate Symbol References” dialog.

Figure 3.10: Bring up the Generate Symbol References dialog

Forgetting to “Generate Symbol References” will generate errors, and is a common mistake to make when first using Mason. Try to remember this step!

Unless you are doing something advanced, make sure you click “All Sheets” and “All references”. Changing the “Start at value” can be useful when integrating Mason designs to those of other schematic tools within the layout.

Figure 3.11: Generate Symbol References dialog

Step 8: Run Mason and Plot

Figure 3.12: The Mason Toolbar in TinyCAD

The Mason Toolbar in TinyCad performs five functions. We only only use the first three in this example.

M: Runs Mason

C: Opens the console

P: Runs the Plotting program

Press M (you'll be prompted to save the file, which is required), then press C (the text that Mason spits out will be displayed), then press P (the plot program will open).

Mason:

This is the actual simulation code. While this is where all the magic happens, the experience should be fairly transparent for the user.

Console:

This is the text that Mason outputs as it runs. The console updates in real time as Mason is running, but sometimes Mason exits too fast to see the text. Sometimes useful debug information can be found in this file.

Copyright 2010, Gregory Kiesel