Witam serdecznie forumowiczów.
Otóż z kolegą mamy do wykonania projekt z pomiarem częstotliwości około 100 kHz i wysłania tego przez RS do komputera. Samo wysyłanie po RS-ie już jest wykonane, jednak zostało wykonanie programu pod sam pomiar.
Założenia pomiaru są takie:
- pierwszy licznik (16 bit) liczy od 0 do maks po czym następuje przepełnienie i zresetowanie licznika,
- drugi licznik (8 bit) zlicza ilość przepełnień licznika pierwszego,
- jeżeli licznik się nie przepełnił, to nie wysyłamy informacji o tym, jeżeli przepełnił sie raz, to wysyłamy informacje że się przepełnił, jeżeli sie przepełnił 2 i więcej razy to po drugim przepełnieniu zatrzymujemy pomiar i wysyłamy informacje że licznik przepełnił się za dużo razy,
- sam pomiar polega na tym, że sygnał podajemy na pin ICR1, w przypadku wykrycia zbocza narastającego wywołujemy przerwanie w którym to przechwytujemy aktualną wartość licznika 16 bit, 8 bit oraz flagi przepełnień i zapisujemy te wartości np. do tablicy.
- tak przygotowane dane bez żadnej obróbki wysyłamy do komputera po RS-ie.
I tu się zaczynają moje pytania:
1. Maksymalną wielkość tablicy jaką możemy zadeklarować to około 2000 pomiarów, co jest o wiele za mało. Czy da się jakoś zapisywać te dane do np. pamięci FLASH bez straty na szybkości pomiaru? Bądź w jakiś inny sposób?
2. Czy Atmega128 będzie w stanie pomierzyć sygnał o częstotliwości 100 kHz?
3 W jak najlepszy sposób wykryć przepełnienie licznika 16 bit i przekazać tą informacje do licznika 8 bit?
Liczę na jakieś wskazówki.
Pozdrawiam,
Mateusz.
Otóż z kolegą mamy do wykonania projekt z pomiarem częstotliwości około 100 kHz i wysłania tego przez RS do komputera. Samo wysyłanie po RS-ie już jest wykonane, jednak zostało wykonanie programu pod sam pomiar.
Założenia pomiaru są takie:
- pierwszy licznik (16 bit) liczy od 0 do maks po czym następuje przepełnienie i zresetowanie licznika,
- drugi licznik (8 bit) zlicza ilość przepełnień licznika pierwszego,
- jeżeli licznik się nie przepełnił, to nie wysyłamy informacji o tym, jeżeli przepełnił sie raz, to wysyłamy informacje że się przepełnił, jeżeli sie przepełnił 2 i więcej razy to po drugim przepełnieniu zatrzymujemy pomiar i wysyłamy informacje że licznik przepełnił się za dużo razy,
- sam pomiar polega na tym, że sygnał podajemy na pin ICR1, w przypadku wykrycia zbocza narastającego wywołujemy przerwanie w którym to przechwytujemy aktualną wartość licznika 16 bit, 8 bit oraz flagi przepełnień i zapisujemy te wartości np. do tablicy.
- tak przygotowane dane bez żadnej obróbki wysyłamy do komputera po RS-ie.
I tu się zaczynają moje pytania:
1. Maksymalną wielkość tablicy jaką możemy zadeklarować to około 2000 pomiarów, co jest o wiele za mało. Czy da się jakoś zapisywać te dane do np. pamięci FLASH bez straty na szybkości pomiaru? Bądź w jakiś inny sposób?
2. Czy Atmega128 będzie w stanie pomierzyć sygnał o częstotliwości 100 kHz?
3 W jak najlepszy sposób wykryć przepełnienie licznika 16 bit i przekazać tą informacje do licznika 8 bit?
Liczę na jakieś wskazówki.
Pozdrawiam,
Mateusz.