Generator komend Diseqc

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
tomson
-
Posty: 29
Rejestracja: 26 lut 2007, 18:02
Kontakt:

Generator komend Diseqc

Post autor: tomson » 19 mar 2007, 19:02

Witam
Chciałbym zrealizować generator komend sygnału Diseqc wykorzystywany w technice satelitarnej do sterowania przełączników, konwerterów itp.
Nie wiem od czego zacząć swój projekt czy powinienem spróbować wykonać coś na wzór transmisji szeregowej I2C
Założenie jest takie
jest komenda która składa się z 4bajtów np: E0 10 2C 00 (hex) którą chciałbym wygenerować po naciśnięciu przycisku
Obrazek Link do specyfikacji
Projekt chciałbym wykonać w Bascom przy użyciu ATtiny2313

ZbeeGin

Post autor: ZbeeGin » 19 mar 2007, 19:08

Najpierw zajałbym się sprawami technicznymi, co do wplecenia sygnału 22kHz w linię LNB. Potem generacją modulowanego sygnału stanu "0" i "1" przez procesor (timer, przerwania). Dopiero na końcu właściwą transmisją taktowaną drugim timerem i przerwaniami by zachować reżimy czasowe.

tomson
-
Posty: 29
Rejestracja: 26 lut 2007, 18:02
Kontakt:

Post autor: tomson » 19 mar 2007, 19:49

Najpierw zajałbym się sprawami technicznymi, co do wplecenia sygnału 22kHz w linię LNB

To mam opanowane i wiem jak wprowadzić taki sygnał z procesora do lini
Potem generacją modulowanego sygnału stanu "0" i "1" przez procesor (timer, przerwania).
rozumiem że chodzi ci o generowanie częstotliwości 22kHz?

Projekt jest w wstępnej fazie, chciałbym się dowiedzieć na czym się skoncentrować przy czytaniu książek
Czy do tego celu będę potrzebował wiedzy na temat TIMERów czy może UART

P.S.Książki na których opieram swoją wiedzę to:
1 Programowanie mikrokontrolerów AVR w języku Bascom
2 Mikrokontrolery dla początkujących

ZbeeGin

Post autor: ZbeeGin » 20 mar 2007, 7:02

tomson pisze:
Potem generacją modulowanego sygnału stanu "0" i "1" przez procesor (timer, przerwania).
rozumiem że chodzi ci o generowanie częstotliwości 22kHz?
Tak, i nie tylko, bo występują tam ponadto pewne zależności czasowe dotyczące trwania poszczególnych sygnałów.
tomson pisze:Projekt jest w wstępnej fazie, chciałbym się dowiedzieć na czym się skoncentrować przy czytaniu książek
Czy do tego celu będę potrzebował wiedzy na temat TIMERów czy może UART
UART? Raczej się tutaj nie przyda, chyba, że będziesz chciał się połączyć urządzenie z komputerem by podglądać wiadomośći zwracane przez DiSEqC do tunera. Większość obrotnic ma przecież sterownik (jedną widziałem wykonaną nawet na ATMEL-u!).
Timer-y to będzie ważna sprawa tutaj, bo wszysytko jest tutaj wplecione w pewne zależności czasowe. To tak jak protokół zdalnego sterowania RC5/SIRC - na którym zresztą można się wzorować (a nie jak pisałeś I2C).
No i zostają jeszcze przerwania. Choć po czasie widzę, że nie będą one aż tak eksploatowane. A nawet można by je pominąć.

tomson
-
Posty: 29
Rejestracja: 26 lut 2007, 18:02
Kontakt:

Post autor: tomson » 20 mar 2007, 18:22

Skupiłem się na transmisji RS ponieważ on w swojej konstrukcji przypomina mi to co chcę uzyskać
podobieństwa:
1 Stan "1" na wyjściu podczas czuwania
2 Bit startu "0"
3 można skonfigurować ile bajtów będzie miała transmisja (ja potrzebuje 4 bajty )

Jeśli chodzi o RC5 to też jest to podobne ale w obydwu przypadkach RS232 i RC5 do wysyłania bajtów są gotowe instrukcje

Ok Spróbuje najpierw uzyskać 22kHz (to bedzie w miare proste), następnie spróbuje uzyskać komende "1" sygnału Tone burst (a to już jest trudne)
Wygenerować 22kHz to spoko ale żeby tylko przez określony czas ?
Obrazek

dzięki za wskazówki

ODPOWIEDZ