[Exelvision] EXL100 et IR

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

[Exelvision] EXL100 et IR

Message par 6502man »

J'ai ressorti un EXL100 qui ne reconnait plus les claviers IR, je l'avait de côté depuis un bon moment et comme une personne m'a questionné justement sur ce problème de clavier non reconnu pas l'EXL100, j'en profite pour tenter de réparer le mien ;)

Donc j'avais à l'époque annoté un schéma de la partie IR et si j'avais bien compris le fonctionnement :
la photodiode reçoit les signaux IR du clavier et des manettes, puis le signal passe par le TEA1009 (amplification) pour arriver dans les 2 décodeurs LM567 (PIN 3), si la fréquence correspond la sortie (pin 8) active une IRQ du TMS7041 ?

Donc chaque décodeurs est réglé sur une fréquence, d'après ce que j'avais trouvé sur le net ce serait 28,437 Khz et 20 Khz, et d'après le datasheet du LM567 la fréquence de référence est calculé en fonction des condensateur et résistance connecté aux pin 5 et 6, la formule est toujours d'après ce datasheet F0=1.1/R1C1 .
mais d'après le schéma j'ai du mal à calculer les fréquences de références pour retomber sur 28 et 20 Khz, en sachant que le LM567 tolère une bande passante en % de la fréquence déterminé par le condensateur connecté sur la PIN 2 si j'ai bien compris le datasheet ???
Pour le premier (MX219) je calcul 25.15... pour le deuxieme (MX241) je calcul 18,51... en tenant compte de 5k pour les potentiomètres !!


Donc j'ai 5 questions auxquelles j'espère vous aurez des réponses ou des pistes à explorer :

- Quel LM567 décode le clavier et la première manette ? :roll:
- Quelles sont les valeurs exacte (F0) pour les 2 LM567, en ce basant sur le schéma ?
- Que dois je observer à l'oscilloscope sur les pattes des 2 LM567 si ils sont fonctionnels ?
- Si je n'observe aucun créneaux sur la PIN 3 en utilisant le clavier ou les joystick est ce que je peux en déduire que le TEA1009 est en défaut ?
- Si je n'observe aucun créneaux sur la PIN 13 du TEA1009 comment tester le TIL100 ?

Voila merci d'avance pour votre aide :)


N'hésitez pas à me rectifier si j'ai commis une erreur d'interprétation du schéma ou dans mes explications ;)

exl100_IR.jpg
exl100_IR.jpg (377.64 Kio) Consulté 8129 fois
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

Les 5k des potentiomètres, c'est leur maximum, donc on peut déjà supposer qu'il ont été choisis pour être réglés autour de leur valeur médiane (2,5K). Il faut déterminer à laquelle les mettre pour commencer et s'approcher du bon réglage.
Pour ce faire, on peut changer la formule comme ceci : R1 = 1.1/F0*C1 . Comme on a le même condensateur C1 pour les deux (3.3nF), il suffit de rentrer chaque fréquence gérée par l'EXL100, et on obtient :
- 11722 ohms pour 28,437kHz
- 16666 ohms pour 20,0kHz
En plus du potentiomètre, on a ces résistances en série à retrancher : 8,25K pour le décodeur du haut, et 13K pour celui du bas.
Même si ça doit pouvoir se confirmer par l'étude du schéma logique en regard des registres accédés via les routines en ROM (et ce qui a été découvert sur le fonctionnement du TMS 7041, à droite sur le schéma), on peut déduire que :
- celui du bas (MX241) s'occupe de la manette à boutons blancs (20khz) et qu'il faudrait régler environ 3,66K sur le potar
- celui du haut (MX219) s'occupe de la manette à boutons oranges et du clavier (28,437khz) avec un potar à environ 3,47K
(source pour ces fréquences : http://www.ti99.com/exelvision/website/ ... tes-de-jeu )

A noter que d'autres datasheet du LM567 indiquent une formule légèrement différente : 1/(1.1*R1*C1) :?:
( voir http://pira.cz/pdf/lm567.pdf et http://web.mit.edu/6.115/www/document/lm567.pdf )

Sinon, j'avais donné quelques éléments de documentation du TEA1009 (difficilement glanés sur le net) ici : https://forum.system-cfg.com/viewtopic. ... 15#p131195 (répartis sur deux messages)
En effet, après la photodiode (je pense que c'est plutôt une mesure de courant qu'il faut faire), la sortie de l'ampli en pin 6 semble être l'endroit suivant à tester pour suivre les signaux. (s'il te plaît, fais nous part des mesures que tu obtiens, c'est ce qui avait à mon avis manqué lors de la précédente "discussion")
Patrick
Messages : 2019
Inscription : 16 mai 2009 09:30
Localisation : Clermont-Ferrand

Re: [Exelvision] EXL100 et IR

Message par Patrick »

J'ai le même problème sur lequel je me suis penché récemment.
J'ai comparé entre un EXL100 qui fonctionne et un qui ne fonctionne pas.
Sur les LM567 tu peux voir passer le signal avec un analyseur logique.

Voici la capture pour l'appui sur la touche A sur l'EXL100 qui fonctionne :
Image

Voici la capture pour l'appui sur la touche A sur l'EXL100 qui ne fonctionne pas :
Image

Le canal 1 est le LM567 6A/MX241, le canal 2 est le LM567 6C/MX219. La seule différence entre les deux captures est un signal qui apparait sur le canal 1 pour l'EXL100 qui détecte l'appui sur la touche. Aucun signal dans le cas contraire.

J'attends des supports DIP8 et des LM567 pour remplacer le 6A sur l'EXL100 qui ne fonctionne pas. Après celui-ci, j'ai encore un EXL100 avec le même problème de clavier. A voir si les symptômes sont les mêmes.
Patrick
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Exelvision] EXL100 et IR

Message par 6502man »

Merci pour votre aide, demain si je peux test à l'oscilloscope les 2 LM567 ...

Je mesurerais au cas ou je n'ai rien en entrée des LM567 le courant en entrée du TEA1009 ...

Bizarre que tu ais trouvé une autre formule sur les datasheets, j'avais trouvé celui la directement chez TI :
http://www.ti.com/lit/ds/snosbq4e/snosbq4e.pdf
:roll:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

A propos de cette autre formule, j'avais justement donné à la ligne suivante les liens des datasheets LM567 concernés (ceux des anciennes documentations de Philips et National Semiconductor, il suffisait de cliquer dessus pour le constater). J'avais bien remarqué que tu t'étais référé à la formule de la doc Texas Instruments (premier résultat sur Google) et du coup j'ai utilisé la même que toi pour les calculs donnés plus haut.

C'était avant tout une remarque pour être au courant de cette différence et éviter tout quiproquo concernant les valeurs fournies , même si ça ne fait pas une trop grande différence en regard de la tolérance des composants impliqués (c'est justement tout l'intérêt du potentiomètre), on pourrait même utiliser F0=1/(R1*C1) pour simplifier.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

Le contenu posté initialement était encore une fois inadapté, je pensais à tort qu'il s'agissait d'une discussion technique, alors qu'en fait il s'agit essentiellement de fournir sur un plateau des méthodes de "réparation" clé en main destinées à augmenter la valeur du butin des spéculateurs qui font main basse sur tout ce matériel (exemple : le gars qui est juste là pour réparer/régler sans trop se creuser la tête ses 6 ordinateurs EXL100....)
Dernière modification par nicolho le 01 mai 2018 03:48, modifié 2 fois.
Avatar de l’utilisateur
Totor le Butor
Messages : 2224
Inscription : 07 sept. 2011 16:14
Localisation : Paris - Mezels

Re: [Exelvision] EXL100 et IR

Message par Totor le Butor »

Top !

Belle compilation de tous les documents nécessaires à la réparation de l'entrée infra-rouge de l'EXL100.
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

Avec plaisir, Totor :)
Patrick a écrit : 02 mars 2018 20:07Le canal 1 est le LM567 6A/MX241, le canal 2 est le LM567 6C/MX219. La seule différence entre les deux captures est un signal qui apparait sur le canal 1 pour l'EXL100 qui détecte l'appui sur la touche. Aucun signal dans le cas contraire.
Patrick, pour tes captures, à la réflexion je ne suis pas sûr qu'elles démontrent concrètement la différence entre bon fonctionnement et le dysfonctionnement que tu rencontres. Sur les deux, on a bien le décodeur du clavier (MX219 sur ton canal 2) qui sort correctement la trame de la touche "A".
Je me trompe peut-être (j'espère que ton analyse finira par nous apprendre le fin mot de l'histoire) mais sur ton canal 1, en sortie du décodeur affecté à la seconde manette (MX241) je pencherais plutôt pour un petit "glitch" (environ 100us à vue de nez), peut-être un LM567 un peu défaillant (ou pas) ou avec son filtre mal réglé, et qui n'aurait pas forcément d'influence.

