Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av William Sandqvist 2015-08-23 13:36

Visa < föregående | nästa >
Jämför < föregående | nästa >

Lab1 Lab2 wiki (sw)

swbig

Kretsar och Kopplingsdäck

dil16.png

Vid laborationerna använder vi digitala kretsar ur den så kallade 74-serien i kapslar av DIL-typ (Dual In Line) för hål-montering på mönsterkort. Detta är idag att betrakta som rena reservdelskretsar, och utvecklingen har också gått mot helt andra kapseltyper för yt-montering.

Dessa gamla kretsar är dock oslagbara för experiment med enkla kopplingar på kopplingsdäck. Kopplingsdäck används numera också till mycket komplexa kretsar - som då är monterade på Breakout Board (så att de ser ut som DIL-kretsar). Att arbeta med kretsar på kopplingsdäck är därmed det naturliga arbetsättet vid projektarbeten och examensarbeten i skolan.

fritzing.gif

  • Fritzing En bra programvara för att dokumentera kopplingar med kopplingsdäck, och generera kretsschema, och eventuellt tillverka kretskort. (Detta program kommer att användas i kursen IE1206 men behövs ej för denna kurs). Den som är intresserad kan ladda hem det redan nu.


Datablad till laborationernas kretsar

De digitala kretsarna har kapslar med 14 eller 16 ben. För orientering har kapslarna ett uttag på ena kortsidan, där kan också finnas en "prick" för att markera pinne nummer 1. Två av benen ska anslutas till matningsspänning och jord de övriga pinnarna används som logiska ingångar och utgångar, ibland kan någon pinne sakna anslutning till något inuti kretsen det kallas då för NC (No Connection). Pinnarnas funktion framgår av databladen, och i viss mån också av symboler och beteckningar i figurerna.

Några varningar.
Två utgångar får inte kopplas ihop med varandra. Det blir en så kallad kortslutning och utgångsvärdet blir osäkert 1/0 (?). Oanslutna ingångar fångar upp elektriska störningar och måste därför betraktas som osäkra 1/0 (?) de bör därför alltid anslutas till lämplig fast nivå 1/0 beroende på funktionen.

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

Kopplingsdäck

muxboard.png     insideboard.png
Kopplingsdäck vid laborationen. Matningsspänning och jord är redan anslutna till kretsarna på labutrustningarna. Till höger bild på kopplingsdäckets undersida med kontaktfjädrarna synliga och bild på kontaktfjäder för fem hål.

Kopplingsdäck vid laborationen. Kretsarna är instuckna i hål på kopplingsdäckets översida av plast. På undersidan finns kontaktfjädrar av metall som ansluter elektriskt till pinnarna och för vidare anslutningen till ytterligare fyra hål. I hålen kan man sticka ned kopplingsledningar så att anslutningen kan föras vidare till andra pinnar.

Kontaktfjädrarna är i grupper om 5 hål vertikalt. Detta motsvarar en kopplingspunkt (en nod) i ett kopplingsschema. I mitten av kopplingsdäcket finns ett isolerande "dike" så att pinnarna på kretsarnas båda långsidor isoleras från varandra. Kopplingsdäckets långsidor har extra långa kontaktfjädrar, så att alla hålen är här anslutna till varandra. Långsidornas hål används för att ansluta matningsspänning och jord till övriga kretsar. Övre långsidans hål är alla anslutna till +5V och nedre långsidans till Jord (0V).

Många kopplingsdäck har dubbla rader med hål på långsidorna - varje långsida kan då ha både matningsspänning och jord, man kan då enklare undvika att behöva dra ledningar över kretsarna, detta underlättar senare utifall om någon krets går sönder och måste bytas.

Långa kopplingsdäck har långsidans kontaktfjädrar uppdelade i två sektioner och två rader. Sektionerna kan då användas för flera olika matningsspänningar till kretsarna - någon standard för detta finns egentligen inte - för ett sådant fall man får helt enkelt noga ta reda på vad som gäller!

Övriga komponenter

sw3led.png

