www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Finite State Machine

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Proteus
Član
Član



Pridružen-a: Sre 15 Jun 2005 10:03
Prispevkov: 1875
Aktiv.: 8.18

PrispevekObjavljeno: Pon Dec 04, 2006 10:48 am    Naslov sporočila:  Finite State Machine Odgovori s citatom

Majhni koščki programske opreme včasih zelo olajšajo vsakdanje življenje. Ne vem sicer, kakšen je vaš pristop k programiranju mikrokontrolerjev, toda sam nebi preživel brez tako imenovanega "Finite State Machine" (FSM) pristopa, ki bistveno olajšuje:
- delo z več opravili istočasno in
- predvidljivost obnašanja sistema.

Na strani:
http://rd.kaut.nl/?Free_Software:FSM_generator
je zastonj FSM generator, ki z ozirom na svojo preproščino, deluje presenetljivo uporabno. Stvar je tako enostavna, da niti navodil ne potrebuješ, ko vidiš kodo, ki jo generira ti je takoj vse jasno. V okostje samo še napišeš nekaj logičnih pogojev za prehod med "stanji" in postavitev izhodov v posameznem "stanju".
Nobenih ovir ni, da v svoj projekt združiš več takih FSM-jev Wink
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1714
Aktiv.: 7.47
Kraj: Ig

PrispevekObjavljeno: Pon Jul 25, 2011 8:53 pm    Naslov sporočila:   Odgovori s citatom

A ima kdo kaj literature na to temo? Kak napotek? Lahko tudi razlaga po kmečko. Zanima me pa tudi prevod v slovenščino, v kolikor sploh obstaja.

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
piroman
Član
Član



Pridružen-a: Čet 23 Okt 2003 12:06
Prispevkov: 2707
Aktiv.: 11.81
Kraj: Ljubljana

PrispevekObjavljeno: Tor Jul 26, 2011 8:05 pm    Naslov sporočila:   Odgovori s citatom

Čisto za začetek, je tule v priponku preprosta razlaga FSM.


State Machines for Microprocessors.pdf
 Opis:

Download
 Ime datoteke:  State Machines for Microprocessors.pdf
 Velikost datoteke:  155.3 KB
 Downloadano:  34 krat


_________________
One shouldn’t work on semiconductors, that is a filthy mess; who knows if they really exist!
Wolfgang Pauli, 1931
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 41.02
Kraj: Kranj - struževo

PrispevekObjavljeno: Sre Jul 27, 2011 10:27 pm    Naslov sporočila:   Odgovori s citatom

V osnovi je FSM sestavljen iz teh sklopov:
- (neskončna) zanka, v kateri se izvaja
- sam FSM je sestavljen iz enega samega večjega CASE stavka
- ena spremenljivka, ki določa trenutno stanje FSMja (odsek v Case stavku)
- vhodi
- izhodi

Tipičen primer (po domače):
Koda:

stanje = idle;
while (1)
  {
  case stanje:
    idle:
      {
      if (tipka_vklop == 1) stanje = voda_noter;
      }

    voda_noter:
      {
      ventil = 1;
      if (nivo_vode() == 20)
        {
        ventil = 0;
        stanje = peri;
        }
      }

    peri:
      {
      if (tajmer < 10) boben_levo();
      if (tajmer > 11) boben_desno();
      if (tajmer > 20)
        {
        tajmer = 0;
        cikel++;
        if (cikel == 50) stanje = voda_ven;
        }
      }
    voda_ven:
      {
      pumpa = 1;
      if (nivo_vode() == 0)
        {
        pumpa = 0;
        stanje = idle;
        }
      }

  ...
  tukaj je lahko naslednji FSM avtomat ali drugi deli glavnega programa, ki delajo kao multitasking

  }  // while(1)

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1714
Aktiv.: 7.47
Kraj: Ig

PrispevekObjavljeno: Sre Jul 27, 2011 10:33 pm    Naslov sporočila:   Odgovori s citatom

Hvala obema!

Mi bo zelo prišlo prav!

LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 265 dni


Powered by phpBB © 2001, 2005 phpBB Group