Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik impulsów AVR ATxmega

27 Lis 2018 17:08 258 5
  • Poziom 2  
    Witam,

    Chciałbym zrealizować licznik impulsów/bitów które będą odbierane z magistrali CAN. Problem jest taki, że nie do końca wiem jak to zrealizować na ATxmega. Sprawa wygląda tak, potrzebne jest dostosowanie częstotliwości pracy timera do częstotliwości transmisji na magstrali, na wejście mikrokontrolera będzie wchodził sygnał z przetwornika MCP2551 i po zliczeniu 7 impulsów/bitów trwających określony czas sygnał z przetwornika powinien zostać przesłany na wyjście podłączone do oscyloskopu.

    Prosiłbym o porady, jak najprościej zrealizować taką rzecz w języku C.
  • Poziom 39  
    W przypadku ATmegi wykorzystałbym przerwanie ICP. W ATxmega pewnie jest coś podobnego.
  • Poziom 2  
    Tylko nie do końca wiem jak skonfigurować timer żeby startował jak pojawi się pierwszy impuls na wejściu i wyzwalał przerwanie po jednym bicie
  • Poziom 39  
    Timer ma działać cały czas. A czas trwania obliczasz na podstawie różnicy czasów.
  • Specjalista - Mikrokontrolery
    Pomyśl najpierw, jaka będzie częstotliwość tych przerwań i wyciągnij wnioski.
  • Moderator Mikrokontrolery Projektowanie
    W XMEGA łaczysz timer z wybranym wejściem poprzez event system. EV możesz wykorzystać do wyzwolenia timera - zobacz w opisie timera polecenia jakie obsługuje. Jesli jednak chcesz mierzyć okres pomiędzy impusami to prościej ustawić timer w tryb mierzenia okresu i przez EV doprowadzić mierzony sygnał.
    Z kolei jeśli chcesz liczyć liczbe impusów, to po prostu podajesz je tez przez EV jako zegar taktujący timer. Możesz też dowolnie połączyć wymienione wyżej funkcje. Także sprecyzuj co dokładnie chcesz osiągnąć, to znajdzie się rozwiązanie. No i jaka seria XMEGA? E czy inna?