För att generera logiska insignaler använder vi DIP-switchar och gröna lysdioder. Observera att vi använder speciella lysdioder med inbyggda strömbegränsande resistorer (dom kostar någon krona mer, men förenklar kretsen)! När strömbrytaren är öppen blir logiksignalen 0 på den gula ledningen, eftersom lysdioden är släckt och håller ledningen på 0V. När strömbrytaren är sluten går det ström till den gröna lysdioden, spänningen är +5V och den lyser, och logiksignalen på den gula ledningen är då 1. Man manövrerar DIP-switchen med en skruvmejselspets.

redled.gif

För att se logikkretsarnas utgångsnivåer använder vi röda lysdioder.

inverterboard.png

Från schema till kopplingsdäck. I schemat har vi en NAND-grind kopplad som inverterare. På kopplingsdäcket väljer man ut en av de fyra NAND-grindarna i chippet. En bygel (kopplingstråd) kopplar ihop ingångarna. Gul ledning IN leder till ingångarna och grön ledning OUT till grindens utgång. Matningsspänning (röd ledning) och jord (svart ledning) är anslutna till chippet.


Simulering av logikfunktioner

Kan man kontrollera logikfunktioner utan att behöva koppla upp kretsarna?

Det ursprungliga sättet att kontrollera att elektronikkonstruktioner fungerar som avsett var att koppla upp och därefter kontrollmäta på kretsarna. I takt med att elektroniken blivit mer komplicerad och integrerad har detta blivit svårt - samtidigt som datorprogrammen har utvecklats så att det numera är naturligt att i hög utsträckning lita till simuleringar.

1973 utvecklades simulatorprogrammet SPICE (Simulation Program with Integrated Circuit Emphasis) vid University of California, Berkeley för att användas vid konstruktion av integrerade elektronikkretsar. Det är detta program som används än i dag av elektronikkonstruktörer - och i kursen kommer vi att används den modernare versionen LTSpice!

Spice är en analog simulator, den använder således kontinuerliga värden på spänningar och strömmar. Detta är nödvändigt för den som ska konstruera integrerade kretsar, men för att kontrollera logiska funktioner skulle vi kunna nöja oss med en enklare simulator som bara räknar med 1 och 0. Beräkningskraften hos dagens datorer är dock så hög att vi slipper välja!

Besök:  http://www.linear.com/  för att hämta och installera programmet LTspice på din egen dator. Du behöver inte registrera dig om Du inte vill. Installationen är sedan "rättfram" enligt instruktionerna på hemsidan.

Kursens simuleringsfiler

Programmet finns installerat på skolans datorer i labsal Ka-305 och i datorsalen Ka-309. Packa upp kursens simuleringsfiler i din servermapp under    H:\IE1204    så kan Du starta LTSpice genom att klicka på valfri   *.asc  - fil. (Du kan även starta scad.gif LTSpice från startmenyn).

  Om du klickar på simulerings ikonen så genomförs en simulering med de av oss förvalda inställningar. Därifrån kan Du enkelt gå vidare genom att ändra värden eller inställningar för att utforska kursens kretsar!  


Ett första simuleringsprogram med LTSpice

Vi använder lysdioder med inbyggda motstånd - vad är det och varför? Vi tar hjälp av simulatorn LTSpice för att förstå detta! Samtidigt får vi pröva på hur man ritar kretsschemor och simulerar med programmet.

Gör ett elektronikschema

redled.gif

Gör ett elektronikschema med en lysdiod!

scad.gif Starta LTspice. File - New Schematic

create_new_schematic.gif

I skolans datorsalar är det viktigt att Du sedan sparar filerna på ditt serverbibliotek  H:\ 

Man hämtar komponenter under Edit - menyn. Eller om dom redan finns framme, från Snabb menyn.

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

Viktigt! Jordsymbolen  gnd_symbol.gif

place_gnd.gif

Välj komponent, placera, klicka, tryck på  <esc>  när Du inte längre vill fortsätta att placera ut samma komponenttyp.

För att vrida på komponenterna  Ctrl-R.

