radioplaatje

Welkom op Gloeidraad.nl

radioplaatje

Inhoud Artikelen

Artikelen


Een Stand-alone TV beeldgenerator

door Otto Tuil


Let op: deze pagina is nog in ontwikkeling. Controleer regelmatig op updates!


Inhoud

Inleiding

Het blokschema

Het schema

Stuklijst hoofdprint

Stuklijst print voor gebruikersinterface

Het Display

De werking van het videodeel

De opbouw

Installeren software

Bediening

De micro SD-kaart

In bedrijf stellen en afregelen

Foutzoeken

Galerij

Variaties op de schakeling

Downloads


Inleiding

In oktober 2006 zijn in Nederland de uitzendingen van analoge TV-signalen gestopt. Sinds 2018 zijn ook de analoge signalen op de kabel van de grootste Nederlandse provider Ziggo stap voor stap verleden tijd geworden. 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 van mijn werk), of die goedkoop te verkrijgen zijn op bekende Chinese webwinkels als Aliexpress.

Opm: De voortgang van dit project heb ik de afgelopen jaren besproken op het Nederlands Transistorforum. Tot nu toe zijn er 11 delen: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

Het blokschema

In figuur 1 is het blokschema van de beeldgenerator weergegeven.

[Error loading figure 1]
Fig. 1: Blokschema.

Het kloppend hart van de schakeling is een ARM microprocessor van het type LPC1778 van NXP. Behalve de LPC1778 kan ook een LPC1788, LPC4078, of een LPC4088 worden gebruikt. Deze processors zijn voor deze toepassing compatibel. 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 videosignaal.
Via een analoge multiplexer (MUX), kan men kiezen voor een PAL kleurensignaal, of voor de luminantieuitgang 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

Opm: U kunt het gehele schema ook downloaden als pdf. Componenten gemarkeerd met NM worden niet geplaatst. Componentwaarden tussen haakjes zijn voor de zwart/wit versie, de bijbehorende waarden zonder haakjes vervallen dan.

[Error loading figure 2]
Fig. 2: De microprocessor.

In figuur 2 is het deel rond de microprocessor weergegeven.

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.

[Error loading figure 3]
Fig. 3: CPLP en buffergeheugen.

In figuur 3 is het deel rond de CPLD weergegeven.

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.

[Error loading figure 4]
Fig. 4: Van digitale naar analoge video.

In figuur 4 is het analoge deel van het ontwerp weergegeven.


Alternatieve PAL/NTSC encoder.

In plaats van de Sony CXA1645M kan ook een AD724 of AD725 van Analog Devices gebruikt worden. Deze IC's lijken iets makkelijker verkrijgbaar te zijn. In mijn persoonlijke waarneming hebben ze wel een factie minder mooi beeld, maar dat kan echt ook aan mij liggen. In ondertaande figuur is het alternatieve deel weergegeven:

Video

Fig. 4a: Alternatieve PAL/NTSC encoder.

Op de print kan deze encoder op de onderkant gemonteerd worden. (Uiteraard dient dan de CXA1645M niet gemonteerd te zijn).
Let op: Vergeet niet om ook R32 & R33 aan te passen.

De voeding.

[Error loading figure 5]
Fig. 5: De voeding.

In figuur 5 is de voeding weergegeven. Op de print kan gekozen worden uit drie mogelijkheden:
- Elektronische transformator in EI30-transformator compatible vorm.
- Elektronische transformator in Sanmim SM-PLG06A vorm (is goedkoop in China te kopen).
- Externe 5 Volt gestabiliseerde voeding. (Bijvoorbeeld ombouwen van een kwalitatief goede USB-lader).
De 5 Volt uit de externe adapter of de elektronische transformator voedt direct de 5 Volt delen, terwijl via LDO U4 de 3,3 Volt componenten worden gevoed. Als gebruik wordt gemaakt van een externe voeding, moet er een draadbrug worden geplaatst. Dit is nodig om voldoende kruipafstand te garanderen bij gebruik van een elektronische transformator. In hoeverre C2 en C19 nodig zijn, hangt af van de kwaliteit van de voeding. Bij gebruik van een elektronische transformator kan één wel worden weggelaten, en de andere mag een lagere capaciteit zijn (bijvoorbeeld 220 µF).


Het bedieningspaneel

[Error loading figure 6]
Fig. 6: Het bedieningsdeel (type 1).

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.


Stuklijst hoofdprint:

Hieronder vindt u de stuklijst van de schakeling. Ik heb een indicatie van de prijs toegevoegd. Voor veel onderdelen gebruik ik de prijzen van goedkope Chinese webwinkels zoals Aliexpress. Let daarbij op dat de artikelen doorgaans per meerdere stuks verkocht worden, en dat er verzendkosten bij komen. Ik heb een ruwe schatting gemaakt van de totale verzendkosten. Die kosten variëren per winkel, en ook of er meerdere artikelen in dezelfde winkel besteld worden. Voor de 0603 weerstanden en condensatoren loont het zich om voor een assortiment van meerdere waarden te kiezen. Blijft overeind staan dat als u slechts één enkele print bouwt de prijs een stuk hogere zal zijn dan aangegeven, maar dat u wel een voorraad heeft voor meerdere printen, en/of andere projecten. (Let wel op dat de prijzen van de onderdelen achteraf zijn opgezocht. Controleer daarom zelf altijd of het onderdeel klopt met de omschrijving). Uiteraard kunt u de componenten ook gewoon bij uw favoriete elektronicazaak bestellen, maar hou dan rekening met aanzienlijk hogere prijzen.

