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

k.novo k.novo@seznam.cz
Pondělí Srpen 10 15:03:38 CEST 2009


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



Další informace o konferenci Hw-list