digitale techniek

download digitale techniek

of 54

description

jhgjhg

Transcript of digitale techniek

  • 1

    DIGITALE TECHNIEK

    Men kan het "elektronica" gebied opsplitsen in twee belangrijke hoofdgroepen. Aan de ene

    kant de analoge technieken en aan de andere kant de digitale technieken.

    Als we een elektronische schakeling van naderbij bekijken, ontstaat volgend blokschema.

    Een opnemer of sensor converteert het te meten signaal (temperatuur, druk, toerental, ...) naar

    een analoge spanning. Deze verplaatst zich via de transmissielijn tot aan de

    verwerkingseenheid, die op zijn beurt de aangeboden informatie bewerkt. De

    verwerkingseenheid kan bijvoorbeeld de spanningsversterking op zich nemen, of een

    spanningsvergelijking t.o.v. een referentieniveau doorvoeren.... Eenmaal de bewerking

    uitgevoerd, verplaatst de informatie zich naar de weergave-eenheid. Denk maar aan een

    beeldscherm, een luidspreker of een motor.

    De stippellijn geeft aan dat er eventueel een gedeelte van het resultaat mee het nieuwe

    resultaat bepaalt. Men spreekt dan van een terugkoppeling. Er ontstaat een servosysteem. Op

    deze manier kan men eventueel het toerental van een motor constant houden bij een

    veranderlijke belasting.

    Enkele decennia geleden gebeurde de signaalverwerking volledig met analoge componenten

    zoals versterkerbuizen, transistoren en FET's.

    Er vallen wel enkele nadelen aan dit systeem op te merken. Vooreerst zijn er de

    storingspulsen die via de transmissielijnen op de informatie wordt gesupperponeerd. Gebeurt

    dit voor de verwerkingseenheid, dan zal deze de vervormde en dus foutieve informatie

    behandelen. De stoorpulsen worden evenzeer versterkt door de schakeling. Het foutieve

    resultaat komt dus op de weergaveneenheid terecht, met alle gevolgen vandien.

    Een tweede groot nadeel is de tolerantie die op elk type component optreedt. Willen we

    bijvoorbeeld een defecte transistor vervangen door een identiek type transistor, dan kan de

    spanningsversterking makkelijk tot 10% variren. Om dit tegen te gaan zal de schakeling rond

    de transistor deze fouten, via tegenkoppelingen, opvangt. De schakeling wordt daardoor

    meestal ingewikkeld. Andere foutfactoren zijn de niet-lineariteit van de componenten en de

    temperatuursgevoeligheid van de schakeling. Ook het bewaren van analoge informatie blijft

    een moeilijke zoniet onmogelijke klus. Op dit moment zal men de signaalverwerking vanuit

    een ander perspectief benaderen. Informatie bestaat uit een groep van enen en nullen. Deze

    "logische" waarden komen in de praktijk vaak overeen met res- pectievelijk 5V

    (voedingsspanning) en 0V (massa dus). De wetenschap die zich met deze vorm van

    informatiebehandeling bezighoudt noemt men de "digitale technieken" en steunt zich op

    Booleaanse algebra als vereenvoudigingsvorm. De theorie achter dit alles is reeds lang

    bekend, maar kende pas zijn doorbraak op het moment dat men volledige schakelingen kon

    integreren op n chip. De elementaire componenten die deel uitmaken van een digitaal

    circuit noemt men poorten.

  • 2

    De voordelen van digitale signaalverwerking zijn onder andere het eenvoudig reconstrueren

    van het originele signaal. Storingspulsen die het signaal opneemt over de transmissielijn

    worden volledig weggewerkt.

    Er bestaan zelfs technieken om eventuele fouten (een "0" verzonden wordt als een "1"

    ontvangen) te detecteren, te lokaliseren en eventueel te herstellen. Wiskundige bewerkingen

    worden kinderspel. Denk maar aan de miniatuur rekentoestellen die aantonen dat er vrij

    weinig componenten nodig zijn. Signaalverwerking verloopt razendsnel, tot enkele miljoenen

    instructie per seconde. Informatie opslag verloopt uiterst nauwkeurig op allerhande

    opslagmedia: geheugen IC's (ROM, RAM), magneetbanden, CD's enzovoort. In een digitale

    wereld kan ons blokschema als volgt worden voorgesteld:

    Merk op dat de opnemer en de weergave eenheid zowel analoog (potmeter, TV scherm) als

    digitaal (toetsenbord, liquid display) kunnen zijn. Op het moment dat n van beide analoge

    informatie bevat, zal er een conversie plaatsvinden tussen het analoge en digitale gedeelte.

    Hiervoor zorgt de analoog-digitaal convertor (ADC) en de digitaal-analoog convertor (DAC).

    Tracht steeds digitale informatie over de transmissielijnen te sturen, dit om eventuele

    storingen weg te werken.

  • 3

    Op het gebied van componenten spitsen de ontwerpers en de fabrikanten zich hoofdzakelijk

    toe op de digitale reeksen. De beperkende factor binnen deze evolutie is nog steeds de

    miniaturisatiemoeilijkheid. Analoge componenten zullen in ieder geval blijven bestaan. Een

    digitale component kan immers geen vermogens sturen. Hij kan wel een handje toesteken bij

    de verwerking van de bijhorende informatie. De transistor of FET vormt nog steeds de basis

    van elke digitale component.

    Deze cursus ondersteunt het ontwerpen en het gebruik van een aantal digitale bouwstenen, die

    vervolgens tot een complex geheel zullen leiden. Gentegreerde schakelingen of ICs vormen de componenten binnen een digitaal systeem. Een component kan allerlei functies bevatten.

    Vooreerst zijn er de poorten. Dit zijn de basisblokken. Deze worden gecombineerd tot

    functies, en als dusdanig op de markt gebracht. Denk hierbij aan een optelscha- keling, flip

    flops en tellers. Het is nu aan de ontwerper om , afhankelijk van het project, de geschikte

    functionele bouwstenen op te zoeken en deze vervolgens op een correcte manier met elkaar te

    verbinden. Verder is het van belang te weten dat een gentegreerde schakeling wordt

    opgebouwd rond verschillende technologien zoals: TTL, CMOS, BiMOS, ECL enz... De

    belangrijkste verschillen vinden we terug in de schakelsnelheden en het vermogenverbruik.

    Hou er tevens rekening mee dat componenten, opgebouwd rond verschillende technologien,

    meestal niet rechtstreeks signalen kunnen uitwisselen.

  • 4

    Hoofdstuk 1 : Binaire logica en basisfuncties.

    In de alledaagse taal worden voortdurend een aantal wetmatigheden gebruikt. George Boole

    bestudeerde deze materie grondig in zijn boek "An Investigation of the Laws of Thought" en

    behaalde hiermee in 1854 zijn doctoraatstitel. Boole's doel was om op een eenduidige en

    exacte manier de maatschappelijke vraagstukken te beschrijven. Hij maakte hierbij gebruik

    van een aantal begrippen zoals: waar, en, of, niet, als en anders. Deze woorden vertaalde hij in

    een aantal symbolen. Verder ontwikkelde hij een aantal rekenkundige regels om zijn

    vergelijkingen te vereenvoudigen. Volgens Boole zijn er maar twee mogelijke toestanden. Iets

    is "waar" of "niet waar". "Misschien" bestaat niet. Een nieuw talstelsel deed zijn intrede,

    namelijk het tweedelig of binair talstelsel. De theorien en rekenkundige regels van Boole

    werden later overgenomen in allerlei technische disciplines zoals de elektronica, de

    computerprogrammatie en de regeltechnieken. Binnen de digitale elektronica wordt het

    verband tussen het gesproken woord, de Booleaanse vergelijking en de hardware-realisatie als

    volgt voorgesteld.

    Positieve logica Negatieve logica

    waar = 1 = +5V (Ucc) waar = 1 = 0V (GND)

    niet waar = 0 = 0V (GND) niet waar = 0 = +5V (Ucc)

    Deze cursus maakt enkel gebruik van de positieve logica. Een resultaat is meestal afhankelijk

    van een aantal van elkaar onafhankelijke parameters. We schrijven:

    Een voorbeeld. We gaan buiten zwemmen (Z) als het mooi weer is (W), het zwembad open

    (B) is en er niet veel volk (V) aanwezig is.

    Dus:

    "zwemmen" is waar (Z = 1) als

    "mooi weer" waar is (W = 1) en

    "zwembad open" waar is (B = 1) en

    "veel volk" niet waar is (V = 0)

    Een schema geeft in de meeste gevallen een duidelijker beeld van het probleem.

  • 5

    2 De waarheidstabel en het tijdsdiagram.

    Naast de vergelijking in woorden, de Booleaanse vergelijking en het schema zijn er nog

    enkele belangrijke mogelijkheden om een systeem te beschrijven. Vooreerst de

    waarheidstabel. Dit is een soort spreadsheet waarbij links alle mogelijke ingangscombinaties

    worden vermeld, en rechts de bijhorende uitgangscombinatie.

    Een tijdsdiagram geeft het verloop van de ingangstoestanden en de bijhorende

    uitgangstoestand in func-

    tie van de tijd weer. Een goed tijdsdiagram bevat alle mogelijke ingangscombinaties

    Verder blijkt uit het tijdsdiagram dat er een bepaalde tijdsvertraging optreedt tussen een

    ingangsverandering en de bijhorende uitgangsverandering. Elke component binnen de

    schakeling bestaat uit een aantal schakeltransistoren of FET's. Deze hebben immers een

    bepaalde tijd nodig om van de ene toestand naar de andere over te gaan. Hoe meer

    componenten het signaal moet doorlopen, hoe groter de tijdsvertraging. In de praktijk

    bedraagt de tijdsvertraging van een component enkele nanoseconden. Merk op dat in

    bovenstaande voorbeelden de waarheidstabel en het tijdsdiagram dezelfde functie beschrijven.

    3 Elementaire basisfuncties en basispoorten.

    De Booleaanse algebra kent slechts drie operatoren namelijk EN(AND), OF (OR) en

    INVERTEER (NIET , NOT). Hiermee kan men ALLE digitale schakelingen eenduidend

    omschrijven. De componenten die deze logische bewerkingen voorstellen worden ook wel

    POORTEN of GATES genoemd en zijn als gentegreerde schakeling verkrijgbaar. Het

    grafisch symbool dat aan een component wordt toegekend volgt de IEC tekenvoorschriften.

    IEC staat voor International Electrotechnical Commission.

  • 6

    Inversie.

    De inverteerfunctie keert de logische waarde om. 0 wordt 1 en 1 wordt 0. Een NOT-poort

    heeft slechts n ingang en n uitgang.

    F = 0 indien A = 1.

    F = 1 indien A = 0.

    Alle in de handel verkrijgbare elektronische componenten worden met een cijfer-letter

    combinatie aangeduid. Een IC binnen de commercile TTL-reeks wordt steeds voorafgegaan

    door de cijfers 74 (40 is de prefix voor CMOS). De laatste cijfers geven het

    componentnummer weer. 04 staat voor een invertor. Tussen het reeksnummer en het

    componentnummer staan een aantal letters op de plaats van xx. Deze geven meer informatie

    over de technologie waaruit de component is samengeteld. Enkele voorbeelden: geen letters

    (standaard), S (schottky), L (low power), LS (low power schottky), F (fast).

    Zo weet de gebruiker dat een 74LS04, in vergelijking met een 7404, dezelfde logische functie

    bevat (bei- den 04) maar beduidend sneller schakelt en veel minder vermogen verbruikt. Meer

    informatie omtrent deze materie vindt u terug in het laboschrift.

    Een 74LS04 bevat 6 onafhankelijke invertoren.

  • 7

    EN-operatie.

    De EN-functie geeft aan dat het resultaat van een bewerking waar is indien alle

    ingangsvoorwaarden waar zijn. De AND-poort heeft n uitgang en meerdere ingangen. Voor

    een 3-input AND geldt:

    F = 1 indien A = 1 en B = 1 en C = 1.

    OF-operatie.

    De OF-functie geeft aan dat het resultaat van een bewerking waar is indien minstens n

    ingangsvoorwaarde waar is. De OR-poort heeft n uitgang en meerdere ingangen. Voor een

    3-input OR geldt:

    F = 1 indien A = 1 of B = 1 of C = 1.

  • 8

    4 Afgeleide basisfuncties en afgeleide poorten.

    In de praktijk tracht men een schakeling te ontwerpen met een minimum aan bouwstenen.

    Daarom zijn er ook een aantal combinatiepoorten op de markt gebracht. Deze noemt men

    afgeleide poorten en bevatten een combinatieschakeling van een aantal basispoorten.

    NAND-poort.

    De NAND-poort is de samensmelting van een AND-poort, gevolgd door een invertor.

    Voor een 3-input NAND geldt:

    F = 0 indien A = 1 en B = 1 en C = 1

  • 9

    NOR-poort.

    De NOR-poort is de samensmelting van een OR-poort, gevolgd door een invertor.

    Voor een 3-input NOR geldt:

    F = 0 indien A = 1 of B = 1 of C = 1

  • 10

    EXOR-poort.

    Het resultaat van de EXOR-functie is waar indien juist n ingangsvoorwaarde waar is. De

    EXOR-poort is een samengestelde schakeling van de drie basispoorten. Deze poort is enkel

    verkrijgbaar met twee ingangen en n uitgang.

    Voor een EXOR geldt:

    F = 1 indien (A = 0 en B = 1) of (A = 1 en B = 0).

  • 11

    EXNOR-poort.

    Het resultaat van de EXNOR-functie is waar indien alle ingangsvoorwaarden aan elkaar gelijk

    zijn.

    De EXNOR-poort bezit eveneens twee ingangen en is ook een samengestelde schakeling

    Voor een EXNOR geldt:

    F = 1 indien (A = 0 en B = 0) of (A = 1 en B = 1).

  • 12

    5 Het verband tussen de logische vergelijking, het schema, de waarheidstabel en het

    tijdsdiagram.

    In deze paragraaf gaan we, aan de hand van voorbeelden, de logica na die het verband tussen

    de logische vergelijking, het bijhorende schema, de waarheidstabel en het tijdsdiagram

    aantoont. Indien n van deze vier voorstellingen gekend is, kan men relatief eenvoudig de

    overige drie voorstellingen uitwerken.

    Het schema is gekend.

    Evalueer het schema van links naar rechts. Ken aan elke poort uitgang een letter toe en zet deze eveneens in de waarheidstabel.

    Vervolledig stelselmatig de waarheidstabel, zodat u uiteindelijk op de uitgang terecht komt.

  • 13

    De vergelijking.

    Evalueer het schema vanaf de uitgang naar de ingangen toe.

    De prioriteiten binnen een logische vergelijking zijn van hoogste naar laagste:

    Inversie, haakjes, EXOR & EXNOR, AND en tenslotte OR.

    Het tijdsdiagram.

    Schets een tijdsdiagram waarop, indien mogelijk, alle mogelijke ingangscombinaties

    voorkomen. Voor een drie-bit schakeling, alle combinaties tussen 000 en 111. Teken

    eventueel de tussenliggende logische niveaus op de verschillende poortuitgangen en

    construeer hieruit het verloop van F.

    Het resultaat van het tijdsdiagram moet uiteraard identiek zijn aan de gevonden toestanden

    binnen de waarheidstabel.

  • 14

    De waarheidstabel is gekend.

    De functie.

    Elke rij waarbinnen de functie 1 is, kan u voorstellen als een productterm (een AND-functie).

    (1) F = 1 indien A = 1 en B = 0 en C = 0.

    De verschillende producttermen worden vervolgens gekoppeld via een som (een OR-functie).

    F = 1 indien A = 0 en B = 0 en C = 0 of A = 1 en B = 0 en C = 0 of A = 0 en B = 1 en C = 0 of A = 1 en B = 0 en C = 1 of A = 1 en B = 1 en C = 1

    De vorm waarin de logische vergelijking verschijnt noemen we een som van producttermen of

    standaard som vorm. In een tweede methode om deze functie te bepalen, vertrekt men van de

    inverse functie van F (=/G).

    Met welke methode u de vergelijking bepaalt, hangt enkel af van het aantal enen dat de

    waarheidstabel bevat. Gebruik de eerste methode indien er weinig enen in de F-tabel

    verschijnen. Gebruik de tweede methode (de inverse functie, de G-tabel) indien er veel enen

    in de F-tabel staan.

  • 15

    Merk tevens op dat eenzelfde functie onder meerdere vormen kan geschreven worden.

    Het schema.

    Het schema wordt opgesteld aan de hand van n van beide vergelijkingen. Normalerwijs

    kiest u de vergelijking die de minste poorten bevat.

    Het schema bevat 3 invertoren, 3 AND-poorten en 1 NOR-poort.

    Het tijdsdiagram.

  • 16

    De logische functie is gekend.

    Het schema.

    Let op de prioriteit van de bewerkingen.

    De waarheidstabel.

    Splits de vergelijking in deelfuncties en vervolledig de waarheidstabel.

  • 17

    Merk op dat:

    Het tijdsdiagram.

    6 In- en uitgangspolariteit van logische componenten.

    Uitgangspolariteit.

    De uitgang = 1 indien de bijhorende voorwaarde binnen het symbool

    waar is. (hoog actieve uitgang)

    De uitgang = 0 indien de bijhorende voorwaarde binnen het symbool

    waar is. (laag actieve uitgang)

    Ingangspolariteit.

    De bijhorende voorwaarde binnen het symbool is waar zodra de ingang

    = 1. (hoog actieve ingang)

    De bijhorende voorwaarde binnen het symbool is waar zodra de ingang

    = 0. (laag actieve ingang)

  • 18

    Beschouw als voorbeeld de logica van een AND en NAND-poort.

    F = 1 indien A = 1 en B = 1.

    G = 0 indien A = 1 en B = 1.

    Elke schakeling kan u in principe tot n symbool herleiden.

    Aan onderstaande voorbeeldsymbolen worden eveneens het bijhorend schema en de logische

    vergelijking toegevoegd.

    In het tweede voorbeeld duidt het cirkeltje binnen het symbool op een logische inversie. Een

    links van de cirkel geeft rechts een 0.

  • 19

    7 Toepassingen.

    1) Koffieautomaat.

    Een koffieautomaat laat verschillende mogelijkheden toe:

    - ZK zwarte koffie. - KS koffie met suiker. - KM koffie met melk. - KSM koffie met suiker en melk.

  • 20

    De ventielen kunnen enkel bediend worden indien er elektriciteit (E) en geld (G) aanwezig

    zijn. Dit is de basisvoorwaarde (BV).

    Verder moeten er voldoende grondstoffen voorradig zijn namelijk: bekers (B), water (W)

    koffiepoeder (KP), suikerpoeder (SP) en melkpoeder (MP), zoniet gaat het bijhorende

    "Buiten gebruik" lampje branden en wordt deze keuzeoptie uitgeschakeld. Zodra de klant

    een correcte keuze heeft gemaakt plaats de automaat eerst een beker (BP) en controleert of

    deze op de juiste plaats terecht komt (BG). Vervolgens worden, afhankelijk van de keuze,

    de verschillende grondstoffen toegevoegd. Om problemen te voorkomen mag de gebruiker

    slechts n keuzetoets bedienen, zoniet gebeurt er niets.

  • 21

  • 22

    2) Vervolledig de waarheidstabel en het tijdsdiagram van onderstaande schema's. Bepaal de logische functie en vat de volledige schakeling samen in n symbool.

  • 23

  • 24

    3) Vervolledig de waarheidstabel en het tijdsdiagram. Teken het schema en het bijhorend symbool.

  • 25

    4) Bepaal op twee manieren de functie, teken het schema en vervolledig het tijdsdiagram.

  • 26

  • 27

    Hoofdstuk 2 : Vereenvoudigen van logische functies.

    Dit hoofdstuk behandelt de verschillende vereenvoudigingstechnieken die worden toegepast om het aantal

    poorten binnen een logische functie te reduceren. Tot hier toe kunnen we alle logische functies realiseren

    volgens de AND-OR-NOT structuur (= som van producttermen). Zodra we de gevonden vergelijkingen kunnen

    vereenvoudigen, betekent dit op de eerste plaats dat het aantal poorten vermindert. De ontwerper zal hierdoor

    dezelfde schakeling realiseren met minder componenten ( IC's). Hierdoor wordt het gebruikte printoppervlak ook

    kleiner. Al deze factoren maken dat de totale kostprijs van een project drastisch kan dalen. De eenvoudigste

    vergelijking is daarom niet de meest economische. Indien de functie, na vereenvoudiging, bijvoorbeeld twee

    invertoren + n 3-input AND poort + n 2-input NAND-poort bevat, betekent dit hardwarematig drie IC's. Elk

    IC bevat hierbij een aantal niet-gebruikte poorten. Een 74xx04 bevat 6 invertoren en is dus maar voor 1/3 benut .

    Daarom trachten we de gevonden vergelijkingen om te vormen tot een minimum aan componenten. Zo blijkt

    bijvoorbeeld dat een invertor eveneens kan gerealiseerd worden met een NAND-poort. De 74xx04 verdwijnt

    hierdoor uit het schema. We behandelen achtereenvolgens twee minimalisatietechnieken.

    - minimalisatie volgens de Booleaanse algebra

    - minimaliseren met behulp van een Karnaughkaart

    1 Minimalisatie volgens de Booleaanse Algebra.

    Omstreeks 1854 stelde George Boole in zijn doctoraatsstudie een aantal rekenkundige regels

    op die leiden tot het minimaliseren van complexe binaire systemen. Stelselmatig worden de

    verschillende rekenregels opgesteld en gecontroleerd. Tevens worden er een aantal nuttige

    tips aan toegevoegd die in het verdere verloop van deze cursus van belang kunnen zijn.

    Theorema's met n veranderlijke.

    Bij het bewijs van de juistheid van bovenstaande vergelijkingen gaan we uit van de toestand

    die n veranderlijke kan aannemen. A is 0 of 1.

    Per vergelijking stellen we alle mogelijke combinaties samen en trekken uit het resultaat ons

    besluit.

    Zodra alle ingangen van een OR of AND-poort met elkaar worden verbonden, volgt de

    uitgang het aangelegde ingangsniveau. Merk op dat dit ook zo is voor poorten met meer dan

    twee ingangen.

    A . A . ... . A = A en A + A + ... + A = A.

  • 28

    Zodra n ingang van de OR-poort constant op 1 staat, blijft de uitgang constant hoog.

    Zodra n ingang van de AND-poort constant op 0 staat, blijft de uitgang constant laag.

    Zodra n of meerdere ingangen van de OR-poort constant 0 zijn, volgt de uitgang het

    ingangssignaal. Zodra n of meerdere ingangen van de AND-poort constant 1 zijn, volgt de

    uitgang het ingangssignaal.

    Na een dubbele inversie behoudt de uitgang het niveau van de ingang.

    Commutatieve en associatieve theorema's.

    Binnen een logische bewerking, met dezelfde bewerkingsprioriteit, mogen de verschillende

    parameters van plaats veranderen en er kunnen haakjes aan worden toegevoegd of

    weggelaten.

    Distributieve theorema's.

    Binnen een logische bewerking hebben de invertoren de hoogste prioriteit, gevolgd door de

    haakjes, de AND en de OR. Het uitwerken van de haakjes volgt dezelfde rekenregels als deze

    binnen de numerische wiskunde.

  • 29

    Bewijs van het tweede distributieve theorema:

    Absorptietheorema's.

    Bewijs:

    Theorema's van de Morgan.

    De theorema's van de Morgan geven een flexibele overgang van AND (NAND) naar NOR

    (OR) en omgekeerd. Deze rekenregels worden frequent toegepast bij het vereenvoudigen.

    De theorema's worden bewezen aan de hand van een waarheidstabel.

  • 30

    Consensustheorema's.

  • 31

    Deze deelvergelijkingen zijn het moeilijks op te sporen binnen de logische functie. De

    minimalisatie gebeurt in twee stappen. Eerst wordt de functie gexpandeerd en vervolgens

    gereduceerd.

    Samenvatting van de belangrijkste vereenvoudigingsregels.

  • 32

    Conclusies met betrekking tot de Booleaanse vereenvoudigingsregels.

    - De prioriteiten binnen een logische functie zijn achtereenvolgens (van hoogste naar laagste):

    invertor, haakjes, EXOR & EXNOR, AND en OR.

    Het AND-symbool "." wordt meestal weggelaten. Dit vereenvoudigt de schrijfwijze.

    - Interpreteer de Booleaanse vereenvoudigingsregels vrij ruim. Zo kan elke veranderlijke in principe een volledige deelfunctie bevatten.

    Enkele voorbeelden:

    - Een AND, NAND, OR en NOR-functie opbouwen met de respectievelijke poorten, waarvan niet alle ingangen gebruikt worden, kan. Om praktische redenen mogen de

    niet-gebruikte ingangen NOOIT loshangen. We gaan de correcte aansluiting na voor

    een 2-input functie, gebruikmakend van een 3-input poort.

  • 33

    Niet-gebruikte ingangen op een AND- en NAND-poort verbinden met Ucc of met een

    gebruikte ingang.

    Niet-gebruikte ingangen op een OR- en NOR-poort verbinden met GND of met een gebruikte

    ingang.

    Binnen de TTL-reeks zijn er enkel 2-input OR-poorten verkrijgbaar (74xx32). Bevat de

    vergelijking meer dan twee OR-termen, dan kan men de vergelijking opsplitsen over

    meerdere OR-poorten. Voor een 4-input OR geldt:

    F = A+B+C+D = ((A+B)+C)+D = (A+B)+(C+D)

    Beide schema's bevatten eenzelfde aantal poorten en zijn daardoor gelijkwaardig. Praktisch

    geeft men de voorkeur aan de oplossing volgens F2. Elke poort heeft een bepaalde

    vertragingstijd van enkele nanoseconden. Deze stellen we voor door n tijdseenheid per

    poort. In het schema volgens F1 is de maximale vertragingstijd 3 tijdseenheden. Voor F2

    geldt een maximale vertraging van 2 tijdseenheden. F2 reageert, in worst-case, 33% sneller

    dan F1.

  • 34

    - Binnen een som van producttermen mag men elke productterm meerdere malen gebruiken tijdens de vereenvoudiging. Bijvoorbeeld:

    Enkele opgeloste voorbeelden.

    Herwerk de vergelijking steeds tot een som van producttermen. Tracht ondertussen zoveel

    mogelijk veranderlijken te elimineren. Vervang eventuele EXOR- EXNOR-functies door hun

    logische vergelijking vooraleer tot vereenvoudiging over te gaan.

  • 35

    Afhankelijk van de gekozen weg levert een verdere vereenvoudiging twee oplossingen.

    Beide functies zijn juist en bevatten evenveel poorten.

    2 Minimalisatie met behulp van een Karnaughkaart.

    Minimalisatie met de Booleaanse vergelijkingen is meestal een moeizame taak. Het is immers

    niet meteen duidelijk of het resultaat wel de eenvoudigste vorm is. Een Karnaughkaart

    daarentegen geeft ons een grafische voorstelling van een functie. De vereenvoudi- ging

    gebeurt in principe visueel, maar volgt wel de minimalisatieregels van Boole. Veitch

    ontwikkelde in 1952 de basis van het grafisch vereenvoudigen. Later werd deze methode door

    Karnaugh verfijnd en publiceerde deze in "A map method for synthesis of combinational

    logic circuits". Een Karnaughkaart is opgebouwd uit een aantal cellen. Elke cel stelt n regel

    uit de waarheidstabel voor. De volgorde waarin de cellen op de kaart worden geplaatst is wel

    van belang. Het aantal cellen wordt bepaald door het aantal veranderlijke binnen de functie.

    Voor n-veranderlijken bevat de Karnaughkaart 2n

    cellen. Kaarten tot 4 veranderlijken zijn vrij

    simpel te vereenvoudigen. Vanaf 5 variabelen wordt het wel iets ingewikkelder. Vanaf 7

    variabelen wordt het een onbegonnen werk en komt de Karnaugkaart niet meer in

    aanmerking.

    Karnaughkaart tot en met 4 veranderlijken.

  • 36

    2 veranderlijken. F(A,B).

    De kaart wordt opgesplitst in 4 cellen. Elke cel stelt n van de vier ingangscombinaties voor.

    Horizontaal lezen we de waarde van A, vertikaal de waarde van B. A en B mag u eventueel

    van plaats verwisselen. Bovenaan rechts staat de functienaam van de tabel.

    In bovenstaande tabel betekent cel(1) dat A = 0 en B = 0. Cel (2) staat voor A = 0 en B = 1.

    2 veranderlijken. F(A,B,C).

    3 veranderlijken geeft een kaart met 8 cellen. Let vooral op de verticale celnummering (00,

    01, 11, 10 i.p.v. 00, 01, 10, 11). Naast elkaar liggende cellen mogen, voor de

    vereenvoudiging, maar n bit van elkaar verschillen. Vandaar deze volgorde. U kan de kaart

    eventueel 90 roteren. Noteer horizontaal twee variabelen naar keuze, maar behoud de

    specifieke celnummering. Zowel in boven- als onderstaande kaarten geeft cel (3) de toestand

    C = B = 1 en A = 0 aan.

    Invullen van de Karnaughkaart.

    Het invullen van de Karnaughkaart gebeurt langs de waarheidstabel of vanaf de logische

    functie. De waarheidstabel bevat alle combinaties waarbij de functie 1 is. Hierdoor verloopt

    het overbrengen van deze informatie snel en correct. Indien de waarheidstabel nog niet

    aanwezig is, kan de kaart rechtstreeks worden ingevuld vanaf de functie. Herwerk de functie,

    met de Booleaanse algebra, tot een som van producttermen en ga dan over naar de

    Karnaughkaart. Een Karnaughkaart bevat enkel de enen van de functie of tabel. De nullen

    worden meestal weggelaten. Dit vergemakkelijkt het "lezen" van de kaart. Het zijn immers

    enkel de enen die betrekking hebben tot de vereenvoudigingsregels.

    Van waarheidstabel naar Karnaughkaart.

  • 37

    Van waarheidstabel naar Karnaughkaart. Het celnummer geeft de positie aan binnen de kaart.

    Op celnummer (2) is F = 1. Op (4) is F = 0, dus deze cel blijft leeg op de kaart.

    Van logische functie naar Karnaughkaart.

    De verschillende producttermen bevatten niet alle veranderlijken. Volgens de Booleaanse

    vergelijking A + /A = 1 kan elke term worden aangevuld met de resterende veranderlijken. (1)

    geeft na substitutie twee termen (1a) en (1b). (2) en (3) vormen hierdoor beide vier termen

    (2a) ... (2d) en (3a) ... (3d).

    Elke productterm geeft aan waar de functie 1 wordt.

    Een geoefend gebruiker kan rechtstreeks vanaf de gereduceerde vergelijking de

    Karnaughkaart vervolledigen. Het expanderen van F wordt hierdoor overbodig.

    Vereenvoudigen van een Karnaughkaart.

    Tracht op de Karnaughkaart een aantal, naast of onder elkaar, gegroepeerde enen te

    selecteren. Combineer enkel horizontaal of vertikaal, nooit schuin. De omsloten enen vormen

    dus een rechthoek of vierkant. Het aantal enen binnen een selectie is een macht van 2 (= 2, 4,

    8, ...) . De buitenste horizontale cellen mogen als aangrenzend worden beschouwd, alsook de

    buitenste verticale cellen. Deze zijn dus combineerbaar. (Vergelijk met een torus) De vier

    hoekpunten van de kaart zijn eveneens combineerbaar met elkaar. Elke cel mag meermaals

    binnen verschillende selecties voorkomen (A = A + A).

  • 38

    Onderstaande voorbeelden illustreren de vereenvoudigingsregels.

    De vereenvoudiging binnen een selectie steunt op de rekenregel A + /A = 1. De selectie

    binnen F geeft een som van twee producttermen. Na vereenvoudiging volgens de Booleaanse

    algebra verdwijnt de veranderlijke D.

    Grafisch vereenvoudigen we als volgt. Ga na hoe de veranderlijken zich gedragen binnen de

    selectie. A en C zijn beiden 0, B is 1 en D is veranderlijk. Noteer de constanten als een

    productterm en laat de veranderlijke variabele weg.

    Dus:

    Karnaughkaart G bevat n selectie van 2 en n van 4 cellen. Beide selecties geven een

    productterm en worden langs een OR-term met elkaar verbonden.

    Na een grafische vereenvoudiging bekomen we hetzelfde resultaat.

  • 39

    Bij selectie van twee cellen verdwijnt er n variabele uit de productterm. Bij een groep van

    vier cellen zijn er twee variabelen verdwenen enz...

    Neem de vereenvoudigingslussen zo groot mogelijk. Dan pas bekomt u de eenvoudigste

    functie. Cellen die niet te groeperen zijn, worden als afzonderlijke producttermen geschreven

    en bevatten dus alle veranderlijken. Tracht de functie steeds met een minimum aan lussen te

    vereenvoudigen.

    Onderstaand voorbeeld illustreert het resultaat bij een foutieve selectie van de groepen.

    Rechts is de selectie correct verlopen. Dit geeft als resultaat:

    De linkse oplossing daarentegen bevat een groep van twee cellen i.p.v. vier, met als resultaat

    dat deze productterm veranderlijke A bevat.

    Een goed vereenvoudigde vergelijking langs de Karnaughkaart kan nooit verder

    vereenvoudigd worden met de Booleaanse algebra. Het resultaat van de linkse kaart kan u wel

    verder vereenvoudigen.

    Een bijkomend voordeel van de Karnaughkaart is ook dat u dadelijk ziet dat er al dan niet

    meerdere eenvoudigste oplossingen bestaan.

  • 40

    Onvolledige functies.

    Normaal beschrijft een functie alle mogelijke combinaties. Soms kan het voorkomen dat een

    aantal combinaties niet kunnen verwezenlijkt worden. Neem bijvoorbeeld een 4-bit

    schakeling die wordt aangestuurd langs een BCD-teller. Een BCD-teller brengt

    achtereenvolgens een binair getal van 0000 t.e.m. 1001 op de ingangen van de schakeling. De

    codes 1010 ... 1111 komen niet voor. In de desbetreffende cellen van de Karnaughkaart wordt

    een "X" geplaatst. X staat voor "don't care". Het maakt dus niets uit of de functie op die

    bepaalde plaatsen 0 of 1 is. De combinatie komt immers toch nooit voor. Een andere

    mogelijkheid is dat een bepaalde ingangscombinatie, om welke reden dan ook, nooit mag

    voorkomen. Deze verboden toestand duiden we aan met een "-". Ook hier maakt het niet uit

    of de functie op die bepaalde plaats 0 of 1 is.

    - (X) staat voor don't care. - (-) staat voor een verboden toestand.

    Een verboden toestand en een don't care neemt aan een vereenvoudigingslus deel indien we

    de lus hiermee kunnen vergroten. Verboden toestanden en don't cares binnen een selectie

    worden vanaf dan als 1 beschouwd. Verboden toestanden en don't cares die buiten de selectie

    liggen zijn hierdoor 0. Een voorbeeld. Vier schakelaars (A, B, C en D) bedienen n lamp (L).

    De lamp licht op zodra er meer dan n schakelaar gesloten wordt. Schakelaars A en B

    kunnen nooit samen open zijn. Voor de logische niveaus geldt: lamp aan = 1, schakelaar

    gesloten = 1.

  • 41

    3 Reduceren van het aantal componenten.

    Een ontwerper vindt het belangrijk een minimum aan componenten in zijn schakeling te

    verwerken. Eerst zal hij de vergelijkingen vereenvoudigen. Dit geeft een functie met een

    minimum aan poorten. Vervolgens tracht hij een aantal poorten te vervangen door een ander

    type poorten om zodoende het aantal ICs te beperken.

    Vooreerst gaan we na waarom de NAND- en NOR-poort zo goed vertegenwoordigd zijn

    binnen het IC-pakket. Nadien gaan we aan de hand van een voorbeeld na hoe we tot een IC

    reductie kunnen overgaan.

    NAND- en NOR-poort als universele component.

    Aan de hand van onderstaande schema's wordt aangetoond dat alle basispoorten (NOT, AND

    en OR) te vervangen zijn door een NAND- of NOR-schema.

    Elke logische vergelijking, evenals de EXOR en EXNOR, kan als een som van producttermen

    geschreven worden. Dit wil dus zeggen dat alle vergelijkingen als NAND- of NOR-schema's

    te tekenen zijn.

  • 42

    4 Toepassingen.

    1. Vereenvoudig onderstaande vergelijkingen volgens de Booleaanse algebra.

    Vereenvoudig tot 2 -input NANDs

    2. Vereenvoudig onderstaande waarheidstabellen volgens de Booleaanse algebra.

  • 43

    3. Bepaal de uitgangsfunctie en vereenvoudig deze volgens de Booleaanse algebra. Teken het vereenvoudigd schema.

    4. Bepaal de functies van onderstaande Karnaughkaarten.

  • 44

    5. Elektronische dobbelsteen.

    Een elektronische dobbelsteen wordt voorgesteld met 7 LED's. Afhankelijk van de

    ingangscombinatie (CBA), zal de juiste LED-combinatie oplichten.

    Merk op dat er maar 4 functies worden opgesteld, nl: a=g, b=f, c=e en d.

  • 45

    6. Vloeistofmeting. Een niveau-alarm overwaakt een vloeistofreservoir. Het signaal, afkomstig van de niveaumeter, wordt via een analoog-digitaal convertie omgevormd

    tot een 4-bit code (DCBA). De alarm-LED brandt indien het niveau (3)10 of > (13)10. Voor alle andere combinaties blijft de OK-LED actief.

    Teken het schema met NAND-poorten.

  • 46

    Het boerenprobleem. Een boer heeft een geit , een hongerige hond en een grote schuur, een

    opslagplaats van bloemkolen. De boer pendelt regelmatig met zijn dieren tussen het veld en

    de schuur. Als hij de hond en de geit alleen samen achterlaat ( in de schuur of op het veld)

    bestaat er een grote kans dat er van zijn geit niet veel meer overblijft. Blijft de geit alleen

    achter in de schuur, dan zal deze zeker zijn kolenoogst oppeuzelen. (Op het veld mag de geit

    de kolen opeten.) Om een katastrofe te verkomen vraagt de boer ons een draagbare schakeling

    te ontwerpen. De schakeling bestaat uit 4 schakelaars (Boer, Hond, Geit en Kool) en n

    lampje. Met een gedoofd lampje zit de boer veilig. Voor de ingangen geldt een "1" indien ze

    in de schuur zitten en een "0" als ze op het veld zijn.

    Ontwerp de bijhorende schakeling.

  • 47

    Hoofdstuk 3 : Talstelsels en elementaire, binaire bewerkingen.

    1. Talstelsels

    Een getal bestaat uit een aantal tekens (of digits), kortweg cijfers genoemd. De positie

    van een cijfer binnen een getal bepaalt zijn belangrijkheid of gewicht.

    Een digitaal verwerkingssysteem kan enkel binaire informatie verwerken. Een reeks enen en

    nullen wordt door de buitenwereld moeilijk genterpreteerd, vandaar dat er voortdurend een

    conversie plaatsvindt tussen deze binaire informatie en een leesbare code. De meest gebruikte

    talstelsels zijn natuurlijk het binaire voor de machine en het decimale voor de gebruiker.

    Omdat het binair getal al snel vrij veel bits omvat gaan programmeurs steeds over naar een

    hexadecimale voorstelling. Dit hoofdstuk beschrijft een drietal talstelsels (binair, decimaal en

    hexadecimaal) met de bijhorende conversietechnieken. Verder komen een aantal

    basisbewerkingen (+ - x) op gehele getallen, binnen het binaire talstelsel, aan bod.

    uiterst rechts het laagst beduidende cijfer (Least Significant Digit of LSD).

    uiterst links het meest beduidende cijfer (Most Significant Digit MSD).

    Het decimale talstelsel

    Het decimaal talstelsel kent tien symbolen (09) en heeft als grondtal 10.

    Men kan een decimaal getal als volgt ontleden:

    Het binaire talstelsel

    Het binair talstelsel volgt een identieke logica. Bi is twee. Het grondtal is dus twee en de

    symbolen zijn 0 en 1. Men spreekt nu van een BInary digiT of BIT.

    Uiterst links staat de Most Significant Bit (MSB) en rechts de Least Significant Bit (LSB).

    Bepaalde cijfercombinaties komen in verschillende talstelsels terug maar stellen daarom niet

    hetzelfde getal voor. Om verwarring te voorkomen geeft het grondtal, als subscript, het

    bedoelde talstelsel weer.

    De opeenvolgende getallen construeren binnen een bepaald talstelsel, gebeurt als volgt:

    vertrek van het eerste symbool en ga telkens n symbool verder. Zijn alle symbolen gebruikt,

    begin dan terug vanaf het laagste en verhoog vervolgens de hoger gelegen digit. Onderstaande

    tabel geeft een vergelijkend overzicht van de, voor ons, drie belangrijkste talstelsels. Zelfs

    negatieve gebroken getallen worden eenvoudig geconverteerd.

  • 48

    Merk op dat alle moderne rekentoestellen uitgerust zijn met conversietoetsen naar

    verschillende talstelsels, maar ze zetten enkel het gehele gedeelte van een getal om en

    verwerpen de fractie.

    Het hexadecimaal talstelsel

    Om een lange string van bits in verkorte vorm weer te geven wordt veelal het hexadecimale

    equivalent gebruikt. Deze voorstellingsmethode vind je terug bij de lagere programmeertalen

    zoals assembler.

    Het hexadecimaal talstelsel heeft als grondtal 16 en bevat daarom 16 symbolen

    (0..9 en A..F).

  • 49

    2. Conversie tussen twee talstelsels

    Conversie van grondtal X naar decimaal

    Bij de conversie van eender welk denkbaar talstelsel naar het decimaal talstelsel, volgt u

    steeds dezelfde methode.

    Noteer voor elke digit het bijhorende decimaal getal en vermenigvuldig dit met een macht

    van het grondtal. Maak vervolgens de optelling van alle deelresultaten.

    Conversie van decimaal naar grondtal X

    Splits het getal in een geheel deel en een decimale fractie. Ga grafisch als volgt te werk:

    Geheel deel: Deel het getal door het grondtal (X). Noteer het gehele deel links

    en de restwaarde onder de horizontale lijn. Herhaal deze bewerking tot het

    geheel getal nul wordt.

    Decimale fractie : Vermenigvuldig de fractie met het grondtal (X). Trek het

    geheel getal er van af en herhaal de vermenigvuldiging met de overgebleven

    fractie tot deze nul wordt. Plaats het gehele getal onder de horizontale lijn.

    Het geconverteerde getal staat nu onder de horizontale lijn.

    Geheel getal delen door het

    grondtal (2)

    Decimale fractie

    vermenigvuldigen met het

    grondtal (2)

    215 / 2 = 107 rest 1 0,625 * 2 = 1,25 = 0,25 + 1

    107 / 2 = 53 rest 1 0,25 * 2 = 0,5 = 0,5 + 0

    53 / 2 = 26 rest 1 0,5 * 2 = 1,0 = 0,0 + 1

    26 / 2 = 13 rest 0

    13 / 2 = 6 rest 1

    6 / 2 = 3 rest 0

    3 / 2 = 1 rest 1

    1 / 2 = 0 rest 1

  • 50

    (215)10 = (11010111)2 (0,625)10 = (0,101)2

    (215,625)10 = (11010111,101)2

    Geheel getal delen door het

    grondtal (16)

    Decimale fractie

    vermenigvuldigen met het

    grondtal (16)

    1473 / 16 = 92 rest 1 0,7 * 16 = 11,2 = 0,2 + 11

    (11 = B in hex)

    92 / 16 = 53 rest 12

    (12 = C in hex) 0,2 * 16 = 3,2 = 0,2 + 3

    5 / 16 = 0 rest 5 0,2 * 16 = 3,2 = 0,2 + 3

    (215)10 = (5C1)2 (0,7)10 = (0,B3333...)16

    (1473,7)10 = (5C1,B3333)16

    Conversie van binair naar hexadecimaal

    Verdeel het binair getal in groepjes van 4 bits, vertrekkend vanaf de komma. Voeg eventueel

    nullen toe. Noteer het hexadecimaal equivalent van elk 4-bit groepje.

    Conversie van hexadecimaal naar binair

    Vervang elk hexadecimaal element door zijn 4-bit equivalent, vertrekkend vanaf de komma.

    Laat de overtollige nullen weg.

  • 51

    3. Voorstelling van positieve en negatieve gehele getallen.

    Een digitale machine die positieve en negatieve gehele getallen (signed integers) wil

    verwerken, moet het teken (+ of -) als bit (0 of 1) voorstellen. Er bestaan verschillende

    methodes om een signed integer voor te stellen, maar allen vertrekken ze van eenzelfde

    principe. Vertrek van een vooraf bepaalde bitlengte. Afhankelijk van het toestel kan dit 4, 5,

    8, 16, ... zijn. De MSB is steeds de tekenbit (0 voor een positief getal en 1 voor een negatief

    getal.). De overige bits geven het getal weer. Een 6-bit getal bestaat uit n tekenbit en vijf

    databits.

    Onderstaande tabel geeft enkele voorstellingsvormen weer voor een 4-bit getal.

    Unsigned integer :

    Indien u enkel met positieve getallen werkt, vervalt de tekenbit en is de gebruikte bitlengte

    niet van belang. In de praktijk werken digitale toestellen wel met een vaste bitlengte en de

    niet-gebruikte bits worden opgevuld met nullen. Een 6-bit machine ver- werkt het decimale

    getal 5 (101 binair) als 000101.

    TB + abs. waarde:

    De MSB bevat het teken, terwijl de resterende bits het getal in absolute waarde voorstelt. Alle

    getallen zijn makkelijk leesbaar. Verder stellen we vast dat er twee voorstellingen zijn voor

    het getal nul. Het hardwarematig optellen en aftrekken van getallen vereist twee afzonderlijke

    schakelingen.

  • 52

    1 - complement: Om een negatief getal voor te stellen in het 1 - complement (one's

    complement code) volstaat het elke bit van het positief getal te inverteren om zijn negatieve

    tegenhanger te vinden. Zo wordt (-12)10 in een 6-bit woord geschreven als:

    Binaire optelling en aftrekking

    Binaire optelling

    Het optellen van binaire getallen verloopt volgens dezelfde rekenregels als een decimale

    optelling.

    0 + 0 = 0

    0 + 1 = 1

    1 + 0 = 1

    1 + 1 = 10 0 schrijven, 1 als overdracht (carry) bij de juist hogergelegen bits optellen.

    1 + 1 + 1 = 11 1 schrijven, 1 als overdracht bij de juist hogergelegen bits

    optellen.

    Enkele voorbeelden met 8-bit getallen:

    decimaal binair

    (+12)

    + (+25)

    = (+37)

    11

    0000 1100

    + 0001 1001

    = 0010 0101

    decimaal binair

    (+70)

    + (+34)

    = (+104)

    11

    0100 0110

    + 0010 0010

    = 0110 1000

    Binaire aftrekking

    Herleid de aftrekking tot een optelling met het negatieve getal. 25 - 5 = 25 + (-5) .

    Merk op dat we bij de aftrekking steeds een vaste bitlengte moeten afspreken voordat we de

    bewerking kunnen uitvoeren.

    Bij de aftrekking kan er een extra bit, een end-around carry, in het resultaat te voorschijn

    komen (zie rode bit op onderstaand voorbeeld). Bij het aflezen van het resultaat houden we

    enkel rekening met de acht databits en valt een eventuele end-around carry gewoon weg.

    PS: Verwar de "end-around carry" niet met overflow!!!!

  • 53

    Enkele voorbeelden met 8-bit getallen:

    decimaal binair

    (+12)

    - (+25)

    = (-13)

    1 1

    0000 1100

    + 1110 0111

    = 1111 0011

    decimaal binair

    (+70)

    - (-34)

    = (+104)

    11

    0100 0110

    + 0010 0010

    = 0110 1000

    decimaal binair

    (-12)

    - (+25)

    = (-37)

    111 1

    1111 0100

    + 1110 0111

    = 11101 1011

    decimaal binair

    (-70)

    - (-34)

    = (-36)

    1 1

    1011 1010

    + 0010 0010

    = 1101 1100

    Overflow

    Overflow of overloop treedt op zodra we twee of meerdere binaire getallen met elkaar

    optellen en het resultaat van een bewerking de grenzen van het n-bit getal overschrijdt.

    Voor een 4-bit getal zijn de grenzen 0111 (+7) en 1000 (-8).

    Voor een 8-bit getal zijn de grenzen 0111 1111 (+127) en 1000 0000 (-128).

    Enkele voorbeelden op 8-bit getallen:

    45 + 70 = 115. Het resultaat valt binnen de grenzen (127), dus OVERFLOW.

    Enkele andere voorbeelden met overflow:

    decimaal binair

    (+50)

    + (+80)

    = (+130)

    te groot

    111

    0011 0010

    + 0101 0000

    = 1000 0010

    (= -126)

    decimaal binair

    (-70)

    + (-68)

    = (-138)

    te klein

    1 111

    1011 1010

    + 1011 1100

    = 10111 0110

    (= +118)

  • 54

    Het rechtse voorbeeld bevat eveneens een extra bit bij het resultaat (rode bit). Deze end-

    around carry is NIET verantwoordelijk voor het foutieve resultaat (zie twee binaire getallen

    van elkaar aftrekken). Bij het aflezen van het resultaat houden we enkel rekening met de acht

    (zwarte) databits en valt een eventuele end-around carry gewoon weg.