State Maskin ?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

State Maskin ?

Inlägg av 4kTRB »

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.
StateDiagram.png
StateTable.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
adent
Inlägg: 4100
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: State Maskin ?

Inlägg av adent »

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
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Att Y ska vara state beroende på vad A och B har för värde?
Verkar logiskt. Ska rita om.
Användarvisningsbild
rvl
Inlägg: 5780
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: State Maskin ?

Inlägg av rvl »

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.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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:


SM_Sensor_000.png
SM_Diagram_000.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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.
SM_Tabell_000.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nerre
Inlägg: 26697
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: State Maskin ?

Inlägg av Nerre »

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.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

Den där räknaren jag använde var inget bra.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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';
xplus.png
yplus.png
zplus.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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.
SM_Block.png
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.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1339
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: State Maskin ?

Inlägg av baron3d »

Skall bara tipsa om att du kan använda 74HC151 för en del logik.
Nerre
Inlägg: 26697
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: State Maskin ?

Inlägg av Nerre »

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
Användarvisningsbild
4kTRB
Inlägg: 18358
Blev medlem: 16 augusti 2009, 19:04:48

Re: State Maskin ?

Inlägg av 4kTRB »

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.
Nerre
Inlägg: 26697
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: State Maskin ?

Inlägg av Nerre »

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
Skriv svar