Strategie rizeni vice casove kritickych operaci s jednim timerem v MCU?

Michal HW michalgregor@centrum.cz
Pondělí Srpen 10 15:25:02 CEST 2009


Vzhledem k soucasnym cenam se nekdy vyplati druhy procesor.

Co je to presne? Kolik taktu procesoru si muze dovolit odchylku? Podle odchylky bych spocital krystal. Da se to udelat v preruseni - program zhruba sezere 10 - 20 cyklu bezneho procesoru, vynasobit 16 vyvody a mame 160 - 320cyklu. Je to hodne nebo malo?

Shrnu:
1)  1x Casovac 10mS
2) 16x casovac  10mS/31 = 320uS

Takze potrebujete preruseni co 320uS a rozdelit to na jednotlive ulohy, Mam nejak podobne udelan SW UART:

switch(Uloha_Casovani)
    case 0:
           Inicialize casovace 1-16

    case 31:
        Uloha_Casovani = 0;

    default:
        ++ Uloha_Casovani;
        Odecti casovac n
        Casovac n = 0?
            Spust impuls vyvodu  n
    

    

Michal Gregor


  ----- Original Message ----- 
  From: k.novo 
  To: hw-list@list.hw.cz 
  Sent: Monday, August 10, 2009 3:03 PM
  Subject: Strategie rizeni vice casove kritickych operaci s jednim timerem v MCU?


  Ceka me nasledujici,
  16pinu na MCU a jim odpovidajicich 16 promenych + jedna noha pro synchonizaci.
  Nabezna hrana na synchro pulsu znamena zacatek 10ms periody v ktere se nestane nic pokud je vsech 16 promenych 0 nebo se musi v case odpovidajicim prislusne promene na ji odpovidajicim pinu objevit impuls v delce trvani rekneme 5 taktu procesoru pricemz promena bude mit hodnotu  1-31 tj. napriklad pri hodnote 10, 3,125ms od zacatku periody) respektive pokud bude promena 32 tak se noha prepne na 1 v ktere setva do konce periody. Po 10ms by mel prijit novy sysncho puls, ktery to cele odstartuje znova.

  Pricemz, toto vsechno je relativne casove kriticke a melo by se provadel presne (presne vuci hodinam MCU , a zacatkuy periody), mimo to bude MCU delat i spoustu jine prace.

  Otazkou je jaka strategie rizeni casovace je nejefektivnejsi nebo spise nejvhodnejsi.Napada me 
  - casovac odpalovat kazdych 1/32 z tech 10ms a v preruseni kontrolovat zda nektera promena neodpovida danemu "casu"
  - promene na danou periodu zafixovat a seradit a casovac nastavit vzdy na nejblizsi udalost a nasledne dalsi v poradi.
  -  ....

  Nevim jaka bude cetnosot, ale teoreticky predpokladam, ze nejbeznejsi stav bude 16x0 , pocet zmen bude max desitky za hodinu a pokud dojde k nejake zmene tak tato vydrzi nekolik tisic period.

  Resili jste neco podobneho?


  KN
  _______________________________________________
  HW-list mailing list  -  sponsored by www.HW.cz
  Hw-list@list.hw.cz
  http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20090810/938625f7/attachment-0002.htm 


Další informace o konferenci Hw-list