State Maskin ?
State Maskin ?
Ska bygga en logikkrets med standardkretsar som levererar enligt state-diagrammet.
Så har jag tagit fram en tabell men vet inte riktigt hur jag ska fylla i utsignalen Y.
A och B är inputs och C motsvarar current state och N next state.
Det kan hända jag gjort fel eller missat något.
Så har jag tagit fram en tabell men vet inte riktigt hur jag ska fylla i utsignalen Y.
A och B är inputs och C motsvarar current state och N next state.
Det kan hända jag gjort fel eller missat något.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: State Maskin ?
Jag tror du har snurrat bort dig lite. Som det är ritat nu är en varje kombination av A och B ett state. D.v.s. cirlarna. Men så beskriver du det inte i texten.
Rita om med en cirkel per state, sen ritar du vilken kombination av A och B som ska ta dig mellan state:n d.v.s. A och B på pilarna. När du är klar med detta kan du rita in vad Y ska vara i varje state.
Edit: eller kanske det är så du vill ha det?
MVH: Mikael
Rita om med en cirkel per state, sen ritar du vilken kombination av A och B som ska ta dig mellan state:n d.v.s. A och B på pilarna. När du är klar med detta kan du rita in vad Y ska vara i varje state.
Edit: eller kanske det är så du vill ha det?
MVH: Mikael
Re: State Maskin ?
Att Y ska vara state beroende på vad A och B har för värde?
Verkar logiskt. Ska rita om.
Verkar logiskt. Ska rita om.
Re: State Maskin ?
Mealy... I varje state kan Y vara både 0 och 1, beroende på vilket state den kom ifrån. Själv är jag mer bekant med Moore, där utgångarna är beroende enbart av state och förflyttningar mellan state är rena förflyttningar, utan ändring av utgångar.
Loop back bågarna brukar vara underförstådda, som produkten (and) av negationerna av övriga utgående bågar. Nuvarande loop back bågar verkar gälla, när båda verkliga utgående gäller och skall tydligen ges prioritet? Kanske kunde vara tydligare, om både A och B kraven nämdes på samtliga utgående, där man byter state.
Loop back bågarna brukar vara underförstådda, som produkten (and) av negationerna av övriga utgående bågar. Nuvarande loop back bågar verkar gälla, när båda verkliga utgående gäller och skall tydligen ges prioritet? Kanske kunde vara tydligare, om både A och B kraven nämdes på samtliga utgående, där man byter state.
Re: State Maskin ?
Jag har analyserat ingångsvärdena A och B mer noga nu.
Det hela går ut på att jag har 2 st läsgafflar där den ena är monterad lite förskjuten,
något mer eller mindre än 90 grader.
Det ger ett antal olika fall beroende på hur skivan snurrar.
2 basic fall är rotation åt ena eller andra hållet.
2 fall där rotationen växlar och ena sensorn växlar signal, rotationen ändras då hålet i skivan är mitt för sensorn,
2 fall om rotationen står och växlar så det endast påverkar den ena sensorn.
Y är utsignalen som talar om rotationsriktningen.
Så om jag ritar ett statediagram med Y som state ska det bli enligt schemat.
Två klipp som jag tror mig kunna ha hjälp av:
Det hela går ut på att jag har 2 st läsgafflar där den ena är monterad lite förskjuten,
något mer eller mindre än 90 grader.
Det ger ett antal olika fall beroende på hur skivan snurrar.
2 basic fall är rotation åt ena eller andra hållet.
2 fall där rotationen växlar och ena sensorn växlar signal, rotationen ändras då hålet i skivan är mitt för sensorn,
2 fall om rotationen står och växlar så det endast påverkar den ena sensorn.
Y är utsignalen som talar om rotationsriktningen.
Så om jag ritar ett statediagram med Y som state ska det bli enligt schemat.
Två klipp som jag tror mig kunna ha hjälp av:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: State Maskin ?
Om jag nu uppfattat det hela korrekt så har jag 8st state som måste ha ett eget id.
Kan jag använda 3st vippor, exempelvis JK-vippor att representera x, y och z ?
Det är 24 olika pilar i state-diagrammet och jag får en tabell med 24 rader.
Kan jag använda 3st vippor, exempelvis JK-vippor att representera x, y och z ?
Det är 24 olika pilar i state-diagrammet och jag får en tabell med 24 rader.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: State Maskin ?
Ja, det är väl rätt uppenbart att varje tillstånd måste ha ett eget ID? Hur ska du annars veta vilket tillstånd du befinner dig i? Det handlar ju i grunden om att maskinen på nåt så måste komma ihåg vilket tillstånd den befinner sig i. Den behöver alltså nån slags minne.
Vippor brukar väl vara det normala sättet att lösa detta.
Sen brukar man ju försöka förenkla det hela, jag har glömt vad diagrammen heter där man försöker förenkla villkoren... Man tittar efter mönster i villkoren för att förenkla.
Vippor brukar väl vara det normala sättet att lösa detta.
Sen brukar man ju försöka förenkla det hela, jag har glömt vad diagrammen heter där man försöker förenkla villkoren... Man tittar efter mönster i villkoren för att förenkla.
Re: State Maskin ?
Karnaugh-diagram. Men med 5 variabler blir det knöligt.
Tyvärr blir boolska utrycken inte så kul i detta fall men det finns online tabeller att fylla i som ger minimiformer.
x+ ger en 5-grinds OR med mellan 3 och 5-grinds AND/NAND och inverterare alternativt NAND
y+ en 7-grinds OR med mellan 3 och 5-grinds AND och inverterare alternativt NAND
z+ en 8-grinds OR med 4-grinds AND och inverterare alternativt NAND
Exempelvis z+ ser ut så här:
~x~ya~b + ~x~yz~b + ~xy~ab + xy~a~b + ~xyzb + x~yab + x~yzb + xyz~b
NAND-Logik
(a NAND NOT b) NAND (a NAND x NAND NOT y) NAND (NOT a NAND b NAND y) NAND (NOT a NAND x NAND y) NAND (NOT a NAND x NAND z) NAND (NOT b NAND z) NAND (NOT x NAND y NAND z)
NOR-Logik
(NOT a NOR NOT b NOR NOT x NOR NOT y) NOR (NOT a NOR NOT b NOR x NOR z) NOR (a NOR b NOR x NOR z) NOR (a NOR y NOR z) NOR (NOT b NOR x NOR y)
Fast det borde jag kanske testa i någon simulator.
Tyvärr blir boolska utrycken inte så kul i detta fall men det finns online tabeller att fylla i som ger minimiformer.
x+ ger en 5-grinds OR med mellan 3 och 5-grinds AND/NAND och inverterare alternativt NAND
y+ en 7-grinds OR med mellan 3 och 5-grinds AND och inverterare alternativt NAND
z+ en 8-grinds OR med 4-grinds AND och inverterare alternativt NAND
Exempelvis z+ ser ut så här:
~x~ya~b + ~x~yz~b + ~xy~ab + xy~a~b + ~xyzb + x~yab + x~yzb + xyz~b
NAND-Logik
(a NAND NOT b) NAND (a NAND x NAND NOT y) NAND (NOT a NAND b NAND y) NAND (NOT a NAND x NAND y) NAND (NOT a NAND x NAND z) NAND (NOT b NAND z) NAND (NOT x NAND y NAND z)
NOR-Logik
(NOT a NOR NOT b NOR NOT x NOR NOT y) NOR (NOT a NOR NOT b NOR x NOR z) NOR (a NOR b NOR x NOR z) NOR (a NOR y NOR z) NOR (NOT b NOR x NOR y)
Fast det borde jag kanske testa i någon simulator.
Re: State Maskin ?
Fick tag i ett riktigt program.
x+
xplus = x' y' z' a' b + x' y' z a' b' + x' y z' a b' + x' y z a b + x y' z' a b + x y' z a b' + x y' z a b + x y z' a' b' + x y z' a' b + x y z' a b' + x y z a' b' + x y z a' b;
Minimized:
xplus = x y a' + x y' z a + x y' a b + y z' a b' + x' y z a b + x' y' z' a' b + x' y' z a' b';
y+
yplus = x' y' z a' b' + x' y' z a b + x' y z' a' b + x' y z' a b' + x' y z' a b + x' y z a' b + x y' z a' b + x y' z a b' + x y z' a' b' + x y z' a b' + x y z' a b + x y z a' b';
Minimized:
yplus = y z' a + x' y a' b + x y a' b' + x' y' z a b + x y' z a' b + x y' z a b' + x' y' z a' b';
z+
zplus = x' y' z' a b' + x' y' z a' b' + x' y' z a b' + x' y z' a' b + x' y z a' b + x' y z a b + x y' z' a b + x y' z a' b + x y' z a b + x y z' a' b' + x y z a' b' + x y z a b';
Minimized:
zplus = x' y z b + x y' z b + x y' a b + x' y a' b + x y z b' + x' y' z b' + x' y' a b' + x y a' b';
x+
xplus = x' y' z' a' b + x' y' z a' b' + x' y z' a b' + x' y z a b + x y' z' a b + x y' z a b' + x y' z a b + x y z' a' b' + x y z' a' b + x y z' a b' + x y z a' b' + x y z a' b;
Minimized:
xplus = x y a' + x y' z a + x y' a b + y z' a b' + x' y z a b + x' y' z' a' b + x' y' z a' b';
y+
yplus = x' y' z a' b' + x' y' z a b + x' y z' a' b + x' y z' a b' + x' y z' a b + x' y z a' b + x y' z a' b + x y' z a b' + x y z' a' b' + x y z' a b' + x y z' a b + x y z a' b';
Minimized:
yplus = y z' a + x' y a' b + x y a' b' + x' y' z a b + x y' z a' b + x y' z a b' + x' y' z a' b';
z+
zplus = x' y' z' a b' + x' y' z a' b' + x' y' z a b' + x' y z' a' b + x' y z a' b + x' y z a b + x y' z' a b + x y' z a' b + x y' z a b + x y z' a' b' + x y z a' b' + x y z a b';
Minimized:
zplus = x' y z b + x y' z b + x y' a b + x' y a' b + x y z b' + x' y' z b' + x' y' a b' + x y a' b';
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: State Maskin ?
Jag kollade klippet på youtube.
Maskinen ska alltså ha dessa 2 block och sedan återkopplat.
Utsignalen Y är helt enkelt inverterade värdet av xplus.
D-vippor blir nog bra. 3 stycken.
Det skulle gå bra att använda Arduino som state maskin.
Vet inte riktigt hur det ska gå till bara.
Jag måste i vilket fall avsätta 2 digitala pinnar som ingång för A och B och eventuellt en utgång för X.
Resten ska väl kunna fixas till i koden?
Maskinen ska alltså ha dessa 2 block och sedan återkopplat.
Utsignalen Y är helt enkelt inverterade värdet av xplus.
D-vippor blir nog bra. 3 stycken.
Det skulle gå bra att använda Arduino som state maskin.
Vet inte riktigt hur det ska gå till bara.
Jag måste i vilket fall avsätta 2 digitala pinnar som ingång för A och B och eventuellt en utgång för X.
Resten ska väl kunna fixas till i koden?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: State Maskin ?
Ja, men poängen med karnaughdiagrammen är att förenkla de där rutorna "logik".
Ibland kan det bli så så enkelt som att bara en eller två av ingångarna används.
Men ska du koda det på en Arduino finns det bättre sätt att göra det, t.ex. switch-case för varje state och så lite if-satser inom varje case-block.
Ett snabb framgooglat exempel (de första exemplen på sidan är lite väl enkla dock, men scrolla ner lite).
https://blogs.itemis.com/en/how-to-use- ... -statement
Ibland kan det bli så så enkelt som att bara en eller två av ingångarna används.
Men ska du koda det på en Arduino finns det bättre sätt att göra det, t.ex. switch-case för varje state och så lite if-satser inom varje case-block.
Ett snabb framgooglat exempel (de första exemplen på sidan är lite väl enkla dock, men scrolla ner lite).
https://blogs.itemis.com/en/how-to-use- ... -statement
Re: State Maskin ?
Om jag har en statemaskin på aurdinon så blir det nog tvunget att köra den som en egen tråd. Jag ska ha den till annat samtidigt.
Det hela verkar vara orimligt komplicerat bara för ta reda på rotationsriktningen men de flesta frågor rörande detta har liknande lösningar. Dock en som påstod att det går lösa med en jk-vippa eller två.
För att lösa logiken krävs minst 15 ST ic-kapslar standardkapslar. NOR- OR- och NAND-grindar.
Det hela verkar vara orimligt komplicerat bara för ta reda på rotationsriktningen men de flesta frågor rörande detta har liknande lösningar. Dock en som påstod att det går lösa med en jk-vippa eller två.
För att lösa logiken krävs minst 15 ST ic-kapslar standardkapslar. NOR- OR- och NAND-grindar.
Re: State Maskin ?
Om du använder den ena signalen som flank-triggad klocka och den andra som data till en D-vippa så kommer den att indikera riktningen. Dock är problemet att det blir lite eftersläpning, så vill du ha puls på varje flank blir det krångligare.
Men om du enbart vill ha en riktningssignal (som kan få vara lite fördröjd) räcker det med en flanktriggad D-vippa.
Kolla här t.ex.
https://electronics.stackexchange.com/q ... een-turned
Men om du enbart vill ha en riktningssignal (som kan få vara lite fördröjd) räcker det med en flanktriggad D-vippa.
Kolla här t.ex.
https://electronics.stackexchange.com/q ... een-turned