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

Przetwornik A/D w ATMega - pobieranie "próbek" obr

27 Lut 2005 17:29 2594 12
  • Poziom 10  
    Witam,

    Chciałbym pobierać próbki z obrazu TV - tzn. mierzyć napięcie na wyjściu procesora, które dalej "idzie" na wzmacniacze wizyjne i kineskop. Chodzi o pobranie z obrazu np. 500-1000 próbek.
    Czy jest to w ogóle możliwe? Czy do tego celu można wykorzystać przetwornik wbudowany w kontrolery ATMega np. Atmega8, czy też należy zastosować zewnętrzny przetwonik? W dokumentacji ATmega8 podają, że czas konwersji wynosi 13 - 260 µs. Nie wiem jednak od czego ten czas zależy (rozdzielczość? zakładam, ze 8-bit będzie wystarczająca). Kontroler wyposażony jest w układ sample-and-hold, który jak rozumiem, zapamięta wartość napięcia na czas pomiaru, ale czy częstotliowość tego sygnały mimo to nie będzie zbyt wysoka?
    Jaki zakres napięć przetwornik jest w stanie obsłużyć? Z tego widziałem to zakres napięć na wyjściu procesora wynosi od 0V do ok. 4V.

    Z góry dziękuję i pozdrawiam,
    Michał
  • Poziom 22  
    Trochę mało informacji. Te próbki to z 1 linii obrazowej ?, jeśli tak to pobierzesz max 4 próbki. Jeśli obraz jest statyczny to możesz brać próbki tak jak oscyloskop próbkujący. Co do napieć, zawsze mozesz dokonać przesunięcia poziomów tak, aby pokrywały cały zakres pracy przetwornika.
  • Poziom 10  
    Chodzi mi o pobranie np. fragmentu obrazu na którym znajduje się numer strony teletekstu (biały napis w lewym górnym rogu).

    Pozdrawiam,
    Michał
  • Poziom 22  
    Może lepiej opisz urządzenie, które zamierzasz zbudować. Nie domyślam się po co Ci to. Obsługę stron teletekstu możesz dokonac wygodnie przez I2C bezpośrednio z procesora teletextu. Do scalaków Philipsa jest mnóstwo dokumentacji.
  • Poziom 10  
    Oczywiście, ale ta metoda jest dobra tylko wtedy, kiedy procesor teletekstu jest wydzielony. W nowszych OTV wszystko jest w jednym scalaku.
    Chcę zrobić urządzonko, które będzie spr. czy włączony jest TXT, a jesli tak to na której stronie.

    Pozdrawiam,
    Michał
  • Poziom 10  
    Czy może istnieje inny sposób - bez "analizy" obrazu?

    Za wszelkie sugestie z góry dziękuję

    Pozdrawiam,
    Michał
  • Poziom 22  
    Zawsze możesz dołączyć do sygnału wyzyjnego drugi dekoder tltx'tu ;) i z niego pobierać wszystkie dane.
  • Poziom 33  
    Albo zrobić licznik linii na której jest wysyłany teletext (nie powiem z pamięci ale jest w dowolnym opisie) i zdekodowac dane a to juz mozna zrobić bez problemu na każdej Mega8. Numer strony powinien być wysyłany w każdej ramce tak aby nie czekać.
    Pozdr. N.
  • Poziom 10  
    OK, ale pozostaje jeszcze kwestia rozpoznania, czy TXT jest aktualnie włączony.
  • Poziom 22  
    Aby zobaczyć czy TLTXT jest włączony, najlepiej sprawdzić czy coś nadawane jest na liniach 16,17,18 i odpowiadających im liniach powyżej 300. Selektor linii, lub 2 multiwibratory wyzwalane sygnałem pionu.
  • Poziom 10  
    W którym miejscu należy to sprawdzić?
    Przez "włączony" rozumiem, że jest oglądany w tym momencie na ekranie.

    Pozdrawiam,
    Michał
  • Poziom 29  
    Masz dość karkołomne zadanie. To będzie dość trudne ze względu na brak dopasowania zegara taktującego procesor do sychronizacji poziomej. Bez tego będziesz miał duży jitter, który utrudni lub wręcz uniemożliwi prawidłowy odczyt sygnału wizji.
    Rozwiązania są w zasadzie 2:
    - układ powielający częstotliwość sygnału HSYNC
    - cyfrowy układ dopasowujący sygnał zegarowy do HSYNC, dzielący zegar o dość dużej częstotliwości, resetowany opadającym zboczem HSYNC

    Drugi problem - wszystkie instrukcje skoków w AVR potrzebują więcej niż jednego cyklu zegarowego - kolejne źródło jittera...

    Udało mi się skonstruować układ spełniający (z nadmiarem) to założenie, dodatkowo wyświetlający w trybie pełnoekranowym OSD z użyciem ATMega8+XC9572XL+LM1881+generator 50MHz, ale szczegółów nie mogę zdradzić...

    Reszta nie powinna sprawić większego kłopotu.
    Na początek proponuję napisanie programu, który będzie wyświetlał linię w miejscu, w którym chcesz odczytywać sygnał wizji. Jeśli to będzie działać, możesz przystąpić do pisania właściwego programu.

    Pozdrawiam
    lelekx
  • Poziom 10  
    Na początek ograniczę się tylko do rozpoznania czy oglądany jest TV czy też TXT (bez odczytu nr-u strony). To chyba będzie prostrze do zrealizowania?

    Pozdrawiam,
    Michał