gnd_icon.gif Alla ritningar måste ha en jordsymbol GND. Placera den först så att Du inte glömmer den. Detta är helt nödvändigt - inga simuleringar fungerar annars!

Spänningskälla

Därefter behöver vi en spänningskälla (ett batteri). Den finns i komponentbiblioteken.
cmp_icon.gif Component, öppnar komponent fönstret. I textrutan kan man söka alla komponenter, komponentnamnet är  voltage  men det kan räcka med att skriva de första bokstäverna  vo   för att den ska hittas.

vo.gif

Placera spänningskällan med musen, klicka och tryck sedan på  <esc>. Spänningskällan har beteckningen/namnet V1 och värdet/modellen V.

change_v1.gif

hand_pointer.gif För att förändra en komponent, nu spänningskällan, för man muspekaren över symbolen för V1 så att den antar formen av en hand - högerklicka och fyll i parametern  DC value[V]  till 5. Nu har vi ett 5V batteri.

v_source.gif

diode_icon.gif Diod

cmp_icon.gif En diod finns i komponentbiblioteken. I textrutan söker man på komponentnamnet  diode  (dio .. kan räcka). Placera sedan ut dioden på schemat.

dio.gif

I schemat har dioden beteckningen/namnet D1 och värdet/modellen D.

 d_change.gif  led.gif

Vi ska inte ha någon vanlig diod - vi behöver en lysdiod (LED Light Emitting Diode), och någon sådan modell finns inte medlevererat till programmet? (Vanliga dioder är tillverkade av Kisel, lysdioderna av GalliumArsenid - skillnaderna i data är stora, inte bara det att lysdioden avger synligt ljus!).

Nu så brukar de flesta leverantörer av elektronikprodukter publicera SPICE-modeller över sina komponenter, så efter lite sökande så har vi hittat följande model för lysdioden (vi bryr oss här inte om vad parametrarna betyder):

.model LED D(Is=1e-19 N=1.6 Rs=2.5 Eg=2.1)

För först muspekaren mot D1 modell-namnet D så att den antar formen av bokstaven  I, högerklicka och byt ut modellnamnet D mot något annat namn - tex. LED. Därefter måste vi beskriva modellen LED för simulatorn. Det gör man enklast genom att föra in modellen som ett SPICE direktiv direkt någonstans på schemat.

directive_icon.gif Välj SPICE directive på Edit menyn. Kopiera och klistra in modell-texten från ovan. (OBSERVERA att den inledande punkten ingår i direktivet!) Klicka på OK, och placera sedan ut texten på ledig plats på schemat.

led_text.gif

led_model.gif

(När det gäller längre modell-beskrivningar blir det otympligt med modellerna direkt i schemat, då brukar man placera dem i textfiler med filnamnstillägget  *.lib.)

Wires

wire_icon.gif Klicka på Wire. Dra ledningar genom att klicka vid start, vid varje böj och vid slutpunkten. Avsluta med  Esc.

move_icon.gif Move. Kanske behöver man flytta på komponenter, eller texter?
cut_icon.gif Cut. Kanske måste man ta bort felaktigheter för att börja om?

sch1.gif

Simulering

Spice har många olika simuleringstyper. Transient (tidsvep), AC Analyses (frekvens svep), DC sweep, Noice, DC Transfer, DC op pnt. För laborationsförberedelserna behöver Du använda Transient och DC op pnt.

sim_profil_dc-sweep.gif

Under Simulate menyn, Edit Simulation Cmd, kan man ställa in vilken simulering som ska göras.

Under fliken DC sweep anger vi att källan V1 ska förändras linjärt från 0V upp till 5V i steg om 0,01V (increment). Vi kommer då att kunna se hur strömmen genom dioden ändras vid olika spänningar - vi kommer däremot inte att få se om lysdioden lyser (en så rolig simulator är det inte).
Klicka på OK, och placera simuleringskommandot på schemat. (En van användare hade kunnat skriva dit simuleringskommandot direkt utan att gå via menyvalet  Edit Simulation Cmd).

sim_cmd.gif

