Les Composants du Système

Passons en revue les éléments qui composent le micro-ordinateur EXL100, ils sont pour le moins originaux:

Le Microprocesseur TMS7020
Ce microprocesseur, conçu par Texas Instruments en 1981, fait partie de la famille des microcontrôleurs TMS7000. Fonctionnant à une fréquence de
4.91 Mhz (fréquence qui est ensuite divisée par deux en interne), il traite des mots de 8 bits et permet d'adresser jusqu'à 64Ko de RAM. Sa structure est de type «monochip», c'est à dire qu'il réunit en un seul boîtier un CPU, une RAM de 128 octets, une ROM de 2Ko contenant le moniteur du système, ainsi que des circuits d'Entrées/Sorties. Notons que cette ROM interne, programmée par masque, est datée de 1984). Les composants «monochip» peuvent fonctionner dans differents modes:
- Mode «Single Chip»: dans cette configuration, les programmes et données sont stockés dans la mémoire embarquée (RAM et ROM). Toutes les broches du microcontrôleur sont affectées aux Entrées/Sorties. Nous verrons ensuite qu'il s'agit du mode utilisé par le TMS7041.
- Mode «Peripheral Expansion Mode»: Comme son nom l'indique, ce mode s'ouvre aux périphériques externes. Son bus d'adressage et de données est toutefois limité.
- Mode «Full Expansion Mode»: Il s'agit du mode le plus ouvert. Le microcontrôleur peut utiliser ses ressources internes (les Entrées/Sorties, la RAM ainsi que la ROM), dispose d'un bus d'adresses et de données maximal permettant d'adresser 64Ko, et peut également adresser de la RAM et ROM externes.
C'est dans le troisième mode que le TMS7020 fonctionne dans l'EXL 100.
- Mode «Microprocessor»: Reprend la majeur partie des fonctionnalités du mode "Full Expansion", à la différence qu'il ne peut adresser de la ROM interne.
- Mode «Simulator»: Principalement utilisé dans le cadre de développement. La ROM interne, le Timer et le contrôleur d'interruptions sont ici absents ou désactivés.
L'adressage mémoire diffère selon le microcontrolleur et son mode de fonctionnement. Consulter les tableaux de mappage mémoire des TMS70x0 et des TMS70x1

Le contrôleur TMS7041
Piloté exclusivement par le TMS7020, ce composant a notamment la charge du système infrarouge et de la synthèse vocale. Utilisant le mode «Single Chip», quatre ports sont affectés aux Entrées/Sorties. Le TMS7041 gère les périphériques tels que le clavier et le deux manettes de jeux ainsi que que le port d'extension situé à l'arrière de l'ordinateur, il communique avec le TMS 7020 par un principe de boîtes à lettres.
On pourrait considérer EXL 100 comme un micro-ordinateur familial bi-processeur, certaines publicités commerciales en font d'ailleurs mention, cependant la tâche dédiée au TMS7041, celle de contrôleur I/O,  change totalement la donne...

Identifier un microcontrôleur de la série 7000 par sa désignation


Le 1er et le 2ème chiffre précisent la famille de composants:
ici «70» .
Si la lettre «P» suit immédiatement le 2ème chiffre: une EPROM de 16Ko, de type Piggy Back est présente.
Si la lettre «C» suit immédiatement le 2ème chiffre: la Technologie CMOS est utilisée, dans le cas contraire le composant est de type NMOS.
Le 3ème chiffre indique la quantité de ROM embarquée: «0» pour aucune, «2» pour 2Ko, «4» pour 4Ko et «12» pour 12Ko.
Le 4ème chiffre indique la présence d'un port série: «0» pour aucun, «1» si présent.
Si l'on prend le TMS7041 comme exemple, la lecture nous apprend qu'il est un microprocesseur NMOS de la série 7000 doté de 4Ko de ROM et d'un contôleur série.


