Korektor video BVT-800PS. Uruchomienie SECAMa.

Moderatorzy: gsmok, Romekd, tszczesn, OTLamp, Einherjer

atom1477
625...1249 postów
625...1249 postów
Posty: 845
Rejestracja: śr, 28 listopada 2007, 17:31

Korektor video BVT-800PS. Uruchomienie SECAMa.

Post autor: atom1477 »

To kontynuacja prac związanych z ratowaniem starych nagrań, rozpoczęta przez tego pana tutaj:
https://forum-trioda.pl/viewtopic.php?t=41936
Tym razem do przerobienia jest sprzęt BVT-800PS.
O taki:
https://www.next-archive.com/product/so ... 00ps-810p/
https://archive.org/details/manual_BVT800PS_SONY
Od razu warto wspomnieć że ten sprzęt fabrycznie już obsługuje SECAMa. Jednak przełączanie pomiędzy PALem a SECAMem realizowane jest poprzez wymianę jednej z płytek wewnętrznych, a tej do SECAMa oczywiście nie idzie zdobyć (SG-68). Jest tylko ta dla PALa (SG-67).
Dokumentacja jest bardzo precyzyjna (są schematy blokowe, schematy ideowe i wzory PCB). Jednak i tak nie zawiera wszystkiego. Są tam używane układy scalone oraz filtry do których nie ma dobrej albo nawet jakiejkolwiek dokumentacji. A jak się spojrzy na schemat ideowy płytki PAL (SG-67) to nie wiadomo za co się złapać. Składa się z aż 125 układów scalonych, w tym na przykład z aż 12 mixerów zbalansowanych (układów MC1496G).
Wszystko przez to że ten sprzęt robi o wiele więcej niż magnetowid. Magnetowidy chyba dowolnego systemu zapisu, nigdy nie dekodują sygnału kolorów. Robią jedynie downconverting, a przy odczycie upconverting (przemianę częstotliwości w dół albo w górę). Ten sprzęt dodatkowo dekoduje kolory, a na wyjściu moduluje te kolory od zera używając bardzo rozbudowanych i synchronizowanych modulatorów.

Miałem tu wstawić schematy blokowe oraz ideowe, oraz opisać co z jednego schematu odpowiada drugiemu, ale ostatecznie doszedłem do wniosku że nie ma to sensu. Są zbyt skomplikowane (3 karki A2, a na komputerze rozdzielczość 12 000 x 2 000 pixeli żeby były czytelne). No i jeszcze nie są gotowe :D
Póki co wstawiam więc wersje robocze (osobno każda część schematu).
PAL:
SG-67_PAL_1.jpg
SG-67_PAL_2.jpg
SG-67_PAL_3.jpg
SECAM:
SG-68_SECAM_1.jpg
SG-68_SECAM_2.jpg
SG-68_SECAM_3.jpg
Okazuje się że nie da się dać aż tak dużo załączników, więc muszę w tym momencie podzielić posta.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Odbiornik TV na 2 tranzystorach/lampach: Prima II/Prima III:
viewtopic.php?f=16&t=29213
atom1477
625...1249 postów
625...1249 postów
Posty: 845
Rejestracja: śr, 28 listopada 2007, 17:31

Re: Korektor video BVT-800PS. Uruchomienie SECAMa.

Post autor: atom1477 »

Jednym w celów przeróbki jest jak najmniejsza ingerencja w ten sprzęt, bo po trochu robi się on zabytkowy. Więc w grę wchodziło odtworzenie brakującej płytki SG-68, albo jak najmniej inwazyjna przeróbka płytki SG-67. Pierwsza opcja odpadła, ze względu na dużą ilość specjalizowanych układów scalonych. Opcja druga wymaga natomiast dokładnego przeanalizowania schematów, ale mimo wszystko okazała się prostsza.
Okazało się że wiele brakujących bloków (nawet część analogowych) da się zastąpić układem FPGA. To duża zaleta, bo pozwala zaprojektować przeróbki (i płytkę) bez szczegółowego planu. Trzeba jedynie rozplanować co na starej płytce SG-67 wymaga przeróbki. Kod na FPGA można pisać później, mając już zmontowany sprzęt.

