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