logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AVR & C] Implementacja powielacza częstotliwości 2.6x na AVR dla sygnału 500Hz

Mihó 06 Gru 2007 10:55 1215 4
REKLAMA
  • #1 4557173
    Mihó
    Poziom 27  
    Posty: 1427
    Pomógł: 25
    Ocena: 204
    Dopiero zaczynam swoją przygodę z AVRami i zastanawiam się nad zbudowaniem pierwszego układu - od razu chciałym go praktycznie wykorzystać stąd moje pytanie - czy można zaimplementować w procesorze serii AVR funkcję powielania częstotliwości, tak aby sygnał wejściowy był powielany 2.6(6) krotnie - przy czym nie spodziewamy się częstotliwości sygnału wejściowego wyższej od 500Hz
  • REKLAMA
  • #2 4557199
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    Chyba musisz precyzyjniej opisać, co chcesz osiągnąć. Większa niż 500Hz to np. 3GHz :wink: Zgadza się?
    Pytanie jest, jak jest najwyższa częstotliwość wejściowa, jak szybko sie zmienia i z jaką dokładnością musi być powielana?
  • REKLAMA
  • #3 4557211
    Mihó
    Poziom 27  
    Posty: 1427
    Pomógł: 25
    Ocena: 204
    Napisałem, że maksymalna częstotliwość to ok. 500Hz na wyściu, a na wyjściu chciałbym max. 500*2.66, więc około 1300Hz. Częstotliwość wejściowa zmienia się w czasie, aczkolwiek reakcja co jedną sekundę w zupełności mnie zadowala. Myślałem, aby zliczać sygnały, jakie pojawiają się w ciągu 1 sek, a w następnej sekundzie na wyjściu wygenerować ilość zliczonych*2.66. Zarówno wejście jak i wyjście - logiczne 5V, przy czym każdy impuls oznacza pojawienie się stanu niskiego
  • REKLAMA
  • #4 4557275
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    Upss. Przeoczyłem "nie", chyba z braku porannej kawy :wink:

    Ja bym to zrobił tak, że mierzyłbym timerem okres przychodzącego sygnału a następnie programował drugi timer (pracujący jako generator) na okres odpowiednio krótszy.
    Np. Timer 1 (16-bitowy) do generowania (sprzętowo) sygnału + np. Timer0 (8 bitow)+ sofwarowy licznik do pomiaru. Nie pamiętam teraz, czy niektore nowsze AVR-y nie mają dwóch 16-bitowych liczników.
    Ewentualnie nawet wszystko można oprzeć o Timer1. Pomiar o wejście ICP, a następnie w oparciu o któryś z rejestrów OCR ustawiac czas do przełączenia wyjścia (tryb toggle on compare match) - z każdym zboczem na nowo.
  • #5 4557280
    Konto nie istnieje
    Poziom 1  
REKLAMA