ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Comparator - Wikipedia

Comparator

Uit Wikipedia, de vrije encyclopedie

Een comparator is eigenlijk een vergelijker. In de naam comparator zit compare, dat is Engels voor vergelijk. Een comparator is een schakeling die twee n-bit woorden met elkaar vergelijkt. De uitgang van de schakeling wordt hoog als de bits van woord A gelijk zijn aan de bits van woord B. De comparator is een van de meest gebruikte componenten in de elektronica.

Zowel in analoge als digitale schakelingen wordt deze component gebruikt.

Er zijn verschillende comparatoren, een klein voorbeeld hiervan is de magnitude comparator. Deze comparator heeft 3 uitgangen, die hoog worden naargelang het resultaat van de vergelijking. De resultaten op een magnitude comparator zijn:

  • woord A > woord B.
  • woord A < woord B.
  • woord A = woord B.

Inhoud

[bewerk] Ontwerp

[bewerk] Comparator voor 2 1-bit woorden

Dit is de eenvoudigste comparator, waar 2 woorden van elk 1 bit vergeleken worden met elkaar. In bijstaande figuur zie je de waarheidstabel van deze comparator.

Als we nu besluiten dat, G = (A > B), K = (A < B) en E = (A =B), dan kunnen we de logische vergelijkingen afleiden. De logische vergelijkingen kunnen we afleiden vanuit de waarheidstabel of via een KV – diagram.

De logische vergelijkingen voor deze comparator zijn als volgt:

  • G = A B(niet)
  • K = A(niet) B
  • E = A(niet) B(niet) OF A B

Nu we deze vergelijkingen weten kunnen we een mogelijke praktische realisatie van de schakeling maken. Het schema van de comparator voor 2 woorden van 1 bit, vind je in bijstaande figuur.

Een comparator voor 2 woorden van elk 1 bit, zul je echter niet gauw tegenkomen in de praktijk. In praktijk zal de eenvoudigste comparator 2 woorden van elk 4 bits vergelijken.

[bewerk] Comparator voor 2 woorden van elk 4 bits

Een voorbeeld van een comparator voor 2 woorden van elk 4 bits is de 74LS85. De 74LS85 is een 4-bit magnitude comparator.In bijstaande figuur vind je de waarheidstabel voor deze IC.

Korte beschrijving van de werkingDe 74LS85 vergelijkt 2 4-bit ingangen en zegt of ze groter dan, kleiner dan of gelijk aan elkaar zijn. Er zijn ook nog 3 cascade ingangen voorzien om de 4-bit comparator uit te breiden naar een 8, 12, 16,…-bit comparator. Deze worden met de corresponderende cascade ingangen van de volgende comparator verbonden. De laagste orde comparator heeft een hoog signaal aan de A = B input en lage signalen aan de A < B en A > B inputs.

In bijstaande figuur zie je het schema van de 74LS85, waar de cascade-schakeling duidelijk te zien is.

Je kan deze comparator ook gebruiken in een VHDL-code voor Xilinx, dat zie je in de code hieronder.

library ieee; use ieee.std_logic_1164.all;

entity four_bit_comparator is

  port ( 
     A,B : in std_logic_vector(3 downto 0); 
     AgB_in , AsB_in, AeB_in: in std_logic; 
     AgB_out, AsB_out, AeB_out: out std_logic 
  ); 

end entity four_bit_comparator; architecture beschijving of four_bit_comparator is

  signal sane: bit; 

begin process (A,B,sane,AgB_in,AeB_in,AsB_in) begin

  if( 
     (AgB_in='1' or AgB_in='0') 
     and 
     (AeB_in='1' or AeB_in='0') 
     and 
     (AsB_in='1' or AsB_in='0') 
     and 
     (A(0)='1' or A(0)='0') and (A(1)='1' or A(1)='0') 
     and 
     (A(2)='1' or A(2)='0') and (A(0)='1' or A(3)='0') 
     and 
     (B(0)='1' or B(0)='0') and (B(1)='1' or B(1)='0') 
     and 
     (B(2)='1' or B(2)='0') and (B(0)='1' or B(3)='0') 
  ) 
  then sane<='1'; else sane<='0'; end if; 
  if sane='0' then 
     AsB_out <= 'X'; AgB_out <= 'X'; AeB_out <= 'X'; 
  else 
     if A=B then 
        if 
           AgB_in='1' and AsB_in='0' and AeB_in='0' then 
           AgB_out<='1'; AsB_out<='0'; AeB_out<='0';   end if; 
        if 
           AgB_in='0' and AsB_in='1' and AeB_in='0' then 
           AgB_out<='0'; AsB_out<='1'; AeB_out<='0';   end if; 
        if 
           AeB_in='1' then 
           AgB_out<='0'; AsB_out<='0'; AeB_out<='1';   end if; 
        if 
           AgB_in='1' and AsB_in='1' and AeB_in='0' then 
           AgB_out<='0'; AsB_out<='0'; AeB_out<='0';   end if; 
        if 
           AgB_in='0' and AsB_in='0' and AeB_in='0' then 
           AgB_out<='1'; AsB_out<='1'; AeB_out<='0';   end if; 
     end if; 
     if A>B then 
        AgB_out <= '1'; AsB_out<='0'; AeB_out<='0'; 
     end if; 
     if A<B then 
        AsB_out <= '1'; AgB_out<='0'; AeB_out<='0'; 
     end if; 
  end if; 

end process; end architecture beschijving;

[bewerk] Nut

Magnitude comparatoren en andere comparatoren zijn nuttig in schakelingen waarin binaire getallen verschillende fysische grootheden voorstellen en vergeleken worden met vaste ingestelde referentiegrootheden. De uitgangen sturen de fysische grootheid bij tot de gewenste (referentiegrootheid) bereikt wordt.

Deze fysische grootheden kunnen grootheden zijn zoals; een bepaalde hoeveelheid, een snelheid, een temperatuur….

Een voorbeeld waarin een magnitude comparator gebruikt wordt is de telcontrole in een kopieermachine.

[bewerk] Externe link


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -