Reverse engineering Cd-speler LED-display (NSM4x02)...

Van tekentafel tot soldeerbout, in deze afdeling is alle ruimte voor eigen ontwikkeling van audio gerelateerde apparatuur. Schema's tekenen, print ontwerpen, componenten kiezen, printplaten etsen of laten maken.

Moderator: Moderators

MGf
Berichten: 563
Lid geworden op: 24 jan 2016, 10:33
Locatie: Regio Arnhem

02 nov 2016, 22:51

Ik heb weer een van mijn andere projectjes even nieuw leven in geblazen:

Na verloop van enkele jaren beginnen de displays in de CD202, CD303, CD350, CD160, etc. uit te vallen.
Zoals wellicht bij de meeste al wel bekend, is de oorzaak niet de leds zelf, maar de driver, zo'n druppel ding op de print. :)

Ik heb al diverse vervangers gezien, maar vind ze veel te modern (afgeronde segmenten) en niet mooi.
Het uiterlijk moet toch bij een speler als de CD202 of 303 echt wel zo veel mogelijk origineel blijven, vind ik.
Dus die vervangers van 50,- en meer, hoef ik niet. Waarom dan niet zelf bouwen??

Inventarisatie
Als eerste ben ik begonnen met zoeken naar vervangende LCD displays. De meeste die ik vond waren te groot, geen dubbele punt in het midden of hadden "moderne", afgeronde segmenten. De displays die het meest in de buurt kwam, was dan ook nog eens op basis van rode leds, handig voor een Magnavox of misschien een Aristona, maar niet voor in een Philips, daar hoort groen in.
Omdat die rode niet erg duur waren, heb ik er twee besteld om eens mee te experimenteren. Na veel zoeken ook wel een enkele groene gezien, maar die gaan per 50 stuks... :roll: Dat is pas interessant als het project grote vormen aan gaat nemen.
Afbeelding

De verschillen van de huidige LCD's zijn groot, zelfs tussen NSM4202A's zitten verschillen:
Afbeelding

STAP 1: De Arduino als LED Display driver
Als eerste ben in begonnen met het programmeren van een Arduino Nano, stapje voor stapje kon ik het LCD in matrix (multiplex) mode aansturen:
Afbeelding
Afbeelding

STAP 2: Het uitlezen van de seriële data uit de processor.
Hiervoor heb ik een eenvoudige USB datalogger gekocht (Saleae Logic Analyzer 24MHz, 8CH)
Daarmee kon ik zowaar heel mooi uitlezen wat het display aan bitjes om z'n oren krijgt geslingerd.
Afbeelding

STAP 3: Data vertalen naar display sturing
Inmiddels is het me gelukt om wat data uit te lezen met de Arduino en er iets zinnigs mee te doen. :dance:
Helaas heeft de Nano net niet voldoende I/O poorten, dus op zoek naar een Micro.
Misschien wordt de Micro straks de basis van het nieuwe display of ik pak een losse Atmel328 oid.

Binnenkort meer! :D

[edit] Aanpassing afbeeldingen... [/edit]
Laatst gewijzigd door MGf op 21 nov 2016, 13:32, 2 keer totaal gewijzigd.
~ Mark ~
Soldeerbout, schroevendraaiers en een hamer.
Gebruikersavatar
Will
Berichten: 3836
Lid geworden op: 24 mei 2009, 21:56
Locatie: Het uiterste Zuiden
Contacteer:

03 nov 2016, 08:57

Haha, zo zie je maar dat je nooit alleen bent met een idee.

Ik ben al een tijdje aan het experimenteren met een Arduino en losse displays. Met als doel de arduino straks te vervangen door een printje met daarop alleen nog een geschikte ATmel chip en een paar andere componentjes.
Door een ATmel met smd huisje te kiezen moet het op een klein printje zonder draden gaan passen.
Door andere "projecten" ligt dit al een tijdje aan de kant geschoven.

De codering van de displays is bijzonder simpel. De originele chip is een serieel naar parallel-omzetter en ieder bitje dat binnen komt gaat naar een eigen led (ook de Track en Error en eventueel Index-leds)
De vertaling kan ik je zo aanleveren, maar staat ook op het internet.
Een verzamelaar ziet niet wat hij al heeft, hij ziet alleen wat hij nog mist.
Gebruikersavatar
correltje
Berichten: 3677
Lid geworden op: 24 aug 2010, 13:29
Locatie: Waalwijk

03 nov 2016, 14:28

Interessant!
Bronnen: GA202, 2X GA212, GA222, AF877, CD202, CD911, 22RH651, TK610, TU 3900, TX-400, N4504.
Versterkers/Receivers: 2X NL312H, 22RH550, 22RH551, 22AH762, AX-500
Weergevers: ADK2525, N6320, N6330/99, MFB: 2X 541, 532, 544, 586, 587
Gebruikersavatar
movieman
Berichten: 12533
Lid geworden op: 17 mar 2008, 22:42
Locatie: Zuid-Limburg

03 nov 2016, 14:38

Dit zal ik zeker blijven volgen! :geek:
MGf
Berichten: 563
Lid geworden op: 24 jan 2016, 10:33
Locatie: Regio Arnhem

03 nov 2016, 14:53

Haha, zo zie je maar dat je nooit alleen bent met een idee.

Ik ben al een tijdje aan het experimenteren met een Arduino en losse displays. Met als doel de arduino straks te vervangen door een printje met daarop alleen nog een geschikte ATmel chip en een paar andere componentjes.
Door een ATmel met smd huisje te kiezen moet het op een klein printje zonder draden gaan passen.
Door andere "projecten" ligt dit al een tijdje aan de kant geschoven.

De codering van de displays is bijzonder simpel. De originele chip is een serieel naar parallel-omzetter en ieder bitje dat binnen komt gaat naar een eigen led (ook de Track en Error en eventueel Index-leds)
De vertaling kan ik je zo aanleveren, maar staat ook op het internet.
Leuk dat er meer mensen zijn die dezelfde ideeën hebben! :lol:
Atmel in SMD vorm wil ik eigenlijk juist niet doen omdat het dan misschien te ingewikkeld (duur) wordt voor de print, overige componenten en assemblage. Door geen losse 7-segment displays te nemen, kan je met relatief weinig I/O poorten een led-array aansturen wat ook in een "alles-in-een" display zoals ik gekocht heb.
Met 8 a 9 datalijnen voor een 7-segments display (met decimale punt en eventueel een extra (dubbele) punt) en daarbij 4 commons per digit, kan je met 13 I/O lijnen al het hele display aansturen.
Daarbij komen dan, afhankelijk van de uitvoering van het display twee of drie LEDs die ook door de controller aangestuurd moeten worden. Dus 3 I/O's erbij. Met 16 I/O's ben je er dan.
Verder heb je voor de seriële SPI interface drie datalijnen nodig (Clock, Data, CS)
Met een Atmel met 20 I/O poorten moet het dus aan te sturen zijn.
Dan moet het kunnen om met dezelfde basis een NSM4202(A) en NSM4002 te simuleren. Het verschil is dan de software en de pinout. Of als er nog een I/O beschikbaar is, als input te definiëren en met een jumper om te schakelen is tussen de functies, bedenk ik me nu net. :think:
De verschillen zijn me al redelijk bekend: Afmeting is hetzelfde, pinout is anders. Dubbele punt vs decimale punt... etc.
~ Mark ~
Soldeerbout, schroevendraaiers en een hamer.
Gebruikersavatar
Will
Berichten: 3836
Lid geworden op: 24 mei 2009, 21:56
Locatie: Het uiterste Zuiden
Contacteer:

03 nov 2016, 15:06

Je hebt iets andere uitgangspunten dan ik. Ik wil het op een passende print krijgen, vandaar de smd-atmel.
Een passende groene 4x7 segment had ik niet gevonden, vandaar losse. Verder geen punt.

Jij accepteert wat draden, dat maakt het bouwen eenvoudiger en het inbouwen wat moeilijker. Ieder zijn voorkeuren. ;-)

Voor de aansturing: je hebt 8 segmenten (7+1) en 4 displays, dat zijn maximaal 12 datalijnen. De extra leds en dubbele punt zijn allemaal als segment 8 van een digit aan te sturen. ook al zit die led niet fysiek in die digit. Niet elke decimale punt is gebruikt, kijk maar eens op een werkende speler.
Het kan nog compacter, maar dan heb je een extra demux chipje nodige en ben je met 8 datalijnen klaar.
Voor de io heb je drie lijnen nodig: data, clock en latch.
Met max 15 datapoorten moet het lukken.
Een verzamelaar ziet niet wat hij al heeft, hij ziet alleen wat hij nog mist.
yrraH
Berichten: 326
Lid geworden op: 12 aug 2015, 19:28

03 nov 2016, 15:11

Er is (was?) toch een chipje wat deze functie ook uit kan voeren?
De Micrel MM5450 lijkt te kunnen worden gebruikt.

Er zijn wel wat meer hobbyisten die zich eraan hebben gewaagd:
http://www.diyaudio.com/forums/digital- ... splay.html
Genoeg te vinden.
Laatst gewijzigd door yrraH op 03 nov 2016, 15:35, 1 keer totaal gewijzigd.
Gebruikersavatar
Will
Berichten: 3836
Lid geworden op: 24 mei 2009, 21:56
Locatie: Het uiterste Zuiden
Contacteer:

03 nov 2016, 15:24

Klopt allemaal Harry. Dat chipje is ook precies wat er op de originele printjes zit als chip-on-pcb.
Te koop als 40-pins dil joekel en als vierkant smd chipje.

De overig projectjes zijn ook bekend en voor een 45 euro kun je een vervangend printje kopen bij een van de projectjes.

We hebben er op dit forum al eerder over geplaudert: viewtopic.php?f=7&t=7064&p=126129
Een verzamelaar ziet niet wat hij al heeft, hij ziet alleen wat hij nog mist.
yrraH
Berichten: 326
Lid geworden op: 12 aug 2015, 19:28

03 nov 2016, 15:41

....

We hebben er op dit forum al eerder over geplaudert: viewtopic.php?f=7&t=7064&p=126129
Het lijkt mij leuker om het al eerder gebruikte IC met een juist display proberen te combineren. Blijf je nog bijna origineel ook.
Maar dit is ook een nette oplossing natuurlijk.
Gebruikersavatar
bramjacobse
Berichten: 1391
Lid geworden op: 22 aug 2014, 09:02
Locatie: Almere-Haven
Contacteer:

03 nov 2016, 17:30

er worden twee versie gebruik in de philips cd spelers

de NSM4002 / NSM4202 - PHILIPS CD202 / CD303 / CD150 / CD151 / CD350

en de NSM4202A in de PHILIPS CD152 / CD160 / CD360 / CD371 / CD372 / CD460 / CD560
Laatst gewijzigd door bramjacobse op 03 nov 2016, 18:06, 1 keer totaal gewijzigd.
Hoewie Loewie
Berichten: 8365
Lid geworden op: 10 okt 2014, 14:12
Locatie: Veghel
Contacteer:

03 nov 2016, 18:02

er worden twee versie gebruik in de philips cd spelers

de NSM4002 / NSM4202 - PHILIPS CD202 / CD303 / CD150 / CD151 / CD350

en de NSM4202A in de PHILIPS CD152 / CD160 / CD371 / CD372 / CD460 / CD560
Hoi. Welke zijn de betere? Of maakt dat niet uit?
Erres SX6290 SX6393 SX6194 SR3390 Aristona AR8530 SG1408 CD1202 Philips GF403 AG2230 GA202 GA212 RH423 RH426 RH532MFB CD104 CD303 CD950 N2221 en veul Superscope. :D www.superscopeaudio.nl
Gebruikersavatar
bramjacobse
Berichten: 1391
Lid geworden op: 22 aug 2014, 09:02
Locatie: Almere-Haven
Contacteer:

03 nov 2016, 18:15


Hoi. Welke zijn de betere? Of maakt dat niet uit?
Maak niet uit , hebben allemaal het zelfde probleem ,
Alleen de pin layout is anders bij de "A" versie
Gebruikersavatar
gromsound
Berichten: 7439
Lid geworden op: 26 jun 2005, 21:58
Locatie: Haaksbergen
Contacteer:

03 nov 2016, 21:30

de heren zijn bekend met de aansturing in v2000 recorders? door in de tijd snel wisselend slechts delen van het volledige display aan te sturen (ik meen per cijfer apart) kon men met veel minder datalijnen toe. je ziet dat mooi als je met een digitale camera zon recorder bekijkt dan zie je door interferentie (strobe effect) de cijfers om en om oplichten. In werkelijkheid gaat dat te snel voor onze ogen dus lijkt het statisch. Uiteraard wordt dat allemaal gedaan door een van de microprocessors in de VCC (lichtjaren vooruit in 1980) maar dat zou zon truccenchippie als wat jullie gebruiken ook wel kunnen neem ik aan.
Kijk maar eens in een vroege manual daar staat de werking van het display in beschreven.
lijdt aan AMHD - alles moet het doen
MGf
Berichten: 563
Lid geworden op: 24 jan 2016, 10:33
Locatie: Regio Arnhem

03 nov 2016, 21:57

Je hebt iets andere uitgangspunten dan ik. Ik wil het op een passende print krijgen, vandaar de smd-atmel.
Een passende groene 4x7 segment had ik niet gevonden, vandaar losse. Verder geen punt.

Jij accepteert wat draden, dat maakt het bouwen eenvoudiger en het inbouwen wat moeilijker. Ieder zijn voorkeuren. ;-)

Voor de aansturing: je hebt 8 segmenten (7+1) en 4 displays, dat zijn maximaal 12 datalijnen. De extra leds en dubbele punt zijn allemaal als segment 8 van een digit aan te sturen. ook al zit die led niet fysiek in die digit. Niet elke decimale punt is gebruikt, kijk maar eens op een werkende speler.
Het kan nog compacter, maar dan heb je een extra demux chipje nodige en ben je met 8 datalijnen klaar.
Voor de io heb je drie lijnen nodig: data, clock en latch.
Met max 15 datapoorten moet het lukken.
Ik denk dat onze uitgangspunten juist wel redelijk hetzelfde zijn hoor. :)
Het liefste wil ik ook een oplossing die achter het display geplaatst kan worden. Een Arduino Nano is al erg klein en past redelijk goed achter het huidige display. Een losse Atmel zou nog mooier zijn, bijvoorbeeld een Atmega328p, maar die heeft denk ik net te weinig I/O poorten. Een SMD variant kan uiteraard ook wel. Op de Arduino Micro zit een ATmega32U4, da's wel een SMD, ook dat is wel te doen.

12 datalijnen voor 4x 7+1 klopt, maar met een geïntegreerde 4-in-1 LCD, kan ik helaas niet een decimaal led in het matrix vervangen voor een externe led. In jouw ontwerp met 4 losse 7-segments displays kan dat uiteraard wel.
Daarnaast wil ik het ontwerp op de een of andere manier universeel maken voor de twee types, dus dan moet ik bij het ene display de dubbele punt aansturen, de andere keer de decimaal punt tussen het tweede en derde digit.
Hoe ik dat ga doen, ga ik nog wel een keer uitschrijven welke ideeën ik daarvoor heb. Ben er nog niet helemaal uit.

Demux kan uiteraard ook, maar wordt dan weer een stuk complexer dat op een compact printje te krijgen en ook de kosten beperkt te houden.

Als ik jouw project plan zo'n beetje beluister, ben je dan niet veel makkelijker klaar door gewoon zo'n modern vervangend printje te kopen met 4 losse displays? Die kosten iets van $45.
~ Mark ~
Soldeerbout, schroevendraaiers en een hamer.
Plaats reactie