Równie czasie odczyty pomiaru częstotliwości

E

eng.7oka

Guest
Używam ADC PIC18F452 odczytać sygnał dźwiękowy z freq około 70 Hz. Moim celem jest podjęcie odczyty z częstotliwością co najmniej 10 razy i zapisać je na karcie SD w celu późniejszego wykorzystania danych. Używam 20MHz OSC. Moim problemem jest to, że muszę się dostać na odczyty z jednolitą (i znane) pobieranie próbek w stanie przetwarzać dane później. Myślałem o użyciu zegara i przerwać, ale będzie czytania slow .. jakiś pomysł jak to zrobić (wiem dokładnie czasu pomiędzy odczytami i ubezpieczenia to co najmniej 700Hz)? Z góry dzięki
 
Witam, Jeśli spojrzysz w rozdziale arkusza 17,5 Korzystanie z CCP2 Trigger (przynajmniej mnie), widać, że można pozwolić Timer uruchamia konwersji bezpośrednio bez odwoływania się do przerwania. To by zapewnić stabilne rozrządu (tak stabilne, jak zezwala na Oscillator) i zapisz obciążania wywołanie przerwania. Ponieważ procesor ma DMA masz jeszcze skopiować wyniki konwersji AD po zakończeniu konwersji. Pozdrawiam, Andrzej
 
Nie jestem pewien czy rozumiem co masz na myśli. to znaczy mam pozwolić CCP2 wywołać ADC wszystkich znanych okresie? i nie zapisywania wyników przed rozpoczęciem nowego konwersji naruszenie zasady jednolitego czasu? Dzięki za odpowiedź
 
Tak, to był pomysł. Zegar w CCP2 może zapewnić czas na próbki równomiernie rozmieszczonych. Od samego pobierania próbek jest wyzwalany przez zegar nie ma opóźnień pochodzących z oprogramowania (wyzwolenia). Po wartość jest próbą należy skopiować go do innej lokalizacji chociaż. To musi się zdarzyć, że przed kolejną konwersję ... Dlaczego kopiowania wartości wpływa na jednolitość czasu? Jeżeli próbki ADC czasami np. 0ms, 14.2ms, 18.4ms to nie ma znaczenia podczas kopiowania tych wartości pomiędzy nimi szczelin czasowych. Wartości te są próbą i nie zmieni się aż do następnej próby jest wyzwalany.
 
Ok .. Sprawdź to prosta logika tego problemu: pętla dla próbek n: set CCP2 sklep spust A / D wyniku w pętli koniec tablicy Teraz jest czas pomiędzy próbkami to czas potrzebny do wypełnienia Timer1 lub 3 całkowicie?
 

Welcome to EDABoard.com

Sponsor

Back
Top