Vypocet preruseni

tomas mainzer t.mainzer na gmail.com
Pátek Leden 25 14:53:02 CET 2013


preddelic volit jen tak aby citac v timeru maximalne vyuzil sveho rozsahu.
zvetsenim hodnoty preddelice muzete presnost jen snizit (za
predpokladu binarniho preddelice, tj. mocniny dvou).
TM.

Dne 25. ledna 2013 14:42 RV <vicek.radek na cpost.cz> napsal(a):
> No jde ale o to jak najit nejakej soucin, vsech delicu, ktere na ceste lze
> pouzit.
>
>
> frekvence je 64MHz
> hodiny picu 64/4 tedy 16MHz
> volitelny preddelic 2-256 (nasobky 2)
> a 16b citac timer0, ktery je ale slozen ze dvou zretezenych 8b registru,
> ktere mohu v preruseni prenstavit
> a potrebuju to kazdych 5.625ms jak jste spravne spocetl
>
> zadani vyhovuje vice nastaveni - vyslo vam to polovicni - delic by mel byt
> 90.000:
> preddelic       timerH  timerL
> 2               180     250
> 4               90      250
> 8               90      125
> 16              45      125
>
> Spis jde o to, jak nejak automaticky vymyslet jake kombinace tri cisel kde
> jedno jsou mocniny cisla 2 az do 256 a dalsi dve jsou 1-255 - pripadne ktere
> z nich je neblizsim moznym nasobkem - o to my slo v tom dotazu
>
> protoze ne vzdy to vychazi takhle pekne - na PIC16 kde byl jen jeden 8b
> registr to nevychazelo presne
>
>
> Radek Vicek
>
> Dne 25.1.2013 14:12, Martin Locker napsal(a):
>
>>
>> Zdravím,
>>
>>
>> nevím jestli jsem dobře pochopil zadání.
>>
>>
>> Ale já k tomu přistupuju opačně. Tedy potřebuji 64 přerušení za 360 us,
>> tj. 0,360 / 64 = 5,625E-3 s.
>> Maximální rozlišení čítače je 16b, tj. 65536 maximální předvolba.
>> odtud maximální doba trvání jednoho tiku čítače:
>> 5,625e-3 / 65536 = cca 0,085...e-6
>> => maximální frekvence na vstupu čítače:
>>   1/cca 0,085...e-6 = 11 650 844 Hz
>>
>>
>> => při krystalu 16 MHz dělička 2-mi
>>
>>
>> a teď zpátky:
>> jeden tik na vstupu čítače 1 / 16e6 * 2 = 0,125e-6 s
>> potřebuji 5,625e-3
>>
>>
>> => 5,625e-3 / 0,125e-6 = 45000 ... předvolba čítače přesně
>>
>>
>> Pro 32 pulsu musí být dělička 4 a i tak to pro 64 pulsů vyjde 22500 ...
>> přesně.
>>
>>
>> Snad jsem se v té rychlosti nikde neseknul (doufám).
>>
>>
>> Martin Locker
>>
>>
>>
>>
>>
>>
>>>
>>> Chci se zeptat jak resite nastaveni ruznych dob preruseni kombinaci
>>> hodnot timeru?
>>>
>>> Potrebuji generovat preruseni tak aby 64 nebo 32 preruseni trvalo 360ms.
>>> Puvodne jsem mel program na PIC16F a preruseni bezelo na 8b timeru0. Ted
>>> jsem se rozhodl ze asi radu PIC16F nadobro opustim (drazsi, pomalejsi,
>>> mene vybavena) a ladim program pro PIC18F, ktery pobezi rychleji a ma
>>> timer0 volitelne 8 nebo 16b.
>>>
>>> Zatim to vzdy resim tabulkou v Calcu nejakou takovou:
>>>
>>> Takt     Preddelic     Za delicem     Timer0H     Timer0L     Pocet
>>> preruseni z 1s     Preruseni
>>> kazdych us     Pocet prumerovani     Doba odectu (us)
>>> 16 000 000     64     250 000     7     201     177,683     5628     64
>>> 360 192
>>> 16 000 000     128     125 000     3     235     177,305     5640     64
>>> 360 960
>>> 16 000 000     256     62 500     2     176     177,557     5632     64
>>> 360 448
>>>
>>> a zkousim rucne odhadnout a doladit nastaveni registru timer0 tak abych
>>> se co nejvic priblizil tem 360ms.
>>>
>>> Mate nekdo nejakej lepsi postup?
>>>
>>> --
>>> Radek Vicek
>>>
>>> Tento e-mail včetně příloh může obsahovat důvěrné informace. Jestliže
>>> nejste zamýšlený adresát tohoto e-mailu, pak jakákoliv forma zveřejnění,
>>> tisk, kopírování, distribuce nebo šíření tohoto e-mailu a připojených příloh
>>> je přísně zakázáno. Pokud obdržíte tento e-mail omylem, oznamte to
>>> neprodleně jeho odesilateli a okamžitě tento e-mail včetně jeho příloh
>>> trvale vymažte ze svého systému. Odesilatel e-mailu neodpovídá za jakoukoliv
>>> škodu způsobenou modifikacemi či zpožděním přenosu e-mailu.
>>>
>>>
>>>
>>> This e-mail and any attached files may contain confidential information.
>>> If you are not the intended addressee of this e-mail, you are hereby
>>> notified that any disclosure, printing, copying, distribution or
>>> dissemination of this e-mail and any attached files is strictly prohibited.
>>> If you receive this e-mail in error, please immediately notify the sender
>>> and permanently delete this e-mail and its attachments from your system. The
>>> sender of this e-mail does not accept liability for any damage that may be
>>> caused by any modifications or delay in the transmission of it.
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> Tento e-mail včetně příloh může obsahovat důvěrné informace. Jestliže nejste
> zamýšlený adresát tohoto e-mailu, pak jakákoliv forma zveřejnění, tisk,
> kopírování, distribuce nebo šíření tohoto e-mailu a připojených příloh je
> přísně zakázáno. Pokud obdržíte tento e-mail omylem, oznamte to neprodleně
> jeho odesilateli a okamžitě tento e-mail včetně jeho příloh trvale vymažte
> ze svého systému. Odesilatel e-mailu neodpovídá za jakoukoliv škodu
> způsobenou modifikacemi či zpožděním přenosu e-mailu.
>
>
>
> This e-mail and any attached files may contain confidential information. If
> you are not the intended addressee of this e-mail, you are hereby notified
> that any disclosure, printing, copying, distribution or dissemination of
> this e-mail and any attached files is strictly prohibited. If you receive
> this e-mail in error, please immediately notify the sender and permanently
> delete this e-mail and its attachments from your system. The sender of this
> e-mail does not accept liability for any damage that may be caused by any
> modifications or delay in the transmission of it.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list