ItemQuantityReferencePartPCB FootprintUnit pricePrice
144C1,C3,C4,C5,C6,C7,C9,C11,C12,C13,
C14,C15,C18,C20,C26,C30,C34,C36,C37,C39,
C41,C42,C43,C54,C55,C58,C59,C60,C65,C66,
C67,C69,C70,C72,C75,C76,C78,C79,C80,C82,
C90,C91,C92,C93
100nFSMD 0603€ 0,01€ 0,44
22C2,C19470uF/10VD8/P3.5mm1€ 0,10€ 0,20
32C8,C102.2uFSMD 0603€ 0,02€ 0,04
42C16,C1722pFSMD 0603€ 0,02€ 0,04
52C45,C4810nFSMD 0603€ 0,02€ 0,04
62C28,C294.7nF/Y1CAP-Y1-4C€ 0,14€ 0,28
71C35220uF/16VD8/P3.5mm€ 0,10€ 0,10
82C38,C404.7uFSMD 1206€ 0,03€ 0,06
92C44,C49220uF/10VD6/P2.5mm€ 0,10€ 0,20
102C46,C5222nFSMD 0603€ 0,02€ 0,04
111C4747nFSMD 0603€ 0,02€ 0,02
121C50220nFSMD 0603€ 0,02€ 0,02
131C51470pFSMD 0603€ 0,02€ 0,02
141C5327pFSMD 0603€ 0,02€ 0,02
151C5739pFSMD 0603€ 0,02€ 0,02
165C61,C62,C63,C77,C811uFSMD 0603€ 0,02€ 0,10
171C6440pFTRIM6MM2€ 0,05€ 0,05
181C681nFSMD 0603€ 0,02€ 0,02
191C711000uF/10VD/P3.5mm€ 0,10€ 0,10
201C7310uF/16VD6/P2.5mm€ 0,05€ 0,05
211C742.2nFSMD 0603€ 0,02€ 0,02
221D3BAT54SOT23€ 0,02€ 0,02
231JP1Jumper 2pinsJP2€ 0,01€ 0,01
241J2KYOCERA 5138 KY5138-AT1123€ 2,34€ 2,34
251J5ACIEC-C8-C4€ 0,57€ 0,57
262J7,J8RCA ConnectorCINCH-PHS-6A€ 0,05€ 0,10
271J10JST B3B-PHJST3TH€ 0,22€ 0,22
2814R1,R2,R3,R4,R5,R10,R19,R20,R21,R22,
R23,R50,R51,R62
10kSMD 0603€ 0,01€ 0,14
295R9,R70,R71,R72,R7322RSMD 0603€ 0,01€ 0,05
308R11,R12,R13,R14,R15,R16,R49,R5847kSMD 0603€ 0,01€ 0,08
312R17,R181RSMD 0603€ 0,01€ 0,02
324R24,R25,R26,R5675RSMD 0603€ 0,01€ 0,04
333R31,R52,R601kSMD 0603€ 0,01€ 0,03
342R32,R41560RSMD 0603€ 0,01€ 0,02
351R33200RSMD3X3R5€ 0,07€ 0,07
361R341MSMD 0603€ 0,01€ 0,01
371R35220RSMD 0603€ 0,01€ 0,01
384R53,R54,R55,R744k7SMD 0603€ 0,01€ 0,04
392R38,R39150RSMD 0603€ 0,01€ 0,02
401R42100RSMD 0603€ 0,01€ 0,01
411R432k2SMD 0603€ 0,01€ 0,01
422R45,R57100kSMD 0603€ 0,01€ 0,02
431R4615kSMD 0603€ 0,01€ 0,01
441R4716k/1%SMD 0603€ 0,01€ 0,01
451R592k7SMD 0603€ 0,01€ 0,01
461SW1On/OffSW_SPDT€ 0,32€ 0,32
471T1Myrra 4715261P1S-32X27--
481T2Sanmim SM-PLG06A6SM-PLG06AB€ 1,72€ 1,72
491U1LPC1778FBD1447TQFP144€ 5,00€ 5,00
501U2MAX3232TSSOP16€ 0,40€ 0,40
511U4LD1117DT33TRTO252-3€ 0,17€ 0,17
521U10LCMXO256-TN1008TQFP100€ 6,50€ 6,50
532U11,U12SRAM 512k x 8bits9SOP32-450€ 1,30€ 2,60
541U2074HC04TSSOP14€ 0,40€ 0,40
551U21ADV7123TQFP48€ 1,24€ 1,24
561U22CXA1645MSO24€ 0,35€ 0,35
571U23MC44BS373CASO16€ 1,00€ 1,00
581U2474LVC1G3157SOT23-6€ 0,08€ 0,08
591U25LM321SOT23-5€ 0,03€ 0,03
601X117.734475MHzXTAL02€ 0,08€ 0,08
611X24MHzXTAL02€ 0,07€ 0,07
621X312.0MHzXTAL02A€ 0,06€ 0,06
631-Verzenkosten10-€ 15,00€ 15,00
641-PCB V2.511-€ 10,00€ 10,00
     Total€ 50,76

(1) Notatie D8/P3.5mm houdt in: diameter 8 mm, draadafstand 3.5 mm.
(2) Keramische trimmer: diameter 6mm, draadafstand 5mm, max. capaciteit 40 pF (geel).
(3) SD-kaarthouder: Kyocera 5138, Attend 112J-TDAR-R01, Attend 112J-TAAR-R01, of compatibel type met contacten aan de onderkant.
(4) IEC 60320 C8 AC Power Socket PCB Mount, draadafstand 8.6 mm, vul eventueel te kleine plastic pennen in het gat op met epoxylijm.
(5) SMD trimpotmeter 3×3 mm.
(6) Afhankelijk van de gekozen voeding.
(7) Keuze uit LPC1778FBD144, LPC1788FBD144, LPC4078FBD144, LPC4088FBD144.
(8) CPLD uit de MachXO serie van Lattice, verzeker u dat de CPLD gewist is voor gebruik.
(9) Zie schema (figuur 3) voor mogelijk te gebruiken fabricaten en typenummers.
(10) Verzendkosten is een schatting. Hangt uiteraard af van de hoeveelheid componenten die u van dezelfde leverancier af neemt.
(11) Prijs per stuk bij bestelling 5 stuks.


Stuklijst user interface:

ItemQuantityReferencePartPCB FootprintUnit pricePrice
11J4Header 2x6 90deg1HEADER2X06€ 0,02€ 0,02
21J2OLED-128x642HEADER1X06€ 1,50€ 1,50
31J9Header 2x1 90deg1HEADER2X01€ 0,01€ 0,01
46SW1,SW2,SW3,SW4,SW5,SW6Omron B3F-10553PUSHB4-6MM€ 0,10€ 0,60
51-Verzendkosten4-€ 3,00€ 3,00
61-PCB V4.15-€ 2,50€ 2,50
     Total€ 7,63

(1) Gebruik hiervoor een afbreekstrip waarvan u de gewenste lengte afsnijdt.
(2) Let op de pin lay-out. Pas eventueel de jumpers op de print aan.
(3) Aangeraden wordt om een alternatief met een schacht van 10 mm te gebruiken.
(4) Verzendkosten is een schatting. Hangt uiteraard af van de hoeveelheid componenten die u van dezelfde leverancier af neemt.
(5) Prijs per stuk bij bestelling 10 stuks.

Opm. De afgebouwde printen hebben dusdanige afmetingen dat het setje precies in de aluminium behuizing type 1455K1202 van Hammond past (maten behuizing: 120x78x43mm).


Het Display

Het display is een standaard 0.96 Inch 128×64 OLED display dat in vele hobbywinkels verkrijgbaar is. Ook in de bekende Chinese winkels zijn ze ruim verkrijgbaar voor weinig geld. Let wel op dat ze met verschillende pinbezettingen zijn te vinden:

[Error loading figure 7]
Fig. 7: 0.96 Inch, 128×64, OLED displays.

Het is dus zaak om de juiste print en de juiste pinconfiguratie te hebben. Daarom heb ik twee versies van de print voor de gebruikersinterface gemaakt, namelijk type 1 voor 4 en 6 pins OLED displays, en type 2 voor de 7 pins versie. Op type 1 dient u de correcte aansluitingen in te stellen door middel van JP1 t/m JP5 (zie het schema). Standaard is de print geconfigureerd voor vier pennen in volgorde VCC, GND, SCL, SDA (de eerste versie in de bovenstaande afbeelding). Voor de andere twee versies dienen de JP1 t/m JP5 anders ingesteld te worden. Dit doet u door de "voorgeprogrammeerde" verbindingen met een scherp mes weg te krabben, en met een 0Ω weerstand of draadbrug de gewenste verbinding te maken.

Het 7 pins OLED display wordt doorgaans met een SPI interface aangeboden. Op de achterkant van het printje van het display zitten meestal configuratie-weerstanden waarmee het type interface gewijzigd kan worden. Deze dient u te wijzigen naar de hier gebruikte I2C interface. (Let er wel op dat u een versie kiest die om te zetten is naar I2C, er worden ook versies aangeboden die die mogelijkheid niet hebben).


De werking van het videodeel

Op het internet vindt u soms patroongenerators waarbij het beeld direct door een microprocessor wordt gegenereerd. Dit is een goedkope oplossing, maar heeft als nadeel dat er maar een beperkt aantal eenvoudige patronen gegenereerd kan worden. Te denken valt dan aan (kleur)balken en schaakbordpatronen. Complexere patronen zijn niet mogelijk, omdat de timing van het TV-beeld kritisch is. Ook microprocessors met ingebouwde video-interface vallen af, omdat die alleen geschikt zijn voor het aansturen van moderne (platte) monitors. Voor klassieke analoge TV moet echter de timing voldoen aan de CCIR norm. Dit houdt bijvoorbeeld in, dat tijdens de verticale terugslag nog steeds korte pulsen in het signaal aanwezig moeten zijn. Deze zogenaamde egalisatiepulsen dienen er voor om de lijnoscillator in de TV gesynchroniseerd te houden. Bij moderne TV's en monitoren wordt dat door digitale circuits geregeld, zodat daar de egalisatiepulsen niet nodig zijn, en ze daarom ook ontbreken in de moderne videoapparatuur. Hieronder vindt u het principe van de lijn en beeldsynchronisatie:

[Error loading figure 8]
Fig. 8: Lijn- en beeldsynchronisatie.

Het spreekt voor zich dat het softwarematig genereren van complexere beelden op deze manier praktisch onmogelijk is. Ik heb daarom gekozen voor het gebruik van een CPLD. Deze zorgt voor de exacte videotiming, en leest bovendien tijdens het zichtbare deel van het beeld uit een stuk geheugen, waarin het beeld is opgeslagen. Het bijkomend voordeel is dat elk willekeurig beeld (dus ook foto's) in het videogeheugen kan worden opgeslagen.

Voor het genereren van de testbeeld wordt een krachtige ARM Cortex-M3 of M4 microprocessor gebruikt. Deze microprocessor kan het beeld ook vanaf een microSD-kaart lezen, zodat ook foto's of niet standaard aanwezige beelden kunnen worden getoond. Zodra het beeld in het geheugen aan de CPLD staat, wordt de beeldgeneratie geheel zelfstandig door de CPLD uitgevoerd. De microprocessor is dan beschikbaar voor andere doeleinden. Ik heb daarvan gebruik gemaakt door er een softwarematige MP3-speler in de plaatsen. Op deze mannier kan er realistisch geluid toegevoegd worden. De denken valt dan aan oude geluidsopnames uit de tijd van de aangesloten TV, maar ook uw eigen favoriete muziek kan natuurlijk afgespeeld worden.

Voor PAL is de frequentie van de hulpdraaggolf 4,43361875 MHz. Daarom wordt er gebruik gemaakt van een kristal van 17,734475 MHz (4x de hulpdraaggolf). Omdat het handig is om de beeldpunten in fase te houden met deze frequentie, gebruik ik de kristalfrequentie ook voor de beeldpunten. In figuur 7 is te zien dat één beeldlijn (tijd H) precies 64 µs duurt. Daarvan is 12 µs gereserveerd voor de horizontale synchronisatie. Voor het zichtbare beeld blijft er dus 52 µs over. Bij 17,734475 MHz kunnen er in die tijd 922,1927 beeldpunten worden weergegeven, naar boven afgerond wordt dat 923 beeldpunten. Verticaal worden in totaal 625 lijnen (verdeeld over twee maal 312,5 halfbeelden) geschreven. Daarvan worden gebruikelijk 576 lijnen voor het zichtbare beeld aangehouden. Per beeld zouden dan 923 x 576 = 531648 beeldpunten nodig zijn. Dit is echter een ongunstig grootte voor standaard geheugens. Om niet onnodig geld uit te geven voor grote geheugens, wordt gebruik gemaakt van 512 kilopixels geheugens. Daarin is plaats voor 524288 (219) beeldpunten. Dat is net te weinig voor 576 lijnen, maar genoeg voor 568 lijnen. Daarom worden zowel aan de bovenkant als aan de onderkant van het beeld 4 extra lijnen niet gebruikt. Op een normale TV is dat echter niet waarneembaar.

Het nadeel van de 923 bij 576 verdeling is dat die niet overeenkomt met de 4:3 verhouding van het TV-beeld. Voor "vierkante" beeldpunten zou de verhouding 768 bij 576 moeten zijn. Dit betekent dat het beeld zoals die zich in het videogeheugen bevindt, een factor 6/5 = 1,2 is "opgerekt" in horizontale richting. Voor het elektronisch genereren van de beelden wordt daar natuurlijk rekening mee gehouden. Bij het laden van beelden van SD-kaart, levert dat wat complicaties op. De beelden moeten namelijk in horizontale richting worden opgerekt met de genoemde factor 1,2. In de software is echter een voorziening aangebracht om ook normale 768 bij 576 beelden weer te geven. Uiteraard worden daarvan alleen de centrale 568 lijnen weergegeven.

Zoals vermeld, is het videogeheugen beperkt tot 512 kilopixels. Om verder op hardware te besparen, is de databus van het videogeheugen beperkt tot 16 bits. Daardoor zijn en maar twee geheugenchips nodig, en kan bovendien volstaan worden met een relatief kleine CPLD. Hierdoor wordt bij de elektronische beelden gebruik gemaakt van vijf bits per kleur (RGB555). Dit houdt in dat voor elke kleur 32 kleurniveaus beschikbaar zijn. Voor ons doel is dat voldoende om de verschillende kleurniveaus weer te geven. Alleen bij verlooptinten zijn de stappen soms waarneembaar. Voor afbeeldingen vanaf SD-kaart wordt het extra bit wel gebruikt, en wel voor groen (RGB565). Hierdoor zijn voor groen dan 64 kleurniveaus beschikbaar. De keuze voor groen is gedaan omdat het menselijk oog het gevoeligst is voor groen licht. (Op internet is genoeg informatie daarover te vinden).

De rest van het videopad is vrij vanzelfsprekend. De digitale beeldpunten worden doormiddel van een drievoudige digitaal naar analoog converter (video-DAC) omgezet naar analoge signalen. Deze analoge signalen worden door de PAL-encoder omgezet naar het echte PAL videosignaal. (Trouwens, de encoder maakt tevens de luminantie en chrominantie signalen. Van de luminantie wordt handig gebruik gemaakt voor het maken van het zwart/wit beeld). Het PAL- resp. Luminantie-signaal wordt vervolgens aan de TV-modulator aangeboden, waarna het via een tulpconnector aangeboden kan worden aan een televisietoestel.


De opbouw:

De schakeling is opgezet op een dubbelzijdige printplaat (download lay-out) met afmetingen van 120 x 74 mm. Er zijn drie mogelijkheden voor de voeding. Ik heb van elk een foto gemaakt:

[Error loading figure 9]
Fig. 9: Voeding met Sanmim module SM-PLG06A.

[Error loading figure 10]
Fig. 10: Voeding met EI30 AC/DC elektronische transformator (Myrra 47152 of Vigortronix VTX-214-003-105).

[Error loading figure 11]
Fig. 11: Voeding met externe 5V adapter (met DC 3.5mm x 1.3mm power plug).

Op deze pagina wordt de Sanmim module gebruikt. Voor het solderen is een flinke dosis ervaring met SDM componenten gewenst. Er volgt daarom geen instructie over het solderen, omdat er vanuit gegaan wordt dat die voor ervaren knutselaars niet meer nodig is. Wat ik persoonlijk wel doe is om eerst de voeding geheel op te bouwen en die eerst te testen. Als er iets fout gegaan is met de opbouw dan worden op die manier niet alle kwetsbare componenten naar de eeuwige jachtvelden geholpen.

Voor de rest is het een kwestie van het schema aanhouden. Het printje met het display en de knoppen wordt haaks op de hoofdprint gemonteerd met behulp van haakse afbreek-headers. Let daarbij wel op dat het printje de hoofdprint moet raken. Mogelijk dienen daarvoor de plastic houders iets verschoven te worden. Raakt het opsteekprintje de hoofdprint niet, dan past het geheel niet in een Hammond-kastje. Maakt u geen gebruik van een Hammond-kastje, dat is het raken uiteraard niet per sé nodig.

Hier volgen wat foto's van de gesoldeerde print:

[Error loading figure 12]
Fig. 12: Print van opzij.

[Error loading figure 13]
Fig. 13: Print van onderen (hier bevinden zich enkele componenten, alsmede de plaats voor de alternatieve PAL-encoder).

[Error loading figure 14]
Fig. 14: Print van achteren.

[Error loading figure 15]
Fig. 15: Print van voren.


Installeren software:

Als alles correct is opgebouwd, kan de software in de processor worden geschreven. Hiervoor dient de print met een seriële kabel met een PC worden verbonden. De bedrading van de kabel is:

[Error loading figure 16]
Fig. 16: Seriële kabel.


De JST connectors zijn vaak te vinden in relatief moderne slooptoestellen. Naar wens kan ook een ander type connector met een penafstand van 2 mm worden gebruikt. Zelfs de draden direct op de print solderen in mogelijk, hoewel ik dat niet aan raad. Gebruik verder een USB naar seriële adapter, als uw PC geen seriële poort heeft. Zet het apparaat uit, sluit de kabel aan op J10 en sluit jumper JP1:

[Error loading figure 17]
Fig. 17: Aansluiten op de print en plaats van de jumper.


Start Flashmagic en vul de correcte settings zoals in de volgende figuur is aangegeven (uiteraard is de locatie van de hex-file afhankelijk van uw PC):

[Error loading figure 18]
Fig. 18: Instelling Flashmagic.


Zet nu de print aan. Door de jumper start de schakeling op in een andere modus, zodat het display niet op zal lichten. Start nu het flash-proces. Dit zal enkele minuten in beslag nemen. Als het programmeren succesvols is verlopen, kan de jumper worden verwijderd. Schakel de print even uit en aan en nu zal de display oplichten met een welkomstbericht. Tijdens het welkomstbericht wordt eerst de CPLD geprogrammeerd, en daarna getest of het videogeheugen correct werkt. Als alles goed verlopen is, zal het eerste testbeeld (PM5544) worden geladen, en is het apparaat klaar voor gebruik.

Let op: Voor normaal gebruik hoeft u dus alleen de hex-file te programmeren. De CPLD configuratie zit al in de software verwerkt. Het is mogelijk om die interne configuratie over te slaan en de CPLD vanuit zijn interne flashgeheugen te starten. Informatie daarover vind u verderop in dit artikel.

Bediening

Bedieningspaneel

[Error loading figure 19]
Fig. 19: Bedieningspaneel.


De knoppen voor "Color/mono", "Interlace/progressive", en "Menu" hebben altijd dezelfde functie, ongeacht welk menu actief is.
De knop "Color/mono" rouleert tussen vier verschillende formaten:

DisplayFunctieOmschrijving
CBColor with BurstHet normale PAL kleuren signaal
CSColor with Suppressed burstOnderdrukte burst (zal op een kleuren-tv leiden tot zwart/wit beeld)
MBMonochrome with BurstZwart/wit signaal, maar wel met kleuren-burst
MSMonochrome with Suppressed burstHet klassieke zwart/wit signaal

De knop "Interlace/progressive" schakelt tussen twee verschillende functies:

DisplayFunctieOmschrijving
iColor with BurstHet normale PAL kleuren signaal
nColor with Suppressed burstOnderdrukte burst (zal op een kleuren-tv leiden tot zwart/wit beeld)

De knop "Menu" gaat naar het volgend item in de menulijst. Als een bepaald item niet relevant is (bijvoorbeeld omdat er geen SD-kaart is geplaatst, wordt het item overgeslagen. In elk menu zal een deel van het display worden gebruikt om de verschillende opties weer te geven.

MenuFunctieOmschrijving
1MP3 SpelerHoofdscherm
2MP3 wijzig tijd in trackAlleen als er audiobestanden op SD-kaart zijn gevonden
3Testbeeld KiezenSelecteren van het gewenste testbeeld
4Testbeeld Laden van SD-kaartAlleen als functie gekozen is, en SD-kaart aanwezig is
5Testbeeld Opslaan op SD-kaarAlleen als een SD-kaart aanwezig is
6Frequentie TV modulator KiezenKies de gewenste uitzendfrequentie van de modulator
7Audiobron KiezenKeuze tussen "uit", "1kHz toon", "MP3" (MP3 alleen als SD-kaart aanwezig is)


Menu "MP3 Speler"

Dit is het hoofdscherm van de speler. Als er een ander menu actief is, maar er wordt niets in dat menu gedaan, zal het apparaat na enkele seconden automatisch terugvallen naar dit scherm. Ook als er geen SD-kaart met audiobestanden is geplaatst is dit het hoofdscherm. Uiteraard kunnen dan geen bestanden worden afgespeeld, maar wel kan de 1 kHz toon worden gebruikt. De functie van de knoppen is als volgt:

ToetsFunctieOmschrijving
Downherstart/vorige trackHerstart track als track al langer dan vijf seconden speelt, anders start vorige track
Upstart volgende trackStart volgende track
Play/PauseStart/pauzeer trackStart resp. stop het afspelen van de track. Geldt ook als de 1 kHz toon de audiobron is

Opm: bij het pauzeren van de track wordt de actuele tijd binnen de track opgeslagen. Als het apparaat uitgeschakeld wordt, zal bij opnieuw aanzetten de speler de track vervolgen vanaf de bewaarde tijd. Het is dus handig om bij lange tracks de speler eerst te pauzeren en dan pas uit de zetten.


Menu "MP3 Tracktijd Instellen"

Dit menu verschijnt alleen als er een SD-kaart met audiobestanden geplaatst is. De speler is gepauzeerd als dit menu actief is.

ToetsFunctieOmschrijving
Down--
Up--
OK--


Menu "Testbeeld Kiezen"

ToetsFunctieOmschrijving
DownVorig beeldLaat vorig beeld uit de lijst zien (wordt dus nog niet geladen)
UpVolgend beeldLaat volgend beeld uit de lijst zien (wordt dus nog niet geladen)
OKSelecteer beeldHet aangegeven beeld wordt geladen

Er kan gekozen worden uit de volgende testbeelden:

DisplayFunctieOmschrijving
PM5544Philips PM5544 kleurentestbeeldHet overbekende tesbeeld uit de Philips PM5544 generator
FuBK Type 1Funkbetriebskommission (FuBK) Type 1Vooral bekend van de Duitse TV
FuBK Type 2Funkbetriebskommission (FuBK) Type 2Als type 1 met cirkel
FuBK Type 3Funkbetriebskommission (FuBK) Type 3Alternatieve versie
FuBK Type 4Funkbetriebskommission (FuBK) Type 4Als type 3 met cirkel
EBU 100European Broadcasting Union (EBU) Kleurbalken100% wit en 100% kleurniveau
EBU 100/75European Broadcasting Union (EBU) Kleurbalken100% wit en 75% kleurniveau
EBU 75European Broadcasting Union (EBU) Kleurbalken75% wit en kleurniveau, plus 100% wit aan onderzijde
SMPTESMPTE kleurentestbeeldBekend testbeeld van de Society of Motion Picture and Television Engineers
ARIBARIB kleuren testbeeldVan de Japanese Association of Radio Industry and Businesses
IBA ETP1IBA Electronic Test Pattern One (IBA-ETP1)Engels testbeeld van de Independent Broadcasting Authority
PM5552Philips PM5552 kleurentestbeeldEen ouder Philips testbeeld uit de PM5552 generator
PM5540Philips PM5540 zwart/wit-testbeeldEen ouder Philips testbeeld uit de PM5540 generator
EBU MonoEuropean Broadcasting Union zwart/wit testbeeldEen ouder testbeeld van de EBU voor zwart/wit beeld
RMA 1946RMA Resolution Chart 1946Het bekende testbeeld van de Radio Manufacturers Association
EIA 1956EIA Resolution Chart 1956Gewijzigd RMA 1946 testbeeld van de Electronic Industries Alliance
Red 75%Volledig 75% kleurniveau rood beeldTe gebruiken voor testdoeleinden
Green 75%Volledig 75% kleurniveau groen beeldTe gebruiken voor testdoeleinden
Blue 75%Volledig 75% kleurniveau blauw beeldTe gebruiken voor testdoeleinden
Magenta 75%Volledig 75% kleurniveau rood en blauw beeldTe gebruiken voor testdoeleinden
Yellow 75%Volledig 75% kleurniveau rood en groen beeldTe gebruiken voor testdoeleinden
Cyan 75%Volledig 75% kleurniveau groen en blauw beeldTe gebruiken voor testdoeleinden
DAC TestOplopende kleuren van elke primaire kleur (RGB)Te gebruiken voor testdoeleinden en het testen van het apparaat zelf
From fileLaad afbeelding vanaf SD-KaartDeze keuze is er alleen als een SD-kaart met afbeeldingen aanwezig is

Opm: Bij het laden van een (nieuw) testbeeld zal de speler tijdelijk gepauzeerd worden. Indien de keuze "From file" is, zal de laatst weergegeven file geladen worden. Is er niet eerder van deze SD-kaart geladen, dan wordt de eerstgevonden op de kaart weergegeven.
 

Menu "Testbeeld Laden van SD-kaart"

Dit menu verschijnt alleen als er in het vorige menu gekozen is voor weergeven van een afbeelding vanaf file

ToetsFunctieOmschrijving
DownVorig bestandLaat naam van vorig beeld op de SD-kaart zien (wordt dus nog niet geladen)
UpVolgend bestandLaat naam van volgend beeld op de SD-kaart (wordt dus nog niet geladen)
OKSelecteer beeldHet aangegeven bestand wordt geladen

Opm: Bij het laden van een afbeelding vanaf de SD-kaart zal de speler tijdelijk gepauzeerd worden.


Menu "Testbeeld Opslaan op SD-kaart"

Dit menu verschijnt alleen als er een SD-kaart geplaatst is. Hiermee kunt u een beeld beschikbaar maken voor gebruik op een ander medium. Bijvoorbeeld op een website of een internetforum. Ook kan het gebruikt worden om een bestaand testbeeld naar eigen smaak aan te passen. Bijvoorbeeld door het toevoegen van extra tekst, logo's, of andere afbeeldingen.

ToetsFunctieOmschrijving
DownKies formaatKies tussen 923x568 en 768x568
UpKies formaatidem
OK--

U kunt kiezen uit twee formaten. Het natuurlijk formaat van het apparaat is 923x568 pixels. Dat formaat is echter in de horizontale richting uitgerekt. Gebruik dit formaat als u de afbeelding wilt bewerken en dan terug zet op de SD-kaart. Het formaat 768x568 komt overeen met het formaat zoals die optisch op de TV lijkt te zijn. Gebruik dit formaat als u de afbeelding voor andere doeleinden wilt gebruiken. Bij het bewaren in dit formaat worden in horizontale richting elke zes pixels omgezet in vijf pixels. Hierdoor verandert de resolutie naar 923 * 5 / 6 = 769, waarbij de laatste pixel wordt verwijderd. De naam van het opgeslagen bestand is van het formaat a923x568.bmp resp. a768x568.bmp, waarbij de beginletter bij elke volgende bewaaractie met één verhoogd wordt. Dit betekent, dat er dus maximaal 26 afbeeldingen opgeslagen kunnen worden. Na de afbeelding beginnende met 'z' zal bij de volgende opslag, die beginnende met 'a' overschreven worden. Wilt u dit voorkomen dan kunt u de bestanden op een PC hernoemen.

Opm: Bij het bewaren van de afbeelding op de SD-kaart zal de speler tijdelijk gepauzeerd worden.


Menu "Frequentie TV modulator Kiezen"

De modulator kan ingesteld worden op elke frequentie in de VHF-banden en in de UHF-banden zoals die gespecificeerd zijn door de CCIR (thans ITU-R) voor de regio West-Europa.

ToetsFunctieOmschrijving
DownVerlaag kanaalnummerKeuze uit kanalen 2-12 (48.25-224.25 MHz), 21-69 (471.25-855.25 MHz)
UpVerhoog kanaalnummeridem
OKSelecteer kanaalnummerDe modulator wordt gezet op het aangegeven kanaalnummer


Menu "Geluidsbron Kiezen"

In dit menu kan de keuze van de audiobron worden gemaakt. Let wel op dat bij keuze voor SD-kaart, er afspeelbare bestanden op geplaatst zijn.

ToetsFunctieOmschrijving
DownKies audiobronKeuze tussen "Uit", "Toon van 1 kHz", en "SD-Kaart (MP3)"
UpKies audiobronidem
OKBevestig keuzeDe aangegeven audiobron wordt vastgelegd

Opm: Als de audiobron wordt uitgeschakeld, wordt ook de geluidsdraaggolf in de modulator uitgezet. Dit betekent dat de TV geen geluid meer ontvangt, en er dus een flinke ruis hoorbaar zal zijn.
 

De micro SD-kaart

De micro-SD kaart maakt integraal deel uit van het apparaat. Bij opstarten wordt gekeken of er een SD-kaart is geplaatst. Is dat niet het geval, dan worden er standaardwaarden uit het interne geheugen van de microprocessor gebruikt. Het is dus niet mogelijk om de SD-kaart tijdens gebruik in te steken, te verwijderen, of te wisselen. Zet daarom het apparaat eerst uit alvorens u de SD-kaart wijzigt. Wijzigt u de SD-kaart trouwens tijdens bedrijf, dan gaat er gelukkig niet iets stuk, maar zal het gedrag van de software niet te voorspellen zijn.

Op de micro SD-kaart worden drie type bestanden herkend. Andere type bestanden worden genegeerd.


Audiobestanden (MP3)

De MP3-speler gaat uit van de Compact Disc (CD) parameters (44.1 kHz, 2 kanalen bij 16 bits per kanaal oftewel 2×16 bit). Dit stereogeluid word intern omgezet in mono, door beide kanalen bij elkaar op te tellen. Andere MP3-formaten worden beperkt ondersteund. Controleer dus eerst of een afwijkend formaat wil afspelen.

Bij opstarten van het apparaat wordt geteld hoeveel MP3 bestanden er op de kaart staan. Als dit aantal gelijk is aan die van de vorige sessie, en als bovendien de disk-ID van de kaart niet gewijzigd is, dan gaat de software er van uit dat dezelfde kaart als bij de vorige sessie nog aanwezig is. In dat geval zal de speler initialiseren op de track en eventueel de locatie in de track, waar het de vorig keer is gestopt. Kortom de speler speelt verder waar hij is gestopt. Is er een andere kaart in gestoken, of zijn er tracks toegevoegd of verwijderd, dan zal de speler terug gaan naar het begin van de eerste track. De bediening van de speler is verder vergelijkbaar met de spelers zoals u die gewend bent van PC, portable player, of mobiele telefoon.


Afbeeldingen (BMP)

Ook hier wordt bij opstarten van het apparaat geteld hoeveel BMP bestanden er op de kaart staan. In dit geval worden ook de verkorte bestandsnamen ingelezen, zodat bij het kiezen van een afbeelding gemakkelijker wordt. Geef uw afbeeldingen dus namen van maximaal acht tekens voor de ".bmp". Langere namen worden wel geaccepteerd, maar zullen worden ingekort tot acht tekens. De afbeeldingen moeten verder voldoen aan de volgende eisen:

Als het formaat niet voldoet aan de bovenstaande voorwaarden, zal de afbeeling niet weergegeven worden en wordt er een foutmelding op de scherm weergegeven.


Stationsidentificatie (TXT)

In sommige beelden kunnen één of twee korte teksten worden weergegeven (stationsidentificatie). Een voorbeeld hiervan is de PM5544. Er zijn twee teksten mogelijk: een korte tekst van maximaal 7 tekens, en een lange tekst van maximaal 11 tekens. De korte tekst vindt u meestal bovenin het scherm. En de lange meestel onderin, maar er zijn ook uitzonderingen. Initieel zijn deze teksten "NFOR" en "NO SIGNAL". U kunt deze teksten wijzigen met de SD-kaart. Bij het opstarten van het apparaat zoekt de software naar de bestanden "top.txt" en "bottom.txt". Wordt het bestand gevonden, dan wordt de inhoud gelezen en in de betreffende tekst geladen. Let op dat als u een tekst hebt die korter is dan het maximum voor die tekst, dat er geen tekens achter de gewenste tekst mogen volgen, dus ook geen loze spaties of tekens voor nieuwe regels. Het bestand moet dan dus precies zo lang zijn als de gewenste tekst (software leest tot "eof").

Het font komt uit de uitbreidingsset voor de PM5544, en bevat een beperkt aantal tekens, nl. " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_" (ASCII 0x20 - 0x5F). Dit houdt dus ook in dat enkel hoofdletters in de tekst toegestaan zijn, bij het inlezen van de teksten van SD-kaart zullen kleine letters echter worden omgezet naar hoofdletters. Andere niet ondersteunde tekens worden niet omgezet, en zullen als spaties worden weergegeven.

Opm: Eenmaal ingelezen teksten worden ook bewaard in het interne EPROM geheugen. Dit houdt in dat ze ook bewaard blijven als de tekstbestanden van de kaart verwijderd worden, of als de SD-kaart zelf verwijderd wordt. Dit uiteraard totdat er nieuwe tekstbestanden op de kaart gevonden worden.
 

In bedrijf stellen en afregelen

Als het bouwen van de print is voltooid, en de print komt bij aanzetten zonder foutmeldingen in het menu, zijn er nog wat laatste handelingen nodig. Sluit een kleurentelevisie aan en stem af op het gekozen kanaal. Als het goed is moet daar nu het eerste beeld verschijnen. Kies via het menu het testbeeld "DAC Test". De schakeling is grotendeels digitaal opgezet, en ook de analoge delen zijn door speciale IC's uitgevoerd. Hierdoor zijn er slechts twee afregelpunten. Is het beeld enkel zwart/wit en u hebt u er van verzekerd dat het apparaat op PAL is ingesteld, draai dan even aan de trimmer C64 totdat het beeld naar kleur overschakelt. Controleer nu of de drie kleuren gelijkmatig in intensiteit oplopen. Als dat het geval is, verander dan het testbeeld naar "EBU 100/75". Beschikt u over een vectorscoop, dan kunt u die gebruiken om C64 wat preciezer of te regelen. Hebt u een TV-tuner, sluit dan de vectorscoop aan op de composietuitgang van de tuner. Hebt u geen geschikte tuner, sluit dan de vectorscoop rechtstreeks aan op de print:

[Error loading figure 20]
Fig. 20: Directe aansluiting vectorscoop.

Als u gekozen hebt voor video op J8, dan kunt u de vectorscoop direct aansluiten op J8 (paarse pijl). Zo niet dan aansluiten op TP9 via een serieschakeling van een 75Ω weerstand en een 220µF elco (groene pijl). Let in alle gevallen op dat de vectorscoop correct is afgesloten met 75Ω. Hieronder ziet u een voorbeeld met twee afsluitweerstanden. Uiteraard kan de afsluiting ook plaatsvinden in een apparaat dat na de vectorscoop is aangesloten. Denk hierbij aan een waveform monitor of een normale video monitor.

[Error loading figure 21]
Fig. 21: Afsluitweerstand vectorscoop.

Zet de ingang van de vectorscoop in de stand "75% kleurbalken", en zet de variabele gevoeligheid uit (stand CAL op PM5567). Regel C64 zo af dat hij halverwege de twee instellingen ligt waarbij het beeld begint te rond te tollen. Draai nu aan de faseknop totdat de burstlijnen op de daarvoor aangegeven lijnen op het display vallen. Regel R33 nu zo af dat de diverse kleuren in de daarvoor aangegeven vakjes vallen:

[Error loading figure 22]
Fig. 22: Afregelen EBU 100/75 op vectorscope (bron afbeelding: Wikipedia).

Als u geen vectorscoop hebt, kunt u C64 zo afregelen dat hij halverwege de twee instelling ligt waarbij het beeld zwart/wit wordt. In dit geval kan het zijn dat bij aansluiten van een andere TV een kleine correctie van C64 nodig is. Voor het afregelen van R33 gebruikt u dan een oscilloscoop. Sluit de probe aan op TP9. Regel R33 nu zo af dat de amplitude van het signaal precies 2 volt is:

[Error loading figure 23]
Fig. 23: Afregelen op oscilloscoop.

Nu is de testbeeldgenerator klaar voor gebruik.
 

Foutzoeken

Display test

Een aantal bouwers zullen net als ik het praktisch vinden om de schakeling in delen op te bouwen. Zo begin ik met de voeding. Als die is afgebouwd controleer ik de spanningen. Pas daarna begin ik met het opbouwen van de gevoelige IC's. Het is dan handig om eerst alleen alles rond de processor op te bouwen, inclusief de montage van het printje met het display. Zodra de processor, het display, en de seriële programmeerpoort gemonteerd zijn, is het mogelijk om alvast de software in de processor te laden. Als dat gelukt is, moet na het opnieuw inschakelen (denk aan het verwijderen van JP1) het display reeds in werking treden. Is dat niet het geval, let dan op dat ook R53 & R54 (pull-up weerstanden van U23) gemonteerd moeten zijn. De processor zal immers ook proberen de modulator te bereiken. Zonder de pull-up weerstanden zal de processor in de I2C routine blijven hangen.


Foutmelding geheugentest

Zodra de CPLD, de FSC oscillator, en het videogeheugen gemonteerd is, moet de geheugentest bij het inschakelen van het apparaat succesvol doorlopen. Zo niet dan verschijnt er een foutmelding op het display. Deze melding geeft aan wat de reden is van de fout, en vergemakkelijkt daardoor het foutzoeken.

"ERR:VDAT 0x0001": De geheugentest begint met de bits van de databus. Als het eerste bit al mis gaat, betekent het meestal dat de microprocessor niet naar het videogeheugen kan schrijven. Dit kan op een defecte of niet geprogrammeerde CPLD duiden. Controleer of de CPLD wel geladen is. Een simpele test is dan om pen 50 (FSC uitgang) te controleren. Daar moet de burstfrequentie van 4,43361875 MHz op staan. Is dat niet het geval, dan is de CPLD niet geladen. Controleer of R61 & R62 niet verwisseld zijn. Of controleer of de programmeerverbinding naar de CPLD (R70 t/m/ R74) correct is. Het kan ook zijn dat u een CPLD hebt waar al iets onbekends in staat, wat de programmering dwarsboomt. In dat geval dient u de CPLD eerst te wissen met een programmer. Als na het wissen de CPLD nog steeds niet werkt, is die waarschijnlijk defect.
Wordt de CPLD wel goed geladen maar gaat het toch fout bij de eerste databit, dan kan er ergens sluiting of een losse pin tussen processor en CPLD zitten. Controleer databus HD0-HD7, adresbus HA0-HA2, HWEn, HOEn, HCS0n, HCS1n op sluitingen of losse pennen. Ook kan het zijn dat er een probleem is met WEn of OEn tussen CPLD en videogeheugen, of dat het videogeheugen zelf defect is.

"ERR:VDAT 0xDDDD": waarbij DDDD staat voor de hexadecimale data die naar de het videogeheugen is geschreven, maar niet wordt teruggelezen. Dit duidt op een sluiting of losse pen in de databus tussen CPLD en videogeheugen. De waarde van DDDD komt overeen met de bits waar het fout bij gaat. Controleer dus gericht op die bits. Bijvoorbeeld 0X0080 duidt op een probleem met bit 7.

"ERR:VADD 0xAAAAA": waarbij AAAAA staat voor de hexadecimale adres waarbij data naar de het videogeheugen is geschreven, maar niet wordt teruggelezen. Dit duidt op een sluiting of losse pen in de adresbus tussen CPLD en videogeheugen. De waarde van AAAAA komt overeen met het adres waar het fout bij gaat. Controleer dus gericht op die adreslijnen. Bijvoorbeeld 0X04000 duidt op een probleem met adres bit 14.

"ERR:VDEV 0xAAAAA": Hierbij gaat er iets mis in het videogeheugen zelf. Waarschijnlijk is één van de geheugens zelf defect.


Fout in video-DAC test

Als de geheugtest wel slaagt maar het DAC-test beeld niet de beoogde oplopende kleurintensiteiten geeft, dan is er iets mis met de verbinding tussen CPLD en video-DAC. U kunt aan het beeld zien waar het ergens mis gaat. Door goed te kijken naar de kleuren (met het oog op de TV of met de oscilloscoop), kunt u bepalen welke bits fout gaan. Controleer die verbindingen op sluitingen of losse pennen.


Fout na de video-DAC

Zijn alle bovengenoemde punten gecontroleerd, maar is er nog steeds geen (correct) beeld, dan is er iets mis in de analoge delen na de video-DAC. Hiervoor biedt de oscilloscoop uitkomst. Controleer of de signalen zijn als verwacht. Mogelijk is er een verkeerde weerstand of condensator gemonteerd rond de modulator.


Fout in de modulator

Fout na de video-DAC


Veel Succes,
Otto Tuil

Update 10 april 2021


Galerij

Interne Testbeelden

De volgende testbeelden worden elektronisch opgewekt:


[Error loading figure 24]
Fig. 24: Philips PM5544.


[Error loading figure 25]
Fig. 25: Funkbetriebskommission (FuBK) Type 1.


[Error loading figure 26]
Fig. 26: Funkbetriebskommission (FuBK) Type 2.


[Error loading figure 27]
Fig. 27: Funkbetriebskommission (FuBK) Type 3.


[Error loading figure 28]
Fig. 28: Funkbetriebskommission (FuBK) Type 4.


[Error loading figure 29]
Fig. 29: EBU 100% White / 100% Colors.


[Error loading figure 30]
Fig. 30: EBU 100% White / 75% Colors.


[Error loading figure 31]
Fig. 31: EBU 75% + 100% White / 75% Colors.


[Error loading figure 32]
Fig. 32: Society of Motion Picture and Television Engineers (SMPTE).


[Error loading figure 33]
Fig. 33: Japanese Association of Radio Industry and Businesses (ARIB).


[Error loading figure 34]
Fig. 34: Independent Broadcasting Authority - Electronic Test Pattern One (IBA-ETP1).


[Error loading figure 35]
Fig. 35: Philips PM5552.


[Error loading figure 36]
Fig. 36: Philips PM5540.


[Error loading figure 37]
Fig. 37: EBU Monochrome.


[Error loading figure 38]
Fig. 38: Radio Manufacturers Association (RMA) Resolution Chart 1946.


[Error loading figure 39]
Fig. 39: Electronic Industries Alliance (EIA) Resolution Chart 1956.


[Error loading figure 40]
Fig. 40: DAC Test (handig om de schakeling te controleren).


Testbeelden vanaf micro SD-kaart

Wilt u een zelfgemaakt testbeeld of een beeld dat niet in de interne lijst staat? Zet die dan op een micro SD-kaart. Bij het opstarten van de generator, wordt gecontroleerd of er afbeeldingen op de SD-kaart staan. In het menu voor het testbeeld kan dan voor "from file" worden gekozen, waarna het menu voor de filekeuze geactiveerd wordt. Let wel op dat het formaat van de afbeeldingen correct is, dus alleen BMP afbeeldingen van 923x568 (aanbevolen formaat) of 768x576 pixels bij 24 bits RGB. Afbeeldingen met andere formaten kunnen niet worden weergegeven, en leiden tot een foutmelding.

Hier volgen twee voorbeelden van zo'n testbeeld:


[Error loading figure 41]
Fig. 41: RCA Indian Head (klik op afbeelding om de BMP te downloaden).


[Error loading figure 42]
Fig. 42: NBC Testbeeld (klik op afbeelding om de BMP te downloaden).



Variaties op de schakeling

Naast de al eerder genoemde keuze voor de voeding en de PAL-encoder, zijn er nog enkele mogelijkheden om de schakeling naar eigen voorkeur aan te passen.


Aanvulling voor externe DC voeding

Let op dat de DC power plug een kleinere versie is dan de vaker gebruikte 5.5 × 2.1 mm:

[Error loading figure 43]
Fig. 43: DC Socket 3.5 × 1.3 mm.

De reden voor het gebruiken van de kleinere versie is dat daarmee de veiligheid van de schakeling ten opzichte van de netentree gehaald kon worden. Met een grotere plug kreeg ik kruipafstanden naar de netvoerende delen niet goed.


CPLD vanuit eigen flash opstarten

Zoals vermeld wordt de configuratie van de CPLD door de microprocessor in de CPLD geladen. De gebruikte CPLD heeft echter ook intern flashgeheugen waarin de configuratie kan worden opgeslagen en bij opstarten geladen. Bent u in het bezit van een programmer voor Lattice CPLD's, dan kunt u ook gebruik maken van deze optie. Het voordeel daarvan is dat het apparaat bij aanzetten iets sneller opstart. Om de microprocessor te laten weten, dat de configuratie reeds in de CPLD zit, dient u weerstanden R61 en R62 om te wisselen:

[Error loading figure 44]
Fig. 44: Programmeren CPLD via JTAG.

De processor zal dan het configureren van de CPLD overslaan. Met de Lattice Diamond Programmer kunt u de configuratie (jed-file) in de CPLD programmeren via J3.


LPC-processor via JTAG progammeren

Voor het debuggen van de software tijdens de ontwikkeling van de software heb ik gebruik gemaakt van de JTAG poort J1. Sinds versie 2.5 wordt gebruik gemaakt van een niet gestandaardiseerde kleine connector. Met behulp van een verloopprintje of aangepaste bedrading kan toch gebruik gemaakt worden van een standaard JTAG debugger zoals de J-Link van Segger:

[Error loading figure 45]
Fig. 45: Programmeren LPC17x8 / LPC40x8 via JTAG.

Mocht u ook in het bezit zijn van zo'n JTAG debugger, dan kunt u de processor ook programmeren via JTAG. Dit gaat veel sneller dan met de seriële kabel. Hoewel het (her)programmeren maar sporadisch nodig is, kan een snellere programmeeractie handig zijn als u bijvoorbeeld meerdere printplaten wilt programmeren. Connector J1 moet dan wel geplaatst zijn. Met de J-Flash tool van Segger kunt u de software (hex-file in de microprocessor programmeren.


Alleen zwart/wit

Het is mogelijk om de schakeling dusdanig te vereenvoudigen dat het alleen zwart/wit-beelden uitzendt. Dit kan handig zijn als u geen behoefte hebt aan kleurensignalen. Bijvoorbeeld doordat u alleen geïnteresseerd bent in oude buizentelevisies. Het is dan niet nodig en soms zelfs onwenselijk om een kleurensignaal aan de TV aan te bieden. Nu kan de volledige schakeling ook zwart/wit genereren, maar als dat nooit gebruikt wordt, kan het nuttig zijn om de zwart/wit-versie te bouwen. Allereerst kunnen er een aantal componenten worden weggelaten, waardoor de print enkele euro's goedkoper wordt. Een tweede voordeel is dat het aantal niveaus van het beeld verhoogd wordt naar 256 (8 bits). Hierdoor zijn mooiere beelden mogelijk.

Hieronder ziet u enkele verschillen tussen de kleuren (links) en de zwart/wit versie (rechts):

[Error loading figure 46]
Fig. 46: Kleur vs. zwart/wit (bovenzijde).

 

[Error loading figure 47]
Fig. 47: Kleur vs. zwart/wit (onderzijde).

(1) PAL encoder en analoge mux niet nodig.
(2) Trimmer vervangen door vaste condensator C56 aan de onderzijde.
(3) Composiet videouitgang niet toegestaan. (Eventueel kunt u wel de audiouitgang monteren).
(4) Dit RAM IC is niet nodig.
(5) Verbinding tussen TP6 en TP9.
(6) R31 verplaatst naar R30.
(7) R38 vervangen door 0Ω en R39 vervallen.

Wat het meest opvalt is dat het circuit rond de PAL-encoder (punt 1) is komen te vervallen. Verder hoeft de klokfrequentie niet meer zo nauwkeurig te zijn dus trimmer C64 kan vervangen worden door een vaste condensator (C56). Ook het videogeheugen kan van 16 naar 8 bits teruggebracht worden, waardoor U12 aan de onderzijde van de print net meer nodig is. Let verder op dat aan de video-DAC R31 verplaatst wordt naar R30. Dit zorgt er voor dat het synchronisatiesignaal bij het groene kanaal wordt gevoegd. Dit groene kanaal dient nu als nieuw zwart/wit videosignaal, zodat het via een draad tussen TP7 en TP9 direct aan de modulator wordt aangeboden. (Let ook op de gewijzigde waarden van R38 en R39).

Het afregelen van R33 kan met de oscilloscoop. Kies via het menu testbeeld "EBU 100/75". Sluit de probe aan op de draad tussen TP7 en TP9. Regel R33 nu zo af dat de amplitude van het signaal precies 1 volt is:

[Error loading figure 48]
Fig. 48: Zwart/Wit versie afregelen op oscilloscoop.

Opm: Vergeet niet om de zwart/wit versie van de software in de microprocessor te zetten. Het is trouwens ook mogelijk om de zwart/wit-sofware in de volledige schakeling te zetten. De schakeling gedraagt zich dan ook als de zwart/wit-versie, maar gebruikt dan een aantal onderdelen (U12) niet of enkel als "doorgeefluik" (U22 en U24).

Update 14 april 2021


Downloads


Interne Tools

VideoGeneratorSim.exe (Windowsprogramma dat dezelfde testbeelden genereert)


Externe Tools

Flashmagic (LPC17x8/LPC40x8 programmeren via seriële poort)

J-Flash (LPC17x8/LPC40x8 programmeren via JTAG m.b.v. J-Link)

Lattice Diamond Programmer (CPLD programmeren via JTAG m.b.v. HW-USBN-2A)


LPC17x8/LPC40x8 Software

Software voor kleuren-testbeeldgenerator - printversies 2.1/2.5/2.6 (standaardversie)

Software voor zwart/wit testbeeldgenerator - printversies 2.1/2.5/2.6 (voor vereenvoudigde print)


CPLD Configuratie

CPLD Configuratie voor kleuren testbeeldgenerator - printversies 2.1/2.5/2.6 (standaardversie)

CPLD Configuratie voor zwart/wit testbeeldgenerator - printversies 2.1/2.5/2.6 (voor vereenvoudigde print)


Volledig Schema

Schema versie 2.5/2.6 (huidige versie)

Schema versie 2.1 (oude versie zonder softwarematige CPLD configuratie)

Schema versie 1.3 (oude versie met SAM4S8B microprocessor)

Schema gebruikersinterface 4.1 type 1 (Standaardversie voor 4 of 6 pins OLED)

Schema gebruikersinterface 4.1 type 2 (Versie voor 7 pins OLED. Let op: herconfigureer OLED van SPI naar I2C)


Print lay-out

Gerbers versie 2.5 [pdf] (huidige versie)

Gerbers versie 2.1 [pdf] (oude versie zonder softwarematige CPLD configuratie)

Gerbers versie 1.3 [pdf] (oude versie met SAM4S8B microprocessor)

Gerbers GUI 4.1 type 1 [pdf] (Standaardversie voor 4 of 6 pins OLED)

Gerbers GUI 4.1 type 2 [pdf] (Versie voor 7 pins OLED)

Update 7 april 2021