Portál AbcLinuxu, 16. dubna 2024 18:32


Dotaz: realtime podpora ?

2.6.2005 16:31 spooky.ln
realtime podpora ?
Přečteno: 124×
Odpovědět | Admin
mohl by mi nekdo polopaticky vysvetlit jak je to s reatime podporou v jadru? pisu si takovy simulatorek jehoz soucasti bude jakysi generator pulsu a byl jsem odkazan na realtime podporu v jadre. nejak si pod tim nedokazu predstavit k cemu tam vlastne je. diky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.6.2005 16:41 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: realtime podpora ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jen pro představu - jakou frekvenci budou ty pulsy mít? Jakou nejvyšší časovou odchylku považuješ za přijatelnou?
2.6.2005 17:01 spooky.ln
Rozbalit Rozbalit vše Re: realtime podpora ?
uz chapu kam mirite. pulsy budou mit maximalne frekvenci site ,ale ten cas opravdu musi byt realtime :). uz jsem nasel nejaky patch do jadra. ten projekt se jmenuje RTAI.
btw: pujde o simulaci pohybu 3 os obrabeciho centra na zaklade vlozeneho G-kodu.
2.6.2005 19:03 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: realtime podpora ?
No fajn, už tedy známe frekvenci, ta bude 50 Hz. Ale napište i tu povolenou odchylku. Bude to milisekunda, tedy 2% z periody? Nebo 100 mikrosekund? Nebo 10 mikrosekund? Nebo kolik tedy? Na tom to stojí a padá.
2.6.2005 19:07 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: realtime podpora ?
Měl jsem na mysli 5%, nikoli 2% ;-)
2.6.2005 19:14 spooky.ln
Rozbalit Rozbalit vše Re: realtime podpora ?
abych se priznal, tak nevim. na necem takovem pracuju poprve. ale vzhledem k tomu ze to bude pouze simulace tak by to ani tak presne byt nemuselo. nejlepsi asi bude kdyz se podivam do papiru od te masiny :). ale jak uz jste nakousnul kde je ta hranice mezi pouzitim realtime podpory ? nasel jsem stranky "linuxcnc" kde se necim podobnym zabyvaji,ale ja nechci ridit nejakej HW me staci ta simulace.
2.6.2005 19:56 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: realtime podpora ?
Tak zkus pustit tenhle program:
#include stdio.h
#include sys/time.h 
int main(void){
  struct timeval tv;
  struct timezone tz;
  suseconds_t    usec;
  suseconds_t    expect = 0;
  suseconds_t    delta = 200000;
  suseconds_t    expect_new = delta;

  while (1){
    gettimeofday(&tv, &tz);
    usec = tv.tv_usec;
    if ((usec menšíneborovno expect) && (usec menšínež expect_new)){
      printf("%d\n", usec);
      expect = expect_new % 1000000;
      expect_new = expect + delta;
    }
  }
  return 0;
}
Měl by vypsat číslo každých 200ms (aby to nebylo moc rychle). Bude tam vidět i odchylka, k jaké došlo. Je to celkem zajímavá podívaná, zvlášť když se to pustí s nice -n -19 ;-)
To pak jde sotva pohnout myší, ale odchylka je max. pár mikrosekund. Je to HODNĚ naivní test, ale chtělo by vyjasnit, o čem se vlastně bavíme.

P.S. Jak se dá do příspěvku vložit část kódu, aniž bych musel všechno přepisovat na entity? Už jsem na to narazil mockrát.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.