Simulate, Waveform viewer

 simulate_symbol.gif  wave_symbol.gif

simulate_icon.gif Run. Simulera genom att klicka på simuleringsikonen.

wave_icon.gif Waveform Viewer visas.

probe_voltage.gif För muspekaren mot någon ledning så antar den formen av en spännings probe - vänster-klicka för att välja att visa valfri spänning med waveform viewer.
probe_current.gif För muspekaren mot någon komponent så antar den formen av en ström probe - vänster-klicka för att visa valfri ström med waveform viewer.

simdone.gif

current_probe_icon.gif För muspekaren mot Diodsymbolen och vänster-klicka när den förändras till en ström probe. Nu kommer diodströmmen att visas i waveform viewer.

Vi ser att sambandet mellan spänning och ström för dioden är olinjärt (med ett "knä" vid 1,5V). När dioden ansluts till en 5V spänningskälla blir strömmen 1.3A, 1300 mA. Normal ström till en liten lysdiod är 11,5 mA så strömmen blir 100 gånger för hög när lysdioden ansluts direkt till 5V! Lysdioden tål inte detta (100 ggr överström) - det är inget som simulatorn visar - utan det är något som en utbildad ingenjör ändå ska förstå. (Visst hade det varit roligt med ljudeffekter och animeringar, men kom ihåg att simulatorn ursprungligen härstammar från 1970-talet!).

Lysdioder måste ha seriemotstånd för att begränsa strömmen till önskat värde. Vi använder lysdioder med inbyggt motstånd - vilket värde har detta motstånd?

cut_icon.gif Klipp bort någon leddning för att bereda plats för en resistor.
r_icon.gif placera ut resistorn.

r_series.gif  r_change_schematic.gif  led_r-complete.gif

 r_change.gif För muspekaren över R vid R1 så att den antar I-form - högerklicka och fyll i fönstret Enter new Value for R1 till tex. 1000 (1000 ohm, kan även skrivas 1k).

Simulate menyn, Edit Simulation Cmd, klicka på fliken DC op pnt. Klicka på OK och placera texten i schemat.


Det tidigare simuleringskommandot har fått ett semikolon framför sig (kommenterats bort). Nu gäller  .op . Detta är den enklaste simuleringstypen, vi kommer endast att få en textlista över spänningar och strömmar i kretsen.

       --- Operating Point ---

V(n002): 1.58402    voltage
V(n001): 5          voltage
I(D1):   0.00341598 device_current

Strömmen genom lysdioden blir tydligen 3,4 mA - vi önskar 11,5 mA - så vi kan minska värdet på R1. Gör det och simulera dig fram till ett rimligt värde. Ange detta värde för serieresistor i förberedelserna till Lab1. Vi kan utgå ifrån att det är ett liknande resistans värde som finns inbyggt i våra lysdioder.

Om Du har haft stora problem med att få till schemat, så finns det färdigritat som    ledx.asc  bland kursens simulerings filer. Dubbelklicka på den filen och simulera sedan med   simulate_icon.gif Run.



Simulering av kombinatoriska kretsar

Inför förberedelserna till laboration 1, Kombinatoriska kretsar.



Kopplingsdäcks-simulator

swbig

pdf  JavaBreadboardSimulator.pdf

zip JBBsim.zip     ( vi har ändrat figurerna till europeiska symboler )

jbblogo

Java Bread Board Official Site

Ett bra hjälpmedel för att göra förberedelseuppgifterna, och för att simulera sina kopplingar innan laborationerna, är Java BreadBoard Simulator. Du laddar hem simulatorn som en ZIP-fil från kurswebben. I skolan packar Du upp ZIP-filen i din servermapp under  H:/, tex.  H:/JBBsim  ( hemma tex. i  C:/JBBsim ), och startar simulatorn genom att dubbelklicka på kommandofilen  go.bat  som finns bland de upp-packade filerna.

Vill Du undvika "datorstrul"? Skolans datasalar, med Windows-datorer är lämpliga att använda till denna kurs. JBB-fungerar där.

