eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › DCF77 a odbieranie bitow AVR
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2014-01-05 01:25:31
    Temat: DCF77 a odbieranie bitow AVR
    Od: a...@p...pl

    Czesc,

    chcialbym sie pobawic w odbior DCF77. Nie chce brac gotowcow i
    programowac prockow, ale chcialbym wiedziec jak funkcjonuje algorytm
    odbioru bitow DCF77'a?

    Wiem, ze musze "samplowac" wejscie (z sygnalem DCF'a) i liczyc czas
    stanu wysokiego i niskiego. Ale brakuje mi wiedzy jak i w ktorym
    momencie UZNAWAC, ze jest 0 (sygnal 100ms) a kiedy jest 1 (sygnal
    200ms)...Jak uznac, ze zaczyna sie minuta (brak impulsu)....Ze
    zdekodowaniem bitow sam sobie rade, bo to jest wszedzie opisane, ale
    jak odbierac te bity???

    --
    ThinkXtra


  • 2. Data: 2014-01-05 10:02:14
    Temat: Re: DCF77 a odbieranie bitow AVR
    Od: BartekK <s...@d...org>

    W dniu 2014-01-05 01:25, a...@p...pl pisze:
    > Czesc,
    >
    > chcialbym sie pobawic w odbior DCF77. Nie chce brac gotowcow i
    > programowac prockow, ale chcialbym wiedziec jak funkcjonuje algorytm
    > odbioru bitow DCF77'a?
    >
    > Wiem, ze musze "samplowac" wejscie (z sygnalem DCF'a) i liczyc czas
    > stanu wysokiego i niskiego. Ale brakuje mi wiedzy jak i w ktorym
    > momencie UZNAWAC, ze jest 0 (sygnal 100ms) a kiedy jest 1 (sygnal
    > 200ms)...Jak uznac, ze zaczyna sie minuta (brak impulsu)....Ze
    > zdekodowaniem bitow sam sobie rade, bo to jest wszedzie opisane, ale
    > jak odbierac te bity???
    >
    Najłatwiej - jak każdy inny tego typu protokół czasowy - podłącz sygnał
    wejściowy do wejścia przerwania INT0/1, i w obsłudze przerwania:
    - sprawdzaj wartość timera timer0/1/2 czy który tam masz wolny (jeśli
    jest ~100ms to zapisz że odebrano 0, jeśli jest ~200ms, to zapisz że
    odebrano 1, jak znacznie więcej niż 200mS = zapisz że zaczyna się
    minuta, jak dużo mniej lub coś pomiędzy - błąd/zakłócenie).
    - startuj od zera timer (ustawiony tak, by się przez te 200ms nie
    przepełnił), by w następnym przerwaniu zbadać ile zliczył (jaki czas
    minął).

    --
    | Bartłomiej Kuźniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173


  • 3. Data: 2014-01-05 10:52:19
    Temat: Re: DCF77 a odbieranie bitow AVR
    Od: szod <b...@a...pl>

    W dniu 05-01-2014 10:02, BartekK pisze:

    > Najłatwiej - jak każdy inny tego typu protokół czasowy - podłącz sygnał
    > wejściowy do wejścia przerwania INT0/1, i w obsłudze przerwania:
    > - sprawdzaj wartość timera timer0/1/2 czy który tam masz wolny (jeśli
    > jest ~100ms to zapisz że odebrano 0, jeśli jest ~200ms, to zapisz że
    > odebrano 1, jak znacznie więcej niż 200mS = zapisz że zaczyna się
    > minuta, jak dużo mniej lub coś pomiędzy - błąd/zakłócenie).
    > - startuj od zera timer (ustawiony tak, by się przez te 200ms nie
    > przepełnił), by w następnym przerwaniu zbadać ile zliczył (jaki czas
    > minął).

    Musi też mierzyć przerwy, bo trzeba namierzyć początek transmisji. Od
    tego trzeba zacząć. Potem odczytywać bity.



  • 4. Data: 2014-01-05 10:53:12
    Temat: Re: DCF77 a odbieranie bitow AVR
    Od: BartekK <s...@d...org>

    W dniu 2014-01-05 10:52, szod pisze:
    > W dniu 05-01-2014 10:02, BartekK pisze:
    >
    >> Najłatwiej - jak każdy inny tego typu protokół czasowy - podłącz sygnał
    >> wejściowy do wejścia przerwania INT0/1, i w obsłudze przerwania:
    >> - sprawdzaj wartość timera timer0/1/2 czy który tam masz wolny (jeśli
    >> jest ~100ms to zapisz że odebrano 0, jeśli jest ~200ms, to zapisz że
    >> odebrano 1, jak znacznie więcej niż 200mS = zapisz że zaczyna się
    >> minuta, jak dużo mniej lub coś pomiędzy - błąd/zakłócenie).
    >> - startuj od zera timer (ustawiony tak, by się przez te 200ms nie
    >> przepełnił), by w następnym przerwaniu zbadać ile zliczył (jaki czas
    >> minął).
    >
    > Musi też mierzyć przerwy, bo trzeba namierzyć początek transmisji. Od
    > tego trzeba zacząć. Potem odczytywać bity.
    No to przecież tak jest.
    przy "początku transmisji" pierwszy impuls > przerwanie > w przerwaniu
    stwierdzamy "nie było to ~100ms ani ~200ms" więc "poprzedni bit ani nie
    był 0 ani 1", i nic się nie dzieje, dopiero od tego momentu startuje
    timer i odlicza czas, i przy drugim impulsie jest już czas zliczony (i
    będzie ~100 lub ~200ms i zostanie zapisany jako odpowiedni bit)


    --
    | Bartłomiej Kuźniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173


  • 5. Data: 2014-01-05 11:26:30
    Temat: Re: DCF77 a odbieranie bitow AVR
    Od: szod <b...@a...pl>

    W dniu 05-01-2014 10:53, BartekK pisze:

    > No to przecież tak jest.
    > przy "początku transmisji" pierwszy impuls > przerwanie > w przerwaniu
    > stwierdzamy "nie było to ~100ms ani ~200ms" więc "poprzedni bit ani nie
    > był 0 ani 1", i nic się nie dzieje, dopiero od tego momentu startuje
    > timer i odlicza czas, i przy drugim impulsie jest już czas zliczony (i
    > będzie ~100 lub ~200ms i zostanie zapisany jako odpowiedni bit)

    Nie bardzo rozumiem. Jak przyjdzie impuls to timer zawsze coś tam
    zliczy. Czy to będzie 100, czy 200, czy 50ms. Trzeba mierzyć czas
    pomiędzy bitami żeby stwierdzić gdzie jest początek. Jak będzie początek
    transmisji, to nic Ci nie uruchomi przerwania. Mówiąc inaczej jak
    będziesz mierzył tylko bity, to nie namierzysz początku. Uzyskasz tylko
    ciąg bitów.

    Robiłem dekodowanie sygnału dla własnego zegara, ale nie pamiętam
    szczegółów. Dawno to było. W każdym razie dobrze jest skorzystać z
    pomocy. Są projekty symulatorów DCF. Wpisuje się godzinę i on nadaje
    sygnał jak rzeczywisty DCF. Można sprawdzić czy program dekoduje to
    prawidłowo. Zawsze to lepsze niż zastanawianie się czy walnięty program,
    czy zakłócona transmisja. Ja też tak robiłem. To był jakiś projekt z netu.

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: