Wikipendium

Share on Twitter Create compendium Add Language
Edit History
Tools
  • Edit
  • History
  • Share on Twitter

  • Add language

  • Create new compendium
Log in
Table of Contents
  1. Kretsteknikk
    1. Motstand
    2. Kondensator
      1. RC-krets
      2. RL-krets
    3. RMS (effektivverdi)
    4. Impedans
    5. Spennings- og strømmåler
    6. Superposisjonsmetoden
    7. Nodespenningsmetoden
  2. Digitalteknikk
    1. Toerkomplement
      1. Hvordan regne ut toerkomplement av et heltall
      2. Subtraksjon
      3. Overflyt
      4. Fortegnsutvidelse
    2. Graykode
      1. Konverter mellom binær og gray kode
        1. Binær til gray
        2. Graykode til binær
    3. Mintermer og makstermer
    4. Flyttall
‹

TFE4110: Krets- og digitalteknikk

Tags:
  • digtek
+

Disclaimer: Dette er foreløpig bare en ufullstendig, tilfeldig samling med noen konsepter man bør kunne.

Kretsteknikk

Motstand

Mange motstander i serie: $R_{EQ} = R_1 + R_2 + R_3 + ...$

To motstander i parallell: $R_{EQ} = \frac{R_1 R_2}{R_1 + R_2}$

Mange motstander i parallell: $R_{EQ} = \frac{1}{\frac{1}{R_1} + \frac{1}{R_2} + \frac{1}{R_3} + ...}$

Kondensator

To kondensatorer i serie: $C_{EQ} = \frac{C_1 C_2}{C_1 + C_2}$

To kondensatorer i parallell: $C_{EQ} = C_1 + C_2$

Energien i en kondensator: $W_C = \frac{1}{2} C V_C^2$

RC-krets

RL-krets

RMS (effektivverdi)

RMS betyr Root Mean Square, eller effektivverdi på norsk. Effektivverdien $V_{EFF}$ av et varierende signal er den konstante verdien som leverer samme effekt som et DC-signal ville levert i den samme belastningen. $V_{EFF}$ er uavhengig av frekvensen til signalet. I engelsk litteratur blir $V_{EFF}$ kalt for $V_{RMS}$.

La oss si at du har et varierende, periodisk signal som er gitt av funksjonen $V(t) = \sin(t)$. Hva blir $V_{EFF}(t)$?

  • Integrer $V(t)^2$ over én periode, $\int_0^{2\pi} V(t)^2 dt = \int_0^{2\pi} \sin^2(t) dt = \pi$
  • Del på perioden: $\frac{\pi}{2\pi} = \frac{1}{2}$
  • Til slutt tar du kvadratroten av det. Nå har du effektivverdien $V_{EFF} = \sqrt{\frac{1}{2}} = \frac{1}{\sqrt{2}} \approx 0,71$

RMS for noen vanlige signaler:

  • Sinussignal med amplitude A: $V_{EFF} = \frac{A}{\sqrt{2}}$
  • Sagtannsignal med amplitude A: $V_{EFF} = \frac{A}{\sqrt{3}}$
  • Firkantsignal med amplitude A: $V_{EFF} = A$

La oss si at du har en spenning gitt av $V(t) = 300 \sin(60 \times t)$. Hva er effektivverdien? Enkelt! Vi vet at effektivverdien til en sinuskurve er ca. 0,71 av amplituden (300), og uavhengig av frekvensen. $V_{EFF} \approx 0,71 \cdot 300 = 213$. Dette betyr at hvis vi har en spenningskilde som gir en likespenning (konstant spenning) på 213 V koblet til en resistans, så blir resistansen like varm (den bruker like mye effekt) som om den var koblet til en spenningskilde med vekselspenning (sinus) med amplitude 300 V.

Impedans

Impedans $ Z $ er et utvida mostandsbegrep. For en komponent er impedansen definert som spenningsbidraget delt på spenning.

Vi antar sinusforma strøm $ i(t) = I \cos(\omega t) $

  • For en motstand:
    $ v_R(t) = R \cdot I \cos(\omega t) = V_R \cos (\omega t) $
    $ V_R = R I \Rightarrow Z_R = \frac{V_R}{I} = R $
  • For en spole:
    $ v_L(t) = L \cdot \frac{di_L(t)}{dt} = -\omega LI \sin (\omega t) = \omega LI \cos (\omega t + \frac{\pi}{2}) $
    $ V_L = -\omega LI \Rightarrow Z_L = \frac{V_L}{I} = \omega L $
  • For en kondensator: $ v_C(t) = \frac{1}{C} \int i(t) \, dt $
    $ Z_C = \frac{1}{\omega C} $

