Ändringar mellan två versioner
Här visas ändringar i "Lab1 wiki (en)" mellan 2015-10-28 12:58 av William Sandqvist och 2015-10-28 13:16 av William Sandqvist.
Visa < föregående | nästa > ändring.
Lab1 wiki (en)
english.gif
pdf tutorial_lab1_eng.pdf
zip IE1204.zip all course simulation files.¶
Chips and Breadboard dil16.png
At the labs, we use digital circuits from the so-called 74-series of capsules of the DIL type (Dual In Line) for hole PCB assembly. See the picture. This is today considered to be pure spare parts, and development has changed to completely different package types for surface mounting.
These old circuits, are however unbeatable for experiments with simple connections on the breadboard. Breadboard are now also used with very complex circuits - then mounted on Breakout Board (a breakout board has the same pin spacing DIL) circuits. Working with circuits on the breadboard is therefore the natural working method for project work and theses for school and hobby activities.fritzing.gif
Fritzing Is the name of a software for documenting breadboard connections, and generate circuit diagrams, and possibly manufacture printed circuit boards. (This program will be used in the course IE1206 but is not needed for this course). Anyone interested can download it now.
Data sheets for laboration circuits The digital components have capsules with 14 or 16 pins. For orienting the capsules they have an outlet on the short side, and there can also be a "dot" to mark the pin number 1. Two of the pins should be connected to the supply voltage and ground and the other pins are used as logic inputs and outputs, sometimes a pin can lack connection to the inside of the chip, it is then called NC (no Connection). The pin function is stated in the data sheets, and to some extent also in the symbols in the figures.
Some warnings. Two outputs may not be connected with each other. It will be a so-called short-circuit and the output value becomes uncertain 1/0 (?). Unconnected inputs picks up electrical interference and must therefore also be considered unsafe 1/0 (?). They should therefore always be connected to an appropriate fixed level 1/0 depending on the function.
wiki.gif 7400-series
pdf 7400.pdf pdf 7402.pdf pdf 7408.pdf pdf 7432.pdf 7400.png 7402.png 7408.png 7432.png pdf 7474.pdf pdf 7486.pdf pdf 74175.pdf pdf 74283.pdf 7474.png 7486.png 74175.png 74283.png Breadboard muxboard.png insideboard.png
Breadboard at the lab. Supply voltage and ground are already connected to circuitry on the labequipment. To the right is a picture of the coupling underside of the deck with the contact springs visible, and a picture of a contact spring for five holes.
Breadboard at the lab. The chips are inserted in the holes on the plastic isolated side. On the underside there are contact springs of metal that electrically connects to the pins and for further connection to four additional holes. Connector cables can then be entered in the holes to pass on the connection to other pins.
The contact springs are in groups of five holes vertically. This corresponds to a connection point (a node) in a wiring diagram. In the middle of the breadboard is an insulating "ditch" so that the pins on the chips both long sides are isolated from each other. Coupling on long sides of the board have extra long contact springs, so that all the holes are here connected to each other. The long side holes are used to connect the supply voltage and ground to the other circuits. Upper long side holes are all connected to + 5V and lower long side to ground (0V).
Many breadboard has double rows of holes on the long sides - each side of the board can then have both the supply voltage and ground. Then you can avoid having to draw cables over the chips, this facilitates in the case that one chip fails and must be replaced.
Long breadboards often has long side contact springs divided into two sections and two rows. The sections can then be used for several different supply voltages to the circuits - no standard for this does exist - for such a case, you simply carefully has to find out what applies!
Other componentssw3led.png To generate the logical input signals we use DIP switches and green LEDs. Note that we are using special LEDs with built-in current limiting resistors (they cost a penny more, but simplifies the circuit)! When the switch is open, the logic signal is 0 on the yellow line, because the LED is off and keeps the wire at 0V. When the switch is closed, it is supplying current to the green LED, the voltage is + 5V, and the LED lights, and the logic signal on the yellow wire is then 1. You operate the DIP-switch with a screwdriver tip.
redled.gif
To se the logic circuitry output levels, we use red LEDs.
inverterboard.png
From schematic to breadboard conection. In the diagram we have a NAND gate connected as inverter. In reality, on the breadboard we have to select one of the four NAND gates in the chip. A jumper (gray jumper wire) connects the two inputs together. Yellow wire IN leads to the input and the green line OUT to the gate output. Supply voltage (red line) and ground (black wire) is also connected to the chip.
Simulation of logic functions
* Can we check logic functions without having to connect circuits?
The original way to verify that the electronic costructions are functioning as intended was to hook them up and then make control measurements on the circuit. As electronics became more complex and integrated, this has become difficult - while computer programs have been developing so that it is now natural to rely on simulations.
1973 the simulation program SPICE (Simulation Program with Integrated Circuit Emphasis) was developed of the University of California, Berkeley, for use in the design of integrated electronic circuits. It is this program that is still used today by electronics designers - and we use a more modern version, LTSpice, in this course!
Spice is an analog simulator, it thus uses continuous values of voltages and currents. This is necessary for those who will design integrated circuits, but to show logic functions we could be content with a simpler simulator that only expects 1 and 0. The computational power of today's PCs are so high that we do not have to choose![IMAGE]
Visit: http://www.linear.com/ to download and install the program LTspice on your own computer. You do not need to register if you do not want to. The installation is then "straightforward" as described on the website. The program is available for most operating systems, but this tutorial describes the appearance under Windows.
( A MAC-user probably needs to know pdf mac-shortcuts in order to follow this tutorial ).
Course simulation files The program is installed on school computers in lab Ka-305 and in computer room Ka-309. In school you have to unzip the course simulation files in your server folder as H:\IE1204 . (at home you can unzip the files in any folder place). You start LTSpice by doubleclick on any [IMAGE] *.asc - file. (You can also start the program scad.gif LTSpice from the start menu).
[IMAGE] If you click on the simulation icon in the program a simulaton will start with the settings we have choosen for you. Then you can simply proceed by changing values and other preferences to explore all the course circuits!
* zip IE1204.zip all course simulation files.
A first simulation with LTSpice We use LEDs with built-in resistors - what is it and why? We take the help from the simulator LTSpice to understand this! At the same time, we examine how to draw circuit diagrams, and simulate a circuit.
Make an electronic schematic Make an electronic schematic with a lightdiode!
redled.gif
scad.gif Start LTspice. File - New Schematic
create_new_schematic.gif
At school computers it is then important to save files in your server folder H:\
You get the components from the Edit - menu. Or if they already exists from the Shortcut menu.
menu_icon.gif
r_icon.gif Resistor c_icon.gif Capacitor l_icon.gif Inductor cmp_icon.gif Component wire_icon.gif Wire label_icon.gif Label net
Important! The Ground symbol gnd_symbol.gif place_gnd.gif
Choose component type, place, click, press <esc> when you no longer want to continue to place the same component.
To rotate the component press Ctrl-R.
gnd_icon.gif Every schematic must have a ground symbol GND. Place it at the first so it not will be forgotten. This is absolutely necessary - no simulations work otherwise!
Voltage source Then we need a voltage source (a battery). It is available in component librariescmp_icon.gif opens component window. In the text box, you can search for all components, the component name is voltage but it can be enough to write the first letters vo.. for it to be found.
vo.gif
Place thevoltage source with the mouse, click and then press <esc>. The voltage source has the label/name V1 and the value/model V.
change_v1.gif
hand_pointer.gif To change a component, now the voltage source, move the mouse over the symbol V1 so that it assumes the shape of a hand - right click and fill in the parameter DC value [V] to 5. Now we have a 5V battery.
v_source.gif
diode_icon.gif Diode cmp_icon.gif A diode is in the component libraries. In the text box search the component name diode (dio .. could be enough). Then place the diode in the schematic.
dio.gif
In the schematic the diode has the label/name D1 and the value/model D.
d_change.gif led.gif
We could not use any common diode - we need a LED (Light Emitting Diode), and such model is not the supplied by the program (?) (Ordinary diodes are made from silicon, the LEDs are made of gallium arsenide - the differences in data are big, not just that the LED emits visible light!).
Now, usually, most providers of electronics publish SPICE models for their components, so after a bit of searching, we have found the following model for a LED (we are not here concerned about what the different parameters mean):
.model LED D(Is=1e-19 N=1.6 Rs=2.5 Eg=2.1)
First move the mouse pointer to the D1 model name D so that it assumes the shape of the letter I, right click and replace the model D against any other name - eg. LED. Next, we must describe the model LED for the simulator. It can easiest be done by entering the model as a SPICE directive directly somewhere on the schematic.
directive_icon.gif Choose SPICE directive on the Edit menu. Copy and paste the model text from the above. (Note that the initial “point” belongs to the directive!) Click OK, and then place the text on some empty place on the schematic.
led_text.gif
led_model.gif
(For long model texts or if you have many model descriptions it becomes unwieldy with the text directly in the schematic, then they could be placed in text files with extension *.lib.)
Wires wire_icon.gif Click on Wire. Draw lines by clicking at the start, at every bend and at the endpoint. Finish with <Esc>.
move_icon.gif Move. Maybe you need to move the components, or the texts?cut_icon.gif Cut. Maybe you have to delete some faults to start over?
sch1.gif
Simulation Spice simulation are of many different types. Transient (time sweep), AC Analyses (frequency sweep), DC sweep, Noice, DC Transfer, DC op pnt. For the laboration preparations you will need to use Transient and DC op pnt.
sim_profil_dc-sweep.gif
Under the Simulate menu, Edit Simulation Cmd, you can set what simulation to be done.
Under the tab DC sweep we specify that the source V1 will change linearly from 0V up to 5V in steps of 0,01V (increment). We will then be able to see how the current through the diode changes at different voltages – we will not, however, see if the LED lights (such a fun simulator is it not).
Click on OK, and place the simulation command on schematic. (An experienced user could write any simulation command directly without going through the menu Edit Simulation Cmd).
sim_cmd.gif
Simulate, Waveform viewer simulate_symbol.gif wave_symbol.gif
simulate_icon.gif Run. Simulate by clicking on the simulate icon.
wave_icon.gif Waveform Viewer is shown
probe_voltage.gif Move the mouse to any wire, then it takes the form of a voltage probe – left-click to select to display the voltage with the waveform viewer probe_current.gif Move the mouse to any component, then it takes the form of a current probe – left-click to select to display the current with the waveform viewer. simdone.gif
current_probe_icon.gif Now move the mouse to the diode symbol and left-click when it changes to a current probe. Now, the diode current will be displayed in the waveform viewer.
We can see that the relationship between voltage and current of the diode is non-linear (with a "knee" at 1.5V). When the diode is connected to a 5V power supply, the current is 1.3A, 1300 mA. Normal current for a small LED is 11.5 mA. The current is then 100 times too high when the LED is connected directly to 5V! The LED can not withstand this (100 times the current) – this it is nothing the simulator shows – but it is something that a trained engineer should still understand. (Sure it would have been fun with sound effects and animations, but remember that the simulator originates from the 1970s!).
Leave the simulation by closing the Waveform window
* LEDs must have series resistors to limit the current to the desired value. We use LEDs with integrated resistor - what value should this resistor have?
cut_icon.gif Cut away some wires to make way for a resistor. r_icon.gif place the resistor.
r_series.gif r_change_schematic.gif led_r-complete.gif
r_change.gif Move the mouse over R at R1 so that the pointer assumes the shape of the letter I – right click and fill in the window Enter new Value for R1 to eg. 1000 (1000 ohm, can also be written 1k).
Simulate menu, Edit Simulation Cmd, click on the tab DC op pnt. Click on OK and place the text in the schematic.
The previously simulation command has now received a semicolon in front of it (= commented out). Now the command is .op. This is the simplest simulation type, we will only get a text list of voltages and currents in the circuit.
--- Operating Point --- V(n002): 1.58402 voltage V(n001): 5 voltage I(D1): 0.00341598 device_current
The current through the LED is apparently 3.4 mA – we want to 11.5 mA (according to information in the data sheet) – so we can reduce the value of R1. Do so and simulate your way to a reasonable value. Enter this value of the series resistor in the preparations for Lab1. We can now assume that there is a similar resistance that is built into our LEDs.
It is now so common with LEDs so that some websites have adopted a script to calculate the series resistor. You can try the Online series resistor calculator (use this value for forward voltage Vf = 2.1 V).
* If you have had major problems to draw this schematic, here we have it ready made as [IMAGE] ledx.asc among the course simulation files. Dubble click on that file and then simulate with simulate_icon.gif Run.
Simulation of combinational circuits - logic gates truth tables (for the lab Combinatorial circuits) NAND-gate 7400 7400gate1 7400simple Test connections to examine a NAND gate in the lab combinatorial circuits.
t_table_2.gif
To simulate the truth tables for the combinational circuits, we have made some template files. The combinatorial circuit should be placed within the circled green area in the figure, the DUT (Device Under Test). What is needed is binary coded input signals, and such can be obtained from a "counter" that counts in binary code (We will go through the counter at the lecture 8, but start using it, 74161, already!). Q3Q2Q1Q0 counts from 0000 to 1111. In order to "scan" through the truth table they should be connected to the combinatorial network inputs.
Digital outputs is either 1 or 0, if you show them with the Waveform viewer they will all end up over one another in a non-transparent manner. Therefore we have the block DVIEW5 which displaces five digital signals separated into a clear image. There is also a DVIEW10 for up to 10 signals.
The template file contains two Spice-directive with the names of the models we need..Most of the 74-series models are in file 74hct.lib and Digital Signal Viewer models are in file dview.lib.
lib.gif
Open the file [IMAGE] truth_template2.asc and save it directly under the name [IMAGE]7400_test.asc ( at school in the folder H:\IE1204\ ).
cmp_icon.gif Component. Top Directory Browse to the folder with the course simulation files. Then choose 74HCT00.
74hct00.gif
wire_icon.gif Draw wires. move_icon.gif cut_icon.gif Clean up!
dut_7400.gif
label_icon.gif Label Net. Name the wires 1A 1B 1Y, then it becomes easier to separate the signals. Place the names at the wires (= in contact with the wire).
netname.gif
sim7400.gif
The simulation profile is this time Transient, a time sweep. The voltage source V2 is constant 5V and gives us the 0 or 1 to the circuits. The voltage source V1 is now a pulse generator which delivers 18 pulses in succession. This is more than is needed to scan through the truth table. The supply voltage for the logic circuitry is always implied by the simulator.
transient_setting.gif
simulate_icon.gif Run. Simulate. wave_icon.gif Waveform Viewer is shown.
voltage_probe_icon.gif Move the mouse to wire 1A and click when it changes to a voltage probe. Repeat for 1B and 1Y.
nand_truth_sim.giftable.gif
Now insert the simulated values in the table in the lab booklet - at the lab, you will have a chance to compare them with your measured values!
* If you have had major problems to draw this schematic, here we have it ready made as[IMAGE] 7400_testx.asc among the course simulation files. Dubble click on that file and then simulate with simulate_icon.gif Run.
Simulate AND-gate and OR-gate new_gates.gif
cut_icon.gif move_icon.gif cmp_icon.gif Save the file as 7408_test.asc and 7432_test.asc. Edit by switching to circuit 74HCT08 and 74HCT32
simulate_icon.gif Simulate and fill in the truth tables in the lab booklet. At the lab, you will have a chance to compare them with your measured values!
[IMAGE] 7408_testx.asc [IMAGE] 7432_testx.asc
Simulate a combinatorial circuit (Before the lab Combinatorial circuits) muxboardsim
Test setup for at the lab build and explore a combinatorial circuit..
simmuxbig
Open the template file [IMAGE] truth_template3.asc oand save it directly under the name [IMAGE] circuit_test.asc ( at school in the server folder H:\IE1204\ )
circuit.png
Draw the combinatorial circuit, the circled portion of the figure, and connect it to the other parts, counter and the display, so that the circuit can be simulated.
To avoid having to run wires "criss-cross" of the schematic, you can use label_icon.gif Label Net. In addition to give a name to a point in the diagram, you can also specify it as a output or an input.
connection.gif
An output and an input with the same name means that they are connected to each other (eg.. Z in the figure above). (Warning! two outputs can not have the same name, but several inputs can be the same).
Hint! With duplocate_icon.gif Duplicate you can reuse (copy, paste) things that are already on the drawing, then you don’t need to look for them in the menus.
simulate_icon.gif Run. Simulate. wave_icon.gif Waveform Viewer is shown.
Enter the output values from the combinatorial circuit to the column fSIM in the truth table in the laboratory booklet as preparation task. Take the opportunity to study the timing charts - can you directly see what type of circuit this is?
[IMAGE] circuit_testx.asc
Simulate the full adder (Before the lab Combinatorial circuits) fulladder
In preparation, you have reasoned your way to what the truth table must be for a full adder. Below is a circuit that is claimed to be a "full adder".
fulladd_extraNow open the ready made file [IMAGE] fulladd.asc simulate_icon.gif simulate and check the result and verify that it is consistent with your truth table. You will build the circuit and test it at the lab.
Compare circuits Another way to check the circuit, is to compare it with another “perfect” full adder.
4add_block.gif
bitadd.gif
At the lab, we have the circuit 74283 that is a 4 bit adder. It consists of four full adders with a carry chain in series between them. One can not directly access all of the connections to the full adders. The fourth fulladder with Cout S4 A4 B4 has the C3 only accessible internally in the circuit.
.
You have to use a trick. If A3 and B3 are connected together so that they always have the same value, they will generate C3 because the carry out of a full adder has the same value as a majority of the input bits.
Open the ready made file [IMAGE] fulladd_compare.asc In the file, we are comparing the two full adder circuits for all possible inputs. The outputs are taken to two XOR gates for comparison.
simulate_icon.gif simulate and see if the two circuits are identical. You'll probably see some deviations, you surely want to discuss this with the lab assistants at the lab?
Full adder symmetry What would happen if one reverses the order of the input signals to one of full adder?
In the file [IMAGE] fulladd_compare_crossed.asc we have done so with the wires to the circuit 74283.
simulate_icon.gif ssimulate and see if there is any difference. Explain the result.
Addition of 4-bit numbers (Before the lab Combinatorial circuits) A four-bit adder has a truth table with 256 256 (28) lines! Should we simulate the circuit 74283 so we'll probably have be satisfied with a few test values.
adder.png
Open the ready made file [IMAGE] 4bit_add.asc In the file we are simulating 1+1=2 (and this is obviously true).
The simulation result is a textfile with a list of voltages, and 5V means "1". You change the values by moving the mouse toward input symbol input.gif until the mouse pointer changes to I-form, then right click and change the text to the desired value..
simulate_icon.gif Simulate with different numbers so that you are sure of the addition (and subtraction) of binary numbers, with and without sign.
talcirkel_unsigned talcirkel
Calculator for addition of hexadecimala numbers
Multiplication with a constant (3\times) with an adder (Before the lab Combinatorial circuits) mul3_template.png
When you finished thinking about at how to multiply a 4-bit numbers x with a constant of 3 with a 4-bit adder you can try out your idea to the file [IMAGE] mul3_template.asc . You do not need to draw any wires it is enough to connect outputs with the inputs by editing the names.
Good luck with the lab preparations!