50 svar
681 visningar
filipsrbin behöver inte mer hjälp
filipsrbin 309
Postad: 1 jan 2022 14:58

Vippor i en krets

Hej!

Skulle behöva lite hjälp med förståelsen för denna krets.

I och med att det är NAND-grindar så kommer det ge följande:

De första fem NAND-grindar ger alla en etta. 

Dessa ettor kommer vidare till nästa NAND-grindar och inverteras där till nollor. 

Här tar det stop för jag inte riktigt förstår hur jag ska göra om det är 3 aktiverade vippor?

Jag kan logiken för vippor, men blir lite osäker när jag har med flera vippor att göra.

Laguna Online 30479
Postad: 1 jan 2022 15:04

Titta på en vippa i taget. De är oberoende av varandra.

filipsrbin 309
Postad: 1 jan 2022 15:10
Laguna skrev:

Titta på en vippa i taget. De är oberoende av varandra.

Det är för att alla vippor får var sin inkoppling va? Däremot fattar jag inte riktigt det där högst uppe i kretsen, med CLK och RESET.. Det här är hela uppgiften: 

Jag är med på hur vippor fungerar och hur D-vippor fungerar osv. Men jag har svårt att se kopplingen i denna krets bara och hur en sån tabell skulle se ut

filipsrbin 309
Postad: 1 jan 2022 15:12

Jag använder ORCAD och har då gjort en sån här krets: 

Den är kopplad som på bilden men det är sista biten jag inte fattar

Laguna Online 30479
Postad: 1 jan 2022 15:36

Gör en tabell med åtta rader, en för varje möjligt val av insignaler. Skriv på varje rad vad utsignalerna blir.

Jag vet inte riktigt vad du är osäker på. CLK är en periodisk puls. När pulsen sker så får utsignalen från en vippa insignalens värde. Den utsignalen blir sedan insignal till vänster.

filipsrbin 309
Postad: 1 jan 2022 15:47
Laguna skrev:

Gör en tabell med åtta rader, en för varje möjligt val av insignaler. Skriv på varje rad vad utsignalerna blir.

Jag vet inte riktigt vad du är osäker på. CLK är en periodisk puls. När pulsen sker så får utsignalen från en vippa insignalens värde. Den utsignalen blir sedan insignal till vänster.

Jo precis, och det har jag gjort men jag är inte riktigt med på det här med utsignalerna. Nu har jag ju tre olika insignaler, och den där Q2spökar lite i mitt huvud. Vad exakt innebär Q2+ ? Är det vilket läge vippan hamnar i? 

Laguna Online 30479
Postad: 1 jan 2022 15:49

Var står det Q2+?

filipsrbin 309
Postad: 1 jan 2022 15:50
Laguna skrev:

Var står det Q2+?

Laguna Online 30479
Postad: 1 jan 2022 15:52

Aha, där. De har väl gett namnet med plustecken åt nästa insignal, vilket är utsignal från en vippa, vilket är vippans förra insignal.

filipsrbin 309
Postad: 1 jan 2022 15:58
Laguna skrev:

Aha, där. De har väl gett namnet med plustecken åt nästa insignal, vilket är utsignal från en vippa, vilket är vippans förra insignal.

Misstänkte att det var så. Men i själv tabellen jag ska göra, då är vipporna alltså inte beroende av varandra? 

Laguna Online 30479
Postad: 1 jan 2022 16:03

Q1+ är en funktion av Q1, Q2 och Q3.

Q2+ är en funktion av Q1, Q2 och Q3. 

Q3+ är en funktion av Q1, Q2 och Q3.

ThomasN 2072
Postad: 1 jan 2022 17:35

Jag tittade på ditt ORCAD-schema och där är några saker som jag tycker inte stämmer överens med originalschemat.
(Ska du simulera i ORCAD?)
Det ser ut som du kallat tre likadana oscillatorer till Q0, Q1 och Q2 men det är utsignalerna från vipporna som ska kopplas hit. Varje vippa har ju en icke inverterad utsignal Q och en inverterad utsignal notQ

Sedan är en utsignal från grind U4A kopplad till klockingången på den översta vippan.
De tre utsignalerna från grindnätet ska kopplas till D-ingångarna på vipporna. En klocksignal från en oscillator ska kopplas till CLK-ingången på alla vipporna.

D-ingången bestämmer ju vad vippans tillstånd blir efter en positiv flank på CLK-ingången.
T.ex. om det är en 1:a på D så kommer Q att bli 1 och notQ att bli 0.
Det enklaste exemplet är den nedersta vippan. Den har sin egen notQ som insignal på D-ingången och det innebär att den kommer slå om vid varje positiv flank på CLK.

filipsrbin 309
Postad: 1 jan 2022 17:48 Redigerad: 1 jan 2022 17:48
ThomasN skrev:

Jag tittade på ditt ORCAD-schema och där är några saker som jag tycker inte stämmer överens med originalschemat.
(Ska du simulera i ORCAD?)
Det ser ut som du kallat tre likadana oscillatorer till Q0, Q1 och Q2 men det är utsignalerna från vipporna som ska kopplas hit. Varje vippa har ju en icke inverterad utsignal Q och en inverterad utsignal notQ

Sedan är en utsignal från grind U4A kopplad till klockingången på den översta vippan.
De tre utsignalerna från grindnätet ska kopplas till D-ingångarna på vipporna. En klocksignal från en oscillator ska kopplas till CLK-ingången på alla vipporna.

D-ingången bestämmer ju vad vippans tillstånd blir efter en positiv flank på CLK-ingången.
T.ex. om det är en 1:a på D så kommer Q att bli 1 och notQ att bli 0.
Det enklaste exemplet är den nedersta vippan. Den har sin egen notQ som insignal på D-ingången och det innebär att den kommer slå om vid varje positiv flank på CLK.

Hej, det stämmer! 
Egentligen behöver jag inte göra denna krets i ORCAD eftersom jag bara ska analysera den, men jag vill helst sätta upp den i ORCAD för jag lär mig bäst så. Såhär är det kopplat just nu:

Om jag då förstår dig rätt så är det alltså notQ från vippan där nere t.ex. som ska kopplas runt och tillbaka såhär? Eller har jag missuppfattat?

Gällande U4A, kollade nu och vad jag kan se så är den inklopplad till D medans DSTM1 är inkopplad till respektive CLK i de oliak vipporna. 

ThomasN 2072
Postad: 1 jan 2022 18:18 Redigerad: 1 jan 2022 18:21

Jag har lite svårt att följa ditt schema. Jag tror att du kan ta bort oscillatorerna till vänster och även inverterarna. Du har ju tillgång till både Q och notQ från vipporna.

En av de fyra vipporna i originalschemat används ju inte. Vilken motsvarar det i ditt schema? Är det Q1, som inte har någon insignal på D-ingången?

notQ0 ska kopplas både till grindarna och till D-ingången på Q0.

filipsrbin 309
Postad: 1 jan 2022 18:35
ThomasN skrev:

Jag har lite svårt att följa ditt schema. Jag tror att du kan ta bort oscillatorerna till vänster och även inverterarna. Du har ju tillgång till både Q och notQ från vipporna.

En av de fyra vipporna i originalschemat används ju inte. Vilken motsvarar det i ditt schema? Är det Q1, som inte har någon insignal på D-ingången?

notQ0 ska kopplas både till grindarna och till D-ingången på Q0.

Ber om ursäkt för det, att rita ett kretsschema är något jag jobbar på hehe. Det stämmer att det är Q1 där som inte har en insignal. 

När du säger att notQ och Q kan kopplas till grindarna, menar du då att jag ska dra wires från t.ex. notQ i Q2-vippan och då dra den till en av NAND-grindarna? 

Provade rita om utifrån hur jag tolkade som att du menade och fick fram detta: 

ThomasN 2072
Postad: 1 jan 2022 18:48

Tjusigt!

Så vitt jag kan se så stämmer det. Tycker ORCAD ser också? 

filipsrbin 309
Postad: 1 jan 2022 18:51
ThomasN skrev:

Tjusigt!

Så vitt jag kan se så stämmer det. Tycker ORCAD ser också? 

Tack! ORCAD verkar dock inte hålla med :( 
Inget händer här, men jag undrar om det inte kan ha med min simulationsprofil att göra och klockfrekvensen? 

Min run to time är satt till 3000ns, och i kretsen har DSTM1 offtime 0,5s , ontime 0,5s och delay 0,5s. Kan det vara problemet?

ThomasN 2072
Postad: 1 jan 2022 19:16

Oj, ja det är nog inte mycket man ser på 3000ns.

Sätt runtime till mer än cykeltiden för klockan. Ett antal gånger längre. 

filipsrbin 309
Postad: 1 jan 2022 20:18
ThomasN skrev:

Oj, ja det är nog inte mycket man ser på 3000ns.

Sätt runtime till mer än cykeltiden för klockan. Ett antal gånger längre. 

Provade sätta run to time till 3sek och fick nu följande resultat. Känns ju lite bättre i alla fall. 

Dock är ju lite konfundersam kring hur en tabell skulle se ut med denna? 

ThomasN 2072
Postad: 2 jan 2022 00:38
filipsrbin skrev:
Laguna skrev:

Titta på en vippa i taget. De är oberoende av varandra.

Det är för att alla vippor får var sin inkoppling va? Däremot fattar jag inte riktigt det där högst uppe i kretsen, med CLK och RESET.. Det här är hela uppgiften: 

Jag är med på hur vippor fungerar och hur D-vippor fungerar osv. Men jag har svårt att se kopplingen i denna krets bara och hur en sån tabell skulle se ut

Om jag fattat rätt så ska du göra en tabell för Q2+, Q1+ och Q0+ och därifrån rita ett tillståndsdiagram.
Q2+ är samma sak som D-ingången på Q-vippan och kallas för "nästa tillståndsvariabeln". (I alla fall när jag fick lära mig detta). Detta är ju "bara" Boolesk algebra". En tabell för Q2+ ser ut i stil med denna:

Jag var lat och fyllde bara i första raden :-)
Det blir alltså två tabeller, Q0+ är ju busenkel, den blir ju bara Q0+ = notQ0.

För att göra ett tillståndsdiagram så får man ta steg för steg och se vad nästa tillstånd blir. Börja med Q2, Q1, Q0 = 000, (dvs nollställning) och läs av alla Q+. Detta blir vad vipporna hamnar vid nästa klockflank.

En början på detta kan se ut så här ungefär:

Detta kan du jämföra med ORCAD-simuleringen.
Men ta och städa den lite först. Du har fyra klockor som är desamma men bara en vippa.

filipsrbin 309
Postad: 2 jan 2022 10:59
ThomasN skrev:
filipsrbin skrev:
Laguna skrev:

Titta på en vippa i taget. De är oberoende av varandra.

Det är för att alla vippor får var sin inkoppling va? Däremot fattar jag inte riktigt det där högst uppe i kretsen, med CLK och RESET.. Det här är hela uppgiften: 

Jag är med på hur vippor fungerar och hur D-vippor fungerar osv. Men jag har svårt att se kopplingen i denna krets bara och hur en sån tabell skulle se ut

Om jag fattat rätt så ska du göra en tabell för Q2+, Q1+ och Q0+ och därifrån rita ett tillståndsdiagram.
Q2+ är samma sak som D-ingången på Q-vippan och kallas för "nästa tillståndsvariabeln". (I alla fall när jag fick lära mig detta). Detta är ju "bara" Boolesk algebra". En tabell för Q2+ ser ut i stil med denna:

Jag var lat och fyllde bara i första raden :-)
Det blir alltså två tabeller, Q0+ är ju busenkel, den blir ju bara Q0+ = notQ0.

För att göra ett tillståndsdiagram så får man ta steg för steg och se vad nästa tillstånd blir. Börja med Q2, Q1, Q0 = 000, (dvs nollställning) och läs av alla Q+. Detta blir vad vipporna hamnar vid nästa klockflank.

En början på detta kan se ut så här ungefär:

Detta kan du jämföra med ORCAD-simuleringen.
Men ta och städa den lite först. Du har fyra klockor som är desamma men bara en vippa.

Tack för att du tar tiden för att svara så utförligt!
Vill verkligen att det här ska sitta ordentligt så har några följdfrågor.

Q2+ är då alltså det som färdas genom första NAND-grinden och sedan den andra NAND-grinden? 

För i det fallet borde Q1vara not((notQ2 * notQ0) * (notQ1 * Q0)), kan det stämma? 

 

Och sedan undrar jag bara över det sista du menade. Har jag inte bara en klocka i ORCAD och fyra vippor? 

ThomasN 2072
Postad: 2 jan 2022 11:32

Ja Q2+ är resultatet av signalerna till de tre översta grindarna i vänstra kolumnen samt den övre grinden i högra kolumnen.

Q1+, stämmer bra.

Schemat är helt OK. Vad jag menade var att rensa lite i visning av signaler i tidsdiagrammet så det är lättare att se. Där finns fyra Q2A:clock. Det finns bara en utgång från vipporna (Q2bar) men man vill nog helst se Q2, Q1 och Q0.

filipsrbin 309
Postad: 2 jan 2022 11:52
ThomasN skrev:

Ja Q2+ är resultatet av signalerna till de tre översta grindarna i vänstra kolumnen samt den övre grinden i högra kolumnen.

Q1+, stämmer bra.

Schemat är helt OK. Vad jag menade var att rensa lite i visning av signaler i tidsdiagrammet så det är lättare att se. Där finns fyra Q2A:clock. Det finns bara en utgång från vipporna (Q2bar) men man vill nog helst se Q2, Q1 och Q0.

Okej toppen!

Det jag dock inte är 100% med på är hur jag får till 1:an i sanningstabellen. 

I schemat just nu så får jag ständigt bara 0 från Q och 1 från notQ (på alla, dvs. Q2, Q1 och Q0).

Tar jag den första du räknade ut där, när alla Q = 0 så får jag :

1((1*0*0) * (1*1) * (0 * 1)) = 0. Så där hänger jag inte riktigt med. 

 

Rensade lite i schemat, hade satt ut lite för många voltage/level markers hehe. 

ThomasN 2072
Postad: 2 jan 2022 13:55

I uttrycket för Q2+ så står not(......). Det innebär att resultatet för uttrycket inom parentesen ska inverteras. NAND-grinden som matar vippans D-ingång har ju inverterad utgång.

filipsrbin 309
Postad: 2 jan 2022 14:28
ThomasN skrev:

I uttrycket för Q2+ så står not(......). Det innebär att resultatet för uttrycket inom parentesen ska inverteras. NAND-grinden som matar vippans D-ingång har ju inverterad utgång.

Dum miss av mig, tack för förtydligande!

Jag tror jag har koll på det mesta nu, men en sak som jag verkligen inte kan greppa riktigt är det där med tabellen. 

I en krets jag gjorde förut så kunde jag sätta de olika ingångarna Q till 0 eller 1, och då kunde jag ju enkelt få reda på utgången för t.ex. 101.

Men i denna krets vet jag inte hur jag ska styra det riktigt?

Hur gör jag så kretsen ingångar är 101 t.ex? 

Det finns ju 8 utfall då det är 3 stycken variabler. Hur ställer jag in kretsen till de andra 7? Detta är nog det jag har absolut svårast med att först när det kommer till D-vippor

filipsrbin 309
Postad: 2 jan 2022 16:07

Provade göra något nu så fick följande tabell för Q2+:

Vi konstaterade att Q2+ var not((notQ2*Q1*Q0)*(notQ1*notQ0)*(Q2*notQ1)).

Det jag försökte göra då var att, om jag t.ex. skulle kolla vad Q2+ blev när Q2Q1Q0 var 1 0 1, då stoppade jag in 1 där jag hade Q2 och 0 där jag hade notQ2 osv. 

Så där Q2Q1Q0 var 1 0 1 fick jag följande:

not((0*0*1)*(1*0)*(1*1) = not(0) = 1.

Jag gjorde såhär för alla 8 varianter och alla fick att Q2+ = 1, oavsett värde på ingång.

ThomasN 2072
Postad: 2 jan 2022 17:27

Ahhh, jag tror jag har lurat dig!

Jag missade inverteringen på utgången av de vänstra NAND-grindarna. Q2+ ska bli något sånt här:

Bäst du kollar upp Q1+ också.

filipsrbin 309
Postad: 2 jan 2022 18:40 Redigerad: 2 jan 2022 18:52
ThomasN skrev:

Ahhh, jag tror jag har lurat dig!

Jag missade inverteringen på utgången av de vänstra NAND-grindarna. Q2+ ska bli något sånt här:

Bäst du kollar upp Q1+ också.

Ah, ja det känns mer rimligt nu haha! Inget du lurat mig för, jag borde ju kunnat uppmärksamma det med!

Men toppen, då är jag med på den. 

För Q1+ har jag fått : not(not(notQ2*notQ0)*not(notQ1*Q0)). Kan det stämma? 

Fick en sanningstabell för Q1+:

Laguna Online 30479
Postad: 2 jan 2022 19:12

Sen är det Q0+ kvar. Skriv alla tre på samma rad så det är lätt att läsa av.


Tillägg: 2 jan 2022 19:33

011 borde också ge Q2+ = 1.

filipsrbin 309
Postad: 2 jan 2022 20:16
Laguna skrev:

Sen är det Q0+ kvar. Skriv alla tre på samma rad så det är lätt att läsa av.

Sådär, hur ser detta ut?

filipsrbin 309
Postad: 2 jan 2022 20:23
Laguna skrev:

Sen är det Q0+ kvar. Skriv alla tre på samma rad så det är lätt att läsa av.


Tillägg: 2 jan 2022 19:33

011 borde också ge Q2+ = 1.

Hur fick du till att 011 på Q2+ = 1?

Laguna Online 30479
Postad: 2 jan 2022 20:27

Översta nand-grinden till vänster.

filipsrbin 309
Postad: 2 jan 2022 21:31
Laguna skrev:

Översta nand-grinden till vänster.

Japp, stämmer, jag som räknade fel, tack! 

Provar igen nu och denna gång skall jag ha räknat rätt:

Laguna Online 30479
Postad: 2 jan 2022 21:40

Jag tyckte att de andra raderna för Q2+ var rätt.

ThomasN 2072
Postad: 3 jan 2022 01:38

Jag håller med Laguna, för insignalen 011 blir Q2+ = 1. Ännu en tabbe av mig.

Q1+ och Q0+ tycker jag stämmer. Vad nu min åsikt kan vara värd :-)

Tur det finns simulatorer. Öka på runtime på den så man kan se fler tillstånd.

Laguna Online 30479
Postad: 3 jan 2022 08:32

Vet du vad ett tillståndsdiagram är? Du kan göra ett sådant nu, utgående från tabellen.

filipsrbin 309
Postad: 3 jan 2022 11:08
ThomasN skrev:

Jag håller med Laguna, för insignalen 011 blir Q2+ = 1. Ännu en tabbe av mig.

Q1+ och Q0+ tycker jag stämmer. Vad nu min åsikt kan vara värd :-)

Tur det finns simulatorer. Öka på runtime på den så man kan se fler tillstånd.

Du har ju hjälp mig otroligt mycket så helt klart!

Här kommer en runtime på 6s: 

Klockfrekvensen ligger ju på 0,5s. Om jag läser grafen rätt nu så innebär det att Q2Q1Q0 alla reagerar likadant. 

filipsrbin 309
Postad: 3 jan 2022 11:13
Laguna skrev:

Vet du vad ett tillståndsdiagram är? Du kan göra ett sådant nu, utgående från tabellen.

Jag vet vad det är, men ganska osäker på hur jag ska göra ett när jag har tre stycken ingångar :/. Såhär har jag ritat den i alla fall

Laguna Online 30479
Postad: 3 jan 2022 12:29

Nu har du inte använt tabellen. Från 000 går vi till 011, t.ex.

filipsrbin 309
Postad: 3 jan 2022 12:41
Laguna skrev:

Nu har du inte använt tabellen. Från 000 går vi till 011, t.ex.

Hänger inte riktigt med på det. Är det inte att man går från första tillståndet för Q2Q1Q0 till första tillståendet för Q2+Q1+Q0+ ?

Laguna Online 30479
Postad: 3 jan 2022 13:58

Att Q2+Q1+Q0+ = 011 betyder att Q2Q1Q0 blir 011 i nästa steg.

ThomasN 2072
Postad: 3 jan 2022 17:30

Din senaste tabell för Q2+ får jag inte att stämma. Den förra var rätt så när som på att Q2Q1Q0 =011 ska ge Q2+Q1+Q0+ = 100.
Dvs på fjärde raden ska Q2+ bli en etta.

När du sedan ritar upp ditt tillståndsdiagram, börja med 000 och se vad nästa tillstånd (Q2+Q1+Q0+) blir, i detta fallet 111. När en positiv flank på klockan kommer så kommer vipporna att ställa sig så. Sen får man kolla på 111 och se vad nästa tillstånd blir här osv.

Det märkliga är, som din simulering också visar, att vipporna kommer bara att hoppa mellan 000 och 111. Jag satte upp en simulering i LTSPICE (jag har inte ORCAD) och det ger samma resultat.

filipsrbin 309
Postad: 3 jan 2022 17:59
ThomasN skrev:

Din senaste tabell för Q2+ får jag inte att stämma. Den förra var rätt så när som på att Q2Q1Q0 =011 ska ge Q2+Q1+Q0+ = 100.
Dvs på fjärde raden ska Q2+ bli en etta.

När du sedan ritar upp ditt tillståndsdiagram, börja med 000 och se vad nästa tillstånd (Q2+Q1+Q0+) blir, i detta fallet 111. När en positiv flank på klockan kommer så kommer vipporna att ställa sig så. Sen får man kolla på 111 och se vad nästa tillstånd blir här osv.

Det märkliga är, som din simulering också visar, att vipporna kommer bara att hoppa mellan 000 och 111. Jag satte upp en simulering i LTSPICE (jag har inte ORCAD) och det ger samma resultat.

Aej precis, den korrekta är denna:

Okej tack för förklaring. 

Men innebär inte det då att jag endast har två olika tillstånd? Dvs. 000 och 111, i och med att mina vippor beter sig så? 

filipsrbin 309
Postad: 3 jan 2022 18:03
Laguna skrev:

Att Q2+Q1+Q0+ = 011 betyder att Q2Q1Q0 blir 011 i nästa steg.

Svarade i ett svar längre ner, men om du kikar på min bild jag la upp nyss så är det den korrekta tabellen. 

Ah, nu ser jag mönstret.. Och när Q2+Q1+Q0+ är 100 kommer Q2Q1Q0 att vara 100 också, och då fortsätter det vidare. 

Så egentligen, av att kolla på min tabell, så ligger Q2+Q1+Q0+ alltid "ett steg" före Q2Q1Q0, har jag förstått det rätt då?

Laguna Online 30479
Postad: 3 jan 2022 18:06

Rita tillståndsdiagrammet.

filipsrbin 309
Postad: 3 jan 2022 18:17
Laguna skrev:

Rita tillståndsdiagrammet.

Såhär har jag tolkat det. Jag har ju bara två olika tillstånd. 

Laguna Online 30479
Postad: 3 jan 2022 18:21

Det räcker att ha med varje tillstånd bara en gång. Du kan rita resten av tillstånden också, för fullständighetens skull, även om konstruktionen inte kan hamna i dem.

filipsrbin 309
Postad: 3 jan 2022 18:22
Laguna skrev:

Det räcker att ha med varje tillstånd bara en gång. Du kan rita resten av tillstånden också, för fullständighetens skull, även om konstruktionen inte kan hamna i dem.

Okej! Men har jag förstått det rätt med att denna krets enbart har två tillstånd? 

ThomasN 2072
Postad: 4 jan 2022 00:24

Ja, det stämmer. Det är en konstig maskin. Det hade räckt med den nedersta vippan, och inga grindar. 

filipsrbin 309
Postad: 4 jan 2022 13:36
ThomasN skrev:

Ja, det stämmer. Det är en konstig maskin. Det hade räckt med den nedersta vippan, och inga grindar. 

Om jag säger såhär då: 

"Konstruktionen är tänkt att fungera som en tärning (alltså räkna 1, 2, 3, 4, 5, 6, 1, 2, ...), men
innehåller ett allvarligt fel, vilket i en PLD med automatisk Power-on-reset (alltså där samtliga vippor
nollställs vid start) skulle ge felfunktion direkt".

Troligtvis därför den fungerar som den gör. Kan dock inte riktigt ge en förklaring varför det är så för att min kunskap fortfarande begränsar mig hehe

Laguna Online 30479
Postad: 4 jan 2022 15:06

Om man nu orkar rita det där tillståndsdiagrammet så får man

000 -> 111 -> 000
001 -> 010 -> 011 -> 100 -> 101 -> 110 -> 001

Dvs. bara man börjar på 001 så funkar "tärningen", men vid reset så blir ju allt 0.

Svara
Close