1.3.5 Vipper
Som vi har sett for de logiske eller kombinatoriske kretsene er det øyeblikkstilstanden (logisk lav eller høy)for inngangssignalene som til enhver tid er bestemmende for tilstanden på utgangen(e). For de sekvensielle kretsene er det ikke bare inngangssignalenes nivå eller kombinasjonene av dem som avgjør tilstanden på utgangene, men også rekkefølgen (sekvensen) signalene kommer i. De sekvensielle kretsene er basert på bruk av vipper (eng. flip-flop). Vipper kan bygges av logiske kretser, og igjen ser vi at det er de logiske grunnelem
entene som også danner grunnlaget for de sekvensielle kretsene. De kalles derfor også sekvensielle logiske kretser og teknologien for sekvensiell logikk. Kretsene gjør det mulig å lagre bit og tall samt lage tellere og tidsfunksjoner.
Ut fra antall stabile tilstander deles vipper grovt sett i tre hovedgrupper:
Astabile vipper – har ingen stabile tilstander
Monostabile vipper – har en stabil tilstand
Bistabile vipper – har to stabile tilstander
Astabile vipper
Astabile vipper kan bygges både ved hjelp av analoge og digitale komponenter. En astabil vippe, også kalt astabil multivibrator, fungerer som en svingekrets og pulsgenerator. Frekvensen og periodetiden på svingningene/pulsene er resultat av opplading og utlading av en eller flere kondensatorer gjennom en eller flere resistanser. Dvs. at det er kretsens RC-faktor som bestemmer svingefrekvensen.
Digitale astabile vipper kjennetegnes ved at ingen av de to tilstandene er stabile. Når den er i en stilling, vil den umiddelbart prøve å veksle over i den andre tilstanden, og når den er kommet i den neste tilstanden vil den likeledes prøve å hoppe tilbake i den første tilstanden, og slik vil den fortsette. Resultatet blir at den gir ut et digitalt pulstog når kretsen aktiveres. Dette gjør at den i praksis kan brukes som klokkepulsgenerator, og også her er det RC-komponenter som bestemmer klokkefrekvens, pulslengde og periodetid.
Monostabile vipper
Monostabile vipper har en stabil tilstand, dvs. at så snart den kommer over i sin astabile tilstand, vil den tvinges tilbake i sin stabile tilstand. Ved aktivering (trigging) vil den derfor generere en enkel puls med en viss pulslengde. Pulslengden vil være avhengig av størrelsen på RC-komponentene i kretsen.
Monostabile vipper kan være retriggbare eller ikke-retriggbare. Noen typer kan kobles både som retriggbar og ikke-retriggbar.
Multivibratoren 555
Eksempel på en anvendelig komponent er den digitale multivibratoren med betegnelsen 555. Alt etter hvordan den kobles i en krets, kan den benyttes både som astabil og monostabil vippe. Den kan benyttes i tidsfunksjoner fra noen mikrosekunder til flere timer, og tidsangivelsen er meget stabil og nøyaktig.
Tidsfunksjonen ligger ikke i selve komponenten, men utgjøres av størrelsen på RC-komponenter som tilkobles eksternt. Koblet som astabil vippe vil den ved aktivering generere klokkepulser med en fast frekvens. Det er også mulig å endre kretsens duty cycle (forholdet mellom pulslengde og periodetid).
Koblet som monostabil vippe vil den ved aktivering (trigging) generere en singel puls med en pulslengde som vil være avhengig av størrelsen på de tilkoblede RC-komponentene. Denne pulsen kan eksempelvis brukes som tidsmåler, tidsforsinkelse eller pulsforlenger. Utfyllende informasjon om kretsens anvendelse og virkemåte, samt data og størrelser for tilkoblede komponenter finner du i datablad for kretsen.
Bistabile vipper
Bistabile vipper kjennetegnes ved at de har to stabile tilstander. Vi deler dem gjerne i tre ulike typer avhengig av funksjon og hva de generelt brukes til:
RS-vipper
Datavipper
JK-vipper
I praksis kan man bygge bistabile vipper ved hjelp av logiske porter eller kjøpe dem som egne IC-kretser. Ofte er vipper integrert i IC-kretser sammen med andre komponenter som vi har sett for PLD-kretser. Som vi senere skal se, kan vi ved hjelp av bistabile vipper bl.a. bygge tellere, registre og minnekretser.
Vipper
Vipper deles generelt inn i typer ut fra antall stabile tilstander. Vipper kan således ha ingen, én eller to stabile tilstander, og inndeles på følgende måte:
astabile vipper (ingen stabile tilstander)
monostabile vipper (én stabil tilstand)
bistabile vipper (to stabile tilstander)
Vi kan konstruere vipper ved hjelp av logiske porter, eller vi kan kjøpe dem som ferdige IC-kretser. Vipper kan også være integrert i andre kretser.
Astabile vipper
kjennetegnes ved at ingen av de to tilstandene er stabile
vil i aktiv tilstand svinge med periodiske svingninger mellom de to tilstandene (høy og lav)
svingningene genererer firkantpulser på vippens utgang og kan benyttes som pulsgenerator
kalles også astabil multivibrator
frekvens, periodetid og nyttefaktor (eng. duty cycle) bestemmes av én eller flere motstander og kondensatorer som enten er innebygget i kretsen eller kobles eksternt for å kunne oppnå ønsket frekvens
I prinsippet kan vi bygge en astabil vippe av eksempelvis en NELLER-port, en kondensator og en motstand. Som regel må det flere komponenter til for å oppnå ønsket funksjon.
Pulstog
Et pulstog defineres ut fra frekvens, periodetid, pulslengde og nyttefaktor.
Nyttefaktor eller «duty cycle» er en enhet man ofte finner oppgitt i datablad. Den oppgis som et forholdstall mellom 0 og 1 eller i prosent.
Pulstoget (firkantpulsene) skal som regel benyttes som klokkepuls for andre komponenter. Da er det helst pulsenes flanker (positiv eller negativ flanke) som er mest interessant, vist med henholdsvis oppoverpil og nedoverpil. Vi sier gjerne at en krets trigger på positiv eller negativ flanke.
Monostabile vipper
Monostabile vipper benyttes gjerne når det er behov for å gjøre enkle tidsregistreringer eller tidsendringer i en krets, eksempelvis
tidsmåling
pulsforlenging
Monostabile vipper kan være retriggbare eller ikke-retriggbare. Noen typer kan kobles både som retriggbar og ikke-retriggbar.
Bistabile vipper
Bistabile vipper kan konstrueres ved hjelp av logiske porter.
De bistabile vippene er byggeklosser og danner grunnlag for andre sekvensielle kretser (registre, tellere, frekvensdelere).
De deles gjerne inn i ulike typer avhengig av bruk og funksjon:
RS-vipper
datavipper
JK-vipper
Vippene kan være klokkestyrt, mens noen ikke er klokkestyrt.
RS-vippe
En RS-vippe kan lagre informasjon. Utgang Q blir 1 ved å sette S = 1. Q nullstilles ved å sette R = 1.
Den enkleste bistabile vippen er den såkalte RS-vippen. Den kan vi bygge av eksempelvis to NELLER-porter.
Klokkestyrte vipper
Med klokkestyring kan vi kontrollere og styre tidspunktet for når en vippe skal settes eller resettes.
Bistabile vipper og tegningssymboler
Trekantsymbolet på klokkeinngangen indikerer at vippen er flankestyrt. En iverteringsring i tillegg forteller at den trigger på bakflanke.
Mange bistabile vipper er utstyrt med de to inngangene preset og clear. Ved hjelp av preset kan vippa forhåndsinnstilles i set-mode, det vil si at Q settes høy, mens clear har motsatt funksjon, det vil si at den setter Q lav. Dette kan gjøres uavhengig av klokkepulsen. Disse to inngangene kalles derfor asynkrone innganger.
Datablad 555 astabil/monostabil vippe (timer)
Databladet gir nødvendig fysisk og elektronisk informasjon om kretsen 555.Dette er en krets som kan benyttes både som astabil vippe og monostabil vippe ved å koble den på ulike måter.
Klikk på linken:
http://pdf.datasheetcatalog.com/datasheet/fairchild/NE555.pdf
Datablad datavippe 74HCT377
Dette er en TTL-kompatibel CMOS-krets som inneholder åtte datavipper, og som trigger på klokkepulsens forflanke (positive-edge-triggered). Den har en felles klokkeinngang og en felles aktiveringsinngang (enable). Med åtte datavipper kan vi mellomlagre et åtte bits dataord (en byte).
Klikk på linken:
https://assets.nexperia.com/documents/data-sheet/74HC_HCT377.pdf
JK-vippe
«Vippa som kan brukes til det meste»
JK-vippa har to innganger i tillegg til klokkeinngangen (CLK). De benevnes J og K. De to utgangene kalles gjerne Q og Q invertert. Det vil si at disse utgangene alltid er invertert i forhold til hverandre, slik at når Q er 0, vil Q invertert være 1, og omvendt.
I motsetning til RS-vippa har JK-vippa ingen ulovlige tilstander.
Som vi ser, kan vi bygge en klokkestyrt JK-vippe ved hjelp av to NOG-porter med tre innganger og to NOG-porter med to innganger.
JK-vippe som T-vippe
Det som er spesielt med JK-vippa, er at i tillegg til å fungere som en RS-vippe, har den en funksjon som kalles «toggle». Denne trer i funksjon når både J og K er logisk høy samtidig.
I toggle-modus skifter Q og Q invertert spenningsnivå for hver nye klokkepuls som tilføres. I denne stillingen kalles den også en T-vippe. Funksjonen gjør at JK-vippa er spesielt egnet for bygging av tellere og som frekvensdeler.
JK-vippe, virkemåte
JK-vippe med preset og clear
De fleste ferdigkonstruerte JK-vippene er utstyrt med de to inngangene preset og clear. Ved hjelp av preset kan vippa forhåndsinnstilles i set-mode, det vil si at Q settes høy, mens clear har motsatt funksjon, det vil si at den setter Q lav.
Datablad JK-vippe
Denne kretsen inneholder to separate JK-vipper.
Databladet inneholder alle fysiske og elektriske data om JK-vippen.
Klikk på linken:
https://assets.nexperia.com/documents/data-sheet/HEF4027B.pdf
Oppgaver sekvensielle vipper
Hva er forskjellen på disse vippene: Den ene har en inverteringsring på klokkeinngangen. Den andre har ikke inverteringsring på klokkeinngangen?
Hva vil det si at en JK-vippe er T-koblet, og hvordan virker den da?
Finn datablad for en asynkron og en synkron teller og beskriv forskjellen i oppbygning og funksjon.
Hva menes med at en teller er av type BCD?