No to po kolei. Przeróbka jest tak skomplikowana że aż legendę trzeba żeby się w tym połapać:
Bloki identyczne w obu wersjach (PAL i SECAM). Pozostają na płytce w postaci niezmienionej. Kolorowanie:
Identico.png
Bloki które na płytce PAL są zupełnie inne niż na SECAM. Na płytce PAL jest to zaznaczone jako objęcie pętlą i przekreślenie:
Different.png
Na płytce SECAM nie ma tych bloków. Są za to inne które trzeba odtworzyć. A więc są tam pozostawione niezaznaczone (w tym przykładzie chodzi tylko o IC9J):
New.png
Sygnały które trzeba pobrać z płytki PAL. Strzałka wychodząca:
Signal_out.png
Sygnały które po obróbce (odpowiedniej dla SECAM) trzeba zwrócić na płytkę PAL. Od razu zaznaczę że chodzi o bezpośrednie "wstrzykiwanie" nowego sygnału, nie wymagające przecinania ścieżek lub wylutowywania elementów. Trójkącik wskazujący miejsce wstrzykiwania sygnału:
Signal_in.png
Są też miejsca gdzie trzeba zmodyfikować sygnał, ale nie da się tego zrobić bez przecinania ścieżek. Trzeba przeciąć, a sygnał zarówno pobrać jak i później zwrócić. Krzyżyk:
Cut.png
Są też miejsca gdzie jakiś układ scalony jest inaczej podłączony, i przeróbka wymagałaby przecinania zbyt wielu ścieżek. Prościej wylutować układ i odtworzyć go (w dwóch wersjach: PAL i SECAM) na zewnątrz. Sygnały pobrać a potem zwrócić. Strzałka do góry:
Wylut.png
W kolejnych częściach będą już opisywane konkretne przeróbki.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Odbiornik TV na 2 tranzystorach/lampach: Prima II/Prima III:
viewtopic.php?f=16&t=29213
atom1477
625...1249 postów
625...1249 postów
Posty: 845
Rejestracja: śr, 28 listopada 2007, 17:31

Re: Korektor video BVT-800PS. Uruchomienie SECAMa.

Post autor: atom1477 »

No to zacznę od najprostszego.
Generator sygnału BLK (wygaszania) oraz sygnałów pomocniczych. Na płytce PAL generuje on jedynie sygnał BLK (oraz BLK zanegowany):

Z kolei płytka SECAM wymaga innego sposobu generacji, oraz wytworzenia jeszcze kilku innych sygnałów na potrzeby wewnętrzne. I właśnie dlatego najprościej jest ten blok po prostu odtworzyć od nowa. Stary pozostanie na płytce, gdyż układ nadal ma mieć opcję pracy w systemie PAL.
Trzeba jednak jakoś odtworzyć brakujące sygnały i zwrócić je do płytki SG-67.
Brakuje sporo:
BLK_SECAM.jpg
Na szczęście wszystkie potrzebne sygnały generowane są jedynie z dwóch wejściowych sygnałów: HD OUT i VD OUT z układu IC 10Q.
Odtworzenie na FPGA jest dość proste, nawet w przypadku układ 74LS221. Ich bowiem nie musimy odtwarzać wprost.
Zgodnie z dokumentacją BVT-800PS, stroi się je na konkretne opóźnienie czasowe, a nie na najlepszy obraz czy jakiś inny parametr.
Można więc precyzyjnie odtworzyć wymagane opóźnienia w FPGA, unikając przy okazji konieczności strojenia układu po zmontowaniu.
Tak wygląda główna część kodu który to realizuje (wnętrze komponentów jest w osobnych plikach, opublikuję je po zakończeniu przeróbki):
Kod BLK.7z
Kod pisany w ciemno, bo jeszcze nie mamy przygotowanej fizycznej przeróbki żeby go przetestować. Więc jeszcze ulegnie poprawkom.
Na koniec musimy tylko wpuścić ten sygnał z powrotem na płytkę SG-67. W tym celu niestety trzeba przeciąć ścieżkę:
BLK.png
Pobieramy też oryginalny sygnał BLK_PAL, bo przełącznik PAL/SECAM też będzie we wnętrzu układu FPGA. Zwracany będzie ten sygnał który aktualnie będzie potrzebny.

Na schemacie SG-68_SECAM_2.jpg mamy kolejne bloki do odtworzenia. O te (niepokolorowane):
SYNCHRO_2.jpg
Ale tu już nie ma co opisywać. Zasada odtworzenia jest taka sama jak dla sygnałów BLK.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Odbiornik TV na 2 tranzystorach/lampach: Prima II/Prima III:
viewtopic.php?f=16&t=29213
atom1477
625...1249 postów
625...1249 postów
Posty: 845
Rejestracja: śr, 28 listopada 2007, 17:31

Re: Korektor video BVT-800PS. Uruchomienie SECAMa.

Post autor: atom1477 »