Hemma ser Du först till att ha JAVA på din dator, innan Du packar upp filerna (var som helst). JAVA går att köra med de flesta operativsystem och några olika passande kommandofiler för att starta simulatorn är medlevererade.

java  ( Vid behov ladda hem Oracle JVM )

Det verkar som om JBB inte går att köra på java version 8, använd i så fall  version 7 Update 71.

pdf JBBuserGuide

inside

Inuti ett breadboard finns kontaktgrupper som täcker grupper om fem vertikala hål. 
Den övre horisontella kontaktgruppen är för +6V spänningsmatning, 
och den nedre kontaktgruppen är för jord (spänningskällans minus).


Logikgrindarnas sanningstabeller 
inför lab Kombinatoriska kretsar )

NAND-grind 7400

Börja med menyalternativet Insert Breadboard för att få ett kopplingsdäck att arbeta med. Man kan hämta flera kopplingsdäck efter varandra om ett kopplingsdäck inte skulle räcka till.

Därefter hämtar man komponenter. Hämta en gång med Insert - DIP Switches - Double och två gånger med Insert - LED - Green samt en gång med Insert - LED - Red. Komponenterna hamnar på fel ställe på kopplingsdäcket, men man kan klicka och hålla nedtryckt och dra dem rätt. Här har vi använt en konvention att visa insignaler med gröna lysdioder och utsignaler med röda.

Kretsen 7400 hämtas med komandot Chip - ttl - logic - Gen7400 - OK, och dras med musen till rätt ställe.

Röd ledningsfärg väljs med kommandot Wire - Red, liksom övriga ledningsfärger. För att börja dra ledningar väljs kommandot Wire - Add Wires. Vid startpunkten vänsterklickar man, vid slutpunkten dubbelklickar man. Behöver man dra ledningen i vinkel klickar man vid varje böj. Den övre långa hålraden är matningsspänningen +5V ("1"), och den nedre jord, 0V ("0"). Vi har använt oss av konventionen att ansluta matningsspänning med röda ledningar, och jord med svarta. Övriga ledningsfärger väljs så att kopplingen blir tydlig.

7400gate1  7400simple

Under laborationen har Du bara tillgång till Dip switches och LED, lysdioder. Vi använder komponenter som har samma egenskaper som simulatorns. (Lysdioderna vid laborationen har tex. inbyggda seriemotstånd). 
OBSERVERA! Simulatorn kan bara simulera digitala signaler. Speciella kopplingar som ger upphov till mellanliggande spänningsvärden kommer därför inte att simuleras rätt. (Ex. seriekopplade lysdioder). 
Kopplar man som i figuren ovan kan man vara säker på att simuleringarna överenstämmer med verkligheten.

Även "virtuella" komponenter

Simulatorn har även komponenter som saknar sin motsvarighet i verkligheten, tex. en simulerad Hex Display som kan hämtas med menyalternativet Insert - Chip - Components - Hex Display. Fördelen med displayen är att den är tydligare än lysdioder, även när man som här bara använder siffrorna 0...3.

7400test

Simulatorn stoppas-pausas-stegas-startas med knappar som använder allmänt vedertagna symboler (liknande de på en kassettbandspelare).

simulate

startsim  Starta simuleringen, och klicka på komponenten Dip Switches Double för att förändra inställningen on/off så att Du därmed går igenom de fyra ingångskombinationerna. Fyll så i sanningstabellen.

gatetable

En ändå bekvämare testuppkoppling får man om man byter ut Dip Switches Double mot HexKeyPad (menykommando Insert - Chip - Components - HexKeyPad). Om man därefter dubbelklickar på denna simulerade "komponent" öppnas ett tangentbord, en så kallad KeyPad. Med denna KeyPad kan man bekvämt mata in de hexadecimala talen 0...F. Vi använder till att börja med talen 0...3. Observera! Ledningarna med orange färg visar att även några av de gula ledningarna behöver ändras till denna koppling.

 key7400

Dom virtuella komponenterna HexKeyPad och Hex Display är bekväma att använda - men för att förbereda och dokumentera den verkliga uppkopplingen är det Dip Switches och LED som gäller.

