Postawiłem sobie założenie że dalsza publikacja będzie po przekroczeniu 200 odsłon. Ale powyżej 100 szło to bardzo opornie, aż do wczoraj. Czyżby jakieś boty nabiły wyświetlenia?
W każdym razie znowu potrzeba mały wstęp.
To urządzenie jest korektorem podstawy czasu. Nie koryguje balansu bieli, nie poprawia kolorów, nie odszumia sygnału, itp.
Koryguje "tylko"* podstawę czasu, czyli zapewnia równomierny bieg czasu w odtwarzanym sygnale. Pomięta kaseta odtwarza się nierównomiernie (momentami szybciej a momentami wolniej), albo brakuje niektórych impulsów synchronizacji, i to urządzenie ma to wyrównać/naprawić.
*"Tylko" to tak naprawdę całkiem sporo, bo dzięki temu pomięte kasety w ogóle dają się zarchiwizować (bo odtwarzane przez magnetowid to i tak są, tylko że sygnał wyjściowy jest na tyle kiepski że urządzenia zewnętrzne nie chcą się z nim zsynchronizować).
W największym skrócie, układ próbkuje ten niezbyt jednostajny sygnał wejściowy, zapisuje go do pamięci FIFO (o pojemności 32 linii), i jednocześnie go z tej pamięci odczytuje i podaje na wyjście. Oczywiście zapis i odczyt są synchronizowane z innych miejsc, tak żeby wyrównać nierówny bieg sygnału wejściowego. Można się domyślać ze zapisy są nieregularne, ale w takt przychodzącego nieregularnego sygnału. A odczyty już jednostajne bo synchronizowane nowo wygenerowanym prawidłowym przebiegiem zegarowym. Jak to jest dokładnie robione to już nie analizowałem, bo nie było to potrzebne do przeróbki. A szkoda było po prostu na to czasu.
I tu się chyba pojawiają problemy techniczne z lat '70...'80.
Problem jest jednak taki że zapis próbek analogowych jest dość trudny. Teoretycznie można by było do tego wykorzystać linijkę CCD, ale widocznie w tamtych czasach nie było to opłacalne. Wykorzystano więc zapis cyfrowy, a to wymusza konwersję sygnału ADC a potem DAC. Tu kolejny problem, pewnie też w powodu ograniczeń technologii. Próbkowanie zrobiono jako 1.36 MHz, pewnie z powodu kosztu szybszych przetworników ADC/DAC oraz ze względu na wymaganą dużą pojemność pamięci. Wymusiło to konieczność zmniejszania częstotliwości sygnałów PAL/SECAM z 4.4x MHz do tej niższej wartości.
Jednak dla sygnału SECAM zrobiono to inaczej niż dla PAL. PAL jest poddawany przemianie częstotliwości. Natomiast SECAM jest po prostu demodulowany. Stąd tory sygnału analogowego są na płytkach SG-67 i SG-68 zupełnie różne.
Jedyne co jest wspólne dla obu płytek to format sygnału wyjściowego, bo w obu przypadkach trafia on na ten sam przetwornik ADC. To ważna informacja pozwalająca odtworzyć brakujące bloki SECAM mimo braku niektórych oscylogramów w dokumentacji.
No to do rzeczy. Na schemacie blokowym dla PALa wygląda to całkiem prosto:
PAL_DECODE.png
W rzeczywistości jest to trochę bardziej skomplikowane, choćby sygnał heterodyny jest generowany w dość pokrętny sposób.
W przypadku obróbki SECAMa jest zupełnie inaczej. Niby jest to prosta demodulacja FM, ale schemat wydaje się skomplikowany i dlatego wymaga opisania:
SECAM_DECODE.png
Całość zaczyna się małym blokiem który nie ma swojego odpowiednika w wersji PAL:
BELL FILTER.
Jest to obwód rezonansowy (o określonej a nie przypadkowej dobroci), dostrojony do częstotliwości 4.29 MHz.
Po co? Ciężko to było znaleźć, ale mam:
http://bbceng.info/additions/2020/ETD_i ... System.pdf
Korekcja SECAM.png
W skrócie, sygnał SECAM przy nadawaniu jest poddawany korekcji częstotliwościowej, i częstotliwość "środkowa" 4.29 MHz jest trochę tłumiona żeby zmniejszyć widoczność kropek na ekranie odbiorników czarno-białych.
Obwód
BELL FILTER to po prostu obwód LC, który najmocniej przepuszcza sygnał 4.29 MHz, a więc zwiększa jego udział względem innych sygnałów. Czyli wyrównuje poziom w całym zakresie modulacji 3.9...4.75 MHz.
To jest jedyny bloczek który fizycznie trzeba odtworzyć. Trzeba go odtworzyć bo taki filtr wprowadza też pewne przesunięcia fazowe (różne dla różnych częstotliwości) co wymaga skorygowania aby poprawnie odtworzyć kolory.
Następnie mamy
LIMITER. Niby standardowy blok przy dekodowaniu FM, ale tutaj jest zrealizowany dość nietypowo. Użyto bowiem bramek ECL. Wybrano je pewnie z powodu ich niskiego wymaganego napięcia wejściowego (do wykrycia zmiany stanu z L na H przy pracy "analogowej" wystarczy tylko z 0.2 V). Bramki ECL mają napięcie pracy typowo 0.8 V. Ale w praktyce są to wzmacniacze różnicowe o wspólnej bazie, i mimo małego wzmocnienia do zmiany stanu na wyjściu bramki o 0.8 V wystarcza o wiele mniejsza zmiana napięcia wejściowego.
Czy ten bloczek musimy odtwarzać fizycznie? Na szczęście nie. Współczesne układy FPGA posiadają bowiem bardzo mocno konfigurowalne piny IO. (Czekam aż mikrokontrolery będą miały to samo, i się coś nie mogę doczekać.)
Jedną z opcji do wyboru są wejścia
LVDS.
Napięcia wyjściowe to typowo różnicowe 250 mV, ale odbiorniki mają próg czułości rzędu 50 mV albo mniej.
Dobrze by było też wiedzieć jaki zakres napięć wspólnych akceptują takie odbiorniki. Zwykle to napięcie wspólne ma wynosić około 1.2 V, ale nam chodzi o akceptowalny zakres.
Okazuje się że wszystkie rodziny układów (przynajmniej tego producenta) mają całkiem szeroki zakres:
LVDS.png
Zatem odtworzenie tych 2 bloczków (
BELL FILTER i
LIMITER) będzie całkiem proste:
BELL_FILTER_LIMITER_FPGA.png
Trochę bardziej skomplikowane niż mogło by być, ale to z powodów które opiszę później.
Całość to praktycznie kopia oryginalnego układu, z tą różnicą że sygnał trafia na ogranicznik napięć na diodzie BAT84 + LED oraz na polaryzator napięcia wspólnego z rezystorów R24/R25 dający około 1.2 V (aby zmieścić się w zakresie akceptowalnym przez FPGA, czyli żeby nie przekroczyć 2.4 V).
Ciekawostka że taki odbiornik LVDS w FPGA, mimo że to jest komparator, jest zwykle najszybszym z dostępnych odbiorników. Piny skonfigurowane do CMOSa mają zwykle max 150...200 MHz, a do LDVSa do 400 MHz.
Dalszy blok dziwnie połączonych bramek realizuje przełączniki (
SWITCHER oraz
SWITCHER).
Tu nawet nie ma co opisywać. Oryginalny układ jest przekombinowany, bo złożony z bramek zamiast z dedykowanego multipleksera (pewnie nie był dostępny gotowiec w wykonaniu ECL). Realizacja wewnątrz FPGA jest banalna.
Mamy też generatory dwóch częstotliwości nośnych (
SECAM CARRIER GENERATOR). Są to generatory PLL, synchronizowane przebiegiem HD. One również zostaną zrealizowane w całości wewnątrz FPGA, za pomocą opisanego wcześniej generatora DCO (lub za pomocą ADPLL = All Digital PLL). Możliwe że ich odtwarzanie nie będzie nawet konieczne, bo prawdopodobnie w oryginalnym układzie były używane jedynie do kalibracji analogowego demodulatora i analogowych modulatorów, co w wykonaniu cyfrowym nie będzie konieczne.
Ciekawym blokiem jest
DEMODULATOR. Po modulatorze FM można się było spodziewać jakiegoś dedykowanego scalaka i/albo jakichś obwodów LC. Tu jednak mamy demodulator w postaci multiwibratora (też typu ECL).
Wyzwalany zboczem sygnału prostokątnego, generuje on impulsy o stałym czasie trwania. Czas przerwy zależy od odstępu pomiędzy przychodzącymi impulsami. Zatem nim większa częstotliwość, tym większy udział czasu trwania impulsów w stosunku do stałego czasu przerwy. To taka modulacja PWM, tyle że taka gdzie częstotliwość też jest zmienna.
Warto jeszcze dodać że demodulator zbudowany na monowibratorze ma trochę nieliniową charakterystykę. W oryginale to widocznie nie przeszkadzało w znaczący sposób, ale tutaj mając FPGA można spróbować zlinearyzować jego charakterystykę. No bo oczywiście taki monowibrator będzie zrealizowany jako Timer na FPGA.
Sygnał prostokątny z tego monowibratora jest wzmacniany i trafia na filtr LP200. Filtr wyodrębnia z tego składową stałą, która trafia już tylko na wzmacniacz i idzie do płytki ADC PR-40.
Szczęśliwie się składa że w obydwu systemach (PAL i SECAM) jest wykorzystywana ta sama płytka PR-40. A więc sygnały jakie do niej docierają w obu przypadkach powinny być podobne (podobne wartości napięć oraz maksymalna częstotliwość).
Nigdzie nie jest opisany ten filtr LP200, ale skoro spodziewamy się podobnych sygnałów dla ADC dla systemów PAL i SECAM, to można się spodziewać że podobny filtr znajdziemy na płytce PALa SG-67. No i jest, choć z wykonaniu z elementów dyskretnych i na trochę wyższą częstotliwość (2.5 MHz).
Cała przeróbka wygląda tak:
SECAM_DECODE_PAL_BOARD.png
Pobieramy sygnał z punktu Q204, odtwarzamy brakujące bloki opisane wcześniej (BELL FILTER, LIMITER, SWITHER, DEMODULATOR), a końcowy sygnał "wstrzykujemy" przed filtr 2.2 MHz.
Jak widać tuż przed filtrem mamy mieszacz MC1496G, zatem sposób wstrzykiwania będzie taki sam jak opisywałem wcześniej (blokowanie mieszacza pinem BIAS).
Na wyjściu mamy wzmacniacz (
OUTPUT AMP) który wyraźnie różni się pomiędzy wersją PAL i SECAM. Jednak skoro w obu przypadkach sygnał trafia do tego samego przetwornika ADC, to można zaryzykować użycie wzmacniacza z wersji PAL do użycia wersji SECAM.
No i tym sposobem cały tor wejściowy mamy ogarnięty, używając zaledwie szczątkowej ilości fizycznych elementów elektronicznych.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.