Preruseni casovace na x51

Aleš Novák ales.novak@t-email.cz
Sobota Únor 26 20:02:00 CET 2005


S krystalem 20.000 MHz je potiz. Pri teto frekvenci nema procesor
celistvy pocet taktu za sekundu. Procesor udela 1 666 666.667
taktu za sekundu. Nicmene pokud by nezalezelo na dodrzeni presne jedne
sekundy, da se to udelat taky tak, ze se v preruseni nastavi THx na
0x83 (131 dekadicky). Pak se da povazovat 52 preruseni priblizne za
jednu sekundu. Kdyz kazdou dvanactou sekundu pricteme ne po 52
prerusenich ale po 53, dostaneme presne 625 preruseni za 12 sekund.
Je pravda, ze 11 "sekund" bude kratsich ale dvanacta to dorovna.
Chyba bude maximalne asi 20 ms.
Asi by se nasly i jine kombinace ale urcite nenajdete takove
nastaveni, abyste s krystalem 20 MHz napocital celistvy pocet
preruseni za sekundu. Nebo, jak pisete, potahnout krystal.
Vypocty jsou pro casovac v modu 1.

============================== 
S pozdravem,
  Novalex

MZ> To by bylo reseni, jenze ja potrebuji krystal na 20MHz a pak mi vychazi
MZ> jedine pouzitelne 52083 taktu a preruseni 32x za vterinu, z cehoz tu vterinu
MZ> uz ziskam snadno. Krystal ale vychazi 19999872 Hz. To snad je v mezich
MZ> doladitelnosti.
MZ> Martin Zaruba
MZ> ----- Original Message -----
MZ> From: "Aleš Novák" <ales.novak@t-email.cz>
MZ> To: "HW-news" <hw-list@hw.cz>
MZ> Sent: Saturday, February 26, 2005 7:06 PM
MZ> Subject: Re: Preruseni casovace na x51


MZ> K preruseni nedojde za presny pocet taktu prave z duvodu ruzne doby
MZ> zpracovani instrukci. K dobe se musi pripocist jeste call na adresu
MZ> toho preruseni. Ja to resim tak, ze v preruseni prepisuju jenom
MZ> registr THx. V modu 16 bitů a s krystalem 11.0592 nastavim v preruseni
MZ> THx na hodnotu 0xDC a dalsi preruseni bude presne za 10 ms. O TLx se
MZ> nestaram.

MZ> ==============================
MZ> S pozdravem,
MZ>   Novalex

MZ>> Jasne dik. Pokud tedy potrebuji, aby k preruseni doslo vzdy za presny
MZ> pocet
MZ>> taktu (musim prednastavovat registr casovace), musim vzit v uvahu, ze po
MZ>> skoku do rutiny preruseni v nem nemusi byt nula, ale muze byt i 1, 2
MZ> nebo 3
MZ>> podle delky prave zpracovavane instrukce. Je to tak?

MZ>> Martin Zaruba
MZ>> ----- Original Message -----
MZ>> From: "Delphin" <delphin@post.cz>
MZ>> To: "HW-news" <hw-list@list.hw.cz>
MZ>> Sent: Saturday, February 26, 2005 5:28 PM
MZ>> Subject: Re: Preruseni casovace na x51


>>> Nemohu se dopatrat jak se presne chova preruseni casovace. Pokud dojde k
>>> preruseni a zrovna se zpracovava instrukce, dlouha dva nebo tri takty,
>>> dojde:
>>> a) K preruseni, zpracovani rutiny preruseni a po ukonceni se dokonci
>>> zbytek
>>> prerusene instrukce, takze v registru casovace je v okamziku preruseni 0
>>> nebo
>>> b) Instrukce se dokonci a registr casovace se inkrementuje nad 0, kdy
>>> doslo
>>> k preruseni jeste o takty nutne k dokonceni instrukce
>>> nebo
>>> c) Je to jeste nejak jinak. Jak?

MZ>> Preruseni se muze zacit obsluhovat vyhradne po dokonceni stavajici
MZ>> instrukce.
MZ>> Casovac bezi nezavisle na obsluze preruseni, pri pozadavku na preruseni
MZ> od
MZ>> casovace se pouze nastavi prislusny bit.


MZ> _______________________________________________
MZ> HW-list mailing list  -  sponsored by www.HW.cz
MZ> Hw-list@list.hw.cz
MZ> http://list.hw.cz/mailman/listinfo/hw-list



MZ> _______________________________________________
MZ> HW-list mailing list  -  sponsored by www.HW.cz
MZ> Hw-list@list.hw.cz
MZ> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list