#Carte d’extension pour Minitel 1B

Cette page est composée d’extraits d’un mémoire beaucoup plus détaillé que j’ai rédigé en 2016. Vous pouvez le télécharger en cliquant ici (.pdf 18 Mo).

Mots-clés

FPGA, CPLD, Verilog, JTAG, SVF, Boundary-Scan Testing, microcontrôleur, assembleur, EEPROM, SRAM, mémoire, programmation in situ, voltage level shifting, SPI, bus, contrôleur, périphériques, interruptions, décodeur d’adresse, registres, carte SD, crayon optique, synchronisation vidéo, audio, DAC

Résumé

Le Minitel est un standard de terminal-modem informatique mis à disposition des particuliers en France par l’État entre 1980 et 2012. L’architecture de certains modèles constitue la base d’un micro-ordinateur et a été conçue de façon à permettre une évolution technique par l’ajout d’une carte fille. À ma connaissance, aucun produit tirant parti de cette possibilité n’a jamais été commercialisé à l’époque.

Ce projet consiste en la conception et la fabrication d’une telle carte fille, avec comme principales fonctions l’extension de la mémoire et la connexion de divers périphériques dont un crayon optique (dispositif de pointage).

À cette fin, j’ai reconstitué le schéma électrique d’un Minitel 1B Télic-Alcatel à partir du circuit imprimé puis conçu une carte fille compatible répondant à un ensemble de critères.

Introduction

L’idée de ce projet prend sa source vers la fin de l’année 2014 lorsque, par curiosité, je démontais un Minitel 1B Télic-Alcatel pour en étudier le fonctionnement. Je remarquai que les concepteurs de l’appareil avaient doté celui-ci d’un connecteur d’extension, dont la finalité était de toute évidence l’ajout d’une carte fille et l’augmentation des fonctionnalités de l’appareil. Il me vint donc naturellement l’idée de construire une telle carte fille dans le but de transformer le Minitel d’origine, dont les fonctions sont figées et qui n’offre aucune possibilité de programmation, en un véritable micro-ordinateur programmable dans le jus des années 70-80.

Quelques recherches sur internet permettent très vite de voir qu’un certain nombre de personnes ont effectué la transformation du même appareil en ordinateur, mais par une méthode toute autre : la carte alim-vidéo du Minitel est conservée, la carte mère d’origine retirée et remplacée par un ordinateur miniature moderne comme le bien connu Raspberry Pi, et un circuit d’interfaçage est intercalé entre la carte vidéo et l’ordinateur. Si cela est sans aucun doute la façon la plus rapide, la plus simple et de loin la moins chère d’effectuer cette transformation, cela m’a paru peu intéressant d’un point de vue électronique, d’un point de vue fonctionnel également (pourquoi brider un ordinateur moderne par un écran cathodique noir et blanc et un clavier si peu ergonomique ?), mais surtout cela ne respectait pas mon souhait de conserver la totalité de l’électronique d’origine de l’appareil. Je me suis donc orienté vers la fabrication d’une carte fille augmentant les capacités de la carte mère, sans la remplacer.

Résumé du travail accompli

Circuits électroniques

Modules implémentés en logique programmable, codés en Verilog

Programmes pour le Minitel modifié

Programme utilitaire pour PC

Architecture du Minitel

Le Minitel est un ensemble terminal-modem. En somme, il affiche à l’écran les données envoyées par le serveur, et envoie à ce dernier les frappes clavier de l’utilisateur. Quelques fonctions typiques des terminaux informatiques sont prises en charge, telles que le soulignement des caractères ou le déplacement du curseur.

Une rapide analyse de l’architecture matérielle du Minitel montre que la totalité de la fonction terminal est réalisée par logiciel, sur un microcontrôleur. De plus, on remarque rapidement la présence d’une rangée de 32 broches donnant essentiellement accès aux bus d’adresse et de données du microcontrôleur. Il est donc relativement aisé de relier une mémoire sur ce connecteur et de faire exécuter par le microcontrôleur un autre programme que celui d’origine.

Je vais brièvement décrire l’architecture générale du Minitel 1B Télic-Alcatel et ses composants principaux.

Avant de commencer, je signale qu’il existe plusieurs variantes matérielles mineures parmi les Minitel 1B Télic-Alcatel. Par exemple, le mien est muni d’un microcontrôleur 8052 avec ROM interne, tandis que certains sont munis d’un 8032 (compatible avec le 8052 mais sans ROM interne) et d’une carte fille enfichée sur la rangée de broches et comprenant une ROM externe. Aussi, tout ce qui suit se rapporte à l’exemplaire que je possède et certains éléments peuvent ne pas correspondre à d’autres modèles.

L’appareil se décompose en six parties matérielles principales : le boîtier, le clavier, le tube cathodique (noir et blanc), une petite carte portant la mention FILTRE SECTEUR, une grande carte portant la mention CARTE ALIM VIDEO, et une grande carte portant la mention CARTE UT MODEM. Par commodité, je désignerai simplement cette dernière par carte UT ou carte mère.

