<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
<META content="MSHTML 6.00.2900.5764" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Vzhledem k soucasnym cenam se nekdy vyplati druhy
procesor.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>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?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Shrnu:</FONT></DIV>
<DIV><FONT face=Arial size=2>1) 1x Casovac 10mS</FONT></DIV>
<DIV><FONT face=Arial size=2>2) 16x casovac 10mS/31 = 320uS</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Takze potrebujete preruseni co 320uS a rozdelit to
na jednotlive ulohy, Mam nejak podobne udelan SW UART:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>switch(Uloha_Casovani)</FONT></DIV>
<DIV><FONT face=Arial size=2> case 0:</FONT></DIV>
<DIV><FONT face=Arial
size=2> Inicialize
casovace 1-16</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> case 31:</FONT></DIV>
<DIV><FONT face=Arial size=2>
Uloha_Casovani = 0;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> default:</FONT></DIV>
<DIV><FONT face=Arial size=2> ++
Uloha_Casovani;</FONT></DIV>
<DIV><FONT face=Arial size=2> Odecti
casovac n</FONT></DIV>
<DIV><FONT face=Arial size=2> Casovac n =
0?</FONT></DIV>
<DIV><FONT face=Arial size=2>
Spust impuls vyvodu n</FONT></DIV>
<DIV><FONT face=Arial size=2> </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Michal Gregor</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=k.novo@seznam.cz href="mailto:k.novo@seznam.cz">k.novo</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz
href="mailto:hw-list@list.hw.cz">hw-list@list.hw.cz</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, August 10, 2009 3:03
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Strategie rizeni vice casove
kritickych operaci s jednim timerem v MCU?</DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT
face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial
size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial
size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial
size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial
size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial
size=2></FONT><FONT face=Arial size=2></FONT><BR></DIV>Ceka me
nasledujici,<BR>16pinu na MCU a jim odpovidajicich 16 promenych + jedna noha
pro synchonizaci.<BR>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.<BR><BR>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.<BR><BR>Otazkou je jaka strategie rizeni
casovace je nejefektivnejsi nebo spise nejvhodnejsi.Napada me <BR>- casovac
odpalovat kazdych 1/32 z tech 10ms a v preruseni kontrolovat zda nektera
promena neodpovida danemu "casu"<BR>- promene na danou periodu zafixovat a
seradit a casovac nastavit vzdy na nejblizsi udalost a nasledne dalsi v
poradi.<BR>- ....<BR><BR>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.<BR><BR>Resili jste neco
podobneho?<BR><BR><BR>KN<BR>_______________________________________________<BR>HW-list
mailing list - sponsored by <A
href="http://www.HW.cz">www.HW.cz</A><BR><A
href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</A><BR><A
href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</A><BR></BLOCKQUOTE></BODY></HTML>