Artikelen
Een Stand-alone TV beeldgenerator
door Otto Tuil
Let op: deze pagina is nog in ontwikkeling. Controleer regelmatig op updates!
Inleiding:
In oktober 2006 zijn in Nederland de uitzendingen van analoge TV-signalen gestopt. Sinds 2018 worden ook de
analoge signalen op de kabel van de grootste Nederlandse provider Ziggo stap voor stap verleden tijd.
Voor de verzamelaars van oude TV's is het daarom noodzakelijk geworden om zelf voor een hoogfrequentbron te zorgen.
Het eenvoudigst is daarvoor een oude videorecorder of spelletjescomputer, die nog een TV-uitgang heeft, te gebruiken.
Deze hebben echter doorgaans een UHF uitgang, terwijl de oudste TV's vaak alleen de beschikking hebben over een VHF
kanalenkiezer. Om ook voor die TV's nog een goede signaalbron te hebben, heb ik zelf een schakeling ontworpen, waarmee
het mogelijk is om zonder extra videobronnen, een stabiel TV-beeld (inclusief geluid) te genereren. Om de kosten binnen
de perken te houden, ben ik uitgegaan van onderdelen waaraan ik zelf makkelijk kan komen (via eigen voorraad of via
sloopprinten op mijn werk), of die goedkoop te verkrijgen zijn op bekende Chinese webwinkels als
Aliexpress.
Het blokschema:
In figuur 1 is het schema van de beeldgenerator weergegeven.
Figuur 1: Blokschema.
Het kloppend hart van de schakeling is een ARM
microprocessor van het type SAM4S8B van Microchip (voorheen Atmel). De software
op de microprocessor kan een aantal van de bekende testbeelden elektronisch genereren. Ook is het staat om andere
beelden van een micro-SD kaart te lezen en die weer te geven. Verder kan het voor het geluid een 1 kHz toon genereren,
alsmede MP3-bestanden vanaf de micro-SD kaart lezen en weergegeven. Tenslotte stuurt het een klein OLED grafisch
display aan voor het gebruikersmenu.
Voor de beeldgeneratie zelf zorgt een
Complex programmable logic device (CPLD) van het type LCMXO246 van Lattice
Semiconductors. Deze CPLD zorgt voor de exacte timing van de videosignalen, zoals de synchronisatie en beeldinhoud.
De beeldinformatie is opgeslagen in een RAM geheugen. Deze kan door de microprocessor gevuld worden via de CPLD. Elk
(half)beeld leest de CPLD de beeldpunten uit het geheugen, en stuurt ze naar de DAC.
De video DAC (ADV7123 van Analog Devices) vertaalt de digitale RGB-
signalen naar analoge RGB-signalen. Deze worden vervolgens door de PAL encoder
(CXA1645 van Sony) omgezet in een composiet PAL video-signaal.
Via een analoge multiplexer (MUX), kan men kiezen voor een PAL kleurensignaal, of voor de luminance uitgang voor zwart-wit
beeld. Dit videosignaal kan naar keuze ook naar buiten worden gevoerd.
Het analoge geluidssignaal wordt direct door de interne DAC van de microprocessor gemaakt. Via een bufferversterker
(LM321) is het beschikbaar voor de modulator. Naar keuze kan het ook direct naar buiten worden gevoerd.
Tenslotte bevat de schakeling een videomodulator van het type MC44BS373CA van Freescale (nu NXP). Deze modulator kan
softwarematig worden ingesteld over de gehele UHF band. Doormiddel van interne delers kan het echter ook op de VHF
uitzenden.
Het schema:
Figuur 2: De microprocessor.
In figuur 2 is het deel rond de microprocessor weergegeven.
- U1 is de Atmel SAM4S8B processor. De kloksnelheid wordt met behulp van een interne PLL verhoogt tot ca. 120 MHz. In de processor bevindt zich een ARM Cortex M4. Naast deze ARM, bevat het 512 kB flash-geheugen voor het opslaan van het programma, 128 kB werkgeheugen, en een scala aan peripherals.
- J1 is de JTAG connector waarmee de processor geprogrammeerd en/of gedebugd wordt. Op een afgebouwde print hoeft deze connector niet geplaatst te worden.
- J2 is de connector voor de micro-SD kaart .
- U2 is een kleine EEPROM die gebruikt wordt voor het opslaan van gegevens die niet verloren mogen gaan als de schakeling uitgezet wordt. Bijvoorbeeld het actuele beeld, de selectie van het geluid, enz.
- J4 is de connector voor de de gebruikers interface. Deze bevindt zich op een apart printje, dat haaks op de hoofdprint wordt gemonteerd. (Zie verderop voor een beschrijving).
- Rond U20 is een kristaloscillator opgebouwd. Deze oscillator "draait" op een frequentie die vier maal de PAL subcarrier frequentie is. Deze frequentie wordt ook gebruikt voor de CPLD en het videocircuit. De frequentie van de subcarrier is erg kritisch, vandaar dat de frequentie nog iets bijgeregeld kan worden met trimmer C64.
- De alternatieve oscillator rond X3 is gebruikt tijdens de ontwikkeling van de schakeling, en is nu niet meer nodig.
Opm: De schakeling is ontwikkeld voor de Europese PAL norm. Het is echter ook mogelijk de schakeling voor de Amerikaanse NTSC norm te bouwen. De diverse alternatieve waarden zijn in het schema weergegeven. Naast de gewijzigde elektronica is echter ook andere software voor de processor en andere logica voor de CPLD nodig. Deze heb ik echter (nog) niet ontwikkeld.
Figuur 3: CPLP en buffergeheugen.
In figuur 3 is het deel rond de CPLD weergegeven.
- U10 is de Lattcie LCMXO246 CPLD. Hierin bevindt zich de eigenlijke beeldgenerator. De code in de CPLD heb ik geschreven in VHDL, en op correctheid gesimuleerd met Modelsim. De CPLD leest de beeldpunten uit het buffergeheugen. Daarnaast zorgt het voor de benodigde synchronisatie- en blanking-signalen. Verder bevat het een interface naar de processor. Met die interface kan de toegang tot het buffergeheugen worden omgeschakeld naar de processor, zodat die een nieuw beeld in het geheugen kan schrijven. Ook kan de processor wat instellingen wijzigen, waaronder het kiezen van geïnterlinieerd en niet-geïnterlinieerd beeld.
- U11 bevat de bovenste 8 bits van het videogeheugen. Het videogeheugen is 16 bits breed, waarbij 5 bits voor rood, 6 bits voor groen, en weer 5 bits voor blauw worden gebruikt (RGB656.)
- U12 bevat de onderste 8 bits van het videogeheugen. Dit IC is aan de onderkant van de printplaat gemonteerd.
- J3 is de JTAG connector waarmee de CPLD geprogrammeerd wordt. Op een afgebouwde print hoeft deze connector niet geplaatst te worden.
Opm: De schakeling is zo ontwikkeld dat het ook gemaakt kan worden voor alleen zwart/wit. Daarvoor is U12 niet nodig. Ook hier geldt, dat naast de gewijzigde elektronica ook andere software voor de processor en andere logica voor de CPLD nodig is. Deze heb ik echter (nog) niet ontwikkeld.
Figuur 4: Van digitale naar analoge video.
In figuur 4 is het analoge deel van het ontwerp weergegeven.
- U21 is een drievoudige video-DAC. Per kanaal kan het een 10 bits digitaal signaal omzetten naar analoog. In deze schakeling worden echter minder bits gebruikt, namelijk voor kleurenbeeld 5 voor rood en blauw, en 6 voor groen, en voor zwart/wit worden 8 bits gebruikt.
- U22 is de PAL/NTSC encoder. De drie analoge kleursignalen worden hiermee omgezet in een composiet videosignaal. Daarbij wordt ook de color-burst (FSC) en het synchronistaiesignaal (SCYNC) toegevoegd.
- U24 is een analoge schakelaar, die dient om te schakelen tussen het composiet video of het luminantie (zwart/wit) signaal uit de encoder.
- U25 is een standaard low power op-amp die gebruikt wordt als signaalbuffer voor het audiosignaal.
- U23 is de videomodulator
- J7 is de uitgang van het HF signaal uit de modulator
- J8 is een uitgang waar naar keuze het composiet videosignaal of het audiosignaal kan worden afgenomen. De keuze voor het signaal wordt gemaakt door of R44 of R56 te monteren (en de andere uiteraard weg te laten).
Figuur 5: De voeding.
In figuur 5 is de voeding weergegeven. Dit is een standaard analoge geregelde voeding met twee spanningen, namelijk 5 volt voor het analoge circuit, en 3,3 volt voor het digitale circuit. Voor de 5 volt is een LDO (low drop-out) type gebruikt, omdat de gelijkgerichte spanning uit de transformator mogelijk net te laag is voor een standaard 7805 regelaar.
Figuur 6: Het bedieningsdeel.
In figuur 6 is het bedieningsdeel weergegeven. Dit deel bevindt zich op een apart printje dat haaks op de hoofdprint wordt gemonteerd. Dit printje heb ik ooit als universele print gemaakt voor meerdere ontwerpen passend in het Hammond-kastje. Afhankelijk van de toepassing wordt maar een deel van de componenten geplaatst. Voor de beeldgenerator zijn dat SW1 t/m SW6 en J1 t/m J3. De overige componenten worden weggelaten. Het printje is zo gemaakt dat het gangbaarste type OLED-display kan worden geplaatst. Mocht u een ander type willen gebruiken, dan kan d.m.v. JP1 t/m JP5, R2, en C1, de aansluitingen kloppend worden gemaakt. Naar behoefte dienen de standaard verbindingen van de jumpers worden verwijderd d.m.v. het doorkrassen van printsporen.
Programmeren:
De schakeling is opgezet op een dubbelzijdige printplaat (download lay-out) met afmetingen van 120 x 74 mm:
Bediening:
- up/down: scrollen door menu's of door MP3 audio tracks
- Color/mono: keuze voor PAL kleur of zwart/wit beeld
- Interface/progressive: keuze voor geïnterlinieerd of niet-geïnterlinieerd beeld
- Play/Pauze/OK: starten of stoppen audio track, of bevestigen menukeuze
- Menu: scrollen door de verschillende menu's
- Display: van boven naar beneden en van links naar rechts
- Huidig nummer audio track / totaal aantal tracks op SD kaart
- Afspeeltijd binnen / totale duur huidige audio track
- Filenaam huidige audio track (bij lange namen in rolkrant formaat)
- Naam huidig testbeeld (bij BMP van SD-kaart de filenaam in 8.3 formaat)
- Aanduiding videomodus (kleur/zwart-wit, geïntelinieerd/niet-geïntelinieerd)
- RF info (band, kanaal, frequentie)
- SD-Card: bevat de audio (in MP3 formaat), stationsidentificatie (tekstbestanden), en eventuele testbeelden die niet digitaal opgewekt kunnen worden (in BMP formaat).
Veel Succes,
Otto Tuil
Update 24 augustus 2018