Je parlerai par la suite exclusivement de la carte UT, car c’est elle seule qui présente un intérêt pour ce projet, et c’est avec elle uniquement que les circuits à réaliser doivent s’interfacer.

La figure ci-dessous illustre de manière simplifiée l’architecture matérielle de l’appareil.

Architecture simplifiée du Minitel 1B

Les deux composants essentiels dans la mise en œuvre de la carte UT et les plus intéressants pour ce projet sont le microcontrôleur et le processeur graphique.

8052
Célèbre microcontrôleur Intel de la famille MCS-51, encore utilisée de nos jours dans l’industrie. Il comporte 8 kilo-octets de ROM et 256 octets de RAM. Il a la particularité de rendre ses bus d’adresse et de données et leurs lignes de contrôle accessibles sur ses broches, comme un microprocesseur, ce qui rend possible l’exécution de programmes à partir d’une mémoire externe.
EF9345
Processeur d’affichage de Thomson, utilisé dans certains micro-ordinateurs français comme le VG5000µ de Philips ou l’Alice 32 de Matra. Il nécessite une RAM externe dédiée. Il génère un signal vidéo numérique TTL à 3 ou 4 bits de couleur, de standard (nombre de lignes, impulsions de synchronisation…) compatible télévision. Il permet l’affichage de caractères alphanumériques et semi-graphiques. Par commodité, je l’appellerai par la suite VGP (Video Graphics Processor), qui est l’appellation utilisée officiellement par les PTT dans les Spécifications Techniques d’Utilisation du Minitel 1B.

Caractéristiques techniques de la carte d’extension

   
Logique programmable CPLD/FPGA Altera MAX V EPM240ZT100
Mémoire EEPROM 64 Ko
RAM 128 Ko
Stockage carte SD
Audio-Vidéo sortie 8 bits mono sur haut-parleur intégré ou écouteurs
sortie 8 bits mono sur ligne téléphonique
sortie audio et vidéo RGB sur prise Péritel
Périphériques 2 ports PS/2
crayon optique
Extension connecteur pour bus SPI avec quatre lignes de sélection, ligne de reset et ligne d’interruption
connecteur d’entrée pour incrustation vidéo et audio
Boutons bouton de réinitialisation
bouton d’interruption

Modifications sur la carte mère

Des modifications sur la carte UT sont nécessaires : quelques cavaliers à retirer, des broches de contact à rajouter pour avoir accès aux signaux qui ne sont pas disponibles sur le connecteur d’extension (par exemple les signaux RESET et INT0 du microcontrôleur), et quelques autres modifications mineures.

Schéma de la carte mère

Cliquez ici (.pdf 13 Mo) pour télécharger le schéma électrique de la carte UT. Je ne peux pas en toute honnêteté exclure la possibilité que celui-ci comporte quelques erreurs, notamment aux pages 6 et 7. Vous voudrez bien m’excuser pour la mauvaise qualité du schéma, fait à la main sur papier. Le temps me manquait et refaire le schéma au propre sur ordinateur n’était pas une priorité.

Schéma de la carte d’extension

Cliquez ici (.pdf 600 Ko) pour télécharger le schéma électrique de la carte d’extension.

Photos

Carte mère du Minitel 1B
Panneau de circuits imprimés à sa livraison
Circuits imprimés peuplés et assemblés — vue de dessus
Circuits imprimés peuplés et assemblés — vue de dessous
Circuits imprimés peuplés et assemblés — vue d'ensemble
Circuits imprimés peuplés et assemblés — vue des connecteurs
Carte d'extension montée dans l’appareil
Haut-parleur fixé dans la coque de l’appareil
La présence d’une grille et d'un petit trou idéal pour recevoir une vis de fixation laisse penser que les concepteurs avaient prévu cet emplacement pour un éventuel haut-parleur.
Connecteurs arrière
Programme de test du crayon optique
Vous avez droit à un bon point si vous avez compris la référence !
Le programme permet à l’utilisateur de dessiner grossièrement à l’écran à l’aide du crayon optique. La grossièreté du dessin n’est pas due à un manque de précision du crayon optique, mais au fait que, pour simplifier la programmation du logiciel, j’ai limité la granularité du dessin à la taille des cases de caractères de texte. Il est possible d'obtenir un dessin plus fin en utilisant les caractères semi-graphiques du VGP ou des caractères personnalisés.

Vidéo de démonstration du crayon optique

Synthétiseur basique permettant de jouer de la musique à l’aide du clavier et du crayon optique, ce dernier produisant une variation continue de l’intensité du son par déplacement vertical, et de sa fréquence par déplacement horizontal

Projet connexe

Je ne peux pas clore cet article sans mentionner le fabuleux travail que Jean-François Del Nero, alias HxC2001, a fait sur le Minitel 2 ainsi que son impressionnante démo 2D et 3D. Allez voir, ça vaut vraiment le coup d’œil !