Spennings- og strømmåler

  • En spenningsmåler kobles parallelt med komponenten du måler spenningen over. En optimal (teoretisk) spenningsmåler har uendelig mye resistans.
  • En strømmåler kobles i serie med strømmen du prøver å måle. En optimal (teoretisk) strømmåler har ingen resistans, slik at den oppfører seg som en leder.

Superposisjonsmetoden

Kan brukes i kretser med flere kilder. Metoden går ut på å regne ut strømmer i kretsen med bare én kilde om gangen, og så legger man sammen strømmene til slutt. Vær nøye med fortegn! Eksempel: Du har krets med en strømkilde og en spenningskilde. Når regner på bidraget til strømkilden, kortslutter du spenningskilden. Når du regner på bidraget til spenningskilden, bryter du strømmen til strømkilden.

Nodespenningsmetoden

  • Velg en node som du kaller jord
  • Marker noder $v_1, v_2, ...$ hvor du vil finne nodespenningen (i forhold til jord)
  • Sett opp KCL (summen av strømmene ut av en node skal være lik null) for hver node og løs ligningene

Digitalteknikk

Toerkomplement

I et tall på binær toerkomplement-form teller det første bitet negativt. Eksempel:
$1101_{(2)} = (-1*2^3 + 1*2^2 + 0*2^1 + 1*2^0)_{(10)} = -3_{(10)}$

Hvordan regne ut toerkomplement av et heltall

Flipp alle bitene og legg til 1

Subtraksjon

Addisjon med toerkomplement av subtrahend. $R = A - B = A + \overline{B}$

Overflyt

Hvis man legger sammen to tall A og B med samme fortegn, men R får forskjellig fortegn, har man overflyt. Da er resultatet ugyldig.

Fortegnsutvidelse

Kopier fortegnsbitet. Eksempler:
$1001_2 = 111001_2$
$0011_2 = 000011_2$

Forsåvidt er $0010_2 = 0000000000010_2$ Ikkesant så hvis fortegnsbitet er 1 så kan du også si $10100_2 = 1111111110100_2$

Graykode

I graykode blir bare en bit endret ved inkrementering og dekrementering av desimal verdi. Hvis binær verdien skal styre et system der hver bit endrer på ett relay kan det oppstå tilfeller der ikke alle bittene blir satt til tiktig posisjon på nøyaktig samme tidspunkt. Dermed kan det oppstå "mellomtilstander" som er uønsket i styresystemet. Graykode endrer bare en bit dermed blir det ingen mulige mellomtilstander.

eksempel: desimalverdien 1 er 0b01 og desimalverdien 2 har verdien 0b10. Her har verdien økt med en, mens to bits har blitt endret. Når endringen foregår kan utgangsveriden først bli satt til 0b11 i et lite tidsintervall også endret til 0b10 som vi ønsket i utgangspunktet. Ved transaksjon fra desimalverdi 1 til 2 får vi dermed en unsket tilstand 3 i transaksjonen. Gray kode sørger for at dette er umulig da det endrer kun en bit av gangen.

Desimal Binær Graykode
------- ----- --------
0 0b000 000
1 0b001 001
2 0b010 011
3 0b011 010
4 0b100 110
5 0b101 111
6 0b110 101
7 0b111 100

Konverter mellom binær og gray kode

TLDR: se denne videoen

Binær til gray

  1. Overfør most significant bit (MSB) til gray koden. Den første bitten blir da lik på begge.
  2. Hvis neste bit i binær er lik den første, skriver du 0, ellers blir det 1. Med andre ord kan du stille deg spørsmpålet: "Er neste bit forskjellig?". Er svaret ja, skriver du 1 er svaret nei, skriver du 0.

Eksempel: konverter 0b010100101010011010 til gray kode. Første bit er 0. => graykode: 0 andre bit er forskjellig fra første => graykode: 01 tredje bit er forskjellig fra andre bit => graykode: 011 fjerde bit er lik den tredje => graykode: 0110

eller bare bruk python:

def binary_to_gray(n):
    n = int(n,2)
    n ^= (n >> 1)
    return bin(n)[2:]

Graykode til binær

  1. Ta vare på MSB
  2. neste verdi blir svaret på "er neste bit i graykode forskjellig fra den forrige binær koden?"

Eksempel: koverter fra gray til binær: 110 Første bit tar man vare på => 0b1 bit nr to i gray kode er lik den første bitten i binær verdien. Dermed er de ikke forskjellig => 0b10 tredje bit i graykode er lik den andre bitten i binær verdi. Dermed er de ikke forskjellige => 0b100

eller bare bruk python:

def grayToBin(n):
    graynum = int(n, 2)
    temp = graynum
    while temp != 0:
        temp >>= 1
        graynum ^= temp
    return bin(graynum)[2:]

Mintermer og makstermer