Emetteur/récepteur infrarouge
Le clavier et les manettes utilisent la technologie infrarouge pour communiquer avec l'unité centrale. Cette particularité de l'EXL 100 se caractérise par la presence de deux LED rou
ges sur sa face avant. Les récepteurs sont entièrement blindés afin d'éviter toute interférence avec d'autres appareils radioélectriques. Le clavier et la manette orange sont calés sur la fréquence de 28,437 KHz. La manette blanche, quant à elle, utilise la fréquence de 20 KHz. Détail pratique, les manettes de jeux comportent des touches numériques permettant de sélectionner les options proposées par certains programmes. Finalement, cette technologie novatrice posera quelques soucis d'utilisation: Bien que l'angle de couverture du signal annoncé par le constructeur soit de 60° sur une distance ce 8 mètres, le clavier et les manettes doivent être parfaitement dirigés vers le boîtier infrarouge intégré à l'ordinateur et rester dans son (faible) rayon d'action. Autre contrainte: une seule commande clavier peut être transmise à la fois, ce qui ralentit considérablement la frappe: Pour obtenir le caractère «é», il faut presser successivement les touches «SHIFT» et «2». La raison en est simple: manettes et claviers sont en fait des télécommandes, à l'égal des télécommandes pour télévieur,  qui ne peuvent envoyer qu'un seul ordre par infrarouge à la fois. Les signaux infrarouges envoyés sont d'abord captés par les photodiodes de l'EXL 100, amplifiés par le circuit intégré TEA 1009 de préamplification, ils sont ensuite envoyés au circuit 567CP pour le décodage. Ce n'est qu'après ces traitements que les ordres provoquent une interruption (IRQ) dans le microcontrôleur TMS 7041.
Quand le clavier ou les joysticks ne sont plus utilisés, un dispositif interne coupe leur alimentation, préservant ainsi les indispensables piles 9 volts nécessaires à leur fonctionnement.

La mémoire RAM
La RAM périphérique directement accessible par le TMS7020 n'est que de 2Ko. Elle se compose d'une mémoire statique SRAM 2Ko x 8 TMM 2016AP15. L'ordinateur utilise principalement cette mémoire pour le stockage des variables temporaires du moniteur et du Basic.


Le composant Audio

Une grande particularité d'EXL 100 est de disposer de fonctions de synthèse vocale. En bref, EXL 100 parle! Le composant responsable de cette prouesse est le VSP (Voice Synthesis Processor) TMS5220. Les données de la voix sont compressées en LPC (codage par prédiction linéaire). La fréquence de sortie est de 4 KHz.
Les commandes vocales peuvent être utilisées sous ExelBasic grâce à la commande CALL SPEECH. Si cette commande est fort simple d'utilisation, l'envoi d'une variable contenant une chaîne de caractère (de 128 octets maxi) suffit presque à elle seule à générer un son, il n'en va pas de même pour la génération de cette même chaîne. En effet, dans le mode d'emploi d'ExelBasic, Exelvision donne quelques exemples pour générer des bruits familiers ( laser, explosion, ...) et des mots ( "bonjour", "bravo", ... ) mais elle n'explique pas comment créer ses propres sons. Pour les personnes désireuses d'obtenir leur propre son digitalisé, Exelvision proposait qu'on leur fournisse le son enregistré sur une simple K7 audio, elle expédiait ensuite ce son à une cellule de Texas Instruments basée à Dallas qui se chargeait de générer la chaîne de caractères correspondant au son traité en digital. Le travail était accompli sur un mini ordinateur VAX puis transmis sur la K7 qui était ensuite retournée à Exelvision qui la réexpédiait à l'utilisateur final. Autant dire que l'opération était peu réaliste.
La programmation du synthétiseur vocal était donc frustrante et, par conséquent, décevante...

Redécouvrez la synthèse vocale sur EXL 100!



Une astuce de programmation permet à l'EXL 100 du générer du son sans faire usage du synthétiseur de parole: Elle consiste à envoyer une suite binaire prédéfinie au bit 3 de l'interface cassette, tout en utilisant le TIMER du TMS 7000 pour génèrer des interruptions sur cette dernière. Les variations de hauteurs de durées des fréquences formeront une musique.

Redécouvrez ces sons!