Je ne connais pas la manière exacte dont le décodage est effectué ensuite par le programme du TMS7041, mais j'aurais tendance à penser qu'un tel "glitch" isolé serait simplement rejeté, car trop court, voire pas du tout pris en compte si une routine d'interruption (qui de plus est prioritaire) du clavier/joystick 0 est déjà en cours et inhibe les autres déclenchements (j'y reviendrai peut-être plus tard, en espérant l'intérêt des experts pour nous aider à détailler tout ça).

Déjà, ça serait plus amusant que tu postes une ou deux autres captures similaires, mais sans nous dire quelle touche tu as enfoncée, pour qu'on puisse jouer à la deviner, façon quizz ! :mrgreen: :)

Ensuite, ça voudrait dire que le problème se situe après la sortie du LM567 (qui doit être bonne) donc possiblement au niveau du TMS7041, soit parce que les signaux ne lui plaisent pas (ce qui serait étonnant car ils semblent propres et conformes et surtout à la bonne "vitesse", si le même clavier fonctionne avec un autre EXL100), soit en raison d'un souci matériel (faux contact, composant défectueux,...) ou bien encore que la communication avec le CPU soit mal assurée (idem, mais peu probable car tout marcherait "vraiment moins bien forcément").

Idée de diagnostic en "aval", dans ce cas : comme la ligne d'interruption externe /INT1 du TMS7041 doit pouvoir être "partagée", tu pourrais brancher la sortie du LM567 de l'EXL100 défaillant (qui recevrait les signaux infrarouges), sur la sortie du même décodeur sur l'EXL100 qui marche bien (en veillant à ce que la photodiode de ce dernier soit masquée et ne reçoive rien) c'est à dire en entrée de son TMS7041 qui fonctionne à coup sûr, et voir si ça passe. En cas de succès, ça disculperait au moins la réception infrarouge (avant décodage des trames reçues).
Patrick
Messages : 2019
Inscription : 16 mai 2009 09:30
Localisation : Clermont-Ferrand

Re: [Exelvision] EXL100 et IR

Message par Patrick »

Nicolas, je pense que ton analyse est plus poussée que la mienne, et certainement plus proche de la vérité, cependant, je préfère que le LM567 soit en cause, plutôt que le TMS7041 qui est en bout de chaîne et difficilement remplaçable :D.
Je pense que je vais dans un premier temps comparer le signal en sortie du LM567 6C/MX219 à celui en entrée du TMS7041 pour voir s'il n'y a pas un problème de propagation.
J'ai tendance à croire que le TMS7041 fonctionne correctement, car le logo, le son, ne présentent pas de défaut et son gérés par ce circuit.
Il faudrait que je teste également les manettes de jeux.
Philippe, as-tu progressé ?
Patrick
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Exelvision] EXL100 et IR

Message par 6502man »

Merci Nicolas pour ce très bon résumé de la partie IR :)


Donc j'ai réussi à trouver un peu de place et j'ai analysé la partie IR avec l'oscilloscope :)

Pour commencer une photo de la carte mère et gros plan de la partie IR :


Image
Image



J'ai analysé la sortie du TEA1009 et j'ai bien des créneaux généré lors de l'appuie des touches du clavier ou des manettes.

Etape suivant analyse des entrées des LM567:

Image

Par curiosité j'ai analysé les PINS 5 et 6 :
Image
Image

Les fréquences mesurées sur les PINS 5 des 2 LM567:
Image


Pour les PINS 8 ca reste plat aucune réaction malgrés les signaux en entrées bien présents.

Je me pose 3 questions après ces analyses :

- Est ce que le niveaux du signal en entrée (PIN 3) est suffisamment "en forme" pour être décodé par les LM567, ne serais ce pas le TEA1009 qui serait un peu fatigué ???
- La forme du signal sur la PIN 6 est elle normale ???
- les fréquence mesurées sur les PINS 5 sont elles cohérentes ???
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

6502man a écrit : 05 mars 2018 15:59 Merci Nicolas pour ce très bon résumé de la partie IR :)
De rien, mais j'avais pas tout à fait fini (de vous saouler :mrgreen:) ! J'étais en train de poster ce qui suit, initialement en réponse à Patrick. Je sais pas si je pourrai te répondre utilement, mais déjà merci bien pour les bonnes photos et les mesures détaillées.
Patrick a écrit : 05 mars 2018 10:43 [...] cependant, je préfère que le LM567 soit en cause, plutôt que le TMS7041 qui est en bout de chaîne et difficilement remplaçable :D.
Je pense que je vais dans un premier temps comparer le signal en sortie du LM567 6C/MX219 à celui en entrée du TMS7041 pour voir s'il n'y a pas un problème de propagation.
J'ai tendance à croire que le TMS7041 fonctionne correctement, car le logo, le son, ne présentent pas de défaut et son gérés par ce circuit.
Certainement, c'est exactement ce que je suggérais, vérifier d'abord les la liaison avec /INT1 sur le 7041. Et on est bien d'accord, ça serait une autre paire de manche de remplacer en cas de panne ce contrôleur très spécifique, avec sa programmation d'usine pour cette machine, à moins de le récupérer sur un autre EXL100 (par exemple partiellement HS). Enfin, pour finir le tour des composants chargés (même de plus loin) de la réception infrarouge :

