Timery AVR i wype?nienie sygna?u

Witam Przy pomocy ATMega 162 potrzebuje zliczać impulsy przy wykorzystaniu liczników. Dwa liczniki powinny liczyć liczbę impulsów, a trzeci wypełnienie (czyli jaki procent czasu na wejściu była 1). Wartości chce odczytywać co

0.5 sekundy. Do odmierzania czasu chcę wykorzystać czwarty licznik.

Z liczeniem impulsów raczej nie powinno być problemów, oba sygnały chce podpiąć do T0 i T1. Niestety nie znalazłem w jakim trybie powinien pracować licznik, by zliczał impulsy ("ATMega w praktyce BTC"), ale jeszcze pogrzebie w sieci. To chyba za trywialne pytanie na grupę.

Większy problem wydaje się licznik wypełnienia. W książce znalazłem tryb przechwytywania. Z tego co zrozumiałem, wykrywa zbocza narastające i opadające. Czy obliczenie wypełnienia polega na cyklicznym przełączaniu wykrywania narastającego, a potem opadającego zbocza? Czy jest może tryb, który liczy cykle, w którym wejście ma wartość 1? Tryb przechwytywania szczerze mówiąc by mi odpowiadał, bo korzysta z innego wejścia ICPx, a przy wykorzystaniu poprzednich wejść dla zliczania impulsów, brakło by mi pina wejściowego. W googlach nic ciekawego nie znalazłem, głównie generatory wypełnienia, a to raczej problem w drugą stronę.

Jak Wy byście to rozwiązali? Zależy mi na małym obciążeniu procesora, dlatego nie chcę tego robić na zasadzie cyklicznego odpytywania portu, tylko przy pomocy przerwań. Załóżmy, że częstotliwość impulsów jest max 100Hz, czyli i 8 bitowy licznik zliczy wszystko.

Pozdrawiam SRB

Reply to
SRB
Loading thread data ...

SRB wrote: [wypelnienie]

Najprościej byłoby podpiąć to pod któryś INT zewnętrzny i w obsłudze jego przerwania (na zbocze) po prostu sprawdzać inny timer odmierzający czas i przeliczać wypełnienie. Masz jeszcze inne wyjście: filtrem rc uśrednić przebieg i przez ADC odczytaj wypełnienie - to już jest banalnie proste o ile przebieg ma stałą amplitudę i na dodatek niezależne od wewnętrznych timerów.

pozdrawiam

majek

Reply to
Marek Wodzinski

..lub rzeczywiście pod ICP - zapamiętanie licznika masz wtedy za darmo.

pozdrawiam

majek

Reply to
Marek Wodzinski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.