Prav tako časovno branja za merjenje frekvence

E

eng.7oka

Guest
Jaz sem z uporabo ADC za PIC18F452, da se glasi zvočni signal freq okoli 70 Hz. Moj cilj je, da odčitki s hitrostjo vsaj 10-krat in jih shranite na kartico SD za poznejšo uporabo podatkov. Jaz sem z 20 MHz OSC. Moj problem je, da moram priti odčitki z enotno (in je znana) vzorčenja, da bi lahko za obdelavo podatkov kasneje. Mislil sem, da uporabe timer in prekinitev, ampak da bo odčitkov počasi .. kakšno idejo, kako to storiti (vedo natančno določa, kdaj med obravnavo, in zavarovati je vsaj 700Hz)? Hvala vnaprej
 
Hi, Če pogledaš v poglavje list 17,5 Uporaba CCP2 Trigger (vsaj moj izvod), boste videli, da lahko pustite Timer sproži pretvorbo neposredno brez sklicevanja prekinitev. Da bi zagotovili stabilno čas (tako stabilen, kot vam dovoljuje Oscillator) in shranite režijskih kliče prekine. Ker procesor nima DMA imate še vedno kopirati AD pretvorbo rezultatov po zamenjavi končal. S spoštovanjem, Andreas
 
Nisem prepričan, da razumem, kaj mislite. hočeš reči moram pustiti CCP2 sprožiti ADC vse znane časovno obdobje? in ne bi varčevanje z rezultati pred začetkom nove preusmeritve vplivajo na enotnost časa? Hvala za vaš odgovor
 
Ja, to je bila ideja. Timer v CCP2 lahko zagotovi čas za enakomerno vzorcev. Ker je vzorčenje sam sproži timer nimate zamude, ki prihajajo iz programske opreme (za sprostitev). Potem ko je vrednost vzorčene moraš kopirati na drugo mesto, čeprav. To se je zgodilo pred naslednjo pretvorbo ... Zakaj bi kopiranje vrednosti vplivajo na enotnost časa? Če vzorci ADC včasih npr 0ms, 14.2ms, 18.4ms ni pomembno, ko kopirate vrednosti vmesna teh timeslots. Vrednosti se vzorčijo in se ne bo spremenilo, dokler se sproži v naslednjih vzorčenja.
 
Ok .. Preverite, ali so te preproste logike za problem: zanko za n vzorcev: iz ccp2 sproži trgovina A / D za posledico zanki array koncu Zdaj je čas med vzorci je čas, potreben za zapolnitev timer1 ali 3 v celoti?
 

Welcome to EDABoard.com

Sponsor

Back
Top