Le TMS7041 s'occupe essentiellement de centraliser l'accès à quelques périphériques (réception des signaux clavier/manettes, port série, synthétiseur vocal) via son système d'échange par "boite au lettres" avec le processeur central. Pour le reste, j'invite les personnes qui voudraient mieux comprendre la suite à lire les premiers paragraphes de cette page : http://www.ti99.com/exelvision/website/ ... composants

Le problème, c'est que si on voulait utiliser un contrôleur compatible de la même gamme, mais malheureusement sans possibilité de programmer sa rom interne, on pourrait néanmoins se servir d'une rom externe en changeant de "mode mémoire", ce qui modifierait fâcheusement la configuration des entrées/sorties, tout en limitant grandement leur nombre (car la moitié d'entre-elles serviraient à adresser cette mémoire, voir la section "3.3 Memory Modes" de la doc du TMS7000) et rendrait du coup inexploitable en l'état le programme de la rom d'origine.

C'est d'ailleurs en jouant sur ces modes (mémoire interne ou externe) que du code a pu être injecté par Torlus au TMS7041 de l'Exl100 pour réussir à extraire le contenu de sa ROM, voir cette intéressante discussion où ont été relatées ces recherches à l'époque : http://www.silicium.org/forum/viewtopic ... 34&t=23638 (j'en profite pour rappeler cet événement historique pour la communauté, quoi que sans grandes retombées finalement)
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

SUITE : ("et encore du saucisson" :)) L'utilisation d'une puce semblable en replacement s’avère donc inadaptée, mais comme le TMS7041 ne fait rien de bien folichon, que la ROM du de l'EXL100 et le fonctionnement de son processeur (de la même série) sont bien documentés et maîtrisés, sans aller jusqu'à vouloir le recréer presque intégralement en FPGA, on pourrait plus facilement envisager son remplacement par un micro-contrôleur moderne.

Au delà des projets (récréatifs) autour de la simple communication infrarouge (en émission comme en réception, et qui est parfaitement documentée, et où les exemples similaires notamment à base d'AVR/Arduino existent à foison sur le Net) qu'il faudrait bien sûr intégrer, les communications séries pouvant rester facultatives, et des transmissions au synthétiseur vocal à priori basiques, ça consisterait essentiellement à se concentrer sur les échanges "boite aux lettres" avec le CPU, dont le mécanisme devrait être reproductible sans trop de problème sur une puce récente du même genre et bien plus rapide.

Évidemment, ça nécessiterait une bonne analyse des timings des entrées/sorties du TMS7000 et des routines concernées, et surement du boulot à mettre au point et finaliser, mais avec, à disposition :
- une machine globalement fonctionnelle (voire deux ou trois, pour les privilégiés avides :mrgreen: :wink:) et un analyseur logique (surtout s'il a un bon soft)
- les schémas complets de l'EXL100 : http://www.ti99.com/exelvision/website/ ... carte-mere
- sa rom "moniteur", commentée par l'habitant :P : https://forum.system-cfg.com/viewtopic. ... =45#p25870
- les routines désassemblées de cette puce ( quoi que difficilement compréhensibles en l'état : https://sourceforge.net/p/exl100/codeSV ... s/7041.asm et http://dcexel.free.fr/tmp/tms7041rom.txt ) suite à l'extraction de Torlus
- la documentation exhaustive des TMS7000 : http://bitsavers.informatik.uni-stuttga ... Manual.pdf
- la bibliothèque en accès libre, rayon "éducation EXEL" : http://dcexel.free.fr/documentation/index.html
et enfin l'aide possible et espérée des spécialistes mondiaux d'Exelvision quotidiennement présents sur le forum, ça me paraît complètement faisable (dans le sens : sans risque d'égarement dans une faille temporelle, ou encore de divorce), ambitieux mais pas trop, et vraiment intéressant, pour qui serait évidemment motivé à le faire...

Oui, bon d'accord, c'était surtout un bon prétexte pour épuiser les liens techniques mis de côté :) en rapport avec la réception infrarouge, jusqu'en bout de chaîne. Alors maintenant, bon courage pour les travaux pratiques !
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

Phil, quelques remarques sur tes mesures :
Pour la sortie de l'ampli, en suivant les repères (le quadrillage à peine visible, je pense), je mesure à vue de nez une fréquence d'environ 30khz, donc pas excessivement éloignée des 28,5kHz prévus pour le clavier (et ton "morceau" de trame sur la capture fait un peu moins de 600us, ce qui correspondrait à ce qu'on voit dans le datasheet du modulateur du clavier), ça semble bien de ce point de vue.

Par contre, je ne sais pas ce que serait un bon signal entrée du LM567 (un connaisseur pourrait nous éclairer), mais les fréquences mesurées entre 5 et 6 (qui semblent cohérentes sur tes captures et qui doivent normalement correspondre à la fréquence centrale du filtre de chaque décodeur) ne semble pas bonnes, et c'est plutôt la résistance totale (soit le R1 de la formule) que tu aurais du mesurer (et nous donner) entre ces deux points.
Pour le décodeur MX219, il faudrait que tu sois autour des 11K (potar inclus, ce qui correspond à peu près à ce qu'on obtient avec la formule et que j'avais donné) et du coup j'ai l'impression que tu n'as pas vraiment pris compte la remarque du tout début de mon premier message, et que tu es resté sur le potar mis à fond, vers 5K...

D'abord, une chose qui n'est pas clairement indiquée dans ton message et qui ajoute à la confusion : tu ne précises pas à quel décodeur (MX219 ou MX241) correspond telle ou telle valeur mesurée, mais aucune ne correspond, alors que tu dois justement commencer par les régler à l'aide du potentiomètre pour au moins t'approcher des valeurs théoriques.

Maintenant, bien que ça semblait évident, tu ne nous pas expliqué comment tu as procédé exactement, mais tu devrais commencer régler le potentiomètre pour t'approcher de la résistance théorique calculée avec la formule (si ton oscilloscope est capable d'afficher la fréquence mesurée en direct entre 5 et 6, tu peux aussi faire le réglage jusqu'à ce qu'il indique approximativement la bonne) puis ensuite le régler très progressivement dans un sens ou dans l'autre, en pressant des touches du clavier pour chaque modification ou en même temps, jusqu'à ce que tu vois apparaître des signaux en sortie (sur 8), ce qui est censé se produire lorsque les fréquences du clavier et du décodeur "matchent" (comme je disais dès le départ, le potentiomètre sert justement à affiner manuellement le réglage).

En l'état actuel, ces mauvaises fréquences réglées sur tes décodeurs expliqueraient très bien pourquoi tu n'obtiens rien en sortie des LM567, vu qu'ils servent justement à filtrer les modulations qui ne correspondraient pas, et ne délivreront des signaux en sortie que pour des trames modulées à la fréquence réglée, à savoir à peu près celle obtenue par la formule (désolé si j'ai enfoncé plusieurs portes ouvertes, mais c'est pour éviter toute ambiguïté).

PS : quelques explications en français sur le LM567 : http://www.electronique-3d.fr/decodeur_ ... lm567.html
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Exelvision] EXL100 et IR

Message par Daniel »

Pour information, j'avais un EXL100 avec les mêmes symptômes : le clavier infrarouge ne fonctionnait pas.
Sans oscilloscope ni aucun instrument de mesure, j'ai simplement tourné le potentiomètre jusqu'à ce que le clavier fonctionne.
Ensuite j'ai tourné dans un sens jusqu'à ce qu'il ne fonctionne plus et noté la position.
Puis j'ai tourné dans l'autre sens jusqu'à ce qu'il ne fonctionne plus et noté la position.
Finalement je l'ai réglé au milieu entre les deux positions extrêmes.
Daniel
L'obstacle augmente mon ardeur.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: [Exelvision] EXL100 et IR

Message par nicolho »

Oui, pour expliquer, en procédant ainsi, tu as centré la fréquence du filtre du décodeur sur du celle émise par le clavier, à son pic de réception.

Je reprends cette image tirée du dernier lien donné pour le LM567, typique de la représentation de la courbe de fréquence d'un tel filtre, dit "passe-bande", car il laisse uniquement passer la fréquence au niveau de son pic (et un peu autour, dans une largeur qu'on dénomme justement la "bande passante", c'est à dire la largeur de la bande des fréquences qu'il laisse passer, et qui peut d'ailleurs aussi se régler sur ce décodeur) :
pic_et_bande_passante_LM567.jpg
pic_et_bande_passante_LM567.jpg (27.64 Kio) Consulté 8293 fois
Répondre