En minterm $m_i$ har den egenskapen at den er lik 1 i nøyaktig én rad i sannhetstabellen. En maksterm $M_i$ er lik 0 i nøyaktig én rad i sannhetstabellen. Konseptene kan forklares ved å beskrive en funksjon $F$ med henholdsvis mintermer og makstermer:
$F = \overline{x} \overline{y} \overline{z} + \overline{x} \overline{y} z + x y x$
$F = m_0 + m_1 + m_7 = \sum (0, 1, 7)$
$F = M_2 \times M_3 \times M_4 \times M_5 \times M_6 = \prod (2, 3, 4, 5, 6)$

index x y z minterm maxterm F
0 0 0 0 $\overline{x} \overline{y} \overline{z} = m_0 $ $x + y + z = M_0 $ 1
1 0 0 1 $\overline{x} \overline{y} z = m_1 $ $x + y + \overline{z} = M_1 $ 1
2 0 1 0 $\overline{x} y \overline{z} = m_2 $ $x + \overline{y} + z = M_2 $ 0
3 0 1 1 $\overline{x} y z = m_3 $ $x + \overline{y} + \overline{z} = M_3 $ 0
4 1 0 0 $x \overline{y} \overline{z} = m_4 $ $\overline{x} + y + z = M_4 $ 0
5 1 0 1 $x \overline{y} z = m_5 $ $\overline{x} + y + \overline{z} = M_5 $ 0
6 1 1 0 $x y \overline{z} = m_6 $ $\overline{x} + \overline{y} + z = M_6 $ 0
7 1 1 1 $x y z = m_7 $ $\overline{x} + \overline{y} + \overline{z} = M_7 $ 1

Flyttall

Flyttal er vanskelig, mest fordi pensumboka ikke skjønner det selv! Her kommer en step-by-step-metode:

  • EKSEMPEL: Lagre tallet $-12.8125$ som et 32 bits flyttall. Høres koselig ut? Nei.

  • OKAY - det første du ser etter er fortegnet. Er det positivt så er første tallet 0, er det negativt er første tallet 1. Da var det greit.

  • Gjør om tallet 12.8125 fra desimaltall til binær. 12 er hvert fall 1100. $$12/2 = 6 R0$$ $$6/2 = 3 R0$$ $$3/2 = 1 R1$$ $$1/2 = 0 R1$$

    • Her står R for remainder i hvert delestykke, og leser du dette bakfra så finner du at rekkefølgen av remainderne er R1, R1, R0, R0. Fjern R og du har $1100_2$. Det er $12$.
    • Hva er så $0.8125$ i det binære tallsystemet? Nesten litt motsatt metode. $$0.8125 * 2 = 1.6250$$ $$0.6250 * 2 = 1.25$$ $$0.25 * 2 = 0.5$$ $$0.5 * 2 = 1.00$$
    • Ferdig snakka, kompis. Hvis du ser på første tallet i hver av de leddene og er smart nok til å se et mønster i hvordan jeg kom frem til de forskjellige tallene ser du at de første tallene er 1101. Sett et punktum først og du har $.8125 = .1101_2$
  • Altså har vi funnet ut at $12.8125 = 1100.1101_2$

  • På tide å finne $eksponenten^X$! Spørsmålet her er hvor mange ledd punktumet må hoppe for å komme seg frem til den første eneren? Vel, la oss telle! 1100.1101 -> 110.11101 -> 11.011101 -> 1.1011101

    • Telte du 4 ganger? Det er FEIL! Det var 3 ganger. Tallet vårt kan faktisk også skrives som $$1.1011101_2 * 2^3$$. Legg merke til 3-tallet over 2-ern.
    • Over til eksponentbit'ene. Denne delen av flyttallsrepresentasjonen skal være 8 bit lang, og skal alltid lagres med et fast tillegg på 127. Don't ask. Det betyr at eksponenten vår, som er 3, skal legges til 127. $$ 127 + 3 = 130$$ Magisk. 130 i binærtall er $10000010_2$.
  • Til slutt setter vi inn i formelen!

    • Første tallet er fortegnsbitet for positivt eller negativt (hhs. 0 eller 1)
    • Bit 2-9 er eksponentbitsa våre: 10000010
    • Bit 10-32 er mantissen. Her skal du ta 1.1011101-tallet fra i sted, starte med alle bitsa etter komma (i vårt tilfelle 1011101) og fylle de resterende 15 bitsa med 0-er.
  • OG DERMED HAR VI AT (MEGA DRUM ROLL): Flyttallet for 12.8125 er 11000001010011010000000000000000

Written by

jonasft iverjo larshb eirikvaa pavelskipenes DarthMikke
Last updated: Tue, 10 Aug 2021 13:12:31 +0200 .
  • Contact
  • Twitter
  • Statistics
  • Report a bug
  • Wikipendium cc-by-sa
Wikipendium is ad-free and costs nothing to use. Please help keep Wikipendium alive by donating today!