Witajcie.
Za pomocą AVR ATMEGA8 chcę próbkować sygnał analogowy ze stałą częstotliwością, na przykład Fs=12kHz. Interesują mnie próbki 8-mio bitowe. Wydaje mi się, że są dwie możliwości.
1. W trybie free running użyć kwarcu o częstotliwości Fs * 13 (cykli przetwarzania) * preskaler. Czy wtedy przerwania od przetwornika będę dostawał po każdym zakończeniu przetwarzania, a próbkowanie będzie na pewno regularne?
2. W trybie na żądnie - zrobić tak, aby przetwarzanie trwało krócej niż 1/Fs. Zrezygnować z obsługi przerwania od zakończonej konwersji, a wykorzystać obsługę timera, który periodycznie z żądaną częstotliwością wywołuje procedurę, która:
a) przeczyta ADCH
b) uruchomi 'ręcznie' kolejną konwersję
Oczywiście uwzględniam czas od momentu zgłoszenia przerwania do chwili uruchomienia kolejnej konwersji.
Drugi schemat bardziej mi się podoba, gdyż można łatwiej dostosować częstotliwość próbkowania do własnych potrzeb, to znaczy bez zmiany częstotliwości kwarcu, który na przykład będzie pasował do prędkości pracy USART.
Poprawcie mnie, jeśli mój tok rozumowania jest błędny.
Za pomocą AVR ATMEGA8 chcę próbkować sygnał analogowy ze stałą częstotliwością, na przykład Fs=12kHz. Interesują mnie próbki 8-mio bitowe. Wydaje mi się, że są dwie możliwości.
1. W trybie free running użyć kwarcu o częstotliwości Fs * 13 (cykli przetwarzania) * preskaler. Czy wtedy przerwania od przetwornika będę dostawał po każdym zakończeniu przetwarzania, a próbkowanie będzie na pewno regularne?
2. W trybie na żądnie - zrobić tak, aby przetwarzanie trwało krócej niż 1/Fs. Zrezygnować z obsługi przerwania od zakończonej konwersji, a wykorzystać obsługę timera, który periodycznie z żądaną częstotliwością wywołuje procedurę, która:
a) przeczyta ADCH
b) uruchomi 'ręcznie' kolejną konwersję
Oczywiście uwzględniam czas od momentu zgłoszenia przerwania do chwili uruchomienia kolejnej konwersji.
Drugi schemat bardziej mi się podoba, gdyż można łatwiej dostosować częstotliwość próbkowania do własnych potrzeb, to znaczy bez zmiany częstotliwości kwarcu, który na przykład będzie pasował do prędkości pracy USART.
Poprawcie mnie, jeśli mój tok rozumowania jest błędny.