AND-grind 7408

Markera 7400-kretsen och ta bort den med delete-knappen. cut  ( stoppa simuleringen först ).

Hämta kretsen Gen7408 med kommandot Chip - ttl - logic - Gen7408 - OK. Upprepa simuleringen med denna komponent och fyll i sanningstabellen.

7408test  7408.gif

gatetable

OR-grind 7432

Upprepa samma för OR-grinden 7432.

7432test  7432.gif

gatetable


Kombinatorisk krets 
inför lab Kombinatoriska kretsar )

muxboardsim

Alla kopplingar som Du gör med den kombinatoriska kretsen vid laborationen kan Du simulera i förväg hemma.

simmuxbig


Addition av 8-bitstal eller 4-bitstal 
inför lab Kombinatoriska kretsar )

Vid laborationen har vi kretsen 74283 som är en 4-bitsadderare. Den kretsen finns inte med till simulatorn, i stället finns en "fantasikrets" - en 8-bitsadderare.

Man får därför välja mellan att "strypa ned" kretsen till 4 bitar, som visas i figuren nedan, eller simulera addition av 8-bitstal. 
Om A3 och B3 båda är "1" så får heladderarsteget med A4 och B4 ingående carry "1" oavsett vad de tidigare ingångarna ( CIN A0 B0 A1 B1 A2 B2 ) har för värden (de kan därför lämnas oanslutna)! A3 och B3 kan därför kopplas ihop som ingående carry CIN till en fyrbitsadderare för talen A7 A6 A5 A4 och B7 B6 B5 B4 och med summan S7 S6 S5 S4.

4bitadd

8-bitsadderaren finns under menyn Insert - Chip, därefter dubbelklicka på, - cpu - jx_york_ac_uk - j1 -Adder8bit, och klicka på OK.

4bitaddercircuit
Exempel på simulatorkoppling för 4-bitsaddition!


Låskrets med NOR-grindar 
inför lab Sekvenskretsar )

7428sr  srtruth
Exempel på simulatorkoppling för att undersöka låskrets med NOR-grindar.

OBSERVERA! Vid simuleringen använd 7428 i stället för 7402 som råkat få felaktig benkonfiguration i simulatorn! - Båda kretsarna är i verkligheten lika, enda skillnaden är att 7428 är en (starkare) bufferkrets.

Klockad D-vippa 
(inför lab Sekvenskretsar)

d_toggle

Tips! Simulatorn har en specialkomponent, en klockpulsgenerator. Klockpulsgeneratorn finns under menyn Insert - Chip, därefter dubbelklicka på, - oscillator - GenClk, och klicka på OK.

D-vipporna finns under menyn Insert - Chip, därefter dubbelklicka på, - ttl - flipFlop - Gen7474, och klicka på OK.

D_toggle_sim
Exempel på påbörjad simulatorkoppling. 
Alla D-vippans ingångar måste anslutas till rätt logiknivåer!
Ställ in SimSpeed så att lysdioderna blinkar med ungefär sekundfart. 
Lämplig Hastighetsinställning är beroende av din dators prestanda.

Gray-kod upp/ner-räknare 
inför lab Sekvenskretsar )

graycounter_sim
Exempel på påbörjad simulatorkoppling för Gray-kod-räknaren.


Skiftregister-räknare 
inför lab Sekvenskretsar )

74164.gif

prbsx

Vid simulering kan man använda kretsen 74164, tillsammans med en extra EXOR-grind, som ersättning för 74175.

Kretsen 74175 ingår inte i simulatorn, däremot ingår några olika skiftregisterkretsar. Det man kan göra är att använda kretsen 74164 som är ett 8-bitars skiftregister. Man avstår då från de sista fyra vipporna QE QF QG QH. Se figuren.

Skiftregistret finns under menyn Insert - Chip, därefter dubbelklicka på, - ttl - shiftRegister - Gen74164, och klicka på OK.

shiftreg_sim
Komponenter som behövs för att simulera de olika skiftregister-räknarna.