To cudo operuje na standardowych sygnałach telewizyjnych, czyli PAL 4.43 MHz i SECAM 4.xx MHz.
Posiada jednak wejście sygnału DUB prosto z kasety magnetowidu, i to jest preferowana metoda podawania sygnału przy odzyskiwaniu obrazu ze starych kaset. Taki sygnał ma kilkaset kHz, więc musi zostać skonwertowany do tych 4.xx MHz za pomocą przemiany częstotliwości.
Sama przemiana jest dość prosta bo użyto tutaj zbalansowanego miksera (mieszacza) MC1964G.
Jednak dla systemu PAL zastosowano bardzo skomplikowany tor generowania sygnału heterodyny. Tak to wygląda na schemacie blokowym:
PAL generator.png
Z kolei dla SECAMa jest tam tylko prosty i niczym niesynchronizowany generator:
SECAM generator.png
Oryginalnie ten generator zrobiony jest dość nietypowo, bo na bramkach ECL z komplementarnymi wyjściami:
ECL GEN.png
Taki układ dostarcza mieszaczowi symetryczny, ale jednak prostokątny sygnał. Skoro taki sygnał wystarczał, to to dla nas dobra wiadomość bo mamy mało do odtworzenia. Pasuje jednak nie psuć za bardzo oryginalnego układu, i skorzystać z tego co już jest na płytce.
Tak wygląda fragment schematu z mieszaczem na płytce PAL:
3K.png
Sygnał heterodyny jest wytwarzany w mieszaczu 3K, i stamtąd dopiero podawany na docelowy mieszacz sygnału PAL (1L, pokolorowany).
Okazuje się że sygnał podawany do mieszacza 3K jest całkiem "grubo ciosany". Jedno z wejść jest sterowane różnicowym sygnałem cyfrowym (po lewej). Drugie (po prawej) wprawdzie dostaje sygnał 900 kHz po filtrze LP200, ale ten sygnał po mieszaczu będzie bardzo poszatkowany. Dopiero
filtry CF201 i CF200 wytwarzają z tego ładny sinusoidalny sygnał 5.36 MHz.
Podobne filtry były w magnetowidzie BVU-820, i stąd wiem że przenoszą one całkiem szerokie pasmo. Także potrzebną nam częstotliwość heterodyny równą 5.24 MHz.
Mając te wszystkie informacje można sobie uprościć budowę generatora, bo wiadomo że można dostarczyć zwykły sygnał cyfrowy, nawet taki o sporym jitterze. Dlatego jako metodę odtworzenia sygnału wybrano unieruchomienie mieszacza 3K, oraz "wstrzyknięcie" sygnału cyfrowego do tego punktu:
INJECT.png
Mieszacz jest polaryzowany przez rezystor 4.7 k. Prąd tym rezystorem wpływa do układu, a nie wypływa.
Wewnątrz wygląda to tak:
BIAS.png
Metody unieruchomienia są dwie. Zewrzeć dolną stronę rezystora do szyny -12V, albo odłączyć rezystor od górnego źródła zasilania (masy lub niewiele wyższego potencjału). Druga metoda jest prostrza w realizacji, bo tranzystorem można łatwo sterować poziomami logicznymi 3.3 V z FPGA:
BIAS DISABLE.png
Teraz wystarczy dostarczać nowy sygnał na przykład w taki sposób:
INJECT 2.png
Wartość rezystora jeszcze do ustalenia. Tranzystor być może zostanie zastąpiony małym sygnałowym MOSFETem.
Sygnał będzie wytwarzany w FPGA za pomocą DCO (Digitally Controlled Oscillator), więc będzie mógł mieć bardzo dokładnie ustaloną częstotliwość (ograniczaną jedynie dokładnością generatora kwarcowego taktującego FPGA (tutaj będzie to 300 MHz)).
Kod realizujący taki generator jest bardzo prosty:

Kod: Zaznacz cały

    process(CLK_300MHz)
    begin
        if rising_edge(CLK_300MHz) then
	    PHASE_acc(23 downto 0) <= PHASE_acc(23 downto 0) + 293274;
	end if;
    end process;

    CLK_OUT_5_244_141 <= PHASE_acc(23);
To po prostu licznik (tutaj 24 bitowy) nazywany akumulatorem fazy.
Dodaje on (akumuluje) pewną liczbę (niekoniecznie stałą jak tutaj). Sygnał jest pobierany z najstarszego bitu, więc poprzednie młodsze bity można potraktować jako ułamkowe (czyli jako ułamkową fazę przebiegu).
Bit 23 oznacza podział przez 2^24 = 16777216;
Natomiast dodawana wartość równa 293274 to mnożnik (licznik zlicza 293274 razy szybciej, niż gdyby za każdym razem dodawał wartość 1).
Zatem generowana będzie częstotliwość 300 000 000 HZ * 293274 / 16777216 = 5244147.778 Hz, czyli całkiem blisko potrzebnych 5244144 Hz.
W tym sygnale będzie niewielki jitter równy okresowi przebiegu 300 MHz czyli 3.3 ns). Ale jest do wystarczająco mały jitter jak dla sygnału SECAM. Poza tym filtry CF201 i CF200 trochę go wyczyszczą.
Podobny generator DCO, tym razem strojony zmienną wartością mnożnika, będzie też użyty przy odtwarzaniu modulatorów FM ze schematu SG-68_SECAM_3.jpg.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Odbiornik TV na 2 tranzystorach/lampach: Prima II/Prima III:
viewtopic.php?f=16&t=29213