Le pré-diffusé TAL 004
Le TAL 004, appelé également TL004, est un composant prédiffusé (Gate Array) conçu par Texas Instruments. Le boitier contient 500 portes sur deux couches de routage. Sa programmation permet de gérer la logique de décodage des adresses et de contrôler le VDP de l'EXL100.  Ce composant a été largement utilisé par les ingénieurs de Texas Instruments, pour concevoir le TI-99/4QI et les prototypes TI-99/5, Basic Computer 99/2 et Computer 99/8 quelques années plus tôt.
Certains EXL100 sont équipés d'un autre prédiffusé: le EFGG011 conçu par Thomson. Sa fonction et son brochage sont strictement identiques à ceux du TAL 004.

Le processeur Vidéo TMS3556 et la RAM dédiée
Le VDP TMS 3556 est une évolution du TMS3536, un processeur vidéo dont le développement a débuté en 1979 dans les locaux de Texas Instruments basés à Nice et dont sa particularités était d'offrir à moindre coût différents modes d'affichage: texte, graphique et vidéotexte.
Le TMS3556 propose différents modes d'affichage:
- Le mode graphique ou bitmap: 320 X 250 pixels dans une palette de 8 couleurs sans aucune contrainte de proximité. Il utilise 30.500 octets de la VDP RAM.  La photographie ci-contre, que j'ai traité pour l'occasion, donne un apperçu des capacités d'affichage du VDP.
- Le mode texte: 25 lignes de 40 caractères. Ce mode est aussi appelé «semi graphique» car il permet de redéfinir les 128 caractères prédéfinis disponibles. Il utilise 2000 octets de la VDP RAM.
- Le mode mixte: Il autorise le mixage de lignes de textes (en fait composées de 10 lignes graphiques) et de groupes de lignes graphiques.

Le TMS3556 est cadencé par deux oscillateurs: Un premier (ODE) a la charge du contrôle DMA. Le second (OBE) , calé à 7.25 Mhz, est destiné à la base de temps. Le potentiomère situé tout proche du VDP règle la fréquence de fonctionnement, une mesure du point de test (TP5 sur la carte mère) devant donner pour cela la fréquence de 15.625 Mhz.
Le VDP accède à une mémoire DRAM de 32Ko, obtenue par 8 composants 4bits TMS4408NLT (ou 8 composants 4408NLB). Cette mémoire n'est pas totalement allouée à la gestion de l'affichage, une partie conséquente est destinée à la mémoire utilisateur.
Détail interessant:  Une évolution à 64Ko de VRAM a été prévue sur la carte mère d'EXL 100 mais elle ne sera jamais proposée par Exelvision qui préfèrera figer le système à 32Ko en soudant les 8 composants
VRAM TMS4408. Dommage. Même si on imagine quelques utilisateurs/développeurs s'être lancés dans le dessoudage et le remplacement des composants mémoire pour vivre le vertige d'une mémoire doublée, la presque totalité des utilisateurs d'EXL100 resteront quant à eux enfermés dans l'espace mémoire de natif... faisant leur deuil sur les possiblités interressantes que pouvaient offrir une telle extension dans la réalisation de programmes...

Quelques exemples d'affichages réalisés par Exelvision

L'alimentation électrique
L'alimentation électrique de l'EXL100 est classique, elle se compose d'un transformateur relié à la carte mère par un connecteur à 6 points. Ce transformateur, par ses enroulements de cuivre, diminue la tension d'entrée alternative sinusoïdale de 220 volts à 5 et 12 volts.
La carte mère d'EXL100 fonctionne en continu. Pour convertir (redresser) la  tension 12 volts alternative en une tension continue, les développeurs ont utilisé un classique pont de diodes. Ce rôle est joué par les 4 diodes IN1005. Deux diodes redresseur 1N5408 (ou BY251) se chargent de la tension en 5 volts. Des condensateurs viennent stabiliser la régulation. Quatre régulateurs de tensions vont donner à la carte mère toutes les tensions nécessaires à son fonctionnement: LM7805 (+5 volts), LM7812 (+12 volts), LM7905 (-5 volts) et LM7912 (-12 volts). Le LM7805 est muni d'un dissipateur thermique,
énorme mais indispensable.

 

 


Vous êtes ici : EXL100 / Composants

Sans accord écrit préalable de ma part, vous n'êtes pas autorisé à distribuer, modifier, transmettre, réutiliser ou rediffuser le contenu de ce site.