ADC na PIC18FxxK42

Jan Waclawek konfera na efton.sk
Úterý Červenec 30 10:42:15 CEST 2019


[preposielam]



Ahoj,

tak ja tomu computational modulu rozumiem asi takto:

Vystup je jednobitova info ci su splnene nejake podmienky. Ta
podmienka je v tych registroch Treshold,ktory sa porovnava s
vypocitanou "chybou". Tato "chyba" sa pocita zo vzoriek v registroch
ADRESult, ADFILTer, ADPREVious a ADSeTPoinT. A teraz ide o to, ako sa
to pocita. To su tie jednotlive mody. Basic robi len s ADRES, teda
nerobi nic len konverziu. Accumulate robi to, ze ku registru ACC
pripocita hodnotu v ADRES. Matematika sa robi podla nastaveneho modu v
bitoch CALC. A na toto sa zrejme pytate. V popise registra ADCON3 je
pri nich tabulka kde Vas zaujima len stlpcek s DSEN=0. Tam najdete, ze
sa pouzivaju registre FiLTeR, SeTPoinT, PREVious a RESult. A kedze sa
pytate na First derivative, tak sa treba pozriet ako ta prva derivacia
je definovana. Z Matematiky vieme, ze to je:

f´(x) = (f(x1) - f(x2)) / (x1 - x2)

Ak si to prepisete do diskretnehotvaru a x1 a x2 nahradite vzorkami n
a n+1, tie maju vzdy rozdiel 1. Pocet vzoriek je jedna, lebo idu hned
po sebe. Takze ta prva derivacia bude len rozdiel tych dvoch hodnot.
Potom si myslim, ze to zacina byt uz jasne, co to vlastne robi. A ked
nie, tak papier a ceruzka a kreslit si a zapisovat...

Este je dobre si pozriet tabulku priradenych registrov ku ADC na konci
kapitoly. Z toho sa da tiez velmi vela vydedukovat. Dajte si pozor na
nastaveny mod a nastaveny typ vypoctu, su to dva rozne registre a dve
rozne nastavenia funkcii.

A.



Další